No Auto-Return

From Second Life Wiki
Revision as of 12:21, 18 October 2012 by Kireji Haiku (talk | contribs) (added LSL Tip)
Jump to navigation Jump to search

What is No Auto-Return?

Isn't it annoying when you're at a sandbox and you haven't linked a build and you get frustrated because it gets returned and you can't work out where that bit goes again? Well, with this script it stops the objects from getting returned!

My cube has been here for 4 hours!

Note: Only use for long builds that will take a long time; NOTHING ELSE!

Example script

KBcaution.png Important: Do take note that this script is meant for single-prim-objects, NOT linksets!

<lsl> key owner;

default {

   on_rez(integer param)
   {
       key ownerRightNow = llGetOwner();
       if (owner == ownerRightNow)
           llRequestPermissions(owner, PERMISSION_CHANGE_LINKS);
       else
           llResetScript();
   }
   changed(integer change)
   {
       if (change & (CHANGED_OWNER | CHANGED_INVENTORY))
           llResetScript();
   }
   state_entry()
   {
       owner = llGetOwner();
       llRequestPermissions(owner, PERMISSION_CHANGE_LINKS);
       llListen(10240, "", NULL_KEY, "");
   }
   listen(integer channel, string name, key id, string message)
   {
       llDie();
   }
   run_time_permissions(integer perm)
   {
       if(perm & PERMISSION_CHANGE_LINKS)
           llSetTimerEvent(30.0);
   }
   timer()
   {
       key keyThisPrim = llGetKey();
       integer link = llGetLinkNumber();
       llBreakLink(link);
   //  wait a bit to make sure this works
       llSleep(5.0);
       llCreateLink(keyThisPrim, FALSE);
   }

} </lsl>