Skip to content

Combustível e postos ​

Consumo de combustível, abastecimento com mangueira, carregadores para elétricos, galão e sifão. Os jogadores podem comprar os postos e tocar o negócio pelo tablet: preço, estoque, equipe, caixa e manutenção.

Precisa de: oxmysql, krs, PolyZone

As opções do mundo usam o resource target, o conserto das bombas usa o hud e o app usa o phone.

Instalação ​

cfg
ensure fuel

Coloque depois do oxmysql, do krs e do PolyZone. As tabelas são criadas sozinhas. Veja a ordem completa.

O sifão usa o item syphoningkit, e o galão usa WEAPON_PETROLCAN.

Abastecer ​

  1. Desligue o motor e pare com a tampa do tanque virada para a bomba.
  2. Use Pegar Mangueira na bomba, ou Pegar Carregador no carregador.
  3. Mire no veículo e use Abastecer ou Carregar.
  4. Informe os litros e escolha Dinheiro ou Banco.
  5. Quando terminar, use Retirar Mangueira ou Retirar Carregador, e depois Devolver Mangueira ou Devolver Carregador.

Com a mangueira engatada, o motor não liga. O preço é por litro, com Tax por cima. O jogador paga pelo que entrou no tanque, mesmo se cancelar antes do fim.

Quem se afasta mais que NozzleDistance da bomba com a mangueira na mão paga HoseDamageFee.

Veículo elétrico só carrega no carregador, e veículo a combustão não usa carregador.

Galão e sifão ​

Opção no targetOndeO que faz
Comprar GalãoBombaCompra um galão com Jerrycan.Fuel litros
Encher GalãoBombaEnche o galão que está no inventário
Abastecer com GalãoVeículoPassa combustível do galão para o tanque
Puxar CombustívelVeículoTira combustível do tanque para o galão. Exige syphoningkit e galão, e pode avisar a polícia

Aeronaves e embarcações ​

Special.Locations tem pontos com bomba própria para helicópteros, aviões e barcos. Dentro da área e fora de um veículo, aperte G. A mangueira alcança Special.NozzleLength. Alguns pontos são só para os grupos em Permissions, em serviço.

Comprar um posto ​

Fale com o atendente do posto e compre pelo painel. O valor sai do banco. Depois, abra o app Postos no tablet.

TelaO que o dono faz
InícioAcompanha vendas, estoque e desgaste
PreçoDefine o preço do litro entre MinPrice e MaxPrice
EstoqueFaz pedidos de combustível
CaixaSaca, deposita e vê o histórico
EquipeContrata e demite. Cargos: motorista, frentista e gerente
Meu postoRenomeia, liga e desliga as bombas e vende o posto

Como o posto ganha e perde ​

  • O dono recebe SalePercentage do valor de cada venda no caixa do posto. O imposto fica de fora.
  • Cada litro aumenta o desgaste das bombas. Em WarnAt% o dono recebe um aviso. Em 100% o posto para de vender.
  • Consertar Bomba ou Revisar Bomba aparece para dono, gerente e frentista. As peças saem do caixa e, se faltar, do banco de quem conserta.
  • O salário é pago a cada PayInterval minutos, do caixa, para funcionários online.
  • Sem venda por AbandonDays dias, o posto volta a ficar à venda e o caixa vai para o banco do dono. Abandonment.Grace protege os primeiros dias depois da compra.

Reposição de estoque ​

O preço do atacado muda uma vez por dia, entre Market.Min e Market.Max.

EntregaComo funciona
Carga na refinariaDono, gerente ou motorista busca o caminhão e descarrega perto do atendente
TerceirizadaCusta Courier.Multiplier vezes mais e chega em Courier.Minutes minutos

Assaltos ​

Vêm desligados. Com Robbery.Register.Enabled, aparece Assaltar Caixa no atendente. O assaltante precisa estar armado e com policiais em serviço na cidade. Com Robbery.Cargo.Enabled, roubar o caminhão de uma carga avisa a polícia e permite vender a carga ao receptador.

