CasperVend 2/Rez Clean-up script: Difference between revisions

From CasperTech Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 1: Line 1:
<lsl>
<syntaxhighlight lang="lsl">
//
//
// Name:        Rez Clean-up
// Name:        Rez Clean-up
Line 31: Line 31:
     }
     }
}
}
</lsl>
</syntaxhighlight>

Latest revision as of 12:39, 27 February 2017

//
// 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 
        }
    }
}