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

From CasperTech Wiki
Jump to navigation Jump to search
(Created page with "<lsl> // // Name: Rez Clean-up // Author: Casper Warden // License: Attribution 4.0 International (https://creativecommons.org/licenses/by/4.0/) // Description...")
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
<lsl>
<syntaxhighlight lang="lsl">
//
//
// Name:        Rez Clean-up
// Name:        Rez Clean-up
Line 5: Line 5:
// License:    Attribution 4.0 International (https://creativecommons.org/licenses/by/4.0/)
// 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
// Description: This script is for use in rezzed items. It'll automatically clear up the object
//              once the object that rezzed them disappears.  
//              once the parent (the object that rezzed it) disappears.  


key parentKey;
key parentKey;
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 
        }
    }
}