Exports & Kompatibilität

Ihr Tank-Script ersetzen

Ihre anderen Resources rufen weiterhin die API auf, die sie schon nutzen, ohne Änderung:

exports['LegacyFuel']:GetFuel(vehicle)          -- answered by hz_fuel
exports['LegacyFuel']:SetFuel(vehicle, 75.0)
exports['qb-fuel']:GetFuel(vehicle)              -- also cdn-fuel, ps-fuel
exports.ox_fuel:setPaymentMethod(fn)             -- server, and setMoneyCheck client side
Entity(vehicle).state.fuel                       -- ox_fuel-compatible statebag
GetResourceState('LegacyFuel')                   -- 'started' (also qb-fuel, ox_fuel, cdn-fuel, ps-fuel)

  • Scripts, die vor der Nutzung prüfen, ob ihre Tank-Resource läuft (Tempomat, HUDs, Garagen), finden sie.
  • Ein Script mit einem dieser Namen, das Sie weiterlaufen lassen, antwortet selbst. Setzen Sie seine Zeile in compatExports auf false.
  • compatStateBags listet zusätzliche Statebags, die mit dem Stand gefüllt werden (standardmäßig qb-fuel).
  • Starten Sie nach einem Update den ganzen Server neu: siehe Aktualisieren.

Tankstand

Der Stand liegt in der Statebag fuel des Fahrzeugs, von 0 bis 100. Die Sorte, mit der es betankt wurde, steht in fuelType.

-- read
local fuel = Entity(vehicle).state.fuel

-- write (client)
exports.hz_fuel:SetFuel(vehicle, 50.0)

Treibstoff, den ein anderes Script, eine Garage oder eine Reparatur hinzufügt, wird übernommen, nicht überschrieben.


Client-Exports

ExportRückgabe
exports.hz_fuel:GetFuel(vehicle)Stand, 0 bis 100
exports.hz_fuel:SetFuel(vehicle, level)Setzt den Stand, 0 bis 100
exports.hz_fuel:GetFuelType(vehicle)Sorte, z. B. 'regular'
exports.hz_fuel:setMoneyCheck(fn)Ersetzt die Geldprüfung vor einem Tankvorgang. Siehe unten

Server-Exports

ExportRückgabe
GetVehicleFuelType(netId)Sorte des Fahrzeugs
SetVehicleFuelType(netId, fuelType)true, wenn gesetzt. Abgelehnt für eine Sorte, die das Fahrzeug nicht tanken kann
GetFuelPrice(fuelType)Preis pro Liter
GetFuelTypes()Die Tabelle fuelTypes
GetStations()Die Liste der Tankstellen
IsElectricVehicle(netId)true für ein Elektromodell
GetChargePrice(chargeType)Preis pro 1 % an einer Ladesäule
GetChargeTypes()Die Tabelle electric.chargeTypes
GetStationStock(stationId)Verbleibende Liter pro Kraftstoff, z. B. { regular = 5200, diesel = 1800 }
SetStationStock(stationId, fuelType, litres)Setzt einen Stand, begrenzt durch den Tank
AddStationStock(stationId, fuelType, litres)Fügt Liter hinzu, gibt zurück, was hineinging
IsOnDeliveryShift(playerId)true, solange der Spieler in einer Lieferschicht ist
GetDeliveryCargo(playerId)Liter im Tanker des Spielers pro Kraftstoff, oder nil
Alle werden auf dem Server als exports.hz_fuel:Name(...) aufgerufen.

Zahlungs-Hooks

Standardmäßig kassiert HZ-Fuel über das Geld Ihres Frameworks oder ein Bargeld-Item von ox_inventory. Für Ihre eigene Wirtschaft:

-- server: return true if the player paid, false/nil otherwise
exports.hz_fuel:setPaymentMethod(function(playerId, amount)
    return exports['my_bank']:Charge(playerId, amount)
end)

-- client: the money the player can spend, checked before a fill starts
exports.hz_fuel:setMoneyCheck(function()
    return exports['my_bank']:GetBalance()
end)

Der Server berechnet den Preis immer neu aus dem tatsächlich gelieferten Treibstoff; die Prüfung auf dem Client verhindert nur, dass ein Tankvorgang beginnt, den der Spieler nicht bezahlen kann.


Hinweise, Dialoge und Menüs

WasMitOhne
Hinweise an Zapfsäulen, Ladesäulen und Lieferorten3D-Hinweise von HZ-TextUiText-UI von ox_lib
Sätze und Auswahl der NPCsDialogfenster von hz_libMenüs und Benachrichtigungen von ox_lib
Schritte der LieferschichtZiele auf dem Bildschirm von hz_libBenachrichtigungen
Dispositions-Tablet mit Tourenkartehz_libox_lib-Menü
Kein Target-Script nötig. HZ-Fuel läuft neben ox_target oder qb-target.

Fahrzeugschlüssel

Die Schlüssel des Liefer-LKW laufen über qbx_vehiclekeys, qb-vehiclekeys, qs-vehiclekeys, wasabi_carlock, mono_carkeys, MrNewbVehicleKeys, cd_garage oder vehicles_keys, wenn eines davon läuft. ESX allein hat keine Schlüssel: Der LKW bleibt unverschlossen. Ein anderes Schlüssel-Script:

-- config.lua > delivery
giveKeys = function(vehicle, plate) exports['my_keys']:GiveKey(plate) end,                -- client
giveKeysServer = function(source, vehicle, plate) exports['my_keys']:GiveKeys(source, plate) end, -- server