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

# Menu de Danças

> Busca, filtros, favoritas, números das danças, sons e o que acontece quando outra coisa cancela a animação

O menu é onde o jogador acha e toca as danças. Abre com <kbd>F5</kbd> ou `/dancas`.

## Tocando uma dança

| Ação | Como |
| - | - |
| Tocar | **Duplo clique** na dança, <kbd>Enter</kbd> ou o botão **Dançar** |
| Parar | <kbd>X</kbd>, `/parardanca` ou o botão **Parar** do rodapé |
| Tocar sem abrir o menu | `/danca <id>` |

Enquanto a dança toca, o botão do rodapé vira **Parar**. Trocar de dança sem parar antes funciona: a nova substitui a atual.

Antes de tocar, o script confere se o jogador pode dançar agora: dentro de um veículo, morto, em ragdoll, caindo ou nadando ele é **bloqueado** e recebe um aviso. Cada situação pode ser liberada em `blockWhen`. Veja [Configurações do Client](https://docs.dkscripts.com.br/scripts/dances/configs/cl-config.md#bloqueios).

## Buscando e filtrando

| Controle | Como funciona |
| - | - |
| **Busca** | <kbd>/</kbd> foca o campo. Aceita o **nome** ou o **id** da dança, o mesmo id do `/danca <id>` |
| **Abas** | **Todas** mostra o catálogo inteiro. **Favoritas** mostra só as que o jogador marcou com a estrela |
| **Categoria** | Filtra por uma das categorias de `categories`. Sem nenhuma categoria configurada (e sem `category` nas danças), o filtro **some** |
| **Origem** | Separa as danças do **GTA** das **Exclusivas**. O filtro e os selos só aparecem quando o catálogo tem as duas origens |

Quando nada bate, a lista mostra uma mensagem com o botão certo para sair da situação: limpar a busca, limpar os filtros ou ver todas as danças.

## Lendo a lista

| Elemento | O que significa |
| - | - |
| **Número** (`0001`, `0002`...) | A **posição da dança no catálogo**. O pacote do GTA vem primeiro e as suas danças depois, na ordem de `dances` |
| **Miniatura** | A imagem `<id>.<extensão>` da pasta de miniaturas. Sem arquivo, aparecem as **iniciais** do nome |
| Selo **Exclusiva** | Dança feita pela DK |
| **loop** / **única** | Se a dança repete até o jogador parar ou toca uma vez só |
| **Baixando** / **Falhou** | Estado do download do arquivo de uma dança exclusiva |
| **Estrela** | Favorita |

O número muda se você esconder categorias do pacote do GTA ou trocar a ordem das suas danças. Para não mexer na numeração das outras, acrescente a dança nova **no fim** da lista `dances`.

## Favoritas

A **estrela** de cada dança a guarda em **Favoritas**. As favoritas ficam salvas no próprio jogador.

As favoritas apontam para o **id** da dança. Por isso o id nunca deve mudar depois que a dança está em uso. Veja as [regras dos ids](https://docs.dkscripts.com.br/scripts/dances/configs/catalog.md#regras-dos-ids).

## Sons da interface

A interface toca sons curtos e suaves **só nas ações principais**:

* abrir o menu ou a barra de atalhos
* dançar (quando a dança realmente começa) e parar
* favoritar e desfavoritar
* pôr uma dança num atalho e tirar

Não há som ao passar o mouse, selecionar, buscar, filtrar nem fechar. Os sons são **tons sintetizados pela própria interface** (nenhum arquivo de áudio no pacote) e a altura varia um pouco a cada toque para não soar repetido.

| Opção | Padrão | O que faz |
| - | - | - |
| `sounds.enabled` | `true` | `false` deixa a interface muda |
| `sounds.volume` | `0.4` | De `0` (mudo) a `1`. Um valor inválido vira `0.4` |

O volume é o da interface e **não acompanha** o slider de volume do jogo.

## Danças exclusivas indisponíveis

Se o serviço de animações estiver fora do ar ou ainda conectando, o menu **abre normalmente**: as danças do GTA e as da `stream/` funcionam, e uma faixa avisa que as exclusivas estão indisponíveis, com o botão **Tentar de novo**.

## Quando outra coisa cancela a animação

Se o servidor tem uma tecla de cancelar ações (por exemplo o <kbd>F6</kbd> do vRP) ou outro script apaga a animação do jogador, o dk\_dances percebe em até **0,5 s** e **encerra a dança de verdade**: ela some para o jogador, para o servidor e para quem está por perto, e não volta sozinha. O mesmo vale quando uma dança que **não é em loop** termina o clipe.

O `forceReplay` inverte isso:

| `forceReplay` | Comportamento |
| - | - |
| `false` (padrão) | Uma animação cancelada de fora **encerra** a dança |
| `true` | Uma dança em loop cancelada de fora é **tocada de novo** e só termina pela tecla ou comando de parar do dk\_dances |

Mesmo com `forceReplay = true`, morrer, cair, nadar ou entrar num veículo (`blockWhen`) ainda encerra a dança, e se a animação não volta depois de **5 tentativas seguidas** a dança também é encerrada.

> **[Barra de Atalhos](https://docs.dkscripts.com.br/scripts/dances/usage/shortcuts.md)**
>
> As danças do jogador a um toque.

> **[Prévia](https://docs.dkscripts.com.br/scripts/dances/usage/preview.md)**
>
> Ver a dança no próprio personagem antes de tocar.


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