OnConsole: Difference between revisions
Jump to navigation
Jump to search
(example -> comments) |
No edit summary |
||
(21 intermediate revisions by 14 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
This event is triggered when a player types | {{Server event}} | ||
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== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
string theMessage | |||
</syntaxhighlight> | </syntaxhighlight> | ||
*'''theMessage''': a [[string]] representing the message entered into the console. | |||
*''' | |||
==Source== | |||
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]]. | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function input_Console ( text ) --when a player types in the console | |||
function | -- if it's an ingame player, | ||
if ( getElementType ( source ) == "player" ) then -- | if ( getElementType ( source ) == "player" ) then | ||
--split the command by spaces (ASCII 32) and get the first piece of text | |||
if ( command == " | local command = gettok ( text, 1, 32 ) | ||
local | --if the first piece of text was "yo", | ||
local | if ( command == "yo" ) then | ||
outputChatBox ( "* " .. | --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 | end | ||
end | end | ||
addEventHandler ( "onConsole", getRootElement(), input_Console ) -- add an event handler for onConsole | |||
</syntaxhighlight> | </syntaxhighlight> | ||
{{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