Difference between revisions of "LlEvade"
Jump to navigation
Jump to search
Omei Qunhua (talk | contribs) (Corrected example script which had syntax errors. Not tested.) |
m (added date of release) |
||
Line 62: | Line 62: | ||
also_events= | also_events= | ||
* [[path_update]] | * [[path_update]] | ||
|history = Date of Release [[ Release_Notes/Second_Life_Server/12#12.07.31.262785 | 31/07/2012 ]] | |||
}} | }} |
Revision as of 11:45, 25 June 2013
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: llEvade( key target, list options );Characters will (roughly) try to hide from their pursuers if there is a good hiding spot along their fleeing path. Hiding means no direct line of sight from the head of the character (center of the top of its physics bounding box) to the head of its pursuer and no direct path between the two on the navmesh.
• key | target | – | group, avatar or object UUID to evade | |
• list | options | – | No options currently available |
Caveats
- Must use llCreateCharacter or script will not compile.
- If the target is an object, it must be unlinked or be the root prim of a linkset.
Examples
<lsl> vector start_position;
default {
on_rez(integer start_param) { llResetScript(); }
state_entry() { llDeleteCharacter(); llCreateCharacter([CHARACTER_MAX_SPEED, 25, CHARACTER_DESIRED_SPEED, 15.0]);
start_position = llGetPos(); llWanderWithin(start_position, <10.0, 10.0, 2.0>, [] ); } touch_start(integer num_detected) { llEvade(llDetectedKey(0), []); llSetTimerEvent(20.0); }
timer() { // do not keep running away... llSetTimerEvent(0.0);
llWanderWithin(start_position, <10.0, 10.0, 2.0>, [] ); }
}
</lsl>