Difference between revisions of "LlPursue"
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
Line 27: | Line 27: | ||
touch_start(integer total_number) | touch_start(integer total_number) | ||
{ | { | ||
llPursue(llDetectedKey(0), [PURSUIT_OFFSET, <-2.0, 0.0, 0.0> | llPursue(llDetectedKey(0), [PURSUIT_OFFSET, <-2.0, 0.0, 0.0>, PURSUIT_FUZZ_FACTOR, 0.2]); | ||
} | } | ||
} | } |
Revision as of 00:36, 16 February 2012
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: llPursue( key target, list options );
Option | Value | Description | Usage | Default Value |
---|---|---|---|---|
PURSUIT_OFFSET | 1 | Go to a position offset from the target. | [PURSUIT_OFFSET, vector offset]
|
ZERO_VECTOR |
REQUIRE_LINE_OF_SIGHT | 2 | Define whether the character needs a physical line-of-sight to give chase. When enabled, the character will not pick a new target position while there is a something solid between the character and the target object/agent. | [REQUIRE_LINE_OF_SIGHT, integer boolean]
|
FALSE |
PURSUIT_FUZZ_FACTOR | 3 | Selects a random destination near the PURSUIT_OFFSET. The valid fuzz factor range is from 0 to 1, where 1 is most random. This option requires a nonzero PURSUIT_OFFSET. | [PURSUIT_FUZZ_FACTOR, float factor]
|
0.0 |
PURSUIT_INTERCEPT | 4 | Define whether the character attempts to predict the target's future location. | [PURSUIT_INTERCEPT, integer boolean]
|
FALSE |
PURSUIT_GOAL_TOLERANCE | 5 | Defines approximately how close the character must be to the current goal to consider itself to be at the desired position. The valid range is from 0.25 to 10m. | [PURSUIT_GOAL_TOLERANCE, float tolerance]
|
Default is proportional to character size |
Caveats
- Must use llCreateCharacter or script won't compile
- Vertical positions specified for any vectors should be chosen to be as close as possible to the actual height of the terrain requested. Large difference between the provided vertical position and the actual terrain/object will result in failure of the behaviour.
- Z value is unused (erroneous if not 0.0?) in parameter for PURSUIT_OFFSET.
- REQUIRE_LINE_OF_SIGHT requires that PURSUIT_INTERCEPT be set to TRUE.
- FUZZ_FACTOR picks a point within an area of approximately (scale * lengthOfOffset) around the offset position. Value must be between 0.0 and 1.0.
Examples
<lsl> default {
state_entry() { llCreateCharacter([CHARACTER_DESIRED_SPEED, 35.0]); }
touch_start(integer total_number) { llPursue(llDetectedKey(0), [PURSUIT_OFFSET, <-2.0, 0.0, 0.0>, PURSUIT_FUZZ_FACTOR, 0.2]); }
}
</lsl>