//***************************************************************************** /* Filename: pcnt_close To Use: attach this script to the OnClose event of a container you can customize several parameters: choose object TAG for ID generation (ReflexSafe != 2) !! use this to share inventories !! use this for moving inventories (like creatures) use player for ID generation (ReflexSafe = 2) !! use this for player vaults. each player gets his own inventory !! from a single container Created By: Unknown?? Modified By: Gregg Anderson 10/9/2006 */ //***************************************************************************** #include "horse_include" void main() { string sTag = GetTag(OBJECT_SELF); int nType = GetReflexSavingThrow(OBJECT_SELF); if(nType == 2) sTag = GetPCPlayerName(GetLastOpenedBy()); string sVarName; int i = 0; object obj = GetFirstItemInInventory(); object bag; while( obj != OBJECT_INVALID ) { if( GetHasInventory( obj ) ) { bag = obj; obj = GetFirstItemInInventory(bag); while( obj != OBJECT_INVALID ) { SetLocalInt(obj, "bagged", TRUE); obj = GetNextItemInInventory(bag); } } obj = GetNextItemInInventory(); } int iMax = 0; object oItem = GetFirstItemInInventory(); while (oItem != OBJECT_INVALID) { sVarName = sTag + "_" + IntToString(i); if ((GetLocalObject(OBJECT_SELF, sVarName) != oItem) && (!GetLocalInt(oItem, "bagged"))) { StoreCampaignObject(CAMPAIGN_DATABASE, sVarName, oItem); SetLocalObject(OBJECT_SELF, sVarName, oItem); } if (!GetLocalInt(oItem, "bagged")) { iMax++; i++; } else { DeleteLocalInt(oItem, "bagged"); } oItem = GetNextItemInInventory(); } SetCampaignInt(CAMPAIGN_DATABASE, sTag + "_n", iMax); }