Oficina
Tunagem visual e de desempenho com orçamento, pagamento parcelado pelo banco e cobrança do cliente. Inclui peças por item, manutenção por quilometragem, nitro, stance, reboque com corda, elevador e o app Oficina no tablet.
Precisa de: krs, PolyZone
O script também chama os resources bank e phone. O garages aplica a tunagem ao retirar o veículo.
Instalação
ensure lscustomsColoque depois do krs e do PolyZone. Veja a ordem completa.
Os itens precisam existir no cadastro de itens e ter uso no inventário:
| Grupo | Itens |
|---|---|
| Motor | engine_i4, engine_v6, engine_v8, engine_v12 |
| Pneus | tyres_slick, tyres_semislick, tyres_offroad |
| Freios | brakes_ceramic |
| Tração | drive_awd, drive_rwd, drive_fwd |
| Outros | kit_drift, gearbox_manual |
| Manutenção | suspension_parts, tyre_replacement, brakepad_replacement, engine_oil, clutch_replacement, air_filter, spark_plug, ev_motor, ev_battery, ev_coolant |
| Kits | duct_tape, cleaning_kit, nitrous_install_kit, nitro, lighting_controller, stancing_kit, towing_rope |
Os sons de Engines não vêm com o script. Cada um precisa existir no servidor para tocar.
Como usar
Entre no ponto de Locations dirigindo e aperte E. O grupo Bennys precisa estar em serviço, e quem tem impostos ou multas em aberto no banco não abre. O menu tem:
| Grupo | Conteúdo |
|---|---|
| Serviços | Reparo, revisão e dinamômetro |
| Visuais | Visuais salvos |
| Pintura e rodas | Cores e rodas |
| Tuning | Som do motor, suspensão, stance, escape com estouro e nitro |
| Desempenho | Motor, transmissão, freio, suspensão, blindagem e turbo |
| Carroceria | Peças externas |
| Motor e interior | Peças internas |
| Luzes e acessórios | Xenon, neon, película, placa e extras |
No fim, o mecânico paga as peças ou cobra o dono do carro. O dono precisa estar a até Workshop.Distance metros e aceitar. A cobrança pode ser de custo até custo + MaxMarkup. A diferença entra no banco do mecânico. O pagamento pode ser parcelado, conforme as regras do bank.
Peças e manutenção
Peças por item. O mecânico em serviço usa o item, fora do veículo e perto dele. Só carro com dono recebe peça. Veja a lista em PartList.
Manutenção. Cada parte perde vida conforme o carro roda. Em ServiceNeed% o dono recebe um aviso. Qualquer jogador com os itens pode trocar.
| Parte | Vida útil em km | Item | Quantidade | Tipo |
|---|---|---|---|---|
| Suspensão | 1000 | suspension_parts | 1 | Todos |
| Pneus | 250 | tyre_replacement | 4 | Todos |
| Pastilhas de freio | 500 | brakepad_replacement | 4 | Todos |
| Óleo do motor | 100 | engine_oil | 1 | Combustão |
| Embreagem | 500 | clutch_replacement | 1 | Combustão |
| Filtro de ar | 250 | air_filter | 1 | Combustão |
| Velas | 150 | spark_plug | 4 | Combustão |
| Motor elétrico | 2000 | ev_motor | 1 | Elétrico |
| Bateria | 500 | ev_battery | 1 | Elétrico |
| Arrefecimento | 250 | ev_coolant | 1 | Elétrico |
Nitro
O mecânico instala garrafas com nitrous_install_kit, até Nitrous.MaxBottles. Com a garrafa cheia nitro, o motorista recarrega. Dentro do veículo, a tecla padrão é Alt esquerdo e o jogador pode mudá-la nas configurações do FiveM.
| Estágio | Força | Esquenta o motor | Preço |
|---|---|---|---|
| 1 | +25% | Não | 2000 |
| 2 | +40% | Depois de 4 s seguidos | 20000 |
| 3 | +60% | Depois de 2,5 s seguidos | 40000 |
Outros itens
| Item | O que faz |
|---|---|
duct_tape | Remenda o motor quando a vida está em até Kit.DuctTape.Min |
cleaning_kit | Limpa o veículo |
lighting_controller | Liga efeitos de xenon e neon |
stancing_kit | Ajusta o stance do próprio carro |
towing_rope | Liga dois veículos com uma corda de 7 m, com no máximo 3 cordas por jogador. Use de novo para soltar |
App Oficina
No tablet, o dono vê os carros, o histórico e os pedidos, com até 3 pedidos abertos. O grupo Bennys também vê as abas Fatura e Meus serviços.
Elevador
Lifts lista os elevadores. O target oferece Subir veículo e Descer veículo. O veículo precisa estar sem motorista.
VIP
Os grupos de VipTiers são Bronze, Prata e Ouro. Quem conta é o dono do carro. Quando a peça exige um VIP que o dono não tem, a ordem é recusada. O Admin define o VIP de cada peça dentro do menu da oficina, e a escolha fica salva.
| Benefício | Sem VIP | Bronze | Prata | Ouro |
|---|---|---|---|---|
Visuais salvos (PresetSlots) | 1 | 2 | 3 | 5 |
Limite de stance e suspensão (LimitVip) | 1,0x | 1,0x | 1,33x | 1,67x |
Peças Pro duram ProDays dias e só entram em carro com dono.
| Peça | Efeito | Preço | VIP |
|---|---|---|---|
| Motor Pro | Força x1.25 | 60000 | Prata |
| Transmissão Pro | +12.0 de velocidade final | 45000 | Prata |
| Freio Pro | Freio x1.4 | 30000 | Bronze |
| Pneus de competição | Aderência x1.08 | 40000 | Bronze |
Comandos
/lscustoms, do resource admin, abre a oficina no veículo em que você está dirigindo. Exige o grupo Admin.
Configuração
O script não tem config.lua. Os valores ficam em shared-side/shared.lua, shared-side/parts.lua e shared-side/brake.lua.
shared-side/shared.lua
| Opção | Padrão | O que muda |
|---|---|---|
Locations | Um ponto, grupo Bennys | Name, Permission e Coords de cada oficina. Sem Permission, qualquer um usa |
Workshop.MaxMarkup | 1.0 | Margem máxima de cobrança. 1.0 permite até o dobro do custo |
Workshop.Distance | 15.0 | Distância do cliente, em metros |
Wear.Report | 1.0 | Km rodados entre cada envio ao servidor |
Repair.Base | 300 | Preço base do reparo |
Repair.Engine | 2.5 | Preço por ponto perdido do motor |
Repair.Body | 1.5 | Preço por ponto perdido da lataria |
Repair.Tank | 1.0 | Preço por ponto perdido do tanque |
Repair.Tyre | 200 | Preço por pneu furado |
Engines | lista | Group, Name e Sound de cada som de motor |
Limits.Offset | 0.15 | Limite do afastamento das rodas |
Limits.Camber | 0.25 | Limite da cambagem |
Limits.Suspension | 0.08 | Limite da suspensão |
Values | tabela de preços | Preço de cada peça. Exemplos: Turbo = 9275, Engine = 25000, Stance = 15000 |
VipTiers | Bronze, Prata, Ouro | Grupos de VIP, do menor ao maior |
PresetSlots | 1,2,3,5 | Visuais salvos por nível |
VipDefault | peças de exemplo | VIP padrão por peça |
LimitVip | 1.0,1.0,1.33,1.67 | Multiplicador dos limites |
ProDays | 30 | Duração das peças Pro, em dias |
ProParts | quatro peças | Nome, preço e efeito |
shared-side/parts.lua
| Opção | Padrão | O que muda |
|---|---|---|
PartList | 13 peças | Item, encaixe, som e handling |
Servicing | tabela acima | Vida útil e itens da manutenção |
ServiceNeed | 20 | % de vida que gera aviso |
Nitrous.MaxBottles | 3 | Garrafas por veículo |
Nitrous.Duration | 6.0 | Duração de uma garrafa, em segundos |
Nitrous.Cooldown | 8 | Espera entre usos, em segundos |
Nitrous.Key | "LMENU" | Tecla padrão |
Nitrous.Levels | três estágios | Força, consumo e tempo sem esquentar |
Nitrous.Colors | 9 cores | Cores da chama |
Tow.Item | "towing_rope" | Item do reboque |
Kit.DuctTape | Min = 100.0, Gain = 150.0 | Vida mínima e ganho do remendo |
Lifts | Um elevador | Coordenadas |
LiftHeight | 1.85 | Altura de subida, em metros |
shared-side/brake.lua
| Opção | Padrão | O que muda |
|---|---|---|
BrakeHeat.Intensity | 1.0 | Força do aquecimento dos freios |
BrakeHeat.Cooldown | 1.0 | Velocidade do resfriamento |
BrakeHeat.Fade | 1.0 | Perda de freio com o calor |
BrakeHeat.Glow | ligado, 1.0 | Brilho do disco |
BrakeHeat.Sparks | ligado, 0.6 | Faíscas |
BrakeHeat.Ceramic | 0.6, 1.5 | Calor e resfriamento dos freios de cerâmica |
BrakeHeat.Pro | 0.65, 1.25 | Calor e resfriamento do Freio Pro |
BrakeHeat.Mods | por nível | Calor e resfriamento por melhoria de freio |
BrakeHeat.HeatUp e BrakeHeat.Cool | por classe | Multiplicadores por classe do veículo |
Para programadores
-- servidor: filtra a personalização salva pelo VIP do dono
exports.lscustoms:RecordFilter(charId, modelo, registro)
-- servidor: carrega peças, manutenção e nitro na statebag do veículo
exports.lscustoms:Spawned(veiculo, charId, modelo)
-- servidor: lê a manutenção do veículo do jogador. Com item e vida, também muda
exports.lscustoms:Service(source, item, vida)
-- cliente: lista peças e manutenção do veículo
local pecas, manutencao = exports.lscustoms:Inspect(veiculo)Eventos: lscustoms:Open e lscustoms:Apply no cliente, lscustoms:UseItem no servidor. No export Service, "todos" no lugar do item muda todas as partes.
