Skip to main content

Funções e Lógica do Servidor

Este arquivo é o núcleo da lógica do lado do servidor para o script. Ele é responsável por validar permissões, verificar as condições dos jogadores e gerenciar as regras necessárias para que uma animação em dupla possa ser executada com segurança e de forma interativa.
  📁 dk_animations_ext > config > server > functions.lua

Estrutura e Lógica

O script organiza a lógica em funções modulares que lidam com tarefas específicas, desde a checagem de permissões de administrador até a validação das condições em tempo real para executar uma animação.

Funções de Validação e Permissão

  • isAdmin(source): Uma função interna que verifica se um jogador tem status de administrador. Ela se integra ao framework do servidor (via export dk_snippets) para obter essa informação.
  • GetPeds(source, target): Garante que as entidades dos jogadores (peds) de origem e alvo existam no mundo do jogo antes de prosseguir, prevenindo erros.
  • Config.serverFuncs.managePedsPermission(source): Define a regra de permissão para comandos administrativos, reutilizando a função isAdmin para conceder ou negar acesso.

Lógica Principal da Animação

A função Config.serverFuncs.canPlayAnim é o principal ponto de verificação e contém várias regras:
  1. Validade dos Peds: Confere se ambos os jogadores são válidos.
  2. Vida do Jogador: Impede a execução se o jogador estiver incapacitado (com vida baixa).
  3. Sistema de Convite: Se a animação for configurada com request = true, ela envia um convite ao jogador alvo. A animação só prossegue se o convite for aceito.
  4. Verificação de Distância: Garante que os jogadores estejam próximos o suficiente para que a animação sincronizada funcione corretamente.
  5. Feedback ao Jogador: Envia notificações para informar o status da solicitação (enviada, recusada, aceita, muito longe).
O sistema de convite, implementado com a função Request, é crucial para a interatividade. Ele dá ao jogador alvo o poder de aceitar ou recusar uma animação, promovendo interações consensuais e prevenindo spam ou abuso da mecânica.

Código Fonte Completo

dk_animations_ext/config/server/functions.lua

🔔 Resumo:
  • Este arquivo centraliza a lógica de validação do lado do servidor.
  • A função canPlayAnim é a principal e executa múltiplas verificações: vida, consentimento do alvo e distância.
  • A verificação de permissão (managePedsPermission) é modular e restringe o acesso a comandos administrativos.
  • O script utiliza um sistema de convites para tornar as interações entre jogadores mais dinâmicas e consensuais.