Skip to content

Le bidon d'essence

The jerry can

Un bidon transportable que vous remplissez à une pompe et versez dans une voiture. Il s'agit d'un simple objet d'inventaire, et non d'une arme.

Le weapon_petrolcan de base est volontairement inutilisé. Ce modèle comporte le comportement du lance-flammes : les joueurs peuvent traîner du carburant sur le sol et y mettre le feu. L'objet présenté ici ne peut faire qu'une seule chose : remplir le réservoir d'un véhicule.

How it behaves in game

  • Utilisez l'objet. Le bidon apparaît dans votre main et indique le nombre de litres qu'il contient.
  • Approchez-vous d'un véhicule et visez son bouchon de réservoir, ou tenez-vous près de lui et appuyez sur [E].
  • Il se déverse à raison de Config.JerryCan.PourRate litres par tick, et le carburant ajouté respecte les règles du mauvais carburant comme n'importe quel autre remplissage.
  • Éloignez-vous à plus de Config.JerryCan.MaxDistance et le bidon retourne dans votre poche.
  • À une pompe, [G] recharge le bidon. Si vous n'en possédez pas, une station peut vous vendre un bidon plein directement pour Config.JerryCan.FullPrice.

Chaque bidon possède son propre niveau de carburant, c'est pourquoi chaque entrée d'inventaire ci-dessous le marque comme unique / non-empilable. Empiler deux bidons fusionnerait deux quantités différentes dans un seul emplacement.

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

Si vous utilisez déjà un bidon de carburant sous un autre nom, modifiez Config.JerryCan.Item au lieu de renommer votre objet.

What ships in install/

Path Contents
install/README.txt La version courte de tout ce qui se trouve sur cette page
install/img/jerrycan.png L'icône, prête à être placée dans votre inventaire
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 inventaires ESX classiques

ox_inventory

Copiez l'image dans ox_inventory/web/images/, puis ajoutez l'objet.

ox_inventory/data/items.lua
['jerrycan'] = {
    label = 'Jerry Can',
    weight = 4000,
    stack = false,
    close = true,
    description = 'Contient 20 litres de carburant. Utilisez-le, puis versez-le dans une voiture.',
    client = {
        export = 'bupa-fuel.useJerryCan'
    }
},

ox_inventory ne possède pas de fonction CreateUseableItem, la ligne client.export permet donc à la ressource de savoir que le bidon a été utilisé. stack = false est obligatoire.

qb-inventory, lj-inventory, ps-inventory

Copiez l'image dans qb-inventory/html/images/ — lj et ps utilisent le même dossier — puis ajoutez l'objet dans 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'] = 'Contient 20 litres de carburant. Utilisez-le, puis versez-le dans une voiture.'
},

La ressource enregistre elle-même le gestionnaire d'utilisation via CreateUseableItem, rien n'est donc requis dans qb-core/server/main.lua.

qs-inventory, codem-inventory, tgiann-inventory

Ces trois inventaires utilisent la même définition d'objet que qb-core ci-dessus. Seul le dossier des images diffère :

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

Les utilisateurs de tgiann qui conservent une liste séparée doivent plutôt ajouter l'objet dans tgiann-inventory/shared/items.lua.

ESX

Copiez l'image dans le dossier d'images de votre inventaire — esx_inventoryhud/html/img/items/ pour le HUD classique, ou ox_inventory/web/images/ pour les installations ESX tournant sur ox — puis insérez l'objet.

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

Les schémas ESX plus anciens sans ces colonnes utilisent la version courte :

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

La ressource appelle elle-même ESX.RegisterUsableItem, aucun enregistrement d'objet utilisable n'est donc nécessaire ailleurs.

Testing

code
/giveitem <id> jerrycan 1

Redémarrez ensuite votre inventaire et bupa-fuel.

The EV battery

La recharge électrique possède son propre objet, ev_battery, défini de la même manière que le bidon — un objet normal ne nécessitant aucun gestionnaire d'utilisation, puisqu'il est vendu et consommé par la borne de recharge. Voir Electric charging.