📘

2025年8月版|ox_inventory導入方法 (QB-Core) #3

に公開

2025年8月版|ox_inventory導入方法(QB-Core)

この記事では、FiveMのQB-Coreフレームワークにox_inventoryを導入する方法を解説します。

前回の記事はこちら


ox_inventoryとは?

ox_inventoryは、FiveMで使用されるインベントリシステムの一つで、カスタマイズ性パフォーマンスに優れています。
デフォルトのQB-Coreインベントリと置き換えることで、より直感的で使いやすいインターフェースを提供します。


必要な準備

  1. ox_inventoryリソースのダウンロード
    ox_inventory公式GitHubからQB-Core互換バージョン(2.41.0)をダウンロードします。

  2. 依存リソースの確認


導入手順

1. サーバーを起動

サーバーファイルの一番上のディレクトリにあるstart_7290_default.batをダブルクリックで起動します。


2. qb-inventory, qb-shops, qb-weaponsの削除

resources/[qb]内にある下記フォルダを削除してください。

  • qb-inventory
  • qb-shops
  • qb-weapons

3. ダウンロードしたファイルの解凍

ox_inventory.zipをダウンロードしたら、解凍します。
Windows標準の機能で解凍可能です。


4. リソースの配置

解凍したox_inventoryフォルダをresourcesディレクトリに配置します。

/resources
  ├── [qb-core]
  ├── ox_inventory
  ├── ox_lib

5. server.cfgの編集

ensure ox_lib
ensure qb-core
exec @ox_inventory/config.cfg
ensure ox_inventory

これでサーバー起動時にox_inventoryが読み込まれます。


6. configファイルの追加・設定

  1. 公式ドキュメントの「5 Config」からConfigファイルのテンプレートをコピーします。


Configファイルのテンプレートをコピー

  1. ox_inventoryフォルダ内にconfig.cfgというファイルを新規作成し、コピーした内容を貼り付けます。


config.cfgを新規作成し、内容を貼り付け

  1. 貼り付けたコード内のこの部分esxになっているので、qbに変更してください。


esxqbに変更


7. データベースの追加

以下のSQLをHeidiSQLなどで実行し、データベースにテーブルを追加します。

CREATE TABLE IF NOT EXISTS `gloveboxitems` (
  `id` int NOT NULL AUTO_INCREMENT,
  `plate` varchar(255) DEFAULT NULL,
  `items` json DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `plate` (`plate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `stashitems` (
  `id` int NOT NULL AUTO_INCREMENT,
  `stash` varchar(255) DEFAULT NULL,
  `items` json DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `stash` (`stash`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE IF NOT EXISTS `trunkitems` (
  `id` int NOT NULL AUTO_INCREMENT,
  `plate` varchar(255) DEFAULT NULL,
  `items` json DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `plate` (`plate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

今回はHeidiSQLを使用しますので、他のツールの場合は操作方法が異なることがありますのでご了承ください。

HeidiSQLでの操作手順(クリックで展開)
  1. 画像の黄色枠の「qbcoreframework_OOOOOO」を選択します。
  2. 緑枠の「クエリー」をクリックすると、エディター画面が開きます。
  3. 上記のSQLコードをエディターに貼り付けます。
  4. 赤枠の「▶」ボタンをクリックして実行しましょう。


HeidiSQLでクエリを実行する画面

実行後、下部に「クエリは正常に実行されました」等のメッセージが表示されれば成功です。
うまくいかない場合は、記事末尾の連絡先までご相談ください。


成功時のメッセージ例


8. コード修正

ox_inventory/modules/bridge/qb/server.lua をテキストエディタなどで開きます。


server.UseItem関数を書き換える(99行目)

元々のコード

server.lua
function server.UseItem(source, itemName, data)
    local cb = QBCore.Functions.CanUseItem(itemName)
    return cb and cb(source, data)
end 

下記のように修正してください。

server.lua
function server.UseItem(source, itemName, data)
    local itemData = QBCore.Functions.CanUseItem(itemName)
    if type(itemData) == "table" and itemData.func then
        itemData.func(source, data)
    end
end 

9. サーバーの再起動

txAdminからサーバーを再起動しましょう。


txAdminで再起動


10. インベントリーのデータ移行

txAdminLive Consoleにて

convertinventory qb

と入力し、緑枠のようにログが流れたらqbからoxへの移行完了です。


データ移行のログ例


11. 動作確認

サーバーに接続し、F2キー(デフォルト)などでインベントリが正しく表示されるか確認しましょう。
問題がある場合は、config.cfgの設定などを再確認してください。


まとめ

これでox_inventoryの導入は完了です、お疲れ様でした。


エラーについて

console
[ script:ox_inventory] SCRIPT ERROR: UI has not been built, refer to the documentation or download a release build.
[ script:ox_inventory]         https://overextended.dev/ox_inventory
[resources:ox_invento] Warning: could not find file `web/build/index.html` (defined in fxmanifest.lua:35)
[resources:ox_invento] Warning: could not find file `web/build/assets/*.js` (defined in fxmanifest.lua:35)
[resources:ox_invento] Warning: could not find file `web/build/assets/*.css` (defined in fxmanifest.lua:35)

このエラーコードが出た場合は
UIがないためエラーになってるのでもう一度ダウンロードしなおしてみてください。


参考資料

参考動画


Discussion