Follower
vector offset = < -1, 0, 1>; //1 meter behind and 1 meter above owner's center.
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 = offset;
// Offset relative to owner needs a quaternion.
vector avOffset = offset * rot;
pos += avOffset; // use the one you want, world or relative to AV.
llMoveToTarget(pos,0.4);
}
}