Difference between revisions of "Follower script"
Jump to navigation
Jump to search
Placid Kidd (talk | contribs) m (remove entirely incorrect description of llMoveToTarget parameters) |
Placid Kidd (talk | contribs) (spell out llSensorRepeat parameters and more comments) |
||
Line 8: | Line 8: | ||
vector pos = llGetPos(); | vector pos = llGetPos(); | ||
llSetStatus(STATUS_PHYSICS, TRUE); | llSetStatus(STATUS_PHYSICS, TRUE); | ||
// Little pause to allow server to make potentially large linked object physical. | |||
llSleep(0.1); | llSleep(0.1); | ||
llMoveToTarget(pos,0. | llMoveToTarget(pos,0.2); | ||
// Look for owner within 20 metres in 360 degree arc every 1 seconds. | |||
llSensorRepeat("", | llSensorRepeat("", llGetOwner(), AGENT, 20.0, PI,1.0); | ||
} | } | ||
sensor(integer total_number) | sensor(integer total_number) | ||
{ | { | ||
// Get position of detected owner | |||
vector pos = llDetectedPos(0); | vector pos = llDetectedPos(0); | ||
// Offset back one metre in X and up one metre in Z based on world coordinates. | |||
// Offset relative to owner is possible but beyond the scope of this example. | |||
vector offset =<-1,0,1>; | vector offset =<-1,0,1>; | ||
pos+=offset; | pos+=offset; | ||
llMoveToTarget(pos,0. | llMoveToTarget(pos,0.2); | ||
} | } | ||
} | } |
Revision as of 18:27, 5 July 2007
This script was extracted from the Batman Follower v1.2, but the following distance was changed from .3 m to .1 m.
default { state_entry() { vector pos = llGetPos(); llSetStatus(STATUS_PHYSICS, TRUE); // Little pause to allow server to make potentially large linked object physical. llSleep(0.1); llMoveToTarget(pos,0.2); // 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) { // Get position of detected owner vector pos = llDetectedPos(0); // Offset back one metre in X and up one metre in Z based on world coordinates. // Offset relative to owner is possible but beyond the scope of this example. vector offset =<-1,0,1>; pos+=offset; llMoveToTarget(pos,0.2); } }