Follower script

From Second Life Wiki
Revision as of 14:58, 23 September 2007 by Lee Ponzu (talk | contribs) (added relative to owner)
Jump to navigation Jump to search

This script is based on an extract from the Batman Follower v1.2.

default
{
    state_entry()
    {
        llSetStatus(STATUS_PHYSICS, TRUE);
        // Little pause to allow server to make potentially large linked object physical.
        llSleep(0.1);
        // Look for owner within 20 metres in 360 degree arc every 1 seconds.
        llSensorRepeat("", llGetOwner(), AGENT, 20.0, PI,1.0);
    }
    sensor(integer total_number)
    {   // Owner detected...
        // Get position and rotation
        vector pos   = llDetectedPos(0);
        rotation rot = llDetectedRot(0);
        // Offset back one metre in X and up one metre in Z based on world coordinates.
        // use whatever offset you want.
        vector worldOffset = <-1, 0, 1>;
        // Offset relative to owner needs a quaternion.
        vector avOffset = worldOffset * rot;

        pos += avOffset;       // use the one you want, world or relative to AV.

        llMoveToTarget(pos,0.4);     
    }
}