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
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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);     
    }
}