> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dkscripts.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurações do Client

> Teclas, comandos, avisos, bloqueios, atalhos, sons, prévia e sincronia do lado do jogador

Arquivo: `config/client/config.lua`. Mudanças só valem **depois de reiniciar o recurso**.

> [!WARNING]
>
> **Este arquivo é enviado ao jogador.** Nunca ponha nele webhook, token ou senha.

## Visão geral

| Opção | Padrão | O que faz |
| - | - | - |
| `debugMode` | `false` | Mensagens de diagnóstico no console **F8**. Deixe desligado em produção |
| `openKey` / `stopKey` / `shortcutsKey` | `"F5"` / `"X"` / `"F4"` | Teclas padrão |
| `notifyDuration` | `5000` | Quanto tempo (ms) os avisos ficam na tela |
| `commands` | — | Nomes dos comandos de chat |
| `forceReplay` | `false` | O que fazer quando outra coisa cancela a animação |
| `blockWhen` | — | Situações em que não se pode começar uma dança |
| `shortcuts` | — | A barra de atalhos |
| `sounds` | — | Os sons da interface |
| `preview` | — | A prévia no personagem |
| `sync` | — | A sincronia entre jogadores |
| `hooks` | — | Os hooks do jogador (`config/client/hooks.lua`) |

## Teclas e comandos

```lua theme={null}
openKey = "F5",
stopKey = "X",
shortcutsKey = "F4",

commands = {
    open = "dancas",
    play = "danca",
    stop = "parardanca",
    shortcuts = "atalhosdanca",
},
```

As teclas são o **padrão**: o jogador pode remapear em **Configurações → Atalhos** do FiveM, e o FiveM guarda a escolha no perfil dele.

Nos `commands`, `""` desativa o comando. A tecla continua funcionando.

Veja também [Comandos e Teclas](https://docs.dkscripts.com.br/scripts/dances/commands.md): A referência rápida do que o jogador pode digitar e apertar.

## Avisos

```lua theme={null}
notifyDuration = 5000,
```

Quanto tempo, em milissegundos, os avisos do script ficam na tela: dança bloqueada, em espera ou comando sem argumento. Um valor inválido vira `5000`.

## Bloqueios

```lua theme={null}
blockWhen = {
    inVehicle = true,
    dead = true,
    ragdoll = true,
    falling = true,
    swimming = true,
},
```

Situações em que o jogador **não pode começar** uma dança. Cada uma ligada devolve um aviso.

| Opção | Bloqueia quando o jogador está... |
| - | - |
| `inVehicle` | dentro de um veículo |
| `dead` | morto |
| `ragdoll` | em ragdoll |
| `falling` | caindo |
| `swimming` | nadando |

Os mesmos bloqueios **encerram** uma dança em andamento: morrer, cair, nadar ou entrar num veículo para a dança, mesmo com `forceReplay = true`.

Para uma regra mais fina (algemado, em combate, dentro de uma área), use o hook `onBeforePlay` do [client](https://docs.dkscripts.com.br/scripts/dances/dev/hooks.md#client) ou do [server](https://docs.dkscripts.com.br/scripts/dances/dev/hooks.md#server).

## Quando outra coisa cancela a animação

```lua theme={null}
forceReplay = false,
```

| Valor | Comportamento |
| - | - |
| `false` | Se outra coisa cancelar a animação (a tecla de cancelar ações do servidor, <kbd>F6</kbd>, outro script), a dança **termina de verdade**: some para o jogador, para o servidor e para quem está perto, e não volta sozinha |
| `true` | Força a dança: a animação cancelada de fora é **tocada de novo** e só termina pela tecla ou comando de parar do dk\_dances. Só vale para dança em loop |

Veja também [Menu de Danças](https://docs.dkscripts.com.br/scripts/dances/usage/menu.md): O comportamento do ponto de vista do jogador.

## Barra de atalhos, sons e prévia

> **[Atalhos](https://docs.dkscripts.com.br/scripts/dances/usage/shortcuts.md)**
>
> `shortcuts.enabled` e `shortcuts.slots`.

> **[Sons](https://docs.dkscripts.com.br/scripts/dances/usage/menu.md#sons-da-interface)**
>
> `sounds.enabled` e `sounds.volume`.

> **[Prévia](https://docs.dkscripts.com.br/scripts/dances/usage/preview.md)**
>
> O bloco `preview` completo.

## Sincronia

```lua theme={null}
sync = {
    watchInterval = 500,
    watchGrace = 1000,
},
```

| Opção | Padrão | O que faz |
| - | - | - |
| `watchInterval` | `500` | De quanto em quanto tempo (ms) o jogador confere os dançarinos por perto. Aceita `250` ou mais |
| `watchGrace` | `1000` | Quanto tempo (ms) um dançarino com o arquivo já baixado pode ficar sem aparecer dançando antes de o jogador pedir a repetição. Aceita `500` ou mais |

Veja também [Carregamento Remoto e Sincronia](https://docs.dkscripts.com.br/scripts/dances/configs/remote-sync.md#sincronia-entre-jogadores): como a sincronia funciona e o que cada valor muda.

## Hooks

O `config/client/config.lua` carrega os hooks do jogador de `config/client/hooks.lua`.

Veja também [Hooks](https://docs.dkscripts.com.br/scripts/dances/dev/hooks.md#client): bloqueie a abertura, a prévia e o início de uma dança, e reaja a cada início e fim.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.