From Second Life Wiki
Revision as of 14:40, 22 January 2015 by ObviousAltIsObvious Resident (talk | contribs) (<lsl> tag to <source>)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Function: integer llRotTarget( rotation rot, float error );

This function is to have the script know when it has reached a rotation.
It registers a rot with a error that triggers at_rot_target and not_at_rot_target events continuously until unregistered.
Returns a handle (an integer) to unregister the target with llRotTargetRemove

• rotation rot target rotation
• float error angle in radians, defines when rot has been reached

A similar function exists for positions: llTarget
This function does not rotate the object, to do that use llSetRot, llRotLookAt or llLookAt.


vector standrot = <0.0, 0.0, 0.0>;
vector fliprot = <45.0, 0.0, 0.0>;

// simple two-state rot target detection and rotation by Hypatia Callisto
// works, to detect a rotation target. An example I wrote
// since there is almost zilch for clean examples for 
// at_rot_target, not_at_rot_target, llRotTarget, llRotTargetRemove

integer rottarget;


        rottarget = llRotTarget(llEuler2Rot(fliprot*DEG_TO_RAD), 0.1);
        llSetPrimitiveParams ([PRIM_ROTATION, llEuler2Rot(standrot*DEG_TO_RAD)]); // rotate to starting point

        llRotTargetRemove( rottarget );
        llOwnerSay("not there"); //not at target
    touch_start (integer total_number)
        state rotatestate; // change to state for new position
state rotatestate 
        rottarget = llRotTarget(llEuler2Rot(fliprot*DEG_TO_RAD), 0.1);
        llSetPrimitiveParams ([PRIM_ROTATION, llEuler2Rot(fliprot*DEG_TO_RAD)]); // rotate to new point
    at_rot_target(integer tnum, rotation targetrot, rotation ourrot)
        llRotTargetRemove( rottarget );
        llOwnerSay("there"); //reached the target

    touch_start(integer touched){ 
        state default; 

See Also


• at_rot_target not_at_rot_target rotational target events
• at_target not_at_target positional target events


•  llRotTargetRemove Cancel a target rotation
•  llTarget Register a target position
•  llTargetRemove Cancel a target position

Deep Notes

Search JIRA for related Issues


function integer llRotTarget( rotation rot, float error );