diff --git a/Chris.MultiNPC.lsl b/Chris.MultiNPC.lsl index 26f9595..4b4bbf0 100644 --- a/Chris.MultiNPC.lsl +++ b/Chris.MultiNPC.lsl @@ -56,12 +56,12 @@ state running timer() { if((m_lastTimeCheck + 2) <= llGetUnixTime()) - hardReset(); + hardReset("script timeout"); m_lastTimeCheck = llGetUnixTime(); if(getRealAgentCount() == 0) - hardReset(); + hardReset("region empty"); doNextScriptStep(); } @@ -69,15 +69,15 @@ state running changed(integer change) { if (change & CHANGED_INVENTORY) - hardReset(); + hardReset("change inventory"); if (change & CHANGED_REGION_START) - hardReset(); + hardReset("region start"); } on_rez(integer start_param) { - hardReset(); + hardReset("reset on rez"); } } @@ -330,10 +330,10 @@ doNextScriptStep() vector targetPosition = (vector)getDataEntryFromDataList(m_npcdata, "npc." + currentNPCSlot + ".targetPosition"); if(llGetListLength(currentNPCDataList) == 0) - hardReset(); + hardReset("NPC not found"); if(llVecDist(lastKnownPos, currentNPCPosition) <= 0.5) - hardReset(); + hardReset("npc is stuck"); if(llVecDist(currentNPCPosition, targetPosition) >= 1) continue; @@ -474,8 +474,9 @@ checkOSPermissions() llRemoveInventory("OwnerAppearance" + llGetKey()); } -hardReset() +hardReset(string message) { + llSay(0, "Hard reset: " + message); llSetTimerEvent(0); integer dataListCount = llGetListLength(m_npcdata); while(dataListCount--)