Skip to Content

フック

イベントフックにより、サードパーティリソースはインベントリコードを直接修正することなく、新しい動作を定義することができます。

レジスタフック

exports.ox_inventory:registerHook(eventName, function(payload) end, options)
  • イベント名string
  • ペイロード:table
  • オプションは?table
    • プリント?boolean
      • イベントのトリガー時にコンソールに表示する。
    • itemFilter?{ [string]: true }
      • イベントは、セットのキーとして定義されたアイテムに対してのみトリガーされます。
    • inventoryFilter?string[]
      • イベントは、以下のいずれかに一致する在庫に対してのみトリガーされます。パターン を配列に入れる。
    • typeFilter?{ [string]: true }
      • イベントは、指定されたタイプ(例:‘player’、‘stash’)のいずれかを持つインベントリに対してのみトリガーされます。

戻る:

  • hookId:number

スワップアイテム

アイテムをスロットから別のスロットに移動するとき、またはアイテムを「与える」ときにトリガーされる。
帰国falseアクションをキャンセルし、インベントリの状態を戻すことができます。

  • ペイロード:table
    • ソースnumber
    • アクションだ:'move'または'stack'または'swap'または'give'
    • fromInventory:tableまたはstringまたはnumber
    • toInventory:tableまたはstringまたはnumber
    • fromType:string
    • toType:string
    • フロムスロットtable
    • toSlot?tableまたはnumber
    • カウントする:number

グローブボックスやトランクへの「水」の出し入れを禁止する。

local hookId = exports.ox_inventory:registerHook('swapItems', function(payload) print(json.encode(payload, { indent = true })) return false end, { print = true, itemFilter = { water = true, }, inventoryFilter = { '^glove[%w]+', '^trunk[%w]+', } })

オープン在庫

  • ペイロード:table
    • ソースnumber
    • inventoryId:numberまたはstring
    • inventoryType:string

プレイヤーがセカンダリー・インベントリを開こうとするとトリガーされる。
帰国falseアクションをキャンセルし、プレイヤーのインベントリを閉じたままにすることができます。

グローブボックスとトランクを無効にする。

local hookId = exports.ox_inventory:registerHook('openInventory', function(payload) print(json.encode(payload, { indent = true })) return false end, { print = true, inventoryFilter = { '^glove[%w]+', '^trunk[%w]+', } })

オープンショップ

  • ペイロード:table
    • ソースnumber
    • shopId:string
    • ショップタイプstring
    • のラベルが貼られている:string
    • スロットinteger
    • の項目がある:table
    • グループ?table<string, number>
    • コーデ?vector3
    • 距離?numberまたはfalse

プレイヤーがショップのインベントリを開こうとするとトリガーされる。
帰国falseその場合、そのアクションをキャンセルし、ショップの在庫をクローズしたままにすることができます。

一般店舗を無効にする。

local hookId = exports.ox_inventory:registerHook('openShop', function(payload) print(json.encode(payload, { indent = true })) return false end, { print = true, inventoryFilter = { '^General' } })

作成項目

  • ペイロード:table
    • inventoryId?numberまたはstring
    • というメタデータがある:table
    • アイテム:table
    • カウントする:number

アイテムの購入、AddItemの使用、またはインベントリデータの変換時に、アイテムが作成されたときにトリガーされます。
テーブルを返すことで、アイテムに与えられたメタデータを変更したり置き換えたりすることができる。

water “のラベルを “Mineral Water “に設定する。

local hookId = exports.ox_inventory:registerHook('createItem', function(payload) print(json.encode(payload, { indent = true })) local metadata = payload.metadata metadata.label = 'Mineral Water' return metadata end, { print = true, itemFilter = { water = true } })

購入商品

  • ペイロード:table
    • ソースnumber
    • ショップタイプstring
    • shopId:number
    • toInventory:number
    • toSlot:number
    • itemName:string
    • というメタデータがある:table
    • カウントする:number
    • 価格だ:number
    • TotalPrice:number
    • 通貨?string

アイテムが購入されそうになるとトリガーされ、戻ることができるfalseを使用して取引を阻止する。

ジェネラルストアでアイテムを購入できなくなる。

local hookId = exports.ox_inventory:registerHook('buyItem', function(payload) print(json.encode(payload, { indent = true, sort_keys = true })) return false end, { print = true, itemFilter = { water = true }, })

クラフトアイテム

  • ペイロード:table
    • ソースnumber
    • ベンチIDnumber|string
    • ベンチインデックスnumber
    • レシピtable
      • カウントする:number
      • 期間である:number
      • 食材だ:table<string, number>
      • と名付けた:string
      • スロットだ:number
      • 重量である:number
    • toInventory:number
    • toSlot:number

プレイヤーがロックピックを作れないようにする。

local hookId = exports.ox_inventory:registerHook('craftItem', function(payload) print(json.encode(payload, { indent = true, sort_keys = true })) return false end, { print = true, itemFilter = { lockpick = true }, })

削除フック

指定されたidで起動リソースによって作成されたフックを削除します。
idが指定されない場合は、リソースによって登録されたすべてのフックが削除される。

exports.ox_inventory:removeHooks(id)
  • id?number
Last updated on