Fuel & consumption
Fuel & consumption
Fuel types
Four ship by default. The key is what every vehicle, pump and station price refers to.
Config.FuelTypes = {
gasoline = { label = 'Gasoline', colour = '#e0973f', wholesale = 0.90, price = 2.00, electric = false },
diesel = { label = 'Diesel', colour = '#3fd07f', wholesale = 0.70, price = 1.50, electric = false },
premium = { label = 'Premium', colour = '#5b6cf0', wholesale = 1.40, price = 3.00, electric = false },
electric = { label = 'Electric', colour = '#41b8c9', wholesale = 2.10, price = 4.50, electric = true },
}| Field | Meaning |
|---|---|
wholesale |
Wat de eigenaar per liter betaalt bij het bestellen van voorraad |
price |
De literprijs waarmee een nieuw station opent. Een eigenaren kunnen deze zelf aanpassen op de Fuel types pagina |
electric |
Rekent af per kWh bij een lader in plaats van per liter bij een pomp |
Config.FuelOrder bepaalt de volgorde waarin ze verschijnen in de selector in de wereld.
What a vehicle drinks
Wordt in deze volgorde bepaald: het model staat in Config.VehicleFuel.Electric → een exacte match in Config.VehicleFuel.Model → de voertuigklasse in Config.VehicleFuel.Class → gasoline.
Config.VehicleFuel = {
Class = {
[0] = 'gasoline', [1] = 'gasoline', [2] = 'diesel', [3] = 'gasoline',
[4] = 'premium', [5] = 'gasoline', [6] = 'premium', [7] = 'premium',
[8] = 'gasoline', [9] = 'diesel', [10] = 'diesel', [11] = 'diesel',
[12] = 'diesel', [17] = 'diesel', [18] = 'diesel', [19] = 'diesel',
[20] = 'diesel',
},
Model = {
-- ['sultanrs'] = 'premium',
},
Electric = {
'voltic', 'voltic2', 'surge', 'neon', 'omnisegt', 'cyclone', 'tezeract',
'imorgon', 'dilettante', 'dilettante2', 'khamelion', 'raiden', 'iwagen',
'rcbandito', 'caddy', 'airtug',
},
}Alles in de Electric lijst werkt alleen bij een lader — een pomp weigert het voertuig.
Tank sizes
Literinhoud van een volle tank per klasse. 0 betekent dat die klasse nooit brandstof nodig heeft — fietsen (13) en treinen (21) zijn zo ingesteld.
Config.Consumption.Tank = {
[0] = 45, [1] = 60, [2] = 75, [3] = 55, [4] = 70, [5] = 55, [6] = 65,
[7] = 80, [8] = 15, [9] = 80, [10] = 300, [11] = 90, [12] = 90,
[13] = 0, [14] = 200, [15] = 400, [16] = 500, [17] = 90, [18] = 90,
[19] = 150, [20] = 120, [21] = 0,
}
Config.Consumption.Default = 65Brandstof wordt bijgehouden als een percentage in het voertuig, dus de tankgrootte bepaalt hoe ver je komt met één procent. Een industriële truck van 300 liter verliest per ingeschonken liter veel langzamer percentages dan een motorfiets van 15 liter.
Burn rate
Twee factoren worden met elkaar vermenigvuldigd: een tarief per klasse en het toerentalbereik (RPM-band) waarin de motor zich op dat moment bevindt.
Config.Consumption.Rate = {
[0] = 0.6, [2] = 1.2, [4] = 1.6, [6] = 1.4, [7] = 2.0, [8] = 0.4,
[10] = 3.0, [15] = 3.5, [16] = 4.0,
}
Config.Consumption.RateDefault = 1.0
Config.Consumption.Rpm = {
[1.0] = 0.13, [0.9] = 0.10, [0.8] = 0.08, [0.7] = 0.065, [0.6] = 0.05,
[0.5] = 0.04, [0.4] = 0.03, [0.3] = 0.022, [0.2] = 0.015, [0.1] = 0.008,
[0.0] = 0.0,
}
Config.Consumption.Tick = 1000De RPM-tabel doet het meeste werk. Elke tick wordt het huidige toerental van de motor gekoppeld aan de hoogste band die gelijk is aan of lager is dan dat toerental, en dat aantal liter wordt verbruikt, geschaald op basis van het klasstarief en de tankgrootte. Het gaspedaal diep indrukken bij een Super verbruikt ongeveer zestien keer zoveel als stationair draaien met een compacte auto. Verbruik geldt alleen voor de bestuurder van een voertuig met een draaiende motor, dus geparkeerde auto's en passagiers kosten niets.
Bij een lege tank slaat de motor af.
Om brandstof over de hele linie wat zuiniger te maken, kun je de hele Rpm-tabel naar beneden schalen — halveer elke waarde en alles op de server gaat twee keer zo lang mee, waarbij de onderlinge verhoudingen tussen voertuigen intact blijven.
Low-fuel warning
Config.Consumption.LowWarning = 15
Config.Consumption.LowWarningSound = true
Config.Consumption.WarnTick = 2000
Config.Consumption.IdleTick = 3000Onder het percentage ingesteld bij LowWarning krijgt de bestuurder een melding en, optioneel, een geluidssignaal. Dit wordt eenmalig per voertuig afgevuurd en niet per tick, zodat het nooit vervelend wordt.
Spawn fuel
Config.Consumption.SpawnFuel = { min = 40, max = 80 }Dit is de allerbelangrijkste instelling voor de brandstofeconomie. Elk voertuig dat het script nog nooit heeft gezien — elke geparkeerde NPC-auto, elke garage-spawn, elk door een admin gespawned voertuig — rolt een willekeurig niveau in dit bereik de eerste keer dat iemand ernaar kijkt.
Laat dit op 40–80 staan zodat de meeste auto's die een speler vindt al halfvol zijn, waardoor tanken af en toe nodig is. Verlaag dit naar { min = 5, max = 25 } en de pompen krijgen het direct druk. Zet beide op 100 en niemand hoeft ooit een gloednieuwe auto te vullen.
Zodra een voertuig is gezien, wordt het brandstofniveau opgeslagen in de entity state bag en vandaaruit gedeeld tussen clients, zodat er niet opnieuw voor wordt gerold.
Wrong fuel
Diesel in een benzineauto gooien, of een jerrycan met verkeerde brandstof in een elektrische auto, heeft