help backporting daftAuction

Work with other players to create your own special custom interfaces and macros.
Post Reply
User avatar
SomeGuy
Posts: 5
Joined: 04 Feb 2023 08:11

help backporting daftAuction

#1 » Post by SomeGuy » 04 Feb 2023 08:32

To be honest, I cut out a lot of the original code and some of it I probably needs to be re-added but I don't think it really relates to the problem I'm having with the addon.

Sometimes querying the auction house yields no results when there should be results. (when using the addon)
A while back the addon didn't function right when trying it with Netherweave Cloth.
I could even use print(selectedItem) and it would print Netherweave Cloth but it wouldn't Query it.
Actually, I think it may have said no results. I could query it manually though.

Code:
Spoiler:
local addonName, addonTable = ... ;
local addon = CreateFrame("Frame");

addon:RegisterEvent("AUCTION_HOUSE_SHOW");
addon:RegisterEvent("AUCTION_ITEM_LIST_UPDATE");

local selectedItem;
local currentPage = 0;
local myBuyoutPrice, myStartPrice;

addon:SetScript("OnEvent", function(self, event)

if event == "AUCTION_HOUSE_SHOW" then

AuctionsItemButton:HookScript("OnEvent", function(self, event)

if event=="NEW_AUCTION_UPDATE" then -- user placed an item into auction item box
self:SetScript("OnUpdate", nil);
myBuyoutPrice = nil;
myStartPrice = nil;
currentPage = 0;
selectedItem = nil;
selectedItem, _, count, _, _, _ = GetAuctionSellItemInfo();
local canQuery = CanSendAuctionQuery();

if canQuery and selectedItem then -- query auction house based on item name
ResetCursor();
QueryAuctionItems(selectedItem);
end;
end;
end);

elseif event == "AUCTION_ITEM_LIST_UPDATE" then -- the auction list was updated or sorted

if (selectedItem ~= nil) then -- an item was placed in the auction item box
local batch, totalAuctions = GetNumAuctionItems("list");

local currentPageCount = floor(totalAuctions/50);

for i=1, batch do -- SCAN CURRENT PAGE
local postedItem, _, count, _, _, _, minBid, _, buyoutPrice, _, _, owner, _ = GetAuctionItemInfo("list",i);

if postedItem == selectedItem and buyoutPrice ~= nil then -- selected item matches the one found on auction list

if myBuyoutPrice == nil and myStartPrice == nil then
myBuyoutPrice = (buyoutPrice/count) * addonTable.UNDERCUT;
myStartPrice = (minBid/count) * addonTable.UNDERCUT;

elseif myBuyoutPrice > (buyoutPrice/count) then
myBuyoutPrice = (buyoutPrice/count) * addonTable.UNDERCUT;
myStartPrice = (minBid/count) * addonTable.UNDERCUT;
end;
end;
end;

if currentPage < currentPageCount then -- GO TO NEXT PAGES

self:SetScript("OnUpdate", function(self, elapsed)

if not self.timeSinceLastUpdate then
self.timeSinceLastUpdate = 0 ;
end;
self.timeSinceLastUpdate = self.timeSinceLastUpdate + elapsed;

if self.timeSinceLastUpdate > .1 then -- a cycle has passed, run this
selectedItem = GetAuctionSellItemInfo();
local canQuery = CanSendAuctionQuery();

if canQuery then -- check the next page of auctions
currentPage = currentPage + 1;
QueryAuctionItems(selectedItem, nil, nil, currentPage);
self:SetScript("OnUpdate", nil);
end;
self.timeSinceLastUpdate = 0;
end;
end);

else -- ALL PAGES SCANNED
self:SetScript("OnUpdate", nil);
local stackSize = AuctionsStackSizeEntry:GetNumber();

if myStartPrice ~= nil then

if stackSize > 1 then -- this is a stack of items

if UIDropDownMenu_GetSelectedValue(PriceDropDown) == 1 then -- input price per item
MoneyInputFrame_SetCopper(StartPrice, myStartPrice);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice);

else -- input price for entire stack
MoneyInputFrame_SetCopper(StartPrice, myStartPrice*stackSize);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice*stackSize);
end;

