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)openNearbyInventory
Abre, quando possível, o inventário do jogador próximo.
O jogador que tenta abrir o inventário deve ter permissão para abrir o próprio inventário e, se não tiver trabalho de polícia, o jogador alvo deve estar gravemente ferido ou executando uma das animações de morte.
exports.ox_inventory:openNearbyInventory()closeInventory
Fecha o inventário do jogador.
exports.ox_inventory:closeInventory()Items
Retorna uma tabela com todos os itens registrados. O formato é o definido em data/items.lua (opens in a new tab).
Opcionalmente recebe o nome de um item, retornando apenas os dados daquele item (não é recomendado obter todos os dados).
exports.ox_inventory:Items(itemName)- itemName?:
string
O snippet abaixo pode ser usado em recursos de crafting como okokCrafting ou core_crafting, ao invés de recuperar informações do servidor.
local itemNames = {}
for item, data in pairs(exports.ox_inventory:Items()) do
itemNames[item] = data.label
enduseItem
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')Slots
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')GetItemCount
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[]?
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
endcanUseWeapons
Permite habilitar/desabilitar o uso de armas para um jogador.
LocalPlayer.state.canUseWeapons = false