Aschbourne_PRC8/_module/nss/_onclose_clear.nss

30 lines
1.1 KiB
Plaintext
Raw Permalink Normal View History

2024-06-14 10:48:20 -04:00
void main()
{
object oItem = GetFirstItemInInventory(OBJECT_SELF);
object oSelf = OBJECT_SELF;
location lSelf = GetLocation(oSelf);
object oDuplicate = GetNearestObjectByTag(GetTag(oSelf),oSelf,1);
object oPC = GetLastClosedBy();
DeleteLocalObject(oPC,"oLastOpened");
if (GetDistanceBetween(oDuplicate,oSelf)<0.3)DestroyObject(oDuplicate);
if (GetLocalInt(oSelf,"iAmInUse")==0)
{
CreateObject(OBJECT_TYPE_PLACEABLE, GetResRef(oSelf),lSelf,FALSE);
DestroyObject(oSelf,0.5);
}
if (oItem == OBJECT_INVALID) return;
while (oItem != OBJECT_INVALID)
{
if (GetStringLeft(GetResRef(oItem),7) == "pattern") DestroyObject(oItem);
if (GetStringLeft(GetResRef(oItem),10) == "flagswitch") DestroyObject(oItem);
if (GetStringLeft(GetResRef(oItem),8) == "essence_") DestroyObject(oItem);
if (GetStringLeft(GetTag(oItem),2) == "P_") DestroyObject(oItem);
if (GetStringLeft(GetResRef(oItem),6) == "recipe") DestroyObject(oItem);
oItem = GetNextItemInInventory(OBJECT_SELF);
if (oItem == OBJECT_INVALID) break;
}
//SendMessageToPC(GetFirstPC(),"DONE WITH CLOSE SCRIPT");
}