Skip to content

Canistra de benzină

The jerry can

O canistră portabilă pe care o poți umple la o pompă și o poți turna într-o mașină. Este un obiect simplu de inventar, nu o armă.

Modelul clasic de joc weapon_petrolcan este evitat în mod intenționat. Acel model are comportamentul de aruncător de flăcări — jucătorii pot lăsa o d urmă de combustibil pe jos și o pot aprinde. Obiectul de aici poate face un singur lucru: să umple rezervorului unui vehicul.

Cum se comportă în joc

  • Folosește obiectul. Canistra apare în mâna ta și îți arată câți litri conține.
  • Mergi la un vehicul și țintește bușonul rezervorului, sau stai lângă el și apasă [E].
  • Toarnă cu Config.JerryCan.PourRate litri pe secundă (tick), iar combustibilul adăugat respectă regulile de combustibil greșit ca orice altă umplere.
  • Îndepărtează-te la mai mult de Config.JerryCan.MaxDistance și canistra se va întoarce în buzunarul tău.
  • La o pompă, [G] umple din nou canistra. Dacă nu ai una, o benzinărie îți poate vinde direct o canistră plină pentru Config.JerryCan.FullPrice.

Fiecare canistră își păstrează propriul nivel de combustibil, motiv pentru care fiecare înregistrare din inventar de mai jos o marchează ca fiind unică / ne-stivuibilă. Stivuirea a două canistre ar comasa două cantități diferite într-un singur slot.

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

Dacă folosești deja o canistră de combustibil sub alt nume, modifică Config.JerryCan.Item în loc să redenumești obiectul tău.

Ce include install/

Path Contents
install/README.txt Versiunea scurtă a tot ceea ce se află pe această pagină
install/img/jerrycan.png Pictograma, gata de adăugat în inventar
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 inventare ESX clasice

ox_inventory

Copiază imaginea în ox_inventory/web/images/, apoi adaugă obiectul.

ox_inventory/data/items.lua
['jerrycan'] = {
    label = 'Jerry Can',
    weight = 4000,
    stack = false,
    close = true,
    description = 'Conține 20 de litri de combustibil. Folosește-l, apoi toarnă-l într-o mașină.',
    client = {
        export = 'bupa-fuel.useJerryCan'
    }
},

ox_inventory nu are CreateUseableItem, așa că linia client.export reprezintă modul în care resursa află că a fost utilizată canistra. Setarea stack = false este obligatorie.

qb-inventory, lj-inventory, ps-inventory

Copiază imaginea în qb-inventory/html/images/ — lj și ps folosesc același director — apoi adaugă obiectul în 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'] = 'Conține 20 de litri de combustibil. Folosește-l, apoi toarnă-l într-o mașină.'
},

Resursa înregistrează singură funcția de utilizare prin CreateUseableItem, așa că nu trebuie adăugat nimic în qb-core/server/main.lua.

qs-inventory, codem-inventory, tgiann-inventory

Toate trei citesc aceeași definiție a obiectului ca și qb-core de mai sus. Singura diferență este folderul cu imagini:

Inventory Image folder
qs-inventory qs-inventory/html/images/
codem-inventory codem-inventory/html/itemimages/
tgiann-inventory tgiann-inventory/html/images/

Utilizatorii tgiann care folosesc o listă separată vor adăuga obiectul în tgiann-inventory/shared/items.lua.

ESX

Copiază imaginea în folderul de imagini al inventarului tău — esx_inventoryhud/html/img/items/ pentru HUD-ul clasic, sau ox_inventory/web/images/ pentru configurări ESX care rulează pe ox — apoi inserează obiectul.

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

Schemele ESX mai vechi care nu au acele coloane folosesc forma scurtă:

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

Resursa apelează singură funcția ESX.RegisterUsableItem, așa că nu este necesară nicio altă înregistrare a obiectului utilizabil în altă parte.

Testing

code
/giveitem <id> jerrycan 1

Apoi repornește inventarul și bupa-fuel.

The EV battery

Încărcarea electrică are propriul său obiect, ev_battery, definit în același mod ca și canistra — un obiect normal care nu necesită un handler de utilizare, deoarece este vândut și consumat direct de stația de încărcare. Vezi Electric charging.