From Second Life Wiki
Jump to navigation Jump to search


Function: llMoveToTarget( vector target, float tau );

Critically damp to target in tau seconds (if the script is physical)

• vector target position in region coordinates
• float tau seconds to critically damp in

To stop the object from maintaining the target positions use llStopMoveToTarget
To change the rotation in the same manner use llLookAt or llRotLookAt.


  • Only works in attachments and physics-enabled objects.
  • When slowly moving to a lower Z value, beware of SVC-2441 - the sim will incorrectly move the object down faster than it should. That is, if you try moving to llGetPos() + <10, 10, -10>, you can end up at .z-10 several meters before getting to .x-10 and .y-10. There is a demo object in the JIRA which shows this effect.
  • A llMoveToTarget call seems to persist even if physics is turned off. This is a useful trick on sluggish sims where the object can drop a bit between the call to enable physics and the call to llMoveToTarget - just do the llMoveToTarget before setting the object to physical.
  • llVecDist(llGetPos(), target) must be less than 65, or no movement will occur.
  • Calling llMoveToTarget with a tau of 0.0 or less will silently fail, and do nothing. The smallest functional tau is 0.044444444 (two physics frames, 2/45).

Important Issues

~ All Issues ~ Search JIRA for related Bugs
   Slowish llMoveToTarget path inconsistent when moving to a target at a -z position vs moving to +z


Drop this script in a prim to have it follow the prim owner.

        vector pos = llGetPos();
        llSetStatus(STATUS_PHYSICS, TRUE);
        // Little pause to allow server to make potentially large linked object physical.
        // Look for owner within 20 meters in 360 degree arc every 1 seconds.
        llSensorRepeat("", llGetOwner(), AGENT, 20.0, PI,1.0);
    sensor(integer total_number)
        // Get position of detected owner
        vector pos = llDetectedPos(0);
        // Offset back one meter in X and up one meter in Z based on world coordinates.
        vector offset =<-1,0,1>;
//        offset = offset*llDetectedRot(0);  //Adding this line will orient the follower relative to the owner's position.

See Also


•  llStopMoveToTarget
•  llLookAt
•  llRotLookAt
•  llTarget

Deep Notes

All Issues

~ Search JIRA for related Issues
   Slowish llMoveToTarget path inconsistent when moving to a target at a -z position vs moving to +z


function void llMoveToTarget( vector target, float tau );