View Single Post
05-30-20, 06:19 AM   #2
Ketho
A Pyroguard Emberseer
 
Ketho's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 1,026
C_AuctionHouse.GetItemSearchResultInfo() returns the item link from a search result, e.g. when shift-clicking an item in the list

This (ugly example with timers) shows how you can get an item link from searching by item ID and level, while standing at the auction house
Lua Code:
  1. function PrintAuctionItemLink(itemID, itemLevel, itemSuffix)
  2.     if AuctionHouseFrame and AuctionHouseFrame:IsShown() then
  3.         local itemKey = C_AuctionHouse.MakeItemKey(itemID, itemLevel, itemSuffix)
  4.         C_AuctionHouse.SearchForItemKeys({itemKey}, {})
  5.  
  6.         C_Timer.After(0.5, function()
  7.             local firstResult = C_AuctionHouse.GetBrowseResults()[1]
  8.             AuctionHouseFrame:SelectBrowseResult(firstResult)
  9.         end)
  10.  
  11.         C_Timer.After(1, function()
  12.             local info = C_AuctionHouse.GetItemSearchResultInfo(itemKey, 1)
  13.             print(info.itemLink, (info.itemLink:gsub("|", "||")))
  14.         end)
  15.     end
  16. end
Code:
/run PrintAuctionItemLink(4711, 54) -- item level 54
> "[Glimmering Cloak]"
> "|cff1eff00|Hitem:4711::::::::120:258:512:53:1:4277:120:::|h[Glimmering Cloak]|h|r"
Code:
/run PrintAuctionItemLink(55582, 116) -- Hiri'watha Greaves, item level 116

As to how you would generate an item link straight from an item ID and level, I have no idea
There is a lot of magic involved, especially with item suffixes

Last edited by Ketho : 05-30-20 at 06:56 AM.
  Reply With Quote