CasperVend 2/Rez Clean-up script

From CasperTech Wiki
Jump to navigation Jump to search

<lsl> // // Name: Rez Clean-up // Author: Casper Warden // License: Attribution 4.0 International (https://creativecommons.org/licenses/by/4.0/) // Description: This script is for use in rezzed items. It'll automatically clear up the object // once the parent (the object that rezzed it) disappears.

key parentKey; key myKey; default {

   on_rez(integer j)
   {
       myKey = llGetKey();
       llSetTimerEvent(0.0);
       list tmp = llGetObjectDetails(llGetKey(),[OBJECT_REZZER_KEY]);
       if (llGetListLength(tmp)==0) return;
       parentKey = llList2Key(tmp,0);
       if (llGetOwnerKey(parentKey)==parentKey) return; //It's an avatar
       llSetTimerEvent(1.0);
   }
   timer()
   {
       list tmp = llGetObjectDetails(parentKey,[OBJECT_POS]);
       if (llGetListLength(tmp)==0)
       {
           //Parent is gone
           if (myKey == llGetKey()) llDie(); //Protects against script being stopped half way through an event 
       }
   }

} </lsl>