/////////////////////////////////////////////////////////////////////////// // Copyright (C) Wizardry and Steamworks 2011 - License: GNU GPLv3 // // Please see: http://www.gnu.org/licenses/gpl.html for legal details, // // rights of fair usage, the disclaimer and warranty conditions. // /////////////////////////////////////////////////////////////////////////// string zTimeDate; default { state_entry() { llSensorRepeat("", NULL_KEY, AGENT, .1, .1, 1); } no_sensor() { llSensorRemove(); zTimeDate = llGetObjectDesc(); list cTimeDate = llParseString2List(zTimeDate, [" "], []); // Arm check list nTimeDate = llParseString2List(llGetTimestamp(),["-",":"],["T"]); list nDate = llParseString2List(llList2String(cTimeDate, 0), ["-"], []); list nTime = llParseString2List(llList2String(cTimeDate, 1), [":"], []); if(llGetListLength(nDate) + llGetListLength(nTime) != 5) { llSetText("Time now: " + llList2String(nTimeDate, 0) + "-" + llList2String(nTimeDate, 1) + "-" + llList2String(nTimeDate, 2) + " " + llList2String(nTimeDate, 4) + ":" + llList2String(nTimeDate, 5) + " UTC\nSelf-destruct is not armed.\n", <1,1,1>, 1); llSensorRepeat("", NULL_KEY, AGENT, .1, .1, 1); return; } llSetText("Time now: " + llList2String(nTimeDate, 0) + "-" + llList2String(nTimeDate, 1) + "-" + llList2String(nTimeDate, 2) + " " + llList2String(nTimeDate, 4) + ":" + llList2String(nTimeDate, 5) + " UTC\n" + "Self-Destruct: " + zTimeDate + " UTC", <1,1,1>, 1); llSetTimerEvent(1); } on_rez(integer pin) { llResetScript(); } timer() { if(llGetObjectDesc() != zTimeDate) llResetScript(); list nTimeDate = llParseString2List(llGetTimestamp(),["-",":"],["T"]); list nDate = llParseString2List(zTimeDate, ["-"], []); list nTime = llParseString2List(zTimeDate, [":"], []); if(llGetListLength(nDate) + llGetListLength(nTime) != 5) { llSetText("Time now: " + llList2String(nTimeDate, 0) + "-" + llList2String(nTimeDate, 1) + "-" + llList2String(nTimeDate, 2) + " " + llList2String(nTimeDate, 4) + ":" + llList2String(nTimeDate, 5) + " UTC\nSelf-destruct is not armed.\n", <1,1,1>, 1); llSensorRepeat("", NULL_KEY, AGENT, .1, .1, 1); return; } list cTimeDate = llParseString2List(zTimeDate, [" "], []); llSetText("Time now: " + llList2String(nTimeDate, 0) + "-" + llList2String(nTimeDate, 1) + "-" + llList2String(nTimeDate, 2) + " " + llList2String(nTimeDate, 4) + ":" + llList2String(nTimeDate, 5) + " UTC\n" + "Self-Destruct: " + llGetObjectDesc() + " UTC", <1,1,1>, 1); list zDate = llParseString2List(llList2String(cTimeDate, 0), ["-"], []); if(llList2Integer(zDate, 0) < llList2Integer(nTimeDate, 0)) return; if(llList2Integer(zDate, 1) < llList2Integer(nTimeDate, 1)) return; if(llList2Integer(zDate, 2) < llList2Integer(nTimeDate, 2)) return; list zTime = llParseString2List(llList2String(cTimeDate, 1), [":"], []); if(llList2Integer(zTime, 0) < llList2Integer(nTimeDate, 4)) return; if(llList2Integer(zTime, 1) < llList2Integer(nTimeDate, 5)) return; llDie(); } }