Difference between revisions of "User:Bobbyb30 Swashbuckler/Example"

From Second Life Wiki
Jump to navigation Jump to search
m (created example page, hopefully this will help someone out)
 
m (some code)
 
Line 76: Line 76:
</lsl>
</lsl>


The following code will kill a prim after 5 seconds and will also change the color of the prim to random one.
<lsl>
//Modified by Bobbyb30 Swashbuckler March 19, 2009


//take note that llSetPrimitiveParams has a built in delay of .2 seconds
//you can have several different params in one call
float time = 5.0;//the time
default
{
    on_rez(integer param)
    {
        llResetScript();
    }
    state_entry()
    {
        llSetTimerEvent(time);
        //llSetPrimitiveParams([PRIM_PHYSICS, TRUE, PRIM_TEMP_ON_REZ, TRUE]);
        //llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <llFrand(1),llFrand(1),llFrand(1)>, 1.0]);
        llSetPrimitiveParams(
        [PRIM_PHYSICS, TRUE, PRIM_TEMP_ON_REZ, TRUE,
        PRIM_COLOR, ALL_SIDES, <llFrand(1),llFrand(1),llFrand(1)>, 1.0
        ]);   
    }
    timer()
    {
        llDie();
        llSleep(.1);
        llDie();//sometimes it doesn't die...so do it again
    }
}
</lsl>


 
==License==
All samples, code, documentation on this page are released into public domain.
All samples, code, documentation on this page are released into public domain.

Latest revision as of 08:36, 19 March 2010

The following is an example of how to take and release controls of the owner on touch regardless of the prim this is in: <lsl> integer currentstate;//true have permissions, false do not have pemrissions

default { state_entry() { llPassTouches(TRUE);//any prim that is touched will trigger the touch here }

   touch_start(integer ab)
   {
       if(llDetectedKey(0) == llGetOwner())//check if owner
       {
           currentstate = ~currentstate;//switch state

if(currentstate)

           	llRequestPermissions(llGetOwner(), PERMISSION_TAKE_CONTROLS);//request permissions
           else
               llReleaseControls();//release controls
       }    
   }
   run_time_permissions (integer permission)
   {
       if(permission & PERMISSION_TAKE_CONTROLS)//if we were given permission
       {
           llOwnerSay("I've got control");
           //llTakeControls(.....);//take controls
           //do stuff here
       }
       else//if we weren't given permission
       {
           llOwnerSay("I haven't gotten control");
           //do stuff here
       }
       
   }

} </lsl>

The following is an example of how to take and release controls of the owner on touch of the prim that this script is in: <lsl> integer currentstate;//true have permissions, false do not have pemrissions

default {

   touch_start(integer ab)
   {
       if(llDetectedKey(0) == llGetOwner())//check if owner
       {
           if(llDetectedLinkNumber(0) == llGetLinkNumber())//check if this prim
           {
               currentstate = ~currentstate;//switch state
               if(currentstate)
                   llRequestPermissions(llGetOwner(), PERMISSION_TAKE_CONTROLS);//request permissions
               else
                   llReleaseControls();//release controls
           }
       }    
   }
   run_time_permissions (integer permission)
   {
       if(permission & PERMISSION_TAKE_CONTROLS)//if we were given permission
       {
           llOwnerSay("I've got control");
           //llTakeControls(.....);//take controls
           //do stuff here
       }
       else//if we weren't given permission
       {
           llOwnerSay("I haven't gotten control");
           //do stuff here
       }
       
   }

} </lsl>

The following code will kill a prim after 5 seconds and will also change the color of the prim to random one. <lsl> //Modified by Bobbyb30 Swashbuckler March 19, 2009

//take note that llSetPrimitiveParams has a built in delay of .2 seconds //you can have several different params in one call float time = 5.0;//the time default {

   on_rez(integer param)
   {
       llResetScript();
   }
   state_entry()
   {
       llSetTimerEvent(time);
       //llSetPrimitiveParams([PRIM_PHYSICS, TRUE, PRIM_TEMP_ON_REZ, TRUE]);
       //llSetPrimitiveParams([PRIM_COLOR, ALL_SIDES, <llFrand(1),llFrand(1),llFrand(1)>, 1.0]);
       llSetPrimitiveParams(
       [PRIM_PHYSICS, TRUE, PRIM_TEMP_ON_REZ, TRUE,
       PRIM_COLOR, ALL_SIDES, <llFrand(1),llFrand(1),llFrand(1)>, 1.0
       ]);    
   }
   timer()
   {
       llDie();
       llSleep(.1);
       llDie();//sometimes it doesn't die...so do it again
   }

} </lsl>

License

All samples, code, documentation on this page are released into public domain.