OnPlayerCommand

From Multi Theft Auto: Wiki
Jump to navigation Jump to search

This event is triggered when a player issues a command.

[[{{{image}}}|link=|]] 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()
        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
)