Permissão ​

Quem tem o grupo de App.AdminPermission, por padrão Admin, vê o painel da administração no app. Ele troca o dono, o estoque, o caixa, o preço e o nome de qualquer posto, conserta, quebra e desliga bombas e muda os ajustes.

O comando /fuel, do resource admin, enche o tanque do veículo em que o Admin está.

Configuração ​

Tudo fica em shared-side/config.lua.

Abastecimento ​

OpçãoPadrãoO que muda
DebugfalseDesenha as zonas no mapa
Tax15.0Imposto sobre o preço, em %
RefuelTime600Tempo por litro, em ms. Mínimo equivalente a 10 litros
NozzleDistance7.5Alcance da mangueira, em metros
HoseDamageFee20000Taxa por sair com a mangueira. Editável no painel
PlugLeaveDistance30.0Distância do veículo que solta a mangueira, em metros
NozzleExplosionfalseExplosão ao romper a mangueira
VehicleBlowUpfalseChance de explodir ao abastecer com o motor ligado
BlowUpChance5Chance dessa explosão, em %
FaceTowardsVehicletrueVira o jogador para o veículo ao abastecer
PumpHosetrueDesenha a mangueira
Plugvalores por tipoEncaixe do bico e do carregador
RopeType1 nos doisTipo de corda da mangueira
ShutoffLevel0.55Nível em que o motor apaga
ShutoffSoundligadoSom ao apagar por falta de combustível
Pumps8 modelosModelos de bomba reconhecidos
NoFuelUsage{ "bmx" }Modelos que não gastam combustível
Classes1.0, classe 13 em 0.0Multiplicador de consumo por classe
FuelUsagede 0.0 a 1.3Consumo conforme a rotação

Desconto, galão e sifão ​

OpçãoPadrãoO que muda
Discount.EnabledtrueLiga o desconto
Discount.Percentage25Desconto, em %
Discount.EmergencyOnlytrueSó em veículo de emergência (classe 18)
Discount.PermissionsPolicia, ParamedicoGrupos com desconto, em serviço
Jerrycan.EnabledtrueLiga o galão
Jerrycan.Capacity50Capacidade, em litros
Jerrycan.Price200Preço do galão
Jerrycan.Fuel25Litros que vêm no galão comprado
Jerrycan.Item"WEAPON_PETROLCAN"Item do galão
Jerrycan.Ammo"WEAPON_PETROLCAN_AMMO"Item que guarda o combustível
Jerrycan.AmmoPerLiter100Unidades por litro
Syphon.EnabledtrueLiga o sifão
Syphon.Item"syphoningkit"Item exigido
Syphon.PoliceChance25Chance de avisar a polícia, em %
Syphon.Permission"Policia"Grupo avisado

Postos ​

OpçãoPadrãoO que muda
Owned.EnabledtrueLiga a compra de postos, os atendentes e o app
Owned.DefaultPrice5Preço do litro sem dono
Owned.SalePercentage0.65Parte da venda que vai para o caixa
Owned.EmergencyShutofffalsetrue deixa qualquer pessoa desligar as bombas no atendente
Owned.UnlimitedFuelfalseTira o estoque
Owned.MaxReserves100000Estoque máximo, em litros
Owned.SellPercentage50Quanto o dono recebe ao vender o posto, em %
Owned.MinPrice3Menor preço do litro
Owned.MaxPrice10Maior preço do litro
Owned.ControlPricestrueDono define o preço
Owned.NameChangestrueDono renomeia o posto
Owned.NameMin10Menor nome
Owned.NameMax25Maior nome
Owned.OnePerPersontrueUm posto por pessoa
App.Identifier"postos"Identificador do app
App.Name"Postos"Nome do app
App.AdminPermission"Admin"Grupo do painel de administração
App.HistoryPage40Linhas por página do histórico
Abandonment.EnabledtrueLiga o abandono
Abandonment.Days10Dias sem venda. Editável no painel
Abandonment.Grace3Dias de proteção após a compra
Stations27 postosLabel, Zone, MinZ, MaxZ, Cost, Ped e Charger opcional
Profanitylista de palavrasPalavras barradas no nome do posto (shared-side/profanity.lua)

