Skip to main content
O five-bennys é um menu de customização acessível por marcadores no mundo ou por comandos. As modificações são salvas por placa + modelo em five_bennys_tuning e reaplicadas pelo five-vehicles (ou pelo seu sistema de garagem) ao tirar o veículo da garagem.
Esta é uma visão geral. Para os detalhes completos, veja as páginas dedicadas: Apresentação, Instalação, Configuração, Exports e Eventos.

Funcionalidades

Tunagem direta

Cliente paga e aplica na hora (quando não há mecânicos e TuningCarIfNotMechanics = true, ou OnlyMechanic = false).

Orçamentos (mecânico)

Cliente envia pedido → mecânico aceita, cobra, instala cada peça e finaliza, recebendo uma porcentagem.

Múltiplas oficinas

Quantas oficinas quiser em Bennys.Mechanics, cada uma com tipo de serviço, permissão de acesso e de trabalho.

Modo admin

/bennys aplica as modificações direto no veículo, sem orçamento nem custo.
Interação com five-vehicles: quando five-bennys está started, a mecânica nativa do five-vehicles é desativada. Ao spawnar veículos, o five-vehicles verifica exports["five-bennys"]:HasTuning(plate) e, havendo tunagem, chama ApplyStoredTuning.

Dependências

vrp

Framework base (@vrp/lib/utils.lua, @vrp/config/Global.lua, exports.vrp:Avatar(...)). Trocável adaptando os dois framework.lua.

oxmysql

Acesso ao banco de dados (@oxmysql/lib/MySQL.lua).

Configuração

Arquivos em config/: config.lua (identidade, acesso, regras, oficinas), language.lua (textos), mods.lua (catálogo), prices.lua (preços) e engines.lua (sons de motor). Detalhes na página de Configuração.
Bennys.Marker define o estilo do marcador (compartilhado). Cada entrada de Bennys.Mechanics é uma oficina — duplique para criar mais.
O Type da oficina define o modo (MechanicType): allCustoms (tudo), customization (só visual) ou performance (só performance). No padrão vêm 3 oficinas: Benny’s Motorworks, North Sport e Siatlle Customs.
Bennys.Mods define o catálogo (modTypes 0–49, cores, neon, níveis, camaleão em primária/secundária). Para desligar uma tunagem globalmente, adicione enabled = false na entrada da categoria — ela some do menu e o servidor recusa aplicá-la (Bennys.IsCategoryEnabled).
Bennys.Prices: initialPrice (taxa fixa), repairPrice e o preço por categoria (price + increaseBy * nível, item opcional). Bennys.EngineSounds lista os sons (name, model, price); os model precisam existir como banks de áudio no servidor.

Comandos


Exports

Server-side, para o seu sistema de veículos reaplicar a tunagem salva no spawn. Detalhes em Exports.
O ApplyStoredTuning já restaura o som de motor junto com o resto — não é preciso disparar five-bennys:syncEngineSound no spawn.

Banco de Dados

Criada automaticamente. Cada tunagem é única por placa + modelo (bancos antigos com PK só na plate são migrados no boot).

Customização

  • Grupo da oficina: WorkPermission/AccessPermission por entrada em Bennys.Mechanics; Bennys.Permissions.Admin para o /bennys.
  • Modo de operação: combine OnlyMechanic, TuningCarIfNotMechanics, MinMechanics, OnlyOwner.
  • Tipo de serviço: campo Type de cada oficina (allCustoms/customization/performance).
  • Desativar tunagens: enabled = false na categoria em config/mods.lua.
  • Preços: config/prices.lua (initialPrice, repairPrice, categorias).
  • Sons de motor: Bennys.EngineSounds (+ banks de áudio).
  • Outra base (ESX/QB/…): adapte a tabela Framework em server/framework.lua e client/framework.lua.