Skip to content

De jerrycan

The jerry can

Een draagbare can die je bij een pomp kunt vullen en in een auto kunt gieten. Het is een gewoon inventory-item, geen wapen.

De standaard weapon_petrolcan wordt bewust niet gebruikt. Dat model heeft het gedrag van een vlammenwerper — spelers kunnen een spoor van brandstof achterlaten op de grond en dit aansteken. Het item hier kan precies één ding doen: de tank van een voertuig vullen.

Hoe het zich gedraagt in-game

  • Gebruik het item. De can verschijnt in je hand en laat zien hoeveel liter er in zit.
  • Loop naar een voertuig en richt op de tankdop, of sta er dichtbij en druk op [E].
  • Het giet met Config.JerryCan.PourRate liter per tick, en de brandstof die erin gaat volgt de verkeerde brandstof-regels net zoals bij elke andere vulling.
  • Loop verder weg dan Config.JerryCan.MaxDistance en de can gaat weer terug in je zak.
  • Bij een pomp vult [G] de can weer bij. Als je er geen hebt, kan een tankstation je direct een volle can verkopen voor Config.JerryCan.FullPrice.

Elke can heeft zijn eigen brandstofniveau, en daarom markeert elk inventory-item hieronder het als uniek / niet-stapelbaar. Het stapelen van twee cans zou twee verschillende hoeveelheden samenvoegen in één slot.

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

Als je al een brandstofcan gebruikt onder een andere naam, wijzig dan Config.JerryCan.Item in plaats van je item te hernoemen.

Wat er wordt meegeleverd in install/

Pad Inhoud
install/README.txt De korte versie van alles op deze pagina
install/img/jerrycan.png Het icoon, klaar om in je inventory te plaatsen
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 klassieke ESX-inventories

ox_inventory

Kopieer de afbeelding naar ox_inventory/web/images/ en voeg daarna het item toe.

ox_inventory/data/items.lua
['jerrycan'] = {
    label = 'Jerry Can',
    weight = 4000,
    stack = false,
    close = true,
    description = 'Bevat 20 liter brandstof. Gebruik het en giet het daarna in een auto.',
    client = {
        export = 'bupa-fuel.useJerryCan'
    }
},

ox_inventory heeft geen CreateUseableItem, dus de regel client.export is hoe de resource te weten komt dat de can is gebruikt. stack = false is verplicht.

qb-inventory, lj-inventory, ps-inventory

Kopieer de afbeelding naar qb-inventory/html/images/ — lj en ps gebruiken dezelfde map — en voeg het item toe aan 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'] = 'Bevat 20 liter brandstof. Gebruik het en giet het daarna in een auto.'
},

De resource registreert de gebruikshandler zelf via CreateUseableItem, dus er hoeft niets in qb-core/server/main.lua te worden gezet.

qs-inventory, codem-inventory, tgiann-inventory

Alle drie gebruiken dezelfde itemdefinitie als qb-core hierboven. Alleen de afbeeldingsmap verschilt:

Inventory Afbeeldingsmap
qs-inventory qs-inventory/html/images/
codem-inventory codem-inventory/html/itemimages/
tgiann-inventory tgiann-inventory/html/images/

Tgiann-gebruikers die een aparte lijst bijhouden, voegen het item in plaats daarvan toe aan tgiann-inventory/shared/items.lua.

ESX

Kopieer de afbeelding naar de afbeeldingsmap van je inventory — esx_inventoryhud/html/img/items/ voor de klassieke HUD, of ox_inventory/web/images/ voor ESX-opstellingen die draaien op ox — en voeg dan het item toe.

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

Oudere ESX-schema's zonder die kolommen gebruiken de korte vorm:

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

De resource roept ESX.RegisterUsableItem zelf aan, dus er hoeft nergens anders een registratie voor bruikbare items te worden toegevoegd.

Testen

code
/giveitem <id> jerrycan 1

Herstart daarna je inventory en bupa-fuel.

De EV-batterij

Elektrisch opladen heeft zijn eigen item, ev_battery, dat op dezelfde manier is gedefinieerd als de can — een normaal item waarbij geen gebruikshandler nodig is, aangezien het wordt verkocht en verbruikt door de lader. Zie Elektrisch opladen.