COMMAND
(edit this)
  • System usage: #define COMMAND 1
  • Application usage: #define APP_COMMAND -1001
  • Introduced in: 8.0.0
  • Processed by: depends on parameters

Description:

General message for performing system shell commands ("@" commands.) Applications should inspect the string parameter to determine if it is appropriate for them to respond, by splitting the string (using llParseStringToList(message, [" "]) or the equivalent NS macro split(message, " ")) and then checking the first word of the resultant list to see if it matches the application's chosen name. See application development overview for explanation of how to register commands.

COMMAND is favored for commands that were directly input by the unit, or a user using a command terminal. Other forms of system command invocation, such as batch (Arabesque/LSLisp) scripts, menu access, etc. will generate EXECUTE messages, instead. As such, when responding to message 1, chat output is free to provide syntax advice, and should always try to target the designated recipient, specified by the key parameter.

Output messages should be sent using the syntax llMessageLinked(LINK_ROOT, PIPE_SEND, <message>, <id>);. Delivery will be handled by the system's transceiver (NetworkService) component.

Parameter format: String parameter: the complete command line, as would be entered by the user without any prefixed sigils, such as "vox vocabulary rafael", or "shutdown -t now". Key parameter: a pipe, which may be equal to an avatar's UUID.