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
compatExportsauffalse. compatStateBagslistet zusätzliche Statebags, die mit dem Stand gefüllt werden (standardmäßigqb-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
| Export | Rü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
| Export | Rü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 |
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
| Was | Mit | Ohne |
|---|---|---|
| Hinweise an Zapfsäulen, Ladesäulen und Lieferorten | 3D-Hinweise von HZ-TextUi | Text-UI von ox_lib |
| Sätze und Auswahl der NPCs | Dialogfenster von hz_lib | Menüs und Benachrichtigungen von ox_lib |
| Schritte der Lieferschicht | Ziele auf dem Bildschirm von hz_lib | Benachrichtigungen |
| Dispositions-Tablet mit Tourenkarte | hz_lib | ox_lib-Menü |
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