help backporting daftAuction

Work with other players to create your own special custom interfaces and macros.
Post Reply
User avatar
SomeGuy
Posts: 6
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: 2029
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: 6
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: 6
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: 6
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: 18
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: 6
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: 18
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

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

Re: help backporting daftAuction

#9 » Post by SomeGuy » 12 Mar 2024 10:31

I think I designed it to price your items based on the prices of the Ahbot.
I think It will ignore other players auctions unless they are the only auctions posted.
Basically, it is for selling stuff to the Ahbot.

The first item put into the AuctionsItemButton frame per gaming session returns the value "nil" for the local "owner".
At least that is what seemed to happen during my testing. The addon will still give a price but will undercut anyone including your own auctions. So just take the item out of the AuctionsItemButton frame and put it back in.
Basically, local "owner" only seems to return nil once per login to a character per gaming session.

If the Ahbot isn't bidding on your auctions just lower the number for
addonTable.ownerMyNameStartPriceUNDERCUT = .88 or addonTable.AhbotStartPriceUNDERCUT = .88 in the Options.lua file.

It may require more testing but other than the nil owner thing it seems to function as I intended.

https://www.mediafire.com/file/ihheoyze ... n.zip/file

Edit: I made some changes.
The prices are now based on... (I think)
1.Ahbot (ignore other auctions)
2.your auctions (if no Ahbot auctions) (copy highest bidAmount instead of lowest for BuyoutPrice)(else copy BuyoutPrice)
3.other auctions (if no Ahbot or your auctions)

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest