NWScript:
#include "NW_O2_CONINCLUDE"
void RespawnObject(int nType, string sTemp, location lRespawn);
void main()
{
location lMyLoc = GetLocation(OBJECT_SELF);
vector vMyVec = GetPositionFromLocation(lMyLoc);
float fMyFloat = VectorToAngle(vMyVec);
string sMyID = GetTag(GetArea(OBJECT_SELF)) + FloatToString(fMyFloat);
object oLastOpener = GetLastOpener();
if (GetLocalInt(oLastOpener, sMyID) == FALSE)
{
GenerateLowTreasure(oLastOpener, OBJECT_SELF);
SetLocalInt(oLastOpener, sMyID, TRUE);
ShoutDisturbed();
}
if (GetIsDead(OBJECT_SELF)){
location lSpawn = GetLocation(OBJECT_SELF);
string sTemplate = GetTag(OBJECT_SELF);
int nObjectType = GetObjectType(OBJECT_SELF);
AssignCommand(GetModule(), DelayCommand(10.0, RespawnObject(nObjectType, sTemplate, lSpawn)));
}
}
void RespawnObject(int nType, string sTemp, location lRespawn)
{
CreateObject(nType, sTemp, lRespawn);
}