mcpField
O
ox-inventory

ox-inventory

github.com/germanfndez開発1962 回インストール2 週間前に更新
リポジトリ

ox-inventory について

ox-inventory は、ox_inventory を使う開発者向けのスロット制インベントリスキルです。ox_core、esx、qbx_core に対応し、アイテム操作やストレージ設定、フック、移行をサーバーとクライアントの役割を区別して案内します。

主な機能

  1. 01サーバー側でのアイテム付与・削除・集計
  2. 02スタッシュとショップの登録ガイド
  3. 03インベントリ操作用フック
  4. 04アイテム定義とメタデータのルール
  5. 05qb-inventory と esx からの移行ガイド

活用シーン

  1. 01アイテム報酬や取引の実装
  2. 02永続・一時スタッシュの作成
  3. 03アイテム移動や購入への対応
  4. 04既存インベントリシステムの移行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/germanfndez/fiveai-skills --skill ox-inventory

インストール後、Claude Code で/ox-inventoryを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

rules/
client-exports.md
hooks.md
items.md
server-exports.md
stashes.md

詳細

ox_inventory

重量、メタデータ、スタッシュ、ショップ、フックに対応したスロットベースのインベントリです。ox_core、esx、qbx_core をサポートしています。

有効化の条件

ユーザーがアイテムの付与、削除、個数の取得や確認、スタッシュまたはショップの登録、新しいアイテムの定義、インベントリ操作への反応、あるいは qb-inventory または esx inventory からの移行を求めた場合に、このスキルを読み込みます。

厳守事項

  • すべての呼び出しは exports.ox_inventory:<fn>(...) を通じて行ってください。グローバルテーブルはありません。
  • アイテムの付与、削除、個数の取得はサーバー側のみで行ってください。クライアントのエクスポートは表示や UI の判断に使用します。
  • AddItem は失敗することがあります。必ず戻り値を確認してください。プレイヤーの重量が上限を超えているか、空きスロットがない可能性があります。
  • 支払いを受け取ったり、交換するアイテムを削除したりする前に、必ず CanCarryItem を確認してください。後で確認してはいけません。
  • アイテム名を捏造してはいけません。アイテムは data/items.lua に存在する必要があります。存在しない場合、エラーなしで失敗します。
  • inv はプレイヤーのソース、識別子、またはスタッシュ ID です。誤った値を渡すと、エラーではなく nil が返ります。
  • メタデータが異なるアイテムはスタックされません。変動するデータをメタデータに含めないでください。

判断の基準

目的呼び出し
アイテムを付与するAddItem(inv, item, count, metadata, slot)
アイテムを削除するRemoveItem(inv, item, count, metadata, slot)
先に空きがあるか確認するCanCarryItem(inv, item, count, metadata)
プレイヤーが所持している個数を確認するGetItemCount(inv, item, metadata, strict)
1 つのスロットを読み取るGetSlot(inv, slot)
複数のスロットからアイテムを検索するSearch(inv, 'slots'|'count', item, metadata)
永続ストレージRegisterStash(...)
一時的なストレージCreateTemporaryStash(properties)
プレイヤーの操作に反応するregisterHook(event, cb, options)

実行手順

  1. ox_inventory が ox_lib およびフレームワークのコアより後に起動することを確認します。
  2. 実行する側を決めます。変更処理はサーバー側、表示処理はクライアント側です。
  3. 取引や報酬の場合は、呼び出しを次の順序にします:CanCarryItem -> 支払いを受け取る -> AddItem -> 戻り値を確認する。
  4. 新しいアイテムを参照する前に、data/items.lua で定義します。rules/items.md を読んでください。
  5. アイテムの移動、インベントリを開く操作、購入への反応には、ポーリングではなくフックを使用します。

出力条件

サーバーとクライアントの区別を明示し、exports.ox_inventory を使用した実行可能な Lua コードを返します。新しいアイテムを追加する場合は、data/items.lua のエントリも含めてください。

参考資料

  • rules/server-exports.md — サーバー側のアイテムおよびインベントリ関数。
  • rules/client-exports.md — 重量、現在の武器、インベントリを開く操作。
  • rules/items.md — data/items.lua でのアイテムの定義。
  • rules/stashes.md — スタッシュ、ショップ、一時ストレージ。
  • rules/hooks.md — registerHook と操作のキャンセル。

上流ドキュメント:https://overextended.dev/ox_inventory

コメント