CasperVend 2/Rez Clean-up script

From CasperTech Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
//
// 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 
        }
    }
}