Estoque e equipe ​

OpçãoPadrãoO que muda
Market.Base2.0Preço médio do atacado. Editável no painel
Market.Min1.2Menor preço. Editável no painel
Market.Max3.2Maior preço. Editável no painel
Market.Variation12Variação diária máxima, em %
Market.History14Dias no gráfico
Delivery.MinOrder500Pedido mínimo, em litros
Delivery.MaxOrders3Pedidos abertos por posto
Delivery.Truckshauler, phantom, packerCaminhões
Delivery.Trailer"tanker"Reboque
Delivery.RefinerycoordenadasOnde buscar a carga
Delivery.UnloadTime12Tempo de descarga por litro, em ms
Delivery.UnloadDistance25.0Distância do atendente para descarregar
Delivery.Courier.Multiplier1.8Custo da terceirizada. Editável no painel
Delivery.Courier.Minutes45Tempo da terceirizada. Editável no painel
Employees.Max6Funcionários por posto
Employees.Rolesmotorista, frentista, gerenteNomes dos cargos
Employees.MinSalary0Menor salário
Employees.MaxSalary5000Maior salário
Employees.PayInterval60Intervalo do salário, em minutos
Maintenance.WearPerLiter0.004Desgaste por litro
Maintenance.WarnAt80Desgaste que gera aviso, em %
Maintenance.RepairCost7500Custo do conserto. Editável no painel
Maintenance.Minigame3 rodadas, velocidade 12Minigame do conserto

Assaltos ​

OpçãoPadrãoO que muda
Robbery.Permission"Policia"Grupo avisado e contado
Robbery.Register.EnabledfalseLiga o assalto ao caixa
Robbery.Register.MinPolice2Policiais em serviço exigidos
Robbery.Register.Percentage40% das vendas do dia. Editável no painel
Robbery.Register.MaxTake25000Teto do assalto. Editável no painel
Robbery.Register.Cooldown60Espera por posto, em minutos
Robbery.Register.Duration20000Duração, em ms
Robbery.Cargo.EnabledfalseLiga o roubo de carga
Robbery.Cargo.MinPolice2Policiais em serviço exigidos
Robbery.Cargo.FencePrice0.6Valor por litro no receptador. Editável no painel
Robbery.Cargo.FencecoordenadasLocal do receptador
Robbery.Cargo.AlertDelay8000Tempo até contar como roubo, em ms

Elétricos e pontos especiais ​

OpçãoPadrãoO que muda
Electric.EnabledtrueLiga os carregadores
Electric.Price4Preço por kWh
Electric.SpawnChargerstrueCria os carregadores de Stations
Electric.Vehicles17 modelosModelos elétricos
Special.EnabledtrueLiga os pontos especiais
Special.Key47Controle que pega a mangueira (G)
Special.NozzleLength20.0Alcance da mangueira, em metros
Special.AirPrice10Preço do litro para aeronaves
Special.WaterPrice4Preço do litro para embarcações
Special.Locations18 pontosZone, MinZ, MaxZ, Text, Pump e Permissions opcional

Para programadores ​

lua
-- cliente: muda o combustível de um veículo, de 0 a 100
exports.fuel:SetFuel(veiculo, combustivel)

-- servidor: muda o combustível de um veículo, de 0 a 100
exports.fuel:SetFuel(veiculo, combustivel)

-- servidor: true se o passaporte é dono de um posto ou admin
exports.fuel:CanUseApp(charId)

O nível fica na statebag Fuel do veículo. A statebag FuelPlug marca a mangueira engatada.

Evento de cliente: engine:FuelAdmin enche o tanque do veículo em que o jogador está.