Skip to content

ジェリー缶

The jerry can

ジェリー缶(携行缶)はガソリンスタンドで満タンにし、車に給油することができるアイテムです。武器ではなく、通常のインベントリアイテムとして機能します。

バニラの weapon_petrolcan は意図的に使用していません。このモデルには火炎放射器としての挙動(プレイヤーが地面に燃料を撒いて火を付ける機能)が含まれているためです。このアイテムは「車両のタンクに給油する」という1つの機能のみを実行します。

ゲーム内での挙動

  • アイテムを使用すると、缶が手に持ち上がり、内部の残量(リットル)が表示されます。
  • 車両に近づいて給油口をターゲットにするか、車両の近くで [E] キーを押します。
  • 給油は Config.JerryCan.PourRate リットル/ティックの速度で行われ、注入される燃料は他の給油方法と同様に誤った燃料のルールに従います。
  • Config.JerryCan.MaxDistance よりも離れた場所に移動すると、缶は自動的にポケットにしまわれます。
  • ガソリンスタンドでは、[G] キーで缶を再給油できます。所持していない場合、スタンドで Config.JerryCan.FullPrice を支払うことで満タンの缶を直接購入できます。

各缶はそれぞれの燃料レベルを保持しているため、以下のインベントリ設定ではすべて**ユニーク(スタック不可)**に指定されています。2つの缶をスタックすると、異なる燃料量が1つのスロットに統合されてしまうためです。

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

すでに別の名前で燃料缶を導入している場合は、アイテム名を変更する代わりに Config.JerryCan.Item を変更してください。

install/ に同梱されている内容

パス 内容
install/README.txt このページの内容の簡易バージョン
install/img/jerrycan.png インベントリにそのまま導入できるアイコン画像
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 クラシックな ESX インベントリ用設定

ox_inventory

画像を ox_inventory/web/images/ にコピーし、アイテムを追加します。

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 には CreateUseableItem が存在しないため、リソース側で缶が使用されたことを認識させるために client.export の行を使用します。stack = false の設定が必須です。

qb-inventory, lj-inventory, ps-inventory

画像を qb-inventory/html/images/(lj および ps も同じフォルダを参照します)にコピーし、アイテムを 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.'
},

リソース側が CreateUseableItem を通じて使用ハンドラーを自動登録するため、qb-core/server/main.lua にコードを追加する必要はありません。

qs-inventory, codem-inventory, tgiann-inventory

これら3つのインベントリは、上記の qb-core と同じアイテム定義を使用します。異なるのは画像の保存先フォルダのみです:

インベントリ 画像フォルダ
qs-inventory qs-inventory/html/images/
codem-inventory codem-inventory/html/itemimages/
tgiann-inventory tgiann-inventory/html/images/

独自のリストを管理している tgiann ユーザーは、代わりにアイテムを tgiann-inventory/shared/items.lua に追加してください。

ESX

画像をインベントリの画像フォルダ(クラシック HUD の場合は esx_inventoryhud/html/img/items/、ox を使用する ESX 環境の場合は ox_inventory/web/images/)にコピーし、アイテムを追加します。

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

該当するカラムを持たない古い ESX スキーマの場合は、ショート形式を使用します:

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

リソース側で ESX.RegisterUsableItem が呼び出されるため、他の場所に使用可能アイテムの登録を追加する必要はありません。

テスト

code
/giveitem <id> jerrycan 1

その後、インベントリと bupa-fuel を再起動してください。

EV バッテリー

電気自動車の充電には、ジェリー缶と同様に定義された専用のアイテム ev_battery が使用されます。充電器によって販売・消費されるため、使用ハンドラーを必要としない通常のアイテムとして機能します。詳細は電気充電をご確認ください。