else -- this is not a stack
MoneyInputFrame_SetCopper(StartPrice, myStartPrice);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice);
end;

if UIDropDownMenu_GetSelectedValue(DurationDropDown) ~= 3 then
UIDropDownMenu_SetSelectedValue(DurationDropDown, 3); -- set duration to 3 (48h)
DurationDropDownText:SetText("48 Hours"); -- set duration text since it keeps bugging to "Custom"
end;
end;

myBuyoutPrice = nil;
myStartPrice = nil;
currentPage = 0;
selectedItem = nil;
stackSize = nil;
end;
end;
end;
end);

User avatar
Dymond
Senior Game Master
Posts: 2009
Joined: 20 Jan 2013 13:42
Location: United States
Contact:

Re: help backporting daftAuction

#2 » Post by Dymond » 04 Feb 2023 14:39

Maybe you have the incorrect version of the addon, which addon are you using? You can find a list of working addons here:

https://truewow.org/download
"Grief is the price we pay for love."

User avatar
SomeGuy
Posts: 5
Joined: 04 Feb 2023 08:11

Re: help backporting daftAuction

#3 » Post by SomeGuy » 07 Feb 2023 08:10

I hope I'm not celebrating too early but I think I finally did it!
Oh, I don't think daftAuction is available for Wow version 3.5.5. I needed to add "buyoutPrice ~= 0" + I think a few other things.

Dare I say, it may almost be ready to share. Just when I think I fixed it... I can only hope I got it right this time.

I might add the quality and vendor markup settings back when I'm satisfied with the rest of it but I never really liked those settings. Thanks to the bot it will probably almost always have a price to base off of.

I like auctioneer but it almost seems like a waste of cpu cycles with the Ahbot around. This addon basically just undercuts stuff and thats literally it. I suppose only really useful for people with super old computers like mine.

Code:
Spoiler:
local addonName, addonTable = ... ;
local addon = CreateFrame("Frame");

addon:RegisterEvent("AUCTION_HOUSE_SHOW");
addon:RegisterEvent("AUCTION_ITEM_LIST_UPDATE");

local selectedItem;
local currentPage = 0;
local myBuyoutPrice, myStartPrice;
local myName = UnitName("player");

addon:SetScript("OnEvent", function(self, event)

if event == "AUCTION_HOUSE_SHOW" then

AuctionsItemButton:HookScript("OnEvent", function(self, event)

if event=="NEW_AUCTION_UPDATE" then -- user placed an item into auction item box
self:SetScript("OnUpdate", nil);
myBuyoutPrice = nil;
myStartPrice = nil;
currentPage = 0;
selectedItem = nil;
selectedItem, texture, mycount, quality, canUse, price = GetAuctionSellItemInfo();
local canQuery = CanSendAuctionQuery();

if canQuery and selectedItem then -- query auction house based on item name
ResetCursor();
QueryAuctionItems(selectedItem);
myStartPrice = nil;
end;
end;
end);

elseif event == "AUCTION_ITEM_LIST_UPDATE" then -- the auction list was updated or sorted

if (selectedItem ~= nil) then -- an item was placed in the auction item box
local batch, totalAuctions = GetNumAuctionItems("list");

local currentPageCount = floor(totalAuctions/50);

for i=1,GetNumAuctionItems("list") do -- SCAN CURRENT PAGE
local postedItem, _, count, _, _, _, minBid, _, buyoutPrice, _, _, owner, _ = GetAuctionItemInfo("list",i);

if postedItem == selectedItem and owner ~= myName and buyoutPrice ~= nil and buyoutPrice ~= 0 then -- selected item matches the one found on auction list

if myBuyoutPrice == nil and myStartPrice == nil then
myBuyoutPrice = (buyoutPrice/count) * addonTable.UNDERCUT;
myStartPrice = (minBid/count) * addonTable.UNDERCUT;

elseif myBuyoutPrice > (buyoutPrice/count) then
myBuyoutPrice = (buyoutPrice/count) * addonTable.UNDERCUT;
myStartPrice = (minBid/count) * addonTable.UNDERCUT;
end;
end;
end;

if currentPage < currentPageCount then -- GO TO NEXT PAGES

self:SetScript("OnUpdate", function(self, elapsed)

if not self.timeSinceLastUpdate then
self.timeSinceLastUpdate = 0 ;
end;
self.timeSinceLastUpdate = self.timeSinceLastUpdate + elapsed;

if self.timeSinceLastUpdate > .1 then -- a cycle has passed, run this
selectedItem, _, mycount, _, _, _ = GetAuctionSellItemInfo();
local canQuery = CanSendAuctionQuery();

if canQuery then -- check the next page of auctions
currentPage = currentPage + 1;
QueryAuctionItems(selectedItem, _, _, _, _, _, currentPage, _, _, _)
end;
self.timeSinceLastUpdate = 0;
end;
end);

else -- ALL PAGES SCANNED
self:SetScript("OnUpdate", nil);
local stackSize = AuctionsStackSizeEntry:GetNumber();

if myStartPrice ~= nil then

if stackSize > 1 then -- this is a stack of items

if UIDropDownMenu_GetSelectedValue(PriceDropDown) == 1 then -- input price per item
MoneyInputFrame_SetCopper(StartPrice, myStartPrice);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice);

