Documentação › Lua

Container e Inventory

Container mexe nas bags abertas no cliente. Inventory mexe nos slots de equipamento.

Container#

Container.new(índice) (ou Container(índice)) cria o objeto para o container aberto naquele índice (o primeiro aberto é 0). Os slots dentro dele começam em 0. Os métodos usam :. Métodos que mandam uma ação retornam true, ou nil quando o slot está vazio.

lua
-- Lista o que tem em cada bag aberta
for _, i in ipairs(Player.getContainers() or {}) do
  local bag = Container.new(i)
  print(bag:getName() .. ": " .. (bag:getItemCount() or 0) .. " itens")
end

Leitura#

MétodoRetorna
bag:getIndex()O índice usado para criar o objeto
bag:getName()Nome como aparece na janela (primeira letra maiúscula), ou nil
bag:getItems()Lista de {id, count, tier, slot} (tier sempre 0), ou nil com o container fechado
bag:getItemCount()Quantos slots ocupados, ou nil
bag:getItemCountById(itemId)Soma das quantidades desse item, ou nil
bag:getCapacity()Slots por página, ou nil
bag:getCurrentPage()Página atual (começa em 1), ou nil
bag:getTotalPages()Total de páginas (0 sem paginação), ou nil
lua
local bag = Container.new(0)
print(bag:getItemCountById(268) or 0, "mana potions na primeira bag")

bag:goToPage(página)#

→ true ou nil

Vai para a página (começa em 1). nil se o container não tem páginas.

lua
Container.new(0):goToPage(2)

bag:moveUp() e bag:close()#

Volta para o container de cima / fecha o container.

lua
Container.new(1):close()

bag:useItem(slot, novaJanela)#

→ true ou nil

Usa o item do slot. Numa bag, novaJanela = true abre em outra janela; sem ele, abre na mesma.

lua
Container.new(0):useItem(0, true)

bag:lookAt(slot)#

→ true ou nil

Dá look no item do slot.

lua
Container.new(0):lookAt(0)

bag:moveItemToInventory(slot, slotInventário, quantidade)#

→ true ou nil

Move o item para um slot de equipamento. Sem quantidade, move o stack todo (no máximo 100).

lua
Container.new(0):moveItemToInventory(3, Enums.InventorySlot.CONST_SLOT_AMMO)

bag:moveItemToGround(slot, quantidade, x, y, z)#

→ true ou nil

Joga o item num piso.

lua
local p = Player.getPosition()
Container.new(0):moveItemToGround(0, nil, p.x, p.y, p.z)

bag:moveItemToContainer(slot, quantidade, paraÍndice, paraSlot)#

→ true ou nil

Move o item para outro container aberto.

lua
Container.new(0):moveItemToContainer(0, nil, 1, 0)

bag:useItemWithContainerItem(slot, paraÍndice, paraSlot)#

→ true ou nil

Usa o item do slot em outro item de container.

lua
Container.new(0):useItemWithContainerItem(2, 1, 0)

Container.useItemOnAnotherItem(itemId, outroItemId)#

→ true ou nil

Função do módulo (com ., não :). Usa o item itemId como hotkey no primeiro outroItemId que achar nos containers abertos ou no equipamento. nil se não achar.

lua
-- usa o item 5908 no primeiro item 4010 que achar (troque pelos seus ids)
Container.useItemOnAnotherItem(5908, 4010)

bag:stowItem(slot, quantidade) e bag:stowAllItems(slot)#

→ true ou nil

Manda o item (ou o stack inteiro, com stowAllItems) para o supply stash.

lua
Container.new(0):stowAllItems(0)

bag:pickItemImbuement(slot)#

→ true ou nil

Abre a janela de imbuement com o item do slot.

lua
Container.new(0):pickItemImbuement(0)

Inventory#

Funções do módulo (com .). O slot é Enums.InventorySlot (1 a 10). Todas retornam true, ou nil com o slot vazio.

Inventory.useItem(slot)#

Usa o item equipado.

lua
Inventory.useItem(Enums.InventorySlot.CONST_SLOT_BACKPACK) -- abre a backpack

Inventory.lookAt(slot)#

Dá look no item equipado.

lua
Inventory.lookAt(Enums.InventorySlot.CONST_SLOT_RING)

Inventory.moveItemToGround(slot, quantidade, x, y, z)#

Joga o item equipado num piso.

lua
local p = Player.getPosition()
Inventory.moveItemToGround(Enums.InventorySlot.CONST_SLOT_AMMO, 10, p.x, p.y, p.z)

Inventory.moveItemToContainer(slot, quantidade, container, slotContainer)#

Move o item equipado para um container aberto.

lua
Inventory.moveItemToContainer(Enums.InventorySlot.CONST_SLOT_RING, nil, 0, 0)

Inventory.stowContainer(slot)#

Manda o conteúdo do container equipado no slot para o supply stash.

lua
Inventory.stowContainer(Enums.InventorySlot.CONST_SLOT_BACKPACK)

Inventory.pickItemImbuement(slot)#

Abre a janela de imbuement com o item equipado.

lua
Inventory.pickItemImbuement(Enums.InventorySlot.CONST_SLOT_ARMOR)