Skip to content

Eksporty

Exports

Cztery eksporty po stronie klienta (client-side), dla innych zasobów, które potrzebują odczytać lub zmienić poziom paliwa pojazdu. Ta strona dokumentuje tylko to, co faktycznie istnieje w zasobie.

client-side
local fuel = exports['bupa-fuel']:GetFuel(vehicle)
exports['bupa-fuel']:SetFuel(vehicle, 75.0)
local kind = exports['bupa-fuel']:GetFuelType(vehicle)
local ev   = exports['bupa-fuel']:IsElectric(vehicle)
Export Arguments Returns
GetFuel vehicle (entity handle) The fuel level as a number, 0.0100.0
SetFuel vehicle, level (number) Nothing
GetFuelType vehicle (entity handle) A fuel key string — 'gasoline', 'diesel', 'premium', 'electric'
IsElectric vehicle (entity handle) true or false

Notes

GetFuel zwraca 0.0 dla nieprawidłowego lub nieistniejącego obiektu. Jeśli pojazd nie był wcześniej widziany, to właśnie ta funkcja losuje poziom Config.Consumption.SpawnFuel i zapisuje go w state bagu – więc samo odczytanie paliwa nowego auta powoduje jego nadanie.

SetFuel ogranicza wartość do zakresu 0.0100.0. W przypadku pojazdu zsynchronizowanego w sieci (networked) zapisuje stan do state baga encji, który replikuje się do każdego klienta; w przypadku lokalnego – ustawia jedynie natywny poziom. Jest to wartość procentowa, a nie litry – aby uzyskać litry, pomnoż ją przez pojemność zbiornika dla danej klasy pojazdu.

GetFuelType sprawdza wartości w tej samej kolejności co dystrybutor: lista pojazdów elektrycznych, następnie Config.VehicleFuel.Model, potem tabela klas, a w ostateczności powraca do 'gasoline'.

IsElectric to skrótowy zapis dla GetFuelType(vehicle) == 'electric'.

Paliwo jest replikowane za pomocą state baga fuel na encji pojazdu. Każdy zasób, który chce monitorować zmiany paliwa bez odpytywania w pętli (polling), może dodać własny AddStateBagChangeHandler('fuel', ...).

Inventory item handler

bupa-fuel.useJerryCan to handler użycia przedmiotu ox_inventory dla kanistra (jerrycan). Odwołujesz się do niego z definicji przedmiotu – nie wywołujesz go samodzielnie.

ox_inventory/data/items.lua
client = { export = 'bupa-fuel.useJerryCan' }

Na QBox, QB-Core i ESX przedmiot używalny jest rejestrowany wewnętrznie przez zasób, więc nie jest tam wymagane żadne dodatkowe wiązanie eksportów.