else -- input price for entire stack
MoneyInputFrame_SetCopper(StartPrice, myStartPrice*stackSize);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice*stackSize);
end;

else -- this is not a stack
MoneyInputFrame_SetCopper(StartPrice, myStartPrice);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice);
end;

if UIDropDownMenu_GetSelectedValue(DurationDropDown) ~= 3 then
UIDropDownMenu_SetSelectedValue(DurationDropDown, 3); -- set duration to 3 (48h)
DurationDropDownText:SetText("48 Hours"); -- set duration text since it keeps bugging to "Custom"
end;
end;

myBuyoutPrice = nil;
myStartPrice = nil;
currentPage = 0;
selectedItem = nil;
stackSize = nil;
end;
end;
end;
end);

User avatar
SomeGuy
Posts: 5
Joined: 04 Feb 2023 08:11

Re: help backporting daftAuction

#4 » Post by SomeGuy » 08 Feb 2023 12:11

I believe I've successfully added Auctioneer's QuerySafeName function and I've added
Spoiler:
if totalAuctions == 0 then
local _, link, _, _, _, _, _, _, _, _, _ = GetItemInfo(selectedItem)
print(hour .. ":" .. minute, "No Auctions Found", link)
end;
to detect if no auctions are found but I'm wondering if that would get annoying.
I tried adding an exact search to the addon but was unsuccessful so far.

code:
Spoiler:
local addonName, addonTable = ... ;
local addon = CreateFrame("Frame");

addon:RegisterEvent("AUCTION_HOUSE_SHOW");
addon:RegisterEvent("AUCTION_ITEM_LIST_UPDATE");

local selectedItem;
local currentPage = 0;
local myBuyoutPrice, myStartPrice;
local myName = UnitName("player");
local truncatedItem;
local hour,minute = GetGameTime();

