Skip to content
lsl.devlsl.devLSL Dev

LlExecCharacterCmd

Looking for the current API? Open the llExecCharacterCmd reference →

Wiki description

Send a command to the pathing system.

Function notes

Currently only supports stopping the current pathfinding operation or causing the character to jump.

Specification

Command Value Description & Required Parameters
CHARACTER_CMD_JUMP0x1Makes the character jump.
The option list is required to start with a height parameter: [float height]
CHARACTER_CMD_SMOOTH_STOP0x2Stops any current pathfinding operation in a smooth like fashion.
CHARACTER_CMD_STOP0x0Stops 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: functions

See also: events

History

Date of Release 31/07/2012
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.