OnPlayerCommand: Difference between revisions
Jump to navigation
Jump to search
Line 15: | Line 15: | ||
The command will not be executed. | The command will not be executed. | ||
<syntaxhighlight lang="lua"> | |||
local CMD_INTERVAL = 200 --// The interval that needs to pass before the player can execute another cmd | local CMD_INTERVAL = 200 --// The interval that needs to pass before the player can execute another cmd | ||
local KICK_AFTER_INTERVAL = 50 --// Kick her if she executes more than 20 cmds/sec | local KICK_AFTER_INTERVAL = 50 --// Kick her if she executes more than 20 cmds/sec | ||
Line 36: | Line 37: | ||
end | end | ||
) | ) | ||
</syntaxhighlight> |
Revision as of 20:41, 18 August 2018
This event is triggered when a player issues a command.
Note: This event triggers regardless of whether the command exists or not. Also, typing anything in chat will execute command "say", so this event will be triggered on every chat message as well. |
Parameters
string command
Source
The source of this event is the player who tried to execute a command.
Cancel effect
The command will not be executed.
local CMD_INTERVAL = 200 --// The interval that needs to pass before the player can execute another cmd local KICK_AFTER_INTERVAL = 50 --// Kick her if she executes 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(cmd) 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 )