addon:SetScript("OnEvent", function(self, event)

if event == "AUCTION_HOUSE_SHOW" then

AuctionsItemButton:HookScript("OnEvent", function(self, event)

if event=="NEW_AUCTION_UPDATE" then -- user placed an item into auction item box
self:SetScript("OnUpdate", nil);
myBuyoutPrice = nil;
myStartPrice = nil;
currentPage = 0;
selectedItem = nil;
selectedItem, texture, mycount, quality, canUse, price = GetAuctionSellItemInfo();
local canQuery = CanSendAuctionQuery();

local function QuerySafeName(selectedItem)
if type(selectedItem) == "string" and #selectedItem > 0 then
if #selectedItem > 63 then
if selectedItem:byte(63) >= 192 then -- UTF-8 multibyte first byte
selectedItem = selectedItem:sub(1, 62)
elseif selectedItem:byte(62) >= 224 then -- UTF-8 triplebyte first byte
selectedItem = selectedItem:sub(1, 61)
else
selectedItem = selectedItem:sub(1, 63)
end;
end;
return selectedItem
end;
end;

truncatedItem = QuerySafeName(selectedItem)

if canQuery and selectedItem then -- query auction house based on item name
ResetCursor();
QueryAuctionItems(truncatedItem)
myStartPrice = nil;
end;
end;
end);

elseif event == "AUCTION_ITEM_LIST_UPDATE" then -- the auction list was updated or sorted

if (selectedItem ~= nil) then -- an item was placed in the auction item box
local batch, totalAuctions = GetNumAuctionItems("list");

local currentPageCount = floor(totalAuctions/50);

for i=1,GetNumAuctionItems("list") do -- SCAN CURRENT PAGE
local postedItem, _, count, _, _, _, minBid, _, buyoutPrice, _, _, owner, _ = GetAuctionItemInfo("list",i);

if postedItem == selectedItem and owner ~= myName and buyoutPrice ~= nil and buyoutPrice ~= 0 then -- selected item matches the one found on auction list

if myBuyoutPrice == nil and myStartPrice == nil then
myBuyoutPrice = (buyoutPrice/count) * addonTable.UNDERCUT;
myStartPrice = (minBid/count) * addonTable.UNDERCUT;

elseif myBuyoutPrice > (buyoutPrice/count) then
myBuyoutPrice = (buyoutPrice/count) * addonTable.UNDERCUT;
myStartPrice = (minBid/count) * addonTable.UNDERCUT;
end;
end;
end;

if currentPage < currentPageCount then -- GO TO NEXT PAGES

self:SetScript("OnUpdate", function(self, elapsed)

if not self.timeSinceLastUpdate then
self.timeSinceLastUpdate = 0 ;
end;
self.timeSinceLastUpdate = self.timeSinceLastUpdate + elapsed;

if self.timeSinceLastUpdate > .1 then -- a cycle has passed, run this
selectedItem, _, mycount, _, _, _ = GetAuctionSellItemInfo();
local canQuery = CanSendAuctionQuery();

if canQuery then -- check the next page of auctions
currentPage = currentPage + 1;
QueryAuctionItems(truncatedItem, _, _, _, _, _, currentPage, _, _, _)
end;
self.timeSinceLastUpdate = 0;
end;
end);

else -- ALL PAGES SCANNED
self:SetScript("OnUpdate", nil);
local stackSize = AuctionsStackSizeEntry:GetNumber();

if myStartPrice ~= nil then

if stackSize > 1 then -- this is a stack of items

if UIDropDownMenu_GetSelectedValue(PriceDropDown) == 1 then -- input price per item
MoneyInputFrame_SetCopper(StartPrice, myStartPrice);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice);

else -- input price for entire stack
MoneyInputFrame_SetCopper(StartPrice, myStartPrice*stackSize);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice*stackSize);
end;

else -- this is not a stack
MoneyInputFrame_SetCopper(StartPrice, myStartPrice);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice);
end;

if UIDropDownMenu_GetSelectedValue(DurationDropDown) ~= 3 then
UIDropDownMenu_SetSelectedValue(DurationDropDown, 3); -- set duration to 3 (48h)
DurationDropDownText:SetText("48 Hours"); -- set duration text since it keeps bugging to "Custom"
end;
end;
if totalAuctions == 0 then
local _, link, _, _, _, _, _, _, _, _, _ = GetItemInfo(selectedItem)
print(hour .. ":" .. minute, "No Auctions Found", link)
end;
myBuyoutPrice = nil;
myStartPrice = nil;
currentPage = 0;
selectedItem = nil;
stackSize = nil;
end;
end;
end;
end);

User avatar
SomeGuy
Posts: 5
Joined: 04 Feb 2023 08:11

Re: help backporting daftAuction

#5 » Post by SomeGuy » 09 Feb 2023 09:04

I think I'm finished backporting it. I just need people to test it somehow. I made a lazy edit near the end for use specifically with the Ahbot.

-- (lowers the bid price)
MoneyInputFrame_SetCopper(StartPrice, myStartPrice*.10);
Just remove that and it goes back to normal.

The rest of the files are the same when you download the addon.

code:
Spoiler:
local addonName, addonTable = ... ;
local addon = CreateFrame("Frame");

addon:RegisterEvent("AUCTION_HOUSE_SHOW");
addon:RegisterEvent("AUCTION_ITEM_LIST_UPDATE");

local selectedItem;
local selectedItemVendorPrice;
local selectedItemQuality;
local currentPage = 0;
local myBuyoutPrice, myStartPrice;
local myName = UnitName("player");
local truncatedItem;
local hour,minute = GetGameTime();

