🖧 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âmetro | Tipo | Descrição |
|---|---|---|
source | number | Player source |
mode | string | Modo de permissão (chave em Config.Permissions) |
action | string | Nome da ação (para logging) |
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.Rewards.calculate
Calcula o prêmio final baseado na posição.| Parâmetro | Tipo | Descrição |
|---|---|---|
bonus | number | Multiplicador de bônus da corrida |
min | number | Recompensa mínima |
max | number | Recompensa máxima |
position | number | Posição final do jogador |
number - Prêmio calculado
Fórmula:
Rewards.giveSuccessReward
Entrega a recompensa ao jogador que completou com sucesso.- VRP
- Outros
Entrega como item:
| Framework | Item |
|---|---|
| vrp.crnetwork | dollarsroll |
| vrp.crv5 | dollars2 |
| vrp.crv3 | dollars2 |
| default | dinheirosujo |
Rewards.applyFailPenalty
Aplica penalidade ao jogador que falhou.🚔 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âmetro | Tipo | Descrição |
|---|---|---|
fn | function | Callback executado para cada policial |
Police.updateRacePosition
Atualiza a posição de um corredor para 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.| Campo | Descrição |
|---|---|
| ID da Corrida | Identificador único |
| ID da Rota | Rota selecionada |
| Local de Início | Coordenadas |
| Jogadores | Lista de participantes |
Webhooks.emitRaceFinish
Envia notificação quando um jogador finaliza.| Campo | Descrição |
|---|---|
| Nome da Corrida | Identificação |
| Status | Sucesso/Falha |
| Posição | Posição final |
| Dados do Jogador | ID e nickname |
✅ 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.- ✅ Permissão para participar de corridas
- ✅ Possui o item necessário (se configurado)
boolean
Validators.nicknameValidation
Valida o nickname do jogador.- ✅ Tamanho entre 3 e 20 caracteres
- ✅ Não está vazio
- ✅ Cooldown respeitado (para atualizações)
params:
| Propriedade | Tipo | Descrição |
|---|---|---|
action | string | "create" ou "update" |
lastUpdatedAt | number | Timestamp da última alteração |
📦 Itens (items.lua)
Sistema de verificação de itens.
Items.tryGet
Tenta obter um item do inventário do jogador.| Parâmetro | Tipo | Descrição |
|---|---|---|
source | number | Player source |
itemData | table | {index = "item_name", amount = 1} |
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.| Retorno | Framework |
|---|---|
"vrp.crnetwork" | VRP CRNetwork |
"vrp.vrpex" | VRP vRPEX |
"vrp.crv3" | VRP CRv3 |
"vrp.crv5" | VRP CRv5 |
"esx" | ESX |
"qbcore" | QBCore |
"_nofw" | Standalone |
Framework.getPlayer
Obtém o objeto do jogador do framework.Framework.getPermissionLevel
Obtém o nível de permissão do jogador.string - "USER" ou "ADMIN"
Framework.getPlayersByPermission
Lista todos os jogadores com determinada permissão.🎁 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.- Verifica se sistema está habilitado
- Verifica regras de
sortFor - Verifica se jogador já tem item (
replaceItem) - Sorteia item baseado no algoritmo
- Entrega item ao jogador
CollectableItems.clearRaceData
Limpa dados de uma corrida finalizada.CollectableItems.useItem
Processa o uso de um item pelo jogador.boolean, string? - Sucesso e mensagem de erro opcional

