OnPlayerCommand: Difference between revisions
Jump to navigation
Jump to search
Dutchman101 (talk | contribs) (overall page improvements) |
Dutchman101 (talk | contribs) m (fix typo) |
||
Line 42: | Line 42: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
This example disables the hardcoded command 'whois' | This example disables the hardcoded command 'whois' | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> |
Revision as of 03:40, 21 September 2018
This event is triggered when a player issues a command.
Note: This event triggers regardless of whether the command exists in a script or is hardcoded. Also, typing anything in chat will execute the internal command "say", so this event will be triggered on every chat message as well. Therefore you should avoid excessive use of this function on busy servers, out of performance considerations. |
Parameters
string command
Source
The source of this event is the player who tried to execute a command.
Result of cancelling this event
The command will not be executed.
Example
Click to collapse [-]
ServerThis example implements an anti-flood protection timer for commands
local CMD_INTERVAL = 200 --// The interval that needs to pass before the player can execute another cmd local KICK_AFTER_INTERVAL = 50 --// Kick the player if they execute more than 20 cmds/sec local executions = setmetatable({}, { --// Metatable for non-existing indexes __index = function(t, k) rawset(t, k, 0) return 0 end }) addEventHandler("onPlayerCommand", root, function() if (executions[source]-getTickCount()<=CMD_INTERVAL) then if (executions[source]-getTickCount()<=KICK_AFTER_INTERVAL) then kickPlayer(source, "Anti-Flood", "Don't flood") end cancelEvent() end executions[source] = getTickCount() end )
This example disables the hardcoded command 'whois'
addEventHandler("onPlayerCommand",root, function(command) if (command == "whois") then cancelEvent() end end)