addon:SetScript("OnEvent", function(self, event)

if event == "AUCTION_HOUSE_SHOW" then

AuctionsItemButton:HookScript("OnEvent", function(self, event)

if event=="NEW_AUCTION_UPDATE" then -- user placed an item into auction item box
self:SetScript("OnUpdate", nil);
myBuyoutPrice = nil;
myStartPrice = nil;
currentPage = 0;
selectedItem = nil;
selectedItem, texture, mycount, quality, canUse, price = GetAuctionSellItemInfo();
local canQuery = CanSendAuctionQuery();

local function QuerySafeName(selectedItem)
if type(selectedItem) == "string" and #selectedItem > 0 then
if #selectedItem > 63 then
if selectedItem:byte(63) >= 192 then -- UTF-8 multibyte first byte
selectedItem = selectedItem:sub(1, 62)
elseif selectedItem:byte(62) >= 224 then -- UTF-8 triplebyte first byte
selectedItem = selectedItem:sub(1, 61)
else
selectedItem = selectedItem:sub(1, 63)
end;
end;
return selectedItem
end;
end;

truncatedItem = QuerySafeName(selectedItem)

if canQuery and selectedItem then -- query auction house based on item name
ResetCursor();
QueryAuctionItems(truncatedItem)
end;
end;
end);

elseif event == "AUCTION_ITEM_LIST_UPDATE" then -- the auction list was updated or sorted

if (selectedItem ~= nil) then -- an item was placed in the auction item box
local batch, totalAuctions = GetNumAuctionItems("list");

if totalAuctions == 0 then -- No matches
_, _, selectedItemQuality, selectedItemLevel, _, _, _, _, _, _, selectedItemVendorPrice = GetItemInfo(selectedItem);

if addonTable.PRICEBY == "QUALITY" then

if selectedItemQuality == 0 then myBuyoutPrice = addonTable.POOR_PRICE end;
if selectedItemQuality == 1 then myBuyoutPrice = addonTable.COMMON_PRICE end;
if selectedItemQuality == 2 then myBuyoutPrice = addonTable.UNCOMMON_PRICE end;
if selectedItemQuality == 3 then myBuyoutPrice = addonTable.RARE_PRICE end;
if selectedItemQuality == 4 then myBuyoutPrice = addonTable.EPIC_PRICE end;

elseif addonTable.PRICEBY == "VENDOR" then

if selectedItemQuality == 0 then myBuyoutPrice = selectedItemVendorPrice * addonTable.POOR_MULTIPLIER end;
if selectedItemQuality == 1 then myBuyoutPrice = selectedItemVendorPrice * addonTable.COMMON_MULTIPLIER end;
if selectedItemQuality == 2 then myBuyoutPrice = selectedItemVendorPrice * addonTable.UNCOMMMON_MULTIPLIER end;
if selectedItemQuality == 3 then myBuyoutPrice = selectedItemVendorPrice * addonTable.RARE_MULTIPLIER end;
if selectedItemQuality == 4 then myBuyoutPrice = selectedItemVendorPrice * addonTable.EPIC_MULTIPLIER end;
end;

myStartPrice = myBuyoutPrice;
end;

local currentPageCount = floor(totalAuctions/50);

for i=1,GetNumAuctionItems("list") do -- SCAN CURRENT PAGE
local postedItem, _, count, _, _, _, minBid, _, buyoutPrice, _, _, owner, _ = GetAuctionItemInfo("list",i);

if postedItem == selectedItem and owner ~= myName and buyoutPrice ~= nil and buyoutPrice ~= 0 then -- selected item matches the one found on auction list

if myBuyoutPrice == nil and myStartPrice == nil then
myBuyoutPrice = (buyoutPrice/count) * addonTable.UNDERCUT;
myStartPrice = (minBid/count) * addonTable.UNDERCUT;

elseif myBuyoutPrice > (buyoutPrice/count) then
myBuyoutPrice = (buyoutPrice/count) * addonTable.UNDERCUT;
myStartPrice = (minBid/count) * addonTable.UNDERCUT;
end;
end;
end;

if currentPage < currentPageCount then -- GO TO NEXT PAGES

self:SetScript("OnUpdate", function(self, elapsed)

if not self.timeSinceLastUpdate then
self.timeSinceLastUpdate = 0 ;
end;
self.timeSinceLastUpdate = self.timeSinceLastUpdate + elapsed;

if self.timeSinceLastUpdate > .1 then -- a cycle has passed, run this
selectedItem, _, mycount, _, _, _ = GetAuctionSellItemInfo();
local canQuery = CanSendAuctionQuery();

if canQuery then -- check the next page of auctions
currentPage = currentPage + 1;
QueryAuctionItems(truncatedItem, _, _, _, _, _, currentPage, _, _, _)
end;
self.timeSinceLastUpdate = 0;
end;
end);

else -- ALL PAGES SCANNED
self:SetScript("OnUpdate", nil);
local stackSize = AuctionsStackSizeEntry:GetNumber();

if myStartPrice ~= nil then

if stackSize > 1 then -- this is a stack of items

if UIDropDownMenu_GetSelectedValue(PriceDropDown) == 1 then -- input price per item
MoneyInputFrame_SetCopper(StartPrice, myStartPrice);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice);

