WoW:API GetItemStats: Difference between revisions
(Creating the page.) |
|||
Line 16: | Line 16: | ||
== Example == | == Example == | ||
The key for each entry in the hashtable is the name of a constant in Interface\FrameXML\GlobalStrings.lua | The key for each entry in the hashtable is the name of a constant in Interface\FrameXML\GlobalStrings.lua. For example, an item that has 10 Stamina and no other stats would return <code>{ "ITEM_MOD_STAMINA_SHORT" = 10 }</code>. | ||
stats = GetItemStats(GetInventoryItemLink("player", 16)) | stats = GetItemStats(GetInventoryItemLink("player", 16)) | ||
Line 26: | Line 26: | ||
Your main hand item has 10 Stamina. | Your main hand item has 10 Stamina. | ||
The stat table contains the stats for the "base" version of an item, without any enchantments or gems. | The stat table contains the stats for the "base" version of an item, without any enchantments or gems. There is no way to get the stats for the gemmed and enchanted version of an item. | ||
== Details == | == Details == |
Revision as of 15:10, 24 January 2020
← WoW API < GetItemStats
Returns a table of stats for an item.
stats = GetItemStats(itemLink, [statTable])
Arguments
- itemLink
- String - An item link for which to get stats.
- statTable
- Table - An optional, empty table that will be filled with stats and returned. If this parameter is omitted, a new table is returned.
Returns
- stats
- Table - A table of item stats. If statTable was supplied, it will also be returned.
Example
The key for each entry in the hashtable is the name of a constant in Interface\FrameXML\GlobalStrings.lua. For example, an item that has 10 Stamina and no other stats would return { "ITEM_MOD_STAMINA_SHORT" = 10 }
.
stats = GetItemStats(GetInventoryItemLink("player", 16)) DEFAULT_CHAT_FRAME:AddMessage("Your main hand item has " .. tostring(stats["ITEM_MOD_STAMINA_SHORT"] or 0) .. " " .. ITEM_MOD_STAMINA_SHORT .. ".")
would return something like
Your main hand item has 10 Stamina.
The stat table contains the stats for the "base" version of an item, without any enchantments or gems. There is no way to get the stats for the gemmed and enchanted version of an item.
Details
If statTable is supplied, it should be empty. GetItemStats will add the stats of the item to this table without clearing it first. Stats left over from a previous call to GetItemStats will be overwritten if present on the new item. For example, if the table already contains 10 Strength and 20 Stamina and GetItemStats is called on an item with 30 Intellect and 30 Stamina, the new table will contain 10 Strength, 30 Intellect, and 30 Stamina, not 50 Stamina.
var stats = {} GetItemStats("item:41002", stats) table.wipe(stats) GetItemStats("item:41003", stats)