Difference between revisions of "LlPushObject"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 21: Line 21:
     collision_start(integer num_detected)
     collision_start(integer num_detected)
     {
     {
    llPushObject(llDetectedKey(0),<0,0,100>, <0,0,100>, TRUE);
        llPushObject(llDetectedKey(0),<0,0,100>, <0,0,100>, TRUE);
     }
     }
}</lsl>
}</lsl>

Revision as of 20:15, 12 July 2008

Summary

Function: llPushObject( key target, vector impulse, vector ang_impulse, integer <span title="boolean, if TRUE uses the local axis of target, if FALSE uses the region axis." style="border-bottom:1px dotted; cursor:help;">local );
0.0 Forced Delay
10.0 Energy

Applies impulse and ang_impulse to object id

• key target Avatar or object UUID in the sim
• vector impulse
• vector ang_impulse angular impulse
• integer local boolean, if TRUE uses the local axis of target, if FALSE uses the region axis.

Caveats

  • Only works on land where Push is not restricted or where the script is owned by the land owner.
    • If the land is owned by a group, the scripted object must be deeded to the same group.
  • The effectiveness of Push is modulated by the amount of script energy available.
    • There is a simplified code snippet describing how Push is implemented in the Havok4 project and reveals some of the details of how the energy budget affects the final Push magnitude.

Examples

<lsl>// Pushes the collided object or avatar. default {

   collision_start(integer num_detected)
   {
       llPushObject(llDetectedKey(0),<0,0,100>, <0,0,100>, TRUE);
   }
}</lsl>

Deep Notes

Signature

function void llPushObject( key target, vector impulse, vector ang_impulse, integer local );