Open main menu
Home
Random
Log in
Settings
About AddOn Studio
Disclaimers
AddOn Studio
Search
Editing
WoW:USERAPI GetSellValue
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{outdated|reason=The API now provides the sell value as part of [[API GetItemInfo]]()}} {{userapi}} The intent of this page is to provide a simple, consistent API for addons to query the vendor sell value of an item without the need to individually support every sell value addon in existence. All sell value addons are asked to provide the following global function: sellToVendorPrice = GetSellValue(item); == Requirements == * 'item' must take the same values [[API GetItemInfo|GetItemInfo]] does * Must return an int, or nil if unknown price. Only return 0 if you know the item cannot be sold to vendor. == Recommended == Check for existence of the global before you define it and hook it if present. This allows for other sell value addons to provide prices that are not known by your addon. == Example Code == The following code snippets illustrate how to create a hook capable of accepting the same input values as GetItemInfo. === Tekkub's version === This code will ensure that YourItemPriceFunc is passed an integer itemid, or the hooked function is called if present and your function does not return a value. It is optimized to take advantage of tail calls and avoid useless hook calls. local origGetSellValue = GetSellValue function GetSellValue(item) local id = type(item) == "number" and item or type(item) == "string" and tonumber(item:match("item:(%d+)")) if not id and type(item) == "string" then -- Convert item name to itemid, only works if the player has the item in his bags local _, link = GetItemInfo(item) id = link and tonumber(link:match("item:(%d+)")) end return id and (YourItemPriceFunc(id) or origGetSellValue and origGetSellValue(id)) end === Polarina's version === Functionally this is the same as Tekkub's version. Just slightly slower due to the extra select() call. '''local''' origGetSellValue = GetSellValue '''function''' GetSellValue(item) '''local''' id, sellval '''if''' type(item) == "number" '''then''' id = item <b>else </b>-- Acquire the second argument from GetItemInfo.<b> local</b> link = select(2, GetItemInfo(item)) -- Check if 'link' is set before using it. id = link '''and''' tonumber(link:match("item:(%d+)")) <b>end if</b> id '''then''' sellval = -- Retrieve the price here...<b> end </b>-- If 'sellval' is not set, fall back to origGetSellValue.<b> return</b> sellval '''or''' (id '''and''' origGetSellValue '''and''' origGetSellValue(id)) '''end''' == Addons == This function is implemented by the following addons: * [[Informant]] of the [[Auctioneer (AddOn)|Auctioneer]] [[AddOns]] Package by [http://auctioneeraddon.com/ The Auctioneer AddOns Team]. * [[User:Rowaasr13#My_addons|ItemDataCache]] (v1.11 and higher). * [http://www.wowace.com/wiki/ItemPriceTooltip ItemPriceTooltip] by [[User:Bam|Bam]]. * [http://www.wowinterface.com/downloads/info7035-SellFish.html SellFish] by [[User:Tuller|Tuller]]. * [http://www.wowinterface.com/downloads/info7493-Valuation.html Valuation] by [[User:Polarina|Polarina]]. * [http://auctionator-addon.com Auctionator] by [[User:Zirco|Zirco]]. * [http://wow.curse.com/downloads/wow-addons/details/auctionlite.aspx AuctionLite] by Merial. Addons using this function: * [[VendorBait]] by [[User:Tekkub|Tekkub]] * FuBar_GarbageFu See also: * [[GetAuctionBuyout]]
Summary:
Please note that all contributions to AddOn Studio are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see
AddOn Studio Wiki:Copyrights
for details).
Submissions must be written by you, or copied from a public domain or similar free resource (see
AddOn Studio Wiki:Copyrights
for details).
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Ambox
(
edit
)
Template:Apinav
(
edit
)
Template:Editlink
(
edit
)
Template:Notebox
(
edit
)
Template:Outdated
(
edit
)
Template:Userapi
(
edit
)