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.
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
)