クライアント
オープン在庫
渡されたデータを使用してインベントリを開きます。
exports.ox_inventory:openInventory(invType, data)- invType:
string'player''shop''stash''crafting''container''drop''glovebox''trunk''dumpster'
- のデータがある:
numberまたはstringまたはtable
例
Player
対象プレイヤーのインベントリを開く。
exports.ox_inventory:openInventory('player', 3)オープンニアバイインベントリー
可能であれば、近くのプレイヤーのインベントリを開く。
インベントリーを開けようとするプレイヤーは、自分のインベントリーを開けることができなければならない。 また、そのプレイヤーが警察の仕事を持っていない場合、対象のプレイヤーは致命傷を負っているか、死亡アニメをプレイしていなければならない。 デスアニメをプレイしていなければならない。
exports.ox_inventory:openNearbyInventory()クローズ在庫
プレイヤーのインベントリを閉じる。
exports.ox_inventory:closeInventory()アイテム
登録されている全項目の表を返す。フォーマットはdata/items.lua .
オプションで項目名を取り、その項目のデータのみを返す(すべてのデータを取得することは推奨されない)。
exports.ox_inventory:Items(itemName)- itemName?
string
以下のスニペットは、サーバーから情報を取得するのではなく、okokCrafting や core_crafting のようなクラフトリソースで使用することができます。
local itemNames = {}
for item, data in pairs(exports.ox_inventory:Items()) do
itemNames[item] = data.label
end使用項目
渡されたアイテムを使用し、コールバック関数をトリガーします。
ビルトインメソッド(サーバーチェック、プログレスバーなど)を利用するために、アイテムのコールバック時に呼び出す必要があります。
exports.ox_inventory:useItem(data, cb)- のデータがある:
table - cb?
function
exports('bandage', function(data, slot)
local playerPed = PlayerPedId()
local maxHealth = GetEntityMaxHealth(playerPed)
local health = GetEntityHealth(playerPed)
-- Does the ped need to heal?
if health < maxHealth then
-- Use the bandage
exports.ox_inventory:useItem(data, function(data)
-- The item has been used, so trigger the effects
if data then
SetEntityHealth(playerPed, math.min(maxHealth, math.floor(health + maxHealth / 16)))
lib.notify({description = 'You feel better already'})
end
end)
else
-- Don't use the item
lib.notify({type = 'error', description = 'You don\'t need a bandage right now'})
end
end)使用スロット
指定されたインベントリスロットのアイテムを使用する。
exports.ox_inventory:useSlot(slot)- スロットだ:
number
setStashTarget
渡されたインベントリをセカンダリインベントリキーで強制的に開く。マーカー内に立っているときにインベントリにアクセスできるようにするのに役立つ。
exports.ox_inventory:setStashTarget(id, owner)- id.K.である:
stringまたはnumber- 隠し場所。
- オーナー?
stringまたはnumber
例
exports.ox_inventory:setStashTarget('motel5', 'bobsmith')ゲット・カレント・ウェポン
現在装備している武器のデータを取得する。
exports.ox_inventory:getCurrentWeapon()イベントハンドラを使用して、現在の武器の変更をリッスンすることもできる。
AddEventHandler('ox_inventory:currentWeapon', function(currentWeapon)
CurrentWeapon = currentWeapon
end)- currentWeapon?
table- 弾薬?
string弾薬として使用されるアイテムの名前。 - ハッシュ
number - のラベルが貼られている:
string - 乱戦:
boolean - というメタデータがある:
table- 弾薬?
number武器に装填されている弾薬の量。 - コンポーネント?
table武器のコンポーネントを適用するために使用される、コンポーネントのアイテム名の配列。 - 耐久性は?
number - 登録されているか?
stringショップで武器を購入したプレイヤーの名前。 - シリアル?
string
- 弾薬?
- と名付けた:
stringアイテム名 - スロットだ:
number - 重量である:
number
- 弾薬?
表示メタデータ
ツールチップに表示するメタデータのプロパティを設定します。
exports.ox_inventory:displayMetadata(metadata, value)- というメタデータがある:
stringまたはtable<string, string>または{ [string], [string] }- metadata が文字列の場合は、表示したいメタデータ・プロパティで、値はないそれなら任意だ。
- キーと値のペアのテーブルで、キーはメタデータプロパティ、値はそのプロパティのラベルです。
- 文字列配列の配列である。
{ {'key', 'label' }, {'key2', 'label2' }で表示順を設定する。
- 価値?
string- 表示する文字列メタデータプロパティのラベル。
例
exports.ox_inventory:displayMetadata('mustard', 'Mustard')exports.ox_inventory:displayMetadata({
mustard = 'Mustard',
ketchup = 'Ketchup'
})giveItemToTarget
プレイヤーのインベントリにあるアイテムを他のプレイヤーに渡す。
exports.ox_inventory:giveItemToTarget(serverId, slotId, count)- serverId:
number- ターゲットプレーヤーの serverId。
- slotId:
number- 与えるアイテムの slotId。
- を数えるのか?
number- 贈る品物の金額。
nil,0または、スロット数以上の値でスタック全体を手放す。
- 贈る品物の金額。
ウェポンホイール
ウェポン・ホイールを有効にするが、インベントリ武器の使用を無効にする。
主に兵器化された乗り物に使われるが、“ミニゲーム “に使われることもある。
local exports.ox_inventory:weaponWheel(state)- の状態だ:
boolean
検索
最初の引数によって結果が変わります。
exports.ox_inventory:Search(search, item, metadata)- を検索する:
'slots'または'count''slots'アイテムが見つかったスロットのテーブルを返します。'count'は、プレイヤーのインベントリ内の指定されたアイテムの数を返します。複数のアイテムを検索する場合 itemName = count のキーと値のペアを返します。
- アイテム:
tableまたはstring- 単一の項目名、または項目名の配列。
- メタデータ?
tableまたはstring- メタデータが文字列として提供された場合、それはアイテムの
metadata.type財産である。
- メタデータが文字列として提供された場合、それはアイテムの
カウント
Single item
local count = exports.ox_inventory:Search('count', 'water')
print('You have '..count.. ' water')スロット
Single item
local water = exports.ox_inventory:Search('slots', 'water')
local count = 0
for _, v in pairs(water) do
print(v.slot..' contains '..v.count..' water '..json.encode(v.metadata))
count = count + v.count
end
print('You have '..count..' water')項目数
指定された名前とメタデータを持つ、プレイヤーのインベントリ内のすべてのアイテムの合計アイテム数を取得します。
exports.ox_inventory:GetItemCount(itemName, metadata, strict)- itemName:
string - メタデータ?
table - 厳しい?
boolean- メタデータ・プロパティに厳密にマッチし、そうでなければ部分マッチングを使用する。
戻る:
- カウントする:
number
GetPlayerItems
プレイヤーのインベントリにあるすべてのアイテムを取得する。
exports.ox_inventory:GetPlayerItems()戻る:
- の項目がある:
table
GetPlayerWeight
プレイヤーのインベントリにあるすべてのアイテムの総重量を取得する。
exports.ox_inventory:GetPlayerWeight()戻る:
- totalWeight:
number
GetPlayerMaxWeight
プレイヤーのインベントリの最大持ち運び重量を取得する。
exports.ox_inventory:GetPlayerMaxWeight()戻る:
- 最大重量:
number
GetSlotIdWithItem
与えられた名前とメタデータに一致するプレイヤーのインベントリ内のスロット ID を取得します。
exports.ox_inventory:GetSlotIdWithItem(itemName, metadata, strict)- itemName:
string - メタデータ?
table - 厳しい?
boolean- メタデータ・プロパティに厳密にマッチし、そうでなければ部分マッチングを使用する。
戻る:
- slotId:
number?
GetSlotsIdWithItem
与えられた名前とメタデータに一致するプレイヤーのインベントリ内のすべてのスロット ID を取得します。
exports.ox_inventory:GetSlotIdsWithItem(itemName, metadata, strict)- itemName:
string - メタデータ?
table - 厳しい?
boolean- メタデータ・プロパティに厳密にマッチし、そうでなければ部分マッチングを使用する。
戻る:
- slotIds:
number[]?
スロット・ウィズ・アイテム
与えられた名前とメタデータに一致するプレーヤーのインベントリのスロットのデータを取得します。
exports.ox_inventory:GetSlotWithItem(itemName, metadata, strict)- itemName:
string - メタデータ?
table - 厳しい?
boolean- メタデータ・プロパティに厳密にマッチし、そうでなければ部分マッチングを使用する。
戻る:
- slotData:
table?
項目で GetSlotsWithItem
与えられた名前とメタデータに一致するプレーヤーのインベントリ内のすべてのスロットのデータを取得します。
exports.ox_inventory:GetSlotsWithItem(itemName, metadata, strict)- itemName:
string - メタデータ?
table - 厳しい?
boolean- メタデータ・プロパティに厳密にマッチし、そうでなければ部分マッチングを使用する。
戻る:
- スロットデータ
table[]?
項目通知を抑制する
NUI アイテムの通知を有効または無効にします。
exports.ox_inventory:suppressItemNotifications(value)- 値である:
boolean
ステートバッグ
invBusy
プレイヤーのインベントリが現在アクションを実行中(アイテムを使用中)かどうかを返します。
true を設定すると、インベントリを開かないようにできる。
- invBusy:
boolean
local invBusy = LocalPlayer.state.invBusy
if invBusy then
-- Do stuff when busy
else
-- Do stuff when not busy
endインベントリーを開かない
LocalPlayer.state.invBusy = trueinv ホットキー
プレイヤーのインベントリホットキーへのアクセスを有効/無効にします。
- invHotkeys:
boolean
LocalPlayer.state.invHotkeys = false開く
プレイヤーのインベントリが現在開いているかどうかを返します。
- invOpen:
boolean
local invOpen = LocalPlayer.state.invOpen
if invOpen then
-- Do stuff when open
else
-- Do stuff when closed
end武器の使用
選手の武器の使用を有効/無効にします。
LocalPlayer.state.canUseWeapons = false