Skip to content
lsl.devlsl.devLSL Dev

llPushObject

function
Function syntax
llPushObject(
  1. key target,// UUID of the target avatar or object in the same region.
  2. vector impulse,// Linear impulse vector representing the direction and force of the push.
  3. vector ang_impulse,// Angular impulse vector representing the rotational force.
  4. integer is_local// Boolean. If TRUE, forces are applied relative to the target's local axes; if FALSE, relative to region axes.
);
Energy
10

Applies physical impulse (force) and ang_impulse (rotational force) to the specified target avatar or object.

Applies impulse and ang_impulse to object target

How to use
llPushObject(NULL_KEY, ZERO_VECTOR, ZERO_VECTOR, 0);
  • 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.
Example 1
// Pushes the collided object or avatar.
default
{
collision_start(integer num_detected)
{
llPushObject(llDetectedKey(0),<0,0,100>, <0,0,100>, TRUE);
}
}
Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.