WoW:API EquipmentManager UnpackLocation: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
(Created page)
 
mNo edit summary
Line 1: Line 1:
{{framexmlfunc|<FrameXML/EquipmentManager.lua>}}
{{framexmlfunc|FrameXML/EquipmentManager.lua}}
 
Takes an integer location value as returned by [[API_GetEquipmentSetLocations|GetEquipmentSetLocations]] and returns unpacked location info.
Takes an integer location value as returned by [[API_GetEquipmentSetLocations|GetEquipmentSetLocations]] and returns unpacked location info.
  player, bank, bags, slot, bag = EquipmentManager_UnpackLocation(location)
  player, bank, bags, slot, bag = EquipmentManager_UnpackLocation(location)


== Arguments ==
== Arguments ==
;location : integer - This is the integer returned for a specific slot by [[API_GetEquipmentSetLocations|GetEquipmentSetLocations]]
;location
: integer - This is the integer returned for a specific slot by [[API_GetEquipmentSetLocations|GetEquipmentSetLocations]]


== Returns ==
== Returns ==
:player, bank, bags, slot, bag
:player, bank, bags, slot, bag
;player : boolean - Is the item currently available to the player (either equipped, or in the player's bags)
;player
;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)
: boolean - Is the item currently available to the player (either equipped, or in the player's bags)
;bags : boolean - Is the item in a bag (if bank is also true, then it is in a bank bag)
;bank
;slot : integer - Which slot number is the item in, may be an [[InventorySlotId|inventory slot]] or bag slot (see notes)
: boolean - Is the item in the bank (only true if the item is in the bank, and the player has the bank frame open)
;bag : integer - Which [[BagId|bag]] is the item in (nil if bags is false)
;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 [[InventorySlotId|inventory slot]] or bag slot (see notes)
;bag
: integer - Which [[BagId|bag]] is the item in (nil if bags is false)





Revision as of 07:49, 22 September 2013

WoW API < EquipmentManager:UnpackLocation

"I" iconThis function is implemented in Lua here 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