llExecCharacterCmd
(Redirected from LlExecPathingCmd)
| 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;
    }
}
See Also
Deep Notes
History
Date of Release   31/07/2012 
| Signature | 
|---|
| function void llExecCharacterCmd( integer command, list options ); |