Skip to content
lsl.devlsl.devLSL Dev

LlPursue

Looking for the current API? Open the llPursue reference →

Wiki description

Causes the object to pursue target.

Specification

OptionValueDescriptionUsageDefault Value
PURSUIT_OFFSET1Go to a position offset from the target.
[PURSUIT_OFFSET, vector offset]
ZERO_VECTOR
REQUIRE_LINE_OF_SIGHT2Define 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_FACTOR3Selects 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_INTERCEPT4Define whether the character attempts to predict the target's future location.
[PURSUIT_INTERCEPT, integer boolean]
FALSE
PURSUIT_GOAL_TOLERANCE5Defines 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 crash (script error)
  • 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 does not require line of sight immediately after llPursue() is called - it only affects target position updates after the target object/agent moves.
  • 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

default
{
    state_entry()
    {
        llCreateCharacter([CHARACTER_DESIRED_SPEED, 35.0, CHARACTER_MAX_SPEED, 35.0]);
    }

    touch_start(integer total_number)
    {
        llPursue(llDetectedKey(0), [PURSUIT_OFFSET, <-2.0, 0.0, 0.0>, PURSUIT_FUZZ_FACTOR, 0.2]);
    }
}

See also: functions

See also: events

History

Date of Release 31/07/2012

Shared wiki helpers

The original page also injects shared parameter notes, caveats or issue information through these helpers. Their conditional MediaWiki logic is not reproduced here; inspect the preserved helper source for additional material.

Template:LSL Function/uuid

Original shared helper source (conditional wiki logic is not evaluated)
<noinclude>{{Multi-lang|category=LSL}}</noinclude>{{LSL Injection Test}}{{#if:

{{#vardefine:p_{{{1|none}}}_desc|{{#if:{{{pd|}}}|{{{pd|}}}&#32;}}{{#if:{{{group|1}}}|{{LSLGC|Group|group}},&#32;}}{{LSLGC|Avatar|avatar}} or {{#if:{{{object|}}}|[[object]]|[[prim]]}} {{HoverLink|UUID|Universally Unique Identifier}} {{#if:{{{sim|}}}|that is in the same [[region]] {{#switch:{{{sim|}}}|*=|#default = &#32;{{{sim|}}}}}
}}}}

{{#vardefine:p_{{{1|none}}}_hover|{{#if:{{{ph|}}}|{{{ph|}}}&#32;|{{#if:{{{pd|}}}|{{{pd|}}}&#32;}}}}{{#if:{{{group|1}}}|group,&#32;}}avatar or {{#if:{{{object|}}}|object|prim}} UUID {{#if:{{{sim|}}}|that is in the same region {{#switch:{{{sim|}}}|*=|#default = &#32;{{{sim|}}}}}
}}}}

<includeonly>
{{#ifeq:{{#var:article-type}}|event||{{#if:{{#pos:{{#var:moded}}|r}}{{#pos:{{#var:moded}}|u}}||{{#vardefine:hidden-text|{{#var:hidden-text}}
{{LSLC|Avatar/As A Parameter}}
}}}}}}
</includeonly>

}}<noinclude>
{| {{Prettytable}}
|-{{Hl2}}
!var
!value
|-
|desc
|{{#var:p_{{{1|none}}}_desc}}
|-
|hover
|{{#var:p_{{{1|none}}}_hover}}
|}
</noinclude>
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.