Skip to content

Der Benzinkanister

The jerry can

Ein mitnehmbarer Kanister, den du an einer Zapfsäule füllen und in ein Auto gießen kannst. Es handelt sich um ein normales Inventaritem, keine Waffe.

Der Vanilla-weapon_petrolcan wird bewusst nicht verwendet. Dieses Modell besitzt das Flammenwerfer-Verhalten – Spieler können Kraftstoff auf dem Boden verteilen und ihn anzünden. Das Item hier kann genau eine Sache: den Tank eines Fahrzeugs füllen.

Wie er sich im Spiel verhält

  • Benutze das Item. Der Kanister erscheint in deiner Hand und zeigt dir an, wie viele Liter er enthält.
  • Gehe zu einem Fahrzeug und ziele auf den Tankdeckel oder stelle dich in seine Nähe und drücke [E].
  • Er gießt mit Config.JerryCan.PourRate Litern pro Tick ein, und der eingefüllte Kraftstoff folgt den Regeln für falschen Kraftstoff wie jeder andere Tankvorgang auch.
  • Wenn du dich weiter als Config.JerryCan.MaxDistance entfernst, wandert der Kanister zurück in deine Tasche.
  • An einer Zapfsäule füllt [G] den Kanister wieder auf. Wenn du keinen besitzt, kann eine Tankstelle dir direkt einen vollen Kanister für Config.JerryCan.FullPrice verkaufen.

Jeder Kanister speichert seinen eigenen Füllstand, weshalb jeder Inventareintrag unten ihn als einzigartig / nicht stapelbar ausweist. Das Stapeln von zwei Kanistern würde zwei unterschiedliche Mengen in einem Slot zusammenführen.

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

Wenn du bereits einen Benzinkanister unter einem anderen Namen verwendest, ändere Config.JerryCan.Item, anstatt dein Item umzubenennen.

Was in install/ enthalten ist

Pfad Inhalt
install/README.txt Die Kurzfassung von allem auf dieser Seite
install/img/jerrycan.png Das Icon, bereit zum Einfügen in dein 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 klassische ESX-Inventare

ox_inventory

Kopiere das Bild nach ox_inventory/web/images/ und füge dann das Item hinzu.

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 hat kein CreateUseableItem, daher erfährt das Resource durch die Zeile client.export, dass der Kanister verwendet wurde. stack = false ist erforderlich.

qb-inventory, lj-inventory, ps-inventory

Kopiere das Bild nach qb-inventory/html/images/ – lj und ps nutzen denselben Ordner –, und füge das Item dann zu qb-core/shared/items.lua hinzu.

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.'
},

Das Resource registriert den Use-Handler selbst über CreateUseableItem, es muss also nichts in qb-core/server/main.lua eingetragen werden.

qs-inventory, codem-inventory, tgiann-inventory

Alle drei verwenden dieselbe Item-Definition wie oben für qb-core. Nur der Bildordner unterscheidet sich:

Inventar Bildordner
qs-inventory qs-inventory/html/images/
codem-inventory codem-inventory/html/itemimages/
tgiann-inventory tgiann-inventory/html/images/

Tgiann-Nutzer, die eine separate Liste führen, fügen das Item stattdessen zu tgiann-inventory/shared/items.lua hinzu.

ESX

Kopiere das Bild in den Bildordner deines Inventars – esx_inventoryhud/html/img/items/ für das klassische HUD oder ox_inventory/web/images/ für ESX-Setups, die auf ox laufen –, und füge dann das Item ein.

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

Ältere ESX-Schemata ohne diese Spalten verwenden die Kurzform:

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

Das Resource ruft ESX.RegisterUsableItem selbst auf, sodass keine Registrierung für benutzbare Items woanders erforderlich ist.

Testen

code
/giveitem <id> jerrycan 1

Starte danach dein Inventar und bupa-fuel neu.

Die EV-Batterie

Das Laden von Elektrofahrzeugen hat ein eigenes Item, ev_battery, das genauso definiert ist wie der Kanister – ein normales Item, das keinen Use-Handler benötigt, da es von der Ladesäule verkauft und verbraucht wird. Siehe Elektrisches Laden.