# onPlayerCommand (Servidor)

> Disparado quando um jogador manda um comando ao servidor, antes de ele rodar. Cancelar o evento impede o comando.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Evento Lua
- **Lado**: Servidor
- **Categoria**: Teclado
- **Cancelável**: `cancelEvent`
- **URL**: https://wiki.mymp.gg/pt/onPlayerCommand

## Sintaxe

```lua
addEventHandler("onPlayerCommand", root, function(string command) ... end)
```

## Parâmetros do handler

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `command` | `string` | O nome do comando, sem os argumentos. |

## Source

O jogador que mandou o comando.

O cliente manda ao servidor os comandos que nenhum script do cliente tratou e os que só o servidor roda, como os de recursos. `executeCommandHandler` não dispara este evento.

## Exemplo

```lua
local lastCommand = {}

addEventHandler("onPlayerCommand", root, function(command)
    local now = getTickCount()
    if lastCommand[source] and now - lastCommand[source] < 500 then
        cancelEvent()
        return
    end
    lastCommand[source] = now
end)
```

## Veja também

- [addCommandHandler (Compartilhado)](https://wiki.mymp.gg/pt/addCommandHandler.md): Registra uma função que roda quando o comando é digitado no console. Os argumentos chegam como textos separados por espaço.
- [executeCommandHandler (Servidor)](https://wiki.mymp.gg/pt/executeCommandHandler-server.md): Roda os handlers que os scripts do servidor registraram para um comando, como se o jogador o tivesse digitado.
- [cancelEvent (Compartilhado)](https://wiki.mymp.gg/pt/cancelEvent.md): Marca o evento que está rodando como cancelado. O que o cancelamento impede depende do evento.
