WoW API: GetItemInfo

Revision as of 07:43, 11 August 2006 by WoWWiki>Mikk (Change type links.)

WoW API < GetItemInfo

Return information about a specific item.

args = GetItemInfo(itemID or "itemString");

Parameters

Arguments

(itemId or "itemString")
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"

Returns

itemName, itemString, itemQuality, itemMinLevel, itemType, itemSubType, itemStackCount, itemEquipLoc, itemTexture
itemName
String - The name of the item.
itemString
String - The item id in string format, e.g. "item:12345:0:0:0".
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, iQuality, iLevel, sType, sSubType, iCount = GetItemInfo(16846);
message(sName..","..iQuality..","..sType..","..iCount);

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

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.