Skip to content

Kanister na benzynę

Kanister na paliwo

Przenośny kanister, który możesz napełnić na stacji i wlać paliwo do samochodu. Jest to zwykły przedmiot w ekwipunku, a nie broń.

Domyślny model weapon_petrolcan celowo nie jest używany. Posiada on zachowanie miotacza ognia — gracze mogliby rozlewać paliwo po ziemi i je podpalać. Przedmiot tutaj robi dokładnie jedną rzecz: napełnia bak pojazdu.

Jak zachowuje się w grze

  • Użyj przedmiotu. Kanister pojawia się w Twojej dłoni i informuje Cię, ile litrów się w nim znajduje.
  • Podejdź do pojazdu i celuj w wlew paliwa lub stanmij obok niego i naciśnij [E].
  • Paliwo wlewa się z prędkością Config.JerryCan.PourRate litrów na tick, a wlewane paliwo podlega zasadom niewłaściwego paliwa jak każde inne tankowanie.
  • Odsuniecie się na odległość większą niż Config.JerryCan.MaxDistance sprawi, że kanister schowa się z powrotem do kieszeni.
  • Przy dystrybutorze klawisz [G] uzupełnia kanister. Jeśli go nie masz, stacja może sprzedać Ci od razu pełny kanister za cenę Config.JerryCan.FullPrice.

Każdy kanister posiada własny poziom paliwa, dlatego każdy wpis w ekwipunku poniżej oznacza go jako unikalny / niepodlegający łączeniu. Połączenie dwóch kanistrów w stos połączyłoby dwie różne ilości w jedno miejsce.

config.lua
Config.JerryCan = {
    Enabled  = true,
    Item     = 'jerrycan',
    Prop     = 'prop_jerrycan_01a',
    Capacity = 20,
    SellFull  = true,
    FullPrice = 60,
}

Jeśli używasz już kanistra paliwa pod inną nazwą, zmień Config.JerryCan.Item zamiast zmieniać nazwę swojego przedmiotu.

Co znajduje się w folderze install/

Ścieżka Zawartość
install/README.txt Krótka wersja wszystkiego, co znajduje się na tej stronie
install/img/jerrycan.png Ikona, gotowa do wrzucenia do ekwipunku
install/inv/ox_inventory.txt ox_inventory
install/inv/qb_inventory.txt qb-inventory, lj-inventory, ps-inventory
install/inv/qs_codem_tgiann.txt qs-inventory, codem-inventory, tgiann-inventory
install/inv/esx.txt klasyczne ekwipunki ESX

ox_inventory

Skopiuj obraz do ox_inventory/web/images/, a następnie dodaj przedmiot.

ox_inventory/data/items.lua
['jerrycan'] = {
    label = 'Jerry Can',
    weight = 4000,
    stack = false,
    close = true,
    description = 'Holds 20 litres of fuel. Use it, then pour it into a car.',
    client = {
        export = 'bupa-fuel.useJerryCan'
    }
},

ox_inventory nie posiada funkcji CreateUseableItem, więc linijka client.export to sposób, w jaki zasób dowiaduje się, że kanister został użyty. Wpis stack = false jest wymagany.

qb-inventory, lj-inventory, ps-inventory

Skopiuj obraz do qb-inventory/html/images/ — lj i ps odczytują ten sam folder — a następnie dodaj przedmiot do qb-core/shared/items.lua.

qb-core/shared/items.lua
['jerrycan'] = {
    ['name'] = 'jerrycan',
    ['label'] = 'Jerry Can',
    ['weight'] = 4000,
    ['type'] = 'item',
    ['image'] = 'jerrycan.png',
    ['unique'] = true,
    ['useable'] = true,
    ['shouldClose'] = true,
    ['combinable'] = nil,
    ['description'] = 'Holds 20 litres of fuel. Use it, then pour it into a car.'
},

Zasób rejestruje obsługę użycia samodzielnie za pomocą CreateUseableItem, więc nic nie trzeba dodawać do qb-core/server/main.lua.

qs-inventory, codem-inventory, tgiann-inventory

Wszystkie trzy odczytują tę samą definicję przedmiotu co qb-core powyżej. Różni się jedynie folder z obrazami:

Ekwipunek Folder z obrazami
qs-inventory qs-inventory/html/images/
codem-inventory codem-inventory/html/itemimages/
tgiann-inventory tgiann-inventory/html/images/

Użytkownicy tgiann, którzy korzystają z osobnej listy, muszą dodać przedmiot do tgiann-inventory/shared/items.lua.

ESX

Skopiuj obraz do folderu z obrazami swojego ekwipunku — esx_inventoryhud/html/img/items/ dla klasycznego HUD-a lub ox_inventory/web/images/ dla konfiguracji ESX działających na ox — a następnie dodaj przedmiot.

SQL
INSERT INTO `items` (`name`, `label`, `weight`, `rare`, `can_remove`)
VALUES ('jerrycan', 'Jerry Can', 4, 0, 1);

Starsze schematy ESX bez tych kolumn używają krótkiej formy:

SQL
INSERT INTO `items` (`name`, `label`) VALUES ('jerrycan', 'Jerry Can');

Zasób wywołuje funkcję ESX.RegisterUsableItem samodzielnie, więc rejestracja używalnego przedmiotu nie jest wymagana nigdzie indziej.

Testowanie

code
/giveitem <id> jerrycan 1

Następnie zrestartuj swój ekwipunek oraz bupa-fuel.

Akumulator EV

Ładowanie elektryczne ma swój własny przedmiot, ev_battery, zdefiniowany w taki sam sposób jak kanister — jest to zwykły przedmiot niewymagający obsługi użycia, ponieważ jest sprzedawany i zużywany przez ładowarkę. Zobacz Ładowanie elektryczne.