OnConsole: Difference between revisions
Jump to navigation
Jump to search
m (See Also for server events) |
No edit summary |
||
(13 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Server event}} | {{Server event}} | ||
This event is triggered when a player types a message into his console. | This event is triggered when a player types a message into his console. It is also triggered when entering '/' commands via the chatbox. | ||
{{Note|The event will not be triggered if the message can be processed by an existing command handler}} | |||
==Parameters== | ==Parameters== | ||
Line 8: | Line 9: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
*'''theMessage''': a string representing the message | *'''theMessage''': a [[string]] representing the message entered into the console. | ||
==Source== | ==Source== | ||
The [[event system#Event source|source]] of this event is the [[ | The [[event system#Event source|source]] of this event is the [[player]] that entered the message in the console. This can be a player or the server console. | ||
==Example== | ==Example== | ||
This example adds the '' | This example adds the ''yo'' command into the script. For example, if a player called Bob types "yo likes pie" in console, it will display "* Bob likes pie" in the chatbox. | ||
:'''NOTE:''' this script is for example purposes only. This can be done in a more efficient way with [[addCommandHandler]]. | :'''NOTE:''' this script is for example purposes only. This can be done in a more efficient way with [[addCommandHandler]]. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function input_Console ( text ) --when a player types in the console | function input_Console ( text ) --when a player types in the console | ||
-- if it's an ingame player, | -- if it's an ingame player, | ||
Line 23: | Line 23: | ||
--split the command by spaces (ASCII 32) and get the first piece of text | --split the command by spaces (ASCII 32) and get the first piece of text | ||
local command = gettok ( text, 1, 32 ) | local command = gettok ( text, 1, 32 ) | ||
--if the first piece of text was " | --if the first piece of text was "yo", | ||
if ( command == " | if ( command == "yo" ) then | ||
--get the player's name | --get the player's name | ||
local playerName = | local playerName = getPlayerName ( source ) | ||
-- get the action text by substracting the first three characters (" | -- get the action text by substracting the first three characters ("yo ") | ||
local actionText = string.sub ( text, 3 ) | local actionText = string.sub ( text, 3 ) | ||
-- announce the | -- announce the yo command into the chatbox | ||
outputChatBox ( "* " .. playerName .. " " .. actionText, getRootElement(), 255, 255, 0 ) | outputChatBox ( "* " .. playerName .. " " .. actionText, getRootElement(), 255, 255, 0 ) | ||
end | end | ||
end | end | ||
end | end | ||
addEventHandler ( "onConsole", getRootElement(), input_Console ) -- add an event handler for onConsole | |||
</syntaxhighlight> | </syntaxhighlight> | ||
{{See also/Server event|Client events}} | {{See also/Server event|Client events}} | ||
[[ru:onConsole]] |
Latest revision as of 02:55, 27 September 2018
This event is triggered when a player types a message into his console. It is also triggered when entering '/' commands via the chatbox.
Parameters
string theMessage
- theMessage: a string representing the message entered into the console.
Source
The source of this event is the player that entered the message in the console. This can be a player or the server console.
Example
This example adds the yo command into the script. For example, if a player called Bob types "yo likes pie" in console, it will display "* Bob likes pie" in the chatbox.
- NOTE: this script is for example purposes only. This can be done in a more efficient way with addCommandHandler.
function input_Console ( text ) --when a player types in the console -- if it's an ingame player, if ( getElementType ( source ) == "player" ) then --split the command by spaces (ASCII 32) and get the first piece of text local command = gettok ( text, 1, 32 ) --if the first piece of text was "yo", if ( command == "yo" ) then --get the player's name local playerName = getPlayerName ( source ) -- get the action text by substracting the first three characters ("yo ") local actionText = string.sub ( text, 3 ) -- announce the yo command into the chatbox outputChatBox ( "* " .. playerName .. " " .. actionText, getRootElement(), 255, 255, 0 ) end end end addEventHandler ( "onConsole", getRootElement(), input_Console ) -- add an event handler for onConsole
See Also
Client events