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

# Funções de Comportamento e Condição

# Personalização de Comportamento do Script

Neste arquivo, estão concentradas as funções e opções que definem o **comportamento do player** durante as animações, além das **condições para enviar ou aceitar** animações entre jogadores.

<Note>
  📁 dk\_animations > config > client > functions.lua
</Note>

***

## Sanitização de Attachments

```lua theme={null}
Config.attachmentSanitization = false
```

Caso você utilize a nativa `OnesyncEnableRemoteAttachmentSanitization`, essa opção permite desativar o comportamento padrão da sanitização.

* **Quando usar:** Apenas se sua infraestrutura já estiver lidando com a sanitização por conta própria, evitando conflitos ao anexar jogadores entre si.
* **Padrão:** `false`

***

## Bloqueio de Controles Durante Animação

```lua theme={null}
function Config.blockButtons()
  -- vários DisableControlAction aqui
end
```

Durante a execução de uma animação, é possível bloquear interações do jogador para **garantir fidelidade visual e prevenir abusos** (como abrir inventário ou usar atalhos).

* Essa função é chamada em **loop**, sempre que a animação estiver ativa.
* A lista de `DisableControlAction` pode ser personalizada conforme necessidade do seu servidor.

### Exemplo de Customização:

Se você quiser permitir o uso do F1 durante a animação (controle `288`), remova esta linha:

```lua theme={null}
DisableControlAction(0, 288, true)
```

***

## Condição para Aceitar Animações

```lua theme={null}
function Config.acceptCondition()
  return true
end
```

Essa função define **se o jogador tem permissão para aceitar uma animação** vinda de outro player.

### Exemplos de uso:

* Bloquear se estiver morto ou caído.
* Bloquear se estiver com alguma animação ativa.

### Exemplo customizado:

```lua theme={null}
return GetEntityHealth(PlayerPedId()) > 101
```

***

## Condição para Enviar Animações

```lua theme={null}
function Config.animCondition()
  return GetEntityHealth(PlayerPedId()) > 101
end
```

Essa função controla se o jogador **pode enviar** uma solicitação de animação para outro jogador.

### Exemplo:

O script já vem configurado para impedir envio caso o jogador esteja morto (vida abaixo de 101).

Você pode incluir aqui outras lógicas, como:

* Impedir se estiver algemado.
* Impedir se estiver em veículo.
* Impedir se uma animação já estiver em andamento.

***

🔔 **Resumo:**

* `attachmentSanitization`: controle de segurança caso use a nativa do FiveM.
* `blockButtons()`: bloqueia interações durante animações.
* `acceptCondition()`: define quem pode aceitar animações.
* `animCondition()`: define quem pode iniciar animações.

Essas funções permitem **controle total do fluxo de interações** no seu servidor, permitindo adaptar o script às suas regras e prevenir comportamentos indesejados.
