Configuração das Animações (config.lua)

Este é o arquivo de configuração central para todas as animações em dupla. Aqui você pode ativar, desativar e customizar o comportamento de cada animação individualmente, definindo regras específicas para quem inicia e quem recebe a interação.
  📁 dk_animations_ext > config > shared > config.lua

Estrutura de uma Animação

Cada animação é um item na tabela Config.animsList. A chave da tabela (ex: "segurar") é o identificador único da animação. Abaixo estão os parâmetros que você pode configurar para cada uma delas.

Parâmetros Gerais

  • actived (true/false): Ativa ou desativa a animação em todo o script.
  • command (string): Define um comando de chat customizado para a animação (ex: /segurar). Se não for definido, o nome da chave será usado como padrão.
  • request (true/false): Se true, o jogador alvo receberá um convite para aceitar ou recusar a animação.
  • hideOnUi (true/false): Se true, a animação não aparecerá na interface do menu, mas ainda poderá ser usada via comando.
  • disableOnCommand (true/false): Se true, desativa o registro automático do comando de chat para esta animação. Útil para animações de uso interno.
  • new (true/false): Se true, a animação será marcada como “NOVA” na interface.

Configurações do sender (Iniciador)

Estas regras se aplicam apenas ao jogador que inicia a animação.
  • useCancelButton (true/false): Permite que o jogador cancele a animação usando uma tecla (padrão F6).
  • forceAnim (true/false): Impede que o jogador cancele a animação por movimento.
  • blockVeh (true/false): Bloqueia o uso da animação se o jogador estiver dentro de um veículo.
  • blockFalling (true/false): Bloqueia a animação se o jogador estiver caindo.

Configurações do receiver (Alvo)

Estas regras se aplicam apenas ao jogador que aceita a animação.
  • useCancelButton (true/false): Permite que o jogador alvo cancele a animação.
  • forceAnim (true/false): Impede que o jogador alvo cancele a animação por movimento.
  • blockButtons (true/false): Bloqueia os controles do jogador alvo durante a animação.
  • requiredAnim: Uma tabela que força a animação a ser executada apenas se o jogador alvo já estiver em uma animação específica (ex: algemado).
O script inclui uma função no final do arquivo que atribui automaticamente o nome da chave da animação (ex: cavalinho) como o comando, caso o parâmetro command não seja especificado manualmente. Isso simplifica a adição de novas animações.

Código Fonte Completo

Abaixo está a lista completa de animações como exemplo de configuração. Você pode adicionar, remover ou modificar qualquer entrada para ajustar ao seu servidor.
dk_animations_ext/config/shared/config.lua
Config = {}
Config.animsList = {
    ["segurar"] = {
        actived = true, -- (true/false) Aqui você determina se essa animação poderá se usada
        command = "segurar", -- Você pode definir um nome personalizado desta maneira.
        request = true, -- (true/false) Essa opção determina se você vai usar request(função que perfunta se o outro player deseja fazer a animação)
        new = false, -- (true/false) Para aparecer com "NOVOS"

        hideOnUi = false,
        disableOnCommand = false,

        sender = {
            useCancelButton = true, -- (true/false) cancelar animação por botão. (F6)
            blockButtons = true, -- (true/false) Ativa a função listada em ../client/functions.lua.
            forceAnim = true, -- (true/false) Fazer com que as animações não possam ser canceladas para o player que inicia a animação.
            blockVeh = true, -- (true/false) Bloquear a animação em veículos
            blockFalling = false, -- (true/false) Bloquear animação enquanto o player estiver caindo.
        },
        receiver = {
            useCancelButton = true,
            forceAnim = true,
            blockVeh = true,
        },
    },
    ["cavalinho"] = {
        actived = true,
        request = true,
        sender = {
            useCancelButton = true,
            forceAnim = true,
            blockVeh = true,
        },
        receiver = {
            useCancelButton = true,
            forceAnim = true,
            blockVeh = true,
        },
    },
    -- ... (outras animações da lista) ...
    ["carregaralgemado"] = {
        actived = true,
        request = false,
        hideOnUi = true,
        disableOnCommand = true,
        sender = {
            useCancelButton = true,
            blockedToRun = true,
        },
        receiver = {
            blockButtons = true,
            blockedToStop = true,
            requiredAnim = {
                dict = "mp_arresting",
                anim = "idle"
            }
        },
    },
    ["carregarmaos"] = {
        actived = true,
        request = true,
        sender = {
            useCancelButton = true,
            blockedToRun = true,
        },
        receiver = {
            blockButtons = true,
        },
    },
}

-- Definir o comando para a animação caso não exista (tambem será o nome que aparece no painel).
Config.animsList = table.map(Config.animsList, function(animData, index)
    animData.command = animData.command or index
    return animData
end, true)

🔔 Resumo:
  • O arquivo config.lua é o painel de controle de todas as animações.
  • Cada animação é um item na tabela Config.animsList.
  • É possível definir regras detalhadas como necessidade de convite (request), cancelamento (useCancelButton), e bloqueios (blockVeh).
  • As regras podem ser diferentes para quem inicia (sender) e quem recebe (receiver) a animação.
  • Adicionar uma nova animação é tão simples quanto duplicar uma entrada existente e alterar seu nome e parâmetros.