WoW API: GetItemInfo

Revision as of 00:34, 9 December 2006 by WoWWiki>VelvetPaw

WoW API < GetItemInfo

Return information about a specific item.

args = GetItemInfo(itemID or "itemString" or "itemName" or "itemLink"); --Item Links allowed after patch 2.0

Parameters

Arguments

(itemId or "itemString" or "itemLink")
itemId
Integer - The numeric ID of the item. ie. 12345
"itemString"
String - The full item ID in string format, e.g. "item:12345:0:0:0".
itemName
String - The Name of the Item, ex: "Hearthstone".
"itemLink"
String - The itemLink, when Shift-Clicking items.

Returns

itemName, itemLink, itemRarity, itemLevel, itemMinLevel, itemType, itemSubType, itemStackCount, itemEquipLoc, invTexture
itemName
String - The name of the item.
itemLink
String - The item Link; you will see the clickable Link instead of the string. (String ex: "|cFFFFFFFF|Hitem:12345:0:0:0|h[Item Name]|h|r")
itemQuality
Integer - The quality of the item. The value is 0 to 6, which represents Poor to Artifact.
itemMinLeveL
Integer - The minimum level required to use the item, 0 being no level requirement.
itemType
String - The type of the item. Armor, Weapon, Quest, Key, etc.
itemSubType
String - The sub type of the item. Enchanting, Cloth, Sword, etc. See itemType.
itemStackCount
Integer - How many of the item per stack. ie. 20 for Runecloth, 1 for weapon, 100 for Alterac Ram Hide, etc.
itemEquipLoc
String - Where the item may be equipped, if it can. The string returned is also the name of a global string variable, i.e. for "INVTYPE_HEAD" there is a INVTYPE_HEAD variable containing a localized, displayable name of the location.
itemTexture
String - The name and path for the inventory icon texture for the item.

Example

local sName, sLink, iRarity, iLevel, iMinLevel, sType, sSubType, iStackCount = GetItemInfo(16846);
message(sName..","..iRarity..","..sType..","..iStackCount);

Result

Message box will pop-up with - "Giantstalker's Helmet,4,Armor,1".

Details

This function will ONLY retrieve data that is in your local cache.
If you have never seen the item that belongs to the Item ID or Item Link it will return nil.
All string returns (itemName, itemType, itemSubType) are localized. Prior to 1.9, itemEquipLoc was localized also.

Common usage

Note: It is no longer necessary to take the item ID out of the link to use it with GetItemInfo since patch 2.0

function GetItemInfoFromItemLink(link)
  local itemId = nil;
  if ( type(link) == "string" ) then
    _,_, itemId = string.find(link, "item:(%d+):");
    if(itemId) then
      return GetItemInfo(itemId);
    end
  end
end

local link = FunctionThatGetsItemLink(arg1, arg2);
local itemName, itemLink, itemQuality, itemLevel, itemType, itemSubType, itemCount, itemTexture 
  = GetItemInfoFromItemLink(link);

The above function will work with itemStrings as well as itemLinks.