llPursue script
default
{
state_entry()
{
llCreateCharacter([]);
}
touch_start(integer total_number)
{
llPursue(llDetectedKey(0), [PURSUIT_OFFSET, <-2.0, 0.0, 0.0>]);
}
}
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 |
llPatrolPoints
default {
state_entry()
{
llCreateCharacter([]);
}
touch_start(integer num)
{
llSensor("target", "", PASSIVE, 25.0, PI);
}
sensor(integer num)
{
if(num<=1) return;
integer i;
list l;
for(i=0; i<num; i++)
{
l += llDetectedPos(i);
}
llPatrolPoints(l, []);
}
no_sensor()
{
llOwnerSay("No target in range.");
}
}
No comments:
Post a Comment