Navegação da documentação

Configuração

O que pode ser editado#

ArquivoResponsabilidade
config/config.luacomando, tecla, staff, níveis por ação, bans, rate limit, webhooks, banco, noclip e textos
bridge/server.luaidentificador, grupos, dinheiro, inventário, veículos, skin, notify e ações administrativas
bridge/client.luaclima, hora, modelo, tuning, reparo e limpeza de área

Configuração essencial#

  • Config.Comando: comando do painel, por padrão admin.
  • Config.TeclaStr: key mapping; vazio deixa somente o comando.
  • Config.GrupoStaff: grupo usado para reconhecer a equipe.
  • Config.PermsAcao: nível mínimo de cada ação; 1 é o nível mais alto.
  • Config.BanDuracoes: opções de banimento apresentadas no painel.
  • Config.RateLimit: limite de ações administrativas por janela.
  • Config.Webhooks: logs por categoria/ação. Use false para silenciar uma ação. As URLs vão no server.cfg (veja abaixo), não aqui.
  • Config.Database: prefixo das tabelas (altere somente antes do primeiro start) e retencaoLogsDias (0 guarda os logs para sempre).

Webhooks do Discord#

O config/config.lua também é baixado pelo jogo de cada jogador, e quem tem a URL de um webhook consegue postar no seu canal. Coloque as URLs no server.cfg e deixe Config.Webhooks com "":

set sf_admin_webhook "https://discord.com/api/webhooks/..."
set sf_admin_webhook_moderacao "https://discord.com/api/webhooks/..."

Use set: setr e sets publicam o valor para os jogadores. sf_admin_webhook_<categoria> vale para uma categoria (moderacao, spawn, teleporte, mundo, jogador, permissoes, veiculos, eventos) e sf_admin_webhook para o resto. O /sfdiagnostico avisa quando encontra URL no config.lua.

Adaptando a base#

Em bridge/server.lua, confira primeiro GetIdentifier, GetSource, GetName, GetStaffLevel, HasPermission, GetMoney, AddMoney, RemoveMoney, GiveItem, AddVehicle, SetBanned, Notify e Kick. Os retornos devem manter o contrato descrito sobre cada função.

No client, adapte Bridge.SetWeather, SetHora, SetModel, Tuning, FixVehicle e ClearArea apenas se sua base usa eventos próprios. Para ESX/QBCore, as bridges não bastam: no fxmanifest.lua, tire "vrp" de dependencies e troque @vrp/config/Item.lua, @vrp/config/Vehicle.lua e @vrp/lib/Utils.lua pelos equivalentes da sua framework. Sem isso o resource nem inicia. Não altere o core.