Skip to main content

🖧 Funções Server

Esta página documenta todas as funções disponíveis no lado do servidor que você pode usar ou personalizar.

🔐 Permissões (permissions.lua)

Sistema de controle de acesso às funcionalidades.

Permissions.init

Inicializa o módulo com o framework.

Permissions.check

Verifica se um jogador tem permissão para uma ação.
Parâmetros: Retorno: boolean Exemplo:

💰 Recompensas (rewards.lua)

Sistema de cálculo e entrega de prêmios.

Rewards.init

Inicializa o módulo com o framework.

Rewards.positionBonus

Tabela de bônus por posição final.
Personalizando:

Rewards.calculate

Calcula o prêmio final baseado na posição.
Parâmetros: Retorno: number - Prêmio calculado Fórmula:

Rewards.giveSuccessReward

Entrega a recompensa ao jogador que completou com sucesso.
Comportamento por framework:
Entrega como item:

Rewards.applyFailPenalty

Aplica penalidade ao jogador que falhou.
Comportamento padrão:

🚔 Polícia (police.lua)

Sistema de integração com policiais.

Police.init

Inicializa o módulo com o framework.

Police.emitEvent

Dispara um evento para todos os policiais online.
Parâmetros: Exemplo:

Police.updateRacePosition

Atualiza a posição de um corredor para os policiais.
Obtém as coordenadas do jogador e envia para todos os policiais:

📢 Webhooks (webhooks.lua)

Sistema de notificações Discord.

emitWebhook (interno)

Função base para enviar webhooks.

Webhooks.emitRaceStart

Envia notificação quando uma corrida inicia.
Campos enviados:

Webhooks.emitRaceFinish

Envia notificação quando um jogador finaliza.
Campos enviados:

✅ Validators (validators.lua)

Validações do lado do servidor.

Validators.init

Inicializa com dependências.

Validators.canEnterRace

Valida se o jogador pode entrar na corrida.
Validações realizadas:
  1. ✅ Permissão para participar de corridas
  2. ✅ Possui o item necessário (se configurado)
Retorno: boolean

Validators.nicknameValidation

Valida o nickname do jogador.
Validações realizadas:
  1. ✅ Tamanho entre 3 e 20 caracteres
  2. ✅ Não está vazio
  3. ✅ Cooldown respeitado (para atualizações)
Parâmetros de params:

📦 Itens (items.lua)

Sistema de verificação de itens.

Items.tryGet

Tenta obter um item do inventário do jogador.
Parâmetros: Retorno: boolean - Se o jogador possui o item

🚗 Veículos (vehicles.lua)

Funções relacionadas a veículos.

🔗 Framework (framework.lua)

Integração com diferentes frameworks.

Framework.getName

Retorna o nome do framework detectado.
Retornos possíveis:

Framework.getPlayer

Obtém o objeto do jogador do framework.
Retorno: Objeto do jogador com métodos específicos do framework.

Framework.getPermissionLevel

Obtém o nível de permissão do jogador.
Retorno: string - "USER" ou "ADMIN"

Framework.getPlayersByPermission

Lista todos os jogadores com determinada permissão.
Usado por: Sistema de polícia para listar policiais online.

🎁 Itens Coletáveis Server (collectable_items.lua)

Lógica de sorteio e gerenciamento de power-ups.

CollectableItems.reachCheckpoint

Processa a chegada em um checkpoint e sorteia item.
Fluxo:
  1. Verifica se sistema está habilitado
  2. Verifica regras de sortFor
  3. Verifica se jogador já tem item (replaceItem)
  4. Sorteia item baseado no algoritmo
  5. Entrega item ao jogador

CollectableItems.clearRaceData

Limpa dados de uma corrida finalizada.

CollectableItems.useItem

Processa o uso de um item pelo jogador.
Retorno: boolean, string? - Sucesso e mensagem de erro opcional

📝 Comandos e Callbacks

Comando: /rcadmin

Abre o painel administrativo.

Callback: dk_races/canOpenPanel

Verifica se o jogador pode abrir o painel.

📋 Exemplo: Integrando Sistema de Log


📋 Exemplo: Customizando Recompensas