llPushObject
		
		
		
		Jump to navigation
		Jump to search
		
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials | 
Summary
Function: llPushObject( key target, vector impulse, vector ang_impulse, integer local );| 0.0 | Forced Delay | 
| 10.0 | Energy | 
Applies impulse and ang_impulse to object target
| • key | target | – | avatar or object UUID that is in the same region | |
| • vector | impulse | – | Direction and force of push. Direction is affected by local. | |
| • vector | ang_impulse | – | Rotational force. | |
| • 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.
- In no-push areas an object can only push its owner or itself.
 
- 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.
 
- ang_impulse is ignored when applying to agents or their attachments.
- Energy is fully depleted by this function when either impulse or ang_impulse is nonzero. If impulse is nonzero, it will drain all energy in the object before ang_impulse is processed, causing the push to be purely linear.
- The push impact is diminished with distance by a factor of distance cubed.
Examples
// Pushes the collided object or avatar.
default
{
    collision_start(integer num_detected)
    {
        llPushObject(llDetectedKey(0),<0,0,100>, <0,0,100>, TRUE);
    }
}
Deep Notes
| Signature | 
|---|
| function void llPushObject( key target, vector impulse, vector ang_impulse, integer local ); |