Skip to content
lsl.devlsl.devLSL Dev

llFleeFrom

function
Function syntax
llFleeFrom(
  1. vector position,// Position vector in region coordinates from which to flee.
  2. float distance,// Distance in meters to keep from the position.
  3. list options// No options currently available (should be empty list).
);
Energy
10

Directs a pathfinding character to keep the specified distance from the target position vector (within the region or adjacent regions).

Directs a character to keep a specific distance from a specific position in the region or adjacent regions.

How to use
llFleeFrom(ZERO_VECTOR, 0.0, []);
  • Must use llCreateCharacter or script won’t compile.
  • The position to flee from must be near the nav mesh; otherwise, this behavior will fail and trigger path update with PU_FAILURE_INVALID_GOAL.
  • If you want to avoid an agent or object as per the example below, it’s much more elegant and less sim resource intensive to use llEvade instead.
Example 1
12 collapsed lines
vector last_touched_pos;
key last_touched_key;
default
{
state_entry()
{
llCreateCharacter([CHARACTER_DESIRED_SPEED, 50.0]);
}
touch_start(integer total_number)
{
last_touched_key = llDetectedKey(0);
last_touched_pos = llDetectedPos(0);
llFleeFrom(last_touched_pos, 10, []);
llSetTimerEvent(0.2);
}
5 collapsed lines
timer()
{
vector last_touched_pos_now = llList2Vector(llGetObjectDetails(last_touched_key, [OBJECT_POS]), 0);
if ( llVecDist(last_touched_pos, last_touched_pos_now) > 1 )
{
last_touched_pos = last_touched_pos_now;
llFleeFrom(last_touched_pos, 10, []);
}
}
}

The position vector can be set outside the current region by using extended range region coordinates: e.g., to avoid the SE corner of the region to the East of the current one, you could

llFleeFrom(<0.0, 512.0, 0.0>, 20.0, []);

Date of Release 31/07/2012

Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.