llExecCharacterCmd
(Redirected from LlExecPathingCmd)
Jump to navigation
Jump to search
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: llExecCharacterCmd( integer command, list options );Send a command to the pathing system.
• integer | command | – | Command to be sent. | |
• list | options | – | CHARACTER_CMD_*
|
Currently only supports stopping the current pathfinding operation or causing the character to jump.
Command | Value | Description & Required Parameters | |||||
---|---|---|---|---|---|---|---|
CHARACTER_CMD_JUMP | 0x1 | Makes the character jump. The option list is required to start with a height parameter: [float height]
| |||||
CHARACTER_CMD_SMOOTH_STOP | 0x2 | Stops any current pathfinding operation in a smooth like fashion. | |||||
CHARACTER_CMD_STOP | 0x0 | Stops any current pathfinding operation. |
Caveats
- If another script in the same object issues CHARACTER_CMD_STOP then pathing in all scripts is cancelled.
Examples
vector patrol;
default
{
state_entry()
{
patrol = llGetPos();
llCreateCharacter([CHARACTER_MAX_SPEED, 25, CHARACTER_DESIRED_SPEED, 15.0]);
state awake;
}
}
state awake
{
state_entry()
{
llSay(0, "I am guarding now");
list points = [patrol + <5,0,0>, patrol - <5,0,0>];
llPatrolPoints(points, []);
}
touch_start(integer total_number)
{
state sleep;
}
}
state sleep
{
state_entry()
{
llSay(0, "Going to sleep");
llExecCharacterCmd(CHARACTER_CMD_SMOOTH_STOP, []);
}
touch_start(integer total_number)
{
patrol = llGetPos();
//Jump to attention!
llExecCharacterCmd(CHARACTER_CMD_JUMP, [0.5]);
state awake;
}
}