# setControlState (Servidor)

> Pressiona ou solta um controle de um jogador como se fosse uma tecla. A ordem vai para o cliente dele, que a aplica como `setControlState` no jogador local.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Função Lua
- **Lado**: Servidor
- **Categoria**: Controles
- **URL**: https://wiki.mymp.gg/pt/setControlState-server
- **Contraparte**: Também existe no cliente, com outra implementação: [setControlState (Cliente)](https://wiki.mymp.gg/pt/setControlState-client.md)

## Sintaxe

```lua
bool setControlState(player thePlayer, string control, bool state)
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `thePlayer` | `player` | O jogador. |
| `control` | `string` | O nome do controle, sem diferenciar maiúsculas. |
| `state` | `bool` | `true` para manter pressionado, `false` para soltar. |

## Retorno

`true` se a ordem foi enviada. `false` se o elemento não é um jogador ou se o nome do controle não existe.

## Exemplo

```lua
addCommandHandler("handbrake", function(player)
    if isPedInVehicle(player) then
        setControlState(player, "handbrake", true)
    end
end)
```

### Vindo do MTA

Além dos controles do MTA, o MYMP tem `block` (bloquear no corpo a corpo) e `reload` (recarregar).

### Atenção

A própria entrada do jogador naquele controle substitui o estado mandado pelo servidor.

## Veja também

- [getControlState (Servidor)](https://wiki.mymp.gg/pt/getControlState-server.md): Diz se um jogador está pressionando um controle, segundo as teclas que o cliente dele mandou por último.
- [toggleControl (Servidor)](https://wiki.mymp.gg/pt/toggleControl-server.md): Liga ou desliga um controle de um jogador. O cliente dele deixa de passar esse controle ao jogo, mesmo com a tecla pressionada.
- [setControlState (Cliente)](https://wiki.mymp.gg/pt/setControlState-client.md): Pressiona ou solta um controle de um ped como se fosse uma tecla, por exemplo para fazê-lo andar, pular ou atirar.
