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.
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.0–100.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.0–100.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.
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.