else -- input price for entire stack
MoneyInputFrame_SetCopper(StartPrice, myStartPrice*stackSize);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice*stackSize);
end;

else -- this is not a stack
MoneyInputFrame_SetCopper(StartPrice, myStartPrice);
MoneyInputFrame_SetCopper(BuyoutPrice, myBuyoutPrice);
end;

if UIDropDownMenu_GetSelectedValue(DurationDropDown) ~= 3 then
UIDropDownMenu_SetSelectedValue(DurationDropDown, 3); -- set duration to 3 (48h)
DurationDropDownText:SetText("48 Hours"); -- set duration text since it keeps bugging to "Custom"
end;
end;
if totalAuctions == 0 then
local yellowColor = ("|cffFFFF00")
local _, link, _, _, _, _, _, _, _, _, _ = GetItemInfo(selectedItem)
print(yellowColor, hour .. ":" .. minute, date("%p"), "|cffFFFFFF or", yellowColor, date("%I:%M %p"), "|cffFFFFFF No Auctions Found", link)
end;
MoneyInputFrame_SetCopper(StartPrice, myStartPrice*.10);
myBuyoutPrice = nil;
myStartPrice = nil;
currentPage = 0;
selectedItem = nil;
stackSize = nil;
end;
end;
end;
end);
minor edit: I took out second myStartPrice = nil; below QueryAuctionItems(truncatedItem) that I added.
I don't think it's necessary. I could use someone that knows what there doing to double check all that.

User avatar
guybrush
Developer
Posts: 17
Joined: 19 Dec 2022 19:12

Re: help backporting daftAuction

#6 » Post by guybrush » 12 Feb 2023 18:29

Can you explain briefly how this addon is supposed to behave?
Image

User avatar
SomeGuy
Posts: 5
Joined: 04 Feb 2023 08:11

Re: help backporting daftAuction

#7 » Post by SomeGuy » 13 Feb 2023 06:21

First, it's really just the main file modified. You have to actually download daftAuction unless I zip it up and post it somewhere.

"
A little helper for posting auctions. NO VISUAL CHANGE to the interface is made.

Features:

Automatically scans existing auctions and undercut prices.
When no existing matching auctions are found, sets a starting price and buyout price based on either vendor price or item quality.
Automatically select a duration for new auctions (default of 48h).


Options (customize in Options.lua file):

UNDERCUT - Percentage of lowest auction to set your new auction prices at.
PRICEBY - When no matches are found, set price by VENDOR or QUALITY
VENDOR (default) - Price is set based on vendor price, then multiplied based on quality.
QUALITY - Price is set based on quality alone (e.g. 250(g) for all greens).
"
...from addon page
https://www.curseforge.com/wow/addons/daftauction
https://www.wowinterface.com/downloads/ ... ction.html

User avatar
guybrush
Developer
Posts: 17
Joined: 19 Dec 2022 19:12

Re: help backporting daftAuction

#8 » Post by guybrush » 13 Feb 2023 17:45

Gotcha. If you don't mind, throw a PR here so it can be added

https://github.com/TrinityCore/wow_335a_addons
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest