WoW API: EquipmentManager:UnpackLocation
Jump to navigation
Jump to search
← WoW API < EquipmentManager:UnpackLocation
- This function is implemented in Lua here <FrameXML/EquipmentManager.lua> <FrameXML/EquipmentManager.lua>.
Takes an integer location value as returned by GetEquipmentSetLocations and returns unpacked location info.
player, bank, bags, slot, bag = EquipmentManager_UnpackLocation(location)
Arguments
- location
- integer - This is the integer returned for a specific slot by GetEquipmentSetLocations
Returns
- player, bank, bags, slot, bag
- player
- boolean - Is the item currently available to the player (either equipped, or in the player's bags)
- bank
- boolean - Is the item in the bank (only true if the item is in the bank, and the player has the bank frame open)
- bags
- boolean - Is the item in a bag (if bank is also true, then it is in a bank bag)
- slot
- integer - Which slot number is the item in, may be an inventory slot or bag slot (see notes)
- bag
- integer - Which bag is the item in (nil if bags is false)
Notes
If player or bank is true and bags is false, then slot is an inventory location - i.e. the item is either equipped in the given inventory slot or in the given bank slot.
If bags is true, then bag is a bag number and slot is the slot number of that bag where the item is located.
Example
local array = {}; -- It is always a good idea to use a reusable array if calling GetEquipmentSetLocations multiple times. function FindMainHand(eqset) -- let eqset be a string equal to the name of a valid equipment set GetEquipmentSetLocations(eqset, array); local player, bank, bags, slot, bag = EquipmentManager_UnpackLocation(array[16]); -- 16 is the Main Hand weapon slot if (player and not bags) then print("The Main Hand is equipped in slot #", slot); elseif (player and bags) then print("The Main Hand is in bag #", bag, "in slot #", slot); elseif (bank and not bags) then print("The Main Hand is in bank slot #", slot); elseif (bank and bags) then print("The Main Hand is in bank bag #", bag, "in slot #", slot); else print("The Main Hand could not be found."); end end
|