ACR_PCHide.ACR_PCHide.ScriptMain C# (CSharp) Méthode

ScriptMain() public méthode

public ScriptMain ( [ ScriptParameters, [ DefaultReturnCode ) : Int32
ScriptParameters [
DefaultReturnCode [
Résultat System.Int32
        public Int32 ScriptMain([In] object[] ScriptParameters, [In] Int32 DefaultReturnCode)
        {
            // Decode parameters.
            uint oPC = (uint)ScriptParameters[0];
            int nAction = (int)ScriptParameters[1];

            // Get PID.
            int nCID = GetLocalInt(oPC, "ACR_CID");

            // Make sure the PC has a hide.
            uint oHide = GetItemPossessedBy(oPC, "acr_pchide");
            if (GetIsObjectValid(oHide) == CLRScriptBase.FALSE)
            {
                oHide = GetItemInSlot(CLRScriptBase.INVENTORY_SLOT_CARMOUR, oPC);
                if (GetIsObjectValid(oHide) == CLRScriptBase.FALSE || GetResRef( oHide ) != "acr_pchide")
                {
                    oHide = CreateItemOnObject("acr_pchide", oPC, 1, "acr_pchide", CLRScriptBase.FALSE);
                }
            }

            // Remake the hide.
            bool bRetState;
            if (m_HideMap.ContainsKey(nCID))
            {
                bRetState = m_HideMap[nCID].clear(this);
            }
            else
            {
                m_HideMap.Add(nCID, new PCHide(oPC, oHide));
                bRetState = m_HideMap[nCID].recalculate(this);
            }
            if (bRetState == false)
            {
                m_HideMap.Remove(nCID);
            }

            return 0;
        }