View Single Post
02-11-24, 05:20 AM   #1
Hubb777
A Flamescale Wyrmkin
 
Hubb777's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2024
Posts: 122
How do I add 2 merchants?

Code:
local addonName, addon = ...
local frameName = "HUBB_BUY"
if not _G[frameName] then
    _G[frameName] = CreateFrame("Frame")
    _G[frameName]:RegisterEvent("MERCHANT_SHOW")
end

local function Set(list)
    local set = {}
    for _, l in ipairs(list) do set[l] = true end
    return set
end

local vendors = {
 [Tuukanit] = {Distilled Fish Juice, Improvised Sushi},
 [Elder Nappa] = {Distilled Fish Juice, Improvised Sushi}
  }

local function p(msg)
    print("[HUBB_AutoBuy] " .. msg)
end

local frame = _G[frameName]
frame:SetScript("OnEvent", function(self, event, ...)
    if IsShiftKeyDown() then return end
    
    local targetName = UnitName("target")
    if not targetName then return end
    local vendor = vendors[targetName]
    if not vendor then return end

    local numItems = GetMerchantNumItems()
    for i = numItems, 1, -1 do
        local name = GetMerchantItemInfo(i)
        if vendor[name] then
            p("Buying: " .. name)
            pcall(function() BuyMerchantItem(i) end)
        end
    end
    
    local count = 0
    frame:SetScript("OnUpdate", function(self)
        count = count + 1
        if count > 10 then
            CloseMerchant()
            frame:SetScript("OnUpdate", nil)
        end
    end)
end)
Code:
local vendors = {
 [Tuukanit] = {Distilled Fish Juice, Improvised Sushi},
 [Elder Nappa] = {Distilled Fish Juice, Improvised Sushi}
  }
It's about this piece. How to add 2 or more merchants. I don't understand, nothing works =(
  Reply With Quote