Kraftstoff-System¶
Realistisches Tanksystem mit Verbrauch, Tankstellen-Interaktion und Admin-API.
Konfiguration¶
resources/[base]/cv_framework/modules/fuel/config.lua:
return {
enabled = true,
-- Globaler Verbrauchsmultiplikator (1.0 = normal, höher = mehr Verbrauch)
globalConsumptionRate = 1.0,
-- Standard-Tankvolumen in Litern (falls nicht in handling.meta)
defaultTankVolume = 65.0,
-- Standard-Verbrauchsrate pro Fahrzeug
defaultConsumptionRate = 0.5,
refueling = {
timePerLiter = 0.1, -- Sekunden pro Liter beim Tanken
animDict = "move_m@gas_pump",
animName = "move_m@gas_pump_loop",
},
gasStations = {
{ coords = vector3(49.416, -1756.771, 29.442), radius = 10 },
-- weitere Tankstellen...
}
}
Client-API¶
-- Aktuellen Tankstand abrufen
cv.fuel.getVehicleFuelLevel(vehicle) -- → number (Liter)
-- Maximales Tankvolumen
cv.fuel.getMaxFuelLevel(vehicle) -- → number
-- Prozentsatz (0–100)
cv.fuel.getVehicleFuelPercentage(vehicle) -- → number
-- Prüfen ob Fahrzeug Kraftstoff verbraucht
cv.fuel.doesVehicleUseFuel(vehicle) -- → boolean
-- Tank auffüllen (lokal)
cv.fuel.fillVehicleTank(vehicle)
Client-Exports¶
-- Tanken starten (manuell aus anderer Ressource)
exports['cv_framework']:StartRefueling(vehicle)
-- Tanken abbrechen
exports['cv_framework']:StopRefueling()
-- Prüfen ob Tankvorgang läuft
exports['cv_framework']:IsRefueling() -- → boolean
-- Tankstelle hinzufügen
exports['cv_framework']:AddGasStation(coords, radius)
-- Tankstelle entfernen (Index)
exports['cv_framework']:RemoveGasStation(index)
-- Alle Tankstellen abfragen
exports['cv_framework']:GetGasStations() -- → table
Server-Events¶
-- Tank vollständig auffüllen
TriggerServerEvent('cv:server:FillVehicleTank', VehToNet(vehicle))
-- Kraftstoff hinzufügen
TriggerServerEvent('cv:server:AddVehicleFuel', VehToNet(vehicle), amount)
Server-Callback¶
-- Detaillierte Tank-Info abrufen
cv.callback.trigger('GetVehicleFuelInfo', false, function(info)
if info then
print(('Tank: %.1f/%.1f L (%.0f%%)'):format(
info.currentFuel, info.maxFuel, info.percentage
))
end
end, VehToNet(vehicle))
Tankstellen-Interaktion¶
Wenn der Spieler als Fahrer an einer Tankstelle steht:
- Grüner Marker wird gezeigt
- Hilfetext: Press G to refuel
- G starten Tankanimation (Dauer: 100ms × benötigte Liter)
- Bewegung, Schadensnahme oder Verlassen des Fahrzeugs bricht den Vorgang ab