LlPushObject
From Second Life Wiki
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Tutorials |
Contents |
Summary
Function: llPushObject( key target, vector impulse, vector ang_impulse, integer local );| 165 | Function ID |
| 0.0 | Delay |
| 10.0 | Energy |
Applies impulse and ang_impulse to object id
| • key | target | – | Avatar or object UUID in the sim | |
| • 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.
- 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.
- In no-push areas an object can only push its owner.
- ang_impulse is ignored when applying to agents.
- Energy use is calculated as magnitude of impulse divided by 20,000.
- 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); } }
This article wasn't helpful for you? Maybe the related article at the LSL Wiki is able to bring enlightenment.

