OnConsole: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | ==Parameters== | ||
* The source of this event refers to the player who typed into the console | * The '''source''' of this event refers to the player who typed into the console. | ||
*'''message''': | *'''message''': a string representing the message typed into the console. | ||
==Example== | ==Example== | ||
This example adds the | This example adds the ''me'' command into the script. For example, if a player called Bob types "me 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"> | ||
addEventHandler ( "onConsole", getRootElement(), "input_Console" ) -- add an event handler for onConsole | addEventHandler ( "onConsole", getRootElement(), "input_Console" ) -- add an event handler for onConsole | ||
function input_Console ( text ) --when a player types in the console | function input_Console ( text ) --when a player types in the console | ||
if ( getElementType ( source ) == "player" ) then -- | -- if it's an ingame player, | ||
if ( getElementType ( source ) == "player" ) then | |||
if ( command == "me" ) then -- | --split the command by spaces (ASCII 32) and get the first piece of text | ||
local | local command = gettok ( text, 1, 32 ) | ||
local | --if the first piece of text was "me", | ||
outputChatBox ( "* " .. | if ( command == "me" ) then | ||
--get the player's name | |||
local playerName = getClientName ( source ) | |||
-- get the action text by substracting the first three characters ("me ") | |||
local actionText = string.sub ( text, 3 ) | |||
-- announce the me command into the chatbox | |||
outputChatBox ( "* " .. playerName .. " " .. actionText, getRootElement(), 255, 255, 0 ) | |||
end | end | ||
end | end | ||
Line 29: | Line 36: | ||
==See Also== | ==See Also== | ||
{{Event_functions}} | {{Event_functions}} | ||
Revision as of 18:56, 22 April 2007
This event is triggered when a player types a message into the console.
Syntax
void onConsole ( string message )
Parameters
- The source of this event refers to the player who typed into the console.
- message: a string representing the message typed into the console.
Example
This example adds the me command into the script. For example, if a player called Bob types "me 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.
addEventHandler ( "onConsole", getRootElement(), "input_Console" ) -- add an event handler for onConsole 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 "me", if ( command == "me" ) then --get the player's name local playerName = getClientName ( source ) -- get the action text by substracting the first three characters ("me ") local actionText = string.sub ( text, 3 ) -- announce the me command into the chatbox outputChatBox ( "* " .. playerName .. " " .. actionText, getRootElement(), 255, 255, 0 ) end end end
See Also
- addEvent
- addEventHandler
- cancelEvent
- cancelLatentEvent
- getEventHandlers
- getLatentEventHandles
- getLatentEventStatus
- removeEventHandler
- triggerEvent
- wasEventCancelled