Jump to content

LlApplyImpulse

From OSgrid Wiki
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Function: llApplyImpulse( vector force, integer local );

Applies impulse to object
• vector force
• integer local – boolean, if TRUE, force is treated as a local directional vector instead of region directional vector.

Instantaneous impulse. llSetForce has continuous push. "Instantaneous" seems to mean a one second impulse, as an application of a force (in newtons) equal to the object's mass (in kg) for one second will accelerate it to a velocity of 1 (in meters per second), which appears to be what happens with this function.

Caveats • Object must be physical.

Examples

<source lang="lsl">

//Rez an object, and drop this script in it. //This will launch it at the owner. default {

    state_entry() {
         list p = llGetObjectDetails(llGetOwner(), [OBJECT_POS]);
         if(p != []) {
             llSetStatus(STATUS_PHYSICS, TRUE);
             vector pos = llList2Vector(p, 0);
             vector direction = llVecNorm(pos - llGetPos());
             llApplyImpulse(direction * 100, 0);
         }
    }

} </source>

See Also
Functions
• llApplyRotationalImpulse
• llSetForce – Set continuous force