Cliente
openInventory
Abre um inventário usando os dados fornecidos.
exports.ox_inventory:openInventory(invType, data)- invType:
string'player''shop''stash''crafting''container''drop''glovebox''trunk''dumpster'
- data:
numberorstringortable
Exemplos
Abre o inventário do jogador alvo.
exports.ox_inventory:openInventory('player', 3)Abre a quarta localização "General Store" location.
exports.ox_inventory:openInventory('shop', { type = 'General', id = 4 })Abre o primeiro stash em data/stashes.
exports.ox_inventory:openInventory('stash', 1)Abre um stash customizado (criado no servidor com RegisterStash).
exports.ox_inventory:openInventory('stash', 'society_police')Abre um stash com um proprietário específico.
exports.ox_inventory:openInventory('stash', { id = 'police_locker', owner = 'license:xxxxxxxx' })Abre a segunda localização da receita debug_crafting.
exports.ox_inventory:openInventory('crafting', { id = 'debug_crafting', id = 2 })Abre o armário de evidências número 1.
exports.ox_inventory:openInventory('policeevidence', 1)Abre um diálogo para selecionar o armário de evidências.
exports.ox_inventory:openInventory('policeevidence')Abre o glovebox de um veículo.
local netid = NetworkGetNetworkIdFromEntity(cache.vehicle)
exports.ox_inventory:openInventory('glovebox', { netid = netid })Abre o trunk de um veículo.
local netid = NetworkGetNetworkIdFromEntity(cache.vehicle)
exports.ox_inventory:openInventory('trunk', { netid = netid })useItem
Usa o item passado e em seguida dispara a função callback. Deve ser chamado durante callbacks de item para utilizar os métodos internos (verificações no servidor, barra de progresso, etc.).
exports.ox_inventory:useItem(data, cb)- data:
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)useSlot
Usa o item no slot de inventário especificado.
exports.ox_inventory:useSlot(slot)- slot:
number
setStashTarget
Força a tecla de inventário secundário a abrir o inventário informado. Pode ser útil para permitir acesso ao inventário enquanto o jogador está dentro de um marcador.
exports.ox_inventory:setStashTarget(id, owner)- id:
stringornumber- ID do stash.
- owner?:
stringornumber
Exemplo
exports.ox_inventory:setStashTarget('motel5', 'bobsmith')getCurrentWeapon
Retorna dados da arma atualmente equipada.
exports.ox_inventory:getCurrentWeapon()Também é possível escutar mudanças na arma atual usando um event handler.
AddEventHandler('ox_inventory:currentWeapon', function(currentWeapon)
CurrentWeapon = currentWeapon
end)- currentWeapon?:
table- ammo?:
stringNome do item usado como munição. - hash:
number - label:
string - melee:
boolean - metadata:
table- ammo?:
numberQuantidade de munição carregada na arma. - components?:
tableArray de nomes de itens componentes, usado para aplicar componentes de arma. - durability?:
number - registered?:
stringNome do jogador que comprou a arma em uma loja. - serial?:
string
- ammo?:
- name:
stringNome do item. - slot:
number - weight:
number
- ammo?:
displayMetadata
Define uma propriedade de metadado para exibir no tooltip.
exports.ox_inventory:displayMetadata(metadata, value)- metadata:
stringortable<string, string>or{ [string], [string] }- Se
metadatafor uma string, é a propriedade de metadado que você quer exibir; entãovaluenão é opcional. - Pode ser uma tabela de pares chave-valor, onde a chave é a propriedade de metadado e o valor é o rótulo a ser exibido.
- Pode ser um array de arrays de string, por exemplo
{ {'key', 'label' }, {'key2', 'label2' }para definir a ordem de exibição.
- Se
- value?:
string- Rótulo para a propriedade de metadado do tipo string a ser exibida.
Exemplo
exports.ox_inventory:displayMetadata('mustard', 'Mustard')exports.ox_inventory:displayMetadata({
mustard = 'Mustard',
ketchup = 'Ketchup'
})giveItemToTarget
Transfere um item do inventário do jogador para outro jogador.
exports.ox_inventory:giveItemToTarget(serverId, slotId, count)- serverId:
number- O serverId do jogador alvo.
- slotId:
number- O slotId do item a ser transferido.
- count?:
number- Quantidade do item a ser transferida;
nil,0ou valor maior que a contagem do slot enviará a pilha inteira.
- Quantidade do item a ser transferida;
weaponWheel
Habilita a roda de armas (weapon wheel), mas desabilita o uso de armas via inventário.
Principalmente usado para veículos armados, embora possa ser chamado para "minigames".
local exports.ox_inventory:weaponWheel(state)- state:
boolean
Search
Procura no inventário por um item ou lista de itens, com o resultado variando de acordo com o primeiro argumento.
exports.ox_inventory:Search(search, item, metadata)- search:
'slots'or'count''slots'retorna uma tabela de slots onde o item foi encontrado.'count'retorna a contagem do item especificado no inventário do jogador. Ao buscar múltiplos itens, retorna pares chave-valor itemName = count.
- item:
tableorstring- Pode ser o nome de um único item ou um array de nomes de itens.
- metadata?:
tableorstring- Se
metadatafor uma string, a busca será feita na propriedademetadata.typedo item.
- Se
Count
local count = exports.ox_inventory:Search('count', 'water')
print('You have '..count.. ' water')local inventory = exports.ox_inventory:Search('count', {'meat', 'skin'}, {grade="1"})
if inventory then
for name, count in pairs(inventory) do
print('You have '..count..' '..name)
end
endSlots
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')local items = exports.ox_inventory:Search('slots', {'meat', 'skin'}, 'deer')
if items then
for name, data in pairs(items) do
local count = 0
for _, v in pairs(data) do
if v.slot then
print(v.slot..' contains '..v.count..' '..name..' '..json.encode(v.metadata))
count = count + v.count
end
end
print('You have '..count..' '..name)
end
endGetItemCount
Obtém a contagem total de itens no inventário do jogador com o nome e metadados fornecidos.
exports.ox_inventory:GetItemCount(itemName, metadata, strict)- itemName:
string - metadata?:
table - strict?:
boolean- Faz correspondência estrita das propriedades de metadados; caso contrário, usa correspondência parcial.
Retorno:
- count:
number
GetPlayerItems
Obtém todos os itens no inventário do jogador.
exports.ox_inventory:GetPlayerItems()Retorno:
- items:
table
GetPlayerWeight
Obtém o peso total de todos os itens no inventário do jogador.
exports.ox_inventory:GetPlayerWeight()Retorno:
- totalWeight:
number
GetPlayerMaxWeight
Obtém o peso máximo que o inventário do jogador pode carregar.
exports.ox_inventory:GetPlayerMaxWeight()Retorno:
- maxWeight:
number
GetSlotIdWithItem
Obtém um slot no inventário do jogador que corresponda ao nome e metadados fornecidos.
exports.ox_inventory:GetSlotIdWithItem(itemName, metadata, strict)- itemName:
string - metadata?:
table - strict?:
boolean- Faz correspondência estrita das propriedades de metadados; caso contrário, usa correspondência parcial.
Retorno:
- slotId:
number?
GetSlotsIdWithItem
Obtém todos os IDs de slots no inventário do jogador que correspondam ao nome e metadados fornecidos.
exports.ox_inventory:GetSlotIdsWithItem(itemName, metadata, strict)- itemName:
string - metadata?:
table - strict?:
boolean- Faz correspondência estrita das propriedades de metadados; caso contrário, usa correspondência parcial.
Retorno:
- slotIds:
number[]?
GetSlotWithItem
Obtém os dados de um slot no inventário do jogador que corresponda ao nome e metadados fornecidos.
exports.ox_inventory:GetSlotWithItem(itemName, metadata, strict)- itemName:
string - metadata?:
table - strict?:
boolean- Faz correspondência estrita das propriedades de metadados; caso contrário, usa correspondência parcial.
Retorno:
- slotData:
table?
GetSlotsWithItem
Obtém os dados de todos os slots no inventário do jogador que correspondam ao nome e metadados fornecidos.
exports.ox_inventory:GetSlotsWithItem(itemName, metadata, strict)- itemName:
string - metadata?:
table - strict?:
boolean- Faz correspondência estrita das propriedades de metadados; caso contrário, usa correspondência parcial.
Retorno:
- slotsData:
table[]?
supressItemNotifications
Permite habilitar ou desabilitar as notificações de item do NUI.
exports.ox_inventory:suppressItemNotifications(value)- value:
boolean
setGetPlayerNameMethod
Permite definir uma função personalizada para exibir o nome do jogador ao entregar com a playerlist.
exports.ox_inventory:setGetPlayerNameMethod(function (serverId --[[ @as number ]])
local playerName = GetPlayerName(serverID)
return ('[%d] %s'):format(serverID, playerName)
end)Statebags
invBusy
Retorna se o inventário do jogador está executando uma ação no momento (por exemplo, usando um item).
Pode ser definido como true para desabilitar a abertura do inventário.
- invBusy:
boolean
local invBusy = LocalPlayer.state.invBusy
if invBusy then
-- Do stuff when busy
else
-- Do stuff when not busy
endDesabilitar a abertura do inventário
LocalPlayer.state.invBusy = trueinvHotkeys
Permite habilitar/desabilitar o acesso do jogador a hotkeys do inventário.
- invHotkeys:
boolean
LocalPlayer.state.invHotkeys = falseinvOpen
Retorna se o inventário do jogador está atualmente aberto ou não.
- invOpen:
boolean
local invOpen = LocalPlayer.state.invOpen
if invOpen then
-- Do stuff when open
else
-- Do stuff when closed
endinstance
É usado para definir se um jogador está em uma instance específica (ou seja, property, arena) onde os drops devem ser isolados.
- instance:
string|number|nil
LocalPlayer.state.instance = "property_1"canUseWeapons
Permite habilitar/desabilitar o uso de armas para um jogador.
LocalPlayer.state.canUseWeapons = false