Difference between revisions of "LlExecCharacterCmd"
Jump to navigation
Jump to search
m (added date of release) |
Pedro Oval (talk | contribs) m (Change category from Pathfinding to LSL_Pathfinding) |
||
Line 1: | Line 1: | ||
{{Pathfinding alpha}} | {{Pathfinding LSL alpha}} | ||
{{LSL_Function | {{LSL_Function | ||
|func=llExecCharacterCmd | |func=llExecCharacterCmd |
Revision as of 08:13, 30 August 2013
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
<lsl> 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; }
}
</lsl>