diff --git a/Chris.MultiNPC.lsl b/Chris.MultiNPC.lsl index d31bec2..d9dc83f 100644 --- a/Chris.MultiNPC.lsl +++ b/Chris.MultiNPC.lsl @@ -77,7 +77,7 @@ state running on_rez(integer start_param) { - hardReset("reset on rez"); + hardReset(""); } } @@ -345,6 +345,15 @@ doNextScriptStep() m_npcdata = setDataEntryInDataList(m_npcdata, "npc." + currentNPCSlot + ".line", currentLine); + if(llGetSubString(llList2String(lineCommandData, 0), 0, 0) == "%") + { + string storageKey = llMD5String(llList2String(lineCommandData, 0), 0); + string data = lineCommandData; + + m_npcdata = setDataEntryInDataList(m_npcdata, "npc." + currentNPCSlot + ".data." + storageKey, data); + continue; + } + switch(llList2String(lineCommandData, 0)) { case "create": @@ -471,7 +480,9 @@ checkOSPermissions() hardReset(string message) { - llSay(0, "Hard reset: " + message); + if(message != "") + llSay(0, "Hard reset: " + message); + llSetTimerEvent(0); integer dataListCount = llGetListLength(m_npcdata); while(dataListCount--)