Quick Auctions
Quick Auctions is an auction tool to help speed up auctioning large quantities of items, especially canceling. While primarily Quick Auctions is built for large quantities of items, it can work fine for a few auctions as well. A bit of tweaking is required to get optimal settings, but it is very flexible and smart enough that you can use it for more than just mindlessly undercutting auctions by 1 copper every time. Summary window and craft queues are included so you do not have to memorize every item and quantity you need. Shows total materials required to craft as well as allowing you to click from the craft queue to craft so no searching through everything.
Slash command: /qa (/quickauctions)
Groups
Groups are how you manage what items should be managed by Quick Auctions. You can set auction settings either as a default, or per group giving you flexibility over everything without having to duplicate your settings 50 times. There are no limits to how many items can be grouped, see the configuration in /qa config to set them up.
Mail
Includes a timer in the top left of the mailbox indicating how much time before new mail data becomes available, and if you are not using Postal then QA provides its own auto looting for mail. The auto looter will work with the timer on the mailbox cache so it will loot everything, wait until new mail is available and then keep looting.
Auto mailing can now be done per item or per group to any character you want. For example, you can setup your banker to send uncut gems to your jeweler and you can setup your jeweler to send cut gems to your banker. The auto mailer is intelligent in when it sends mail off, and works best when using QA mail looter. If you are trying to loot herbs from your mailbox while auto mailing them to your scribe, it will send mail off whenever it sees your inventory is full. Basically, if you have 4 open slots it will auto mail/loot with only 4 slots, no more clearing out your bags to loot mail anymore!
General options
- Smart undercutting - Instead of always using the undercut value, it will round it to the nearest gold piece if possible (10g99s -> 10g, 5g -> 5g - undercut price)
- Smart cancel - Cancels auctions a bit smarter than usual, will cancel an item if you can re list it at a higher price and won't cancel it if items are below the threshold
- Cancel with bid - Lets you choose if you want to cancel auctions with bids on them
Item options
- Auto mail - Automatically mail items directly to your banker that are managed by QA
- Post cap - How many of an item can be up at any one time (If you are undercut this number is reset)
- Post time - How long to post an auction
- Undercut - How much to undercut by
- Bid percent - How much bid should be set to as a percentage of buyout
- Threshold - Cap on how low an auction can go, if it'll be posted below the threshold price it won't be posted
- Per auction - How many items to post per an auction
- Fallback - If no other auctions are up, how much should it list an item for
- Fallback cap - How high above the fallback an item can go, helps prevent posting a single Frostweave Cloth at 100g if someone sets it at an extraordinary price
- Auto fallback - If the market price is below your thresold, QA will automatically post it at the fallback price
- Maximum price gap - How much of a price difference is allowed between the lowest and second lowest items before QA undercuts the second lowest, this will also cancel your auctions if the price gap gets too high
- Ignore stacks over - Allows you to ignore any auctions with a stack above X when determining price, useful if you want to post against the market price of 1 Abyss Crystal rather than the market price of posting 20 at once
What changed between 2 and 3?
While the configuration in QA2 was an improvement over the original QA, it still wasn't good enough. QA3 has a rewritten configuration and should be much easier for people to understand and use without having to learn to use QA through trial and error.
Scan speed has been increased quite a bit again and has been tightened up to reduce the chance of conflicts. In previous versions, QA would Query -> Wait 0.50 seconds -> Check Data -> Either parse it or wait 0.50 seconds, this made sure that whenever auctions were scanned all data was available including who posted them. The problem is, most of this data becomes available instantly after your initial 1-3 seconds. In 3 it's been changed: Query -> Check Data -> Wait 0.50 Seconds -> Parse or wait 0.50 seconds. Best case this means you will save 0.50 seconds per query (50 seconds/100 items), and worse case you won't see any speed increase.
Mail has been improved to make life easier for people, both a mail scrapper and a smarter mail sender were added. See the mail section above for more information.
Setting scope was improved, most basic options in QA including group settings have been moved to the global profile while server/faction specific settings can still be changed per profile. Letting you setup different profiles of how QA should handle different groups, without having to duplicate all of your group list over and over.
QA3 isn't done yet, and I have more planned still like summary improvements and easy buying of items
Blizzard has changed auction canceling so it can't automatically be done, there is still a loophole in it that one hardware event (key press/mouse click/etc) will let you cancel an unlimited amount of auctions. The downside is there is no more automatic canceling where you press a button and go AFK for 20 minutes.
This can be gotten around, but it'll require some sort of interacting as in: QA scans all auctions, finds auctions to undercut and you have to press a mouse button or use a key and it will start smart canceling.
However, I would not be surprised to see Blizzard break this even more in a future patch so one hardware event = one auction canceled. While I am going to provide a fix keep in mind that the smart canceling will likely die off one day.
This code cancels every auction without an issue
/run local i=1;local n=1;while n ~= nil do n=GetAuctionItemInfo("owner",i);if n~=nil and strfind(n,"^Glyph of") then CancelAuction(i) end i=i+1 end
Therefore, if you made the cancel button Update an embedded macro and had the user click the macro, it should, in theory atleast, execute without confirmation.
The above code, when executed within an LUA file, fails to cancel any auctions. When run as a macro within the game, it canceled all ~300 auctions i had running.
Running a macro requires a hardware event.
Scan finished!
Starting to cancel...
Undercut on [blah] ...
Undercut on [blah] ...
And stall there
I can't verify this either way as the servers aren't letting me on, but odds are smart canceling is dead.
I am able to cancelall by group name, but the /qa cancelall 2|12 is not working.
Thank you for your help.
At this time it seems that smart cancelling is the only feature not working.
After adding gems to the craft queue, I can't remember how many of which raw gems I have to buy.
Message: Interface\AddOns\QuickAuctions\QuickAuctions.lua:129: attempt to perform arithmetic on upvalue 'lastSeenLogID' (a nil value)
Time: 12/04/09 17:09:52
Count: 3
Stack: [string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:18: in function <[string "Interface\FrameXML\BasicControls.xml:<Scrip..."]:4>
[C]: ?
Interface\AddOns\QuickAuctions\QuickAuctions.lua:129: in function `UpdateStatusLog'
Interface\AddOns\QuickAuctions\QuickAuctions.lua:121: in function `Log'
Interface\AddOns\QuickAuctions\modules\manage.lua:280: in function `PostScan'
Interface\AddOns\QuickAuctions\QuickAuctions.lua:253: in function <Interface\AddOns\QuickAuctions\QuickAuctions.lua:252>
Locals: self =
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\Bagnon\libs\AceAddon-3.0\AceAddon-3.0.lua:373
GetEnchantLink = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:304
OnInitialize = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:9
UnregisterAllEvents = <function> defined @Interface\AddOns\Bagnon\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:201
EnableModule = <function> defined @Interface\AddOns\Bagnon\libs\AceAddon-3.0\AceAddon-3.0.lua:338
modules =
}
GetModule = <function> defined @Interface\AddOns\Bagnon\libs\AceAddon-3.0\AceAddon-3.0.lua:222
IterateEmbeds = <function> defined @Interface\AddOns\Bagnon\libs\AceAddon-3.0\AceAddon-3.0.lua:448
status =
}
defaultModuleLibraries =
}
LockButtons = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:404
IsValidBag = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:457
GetName = <function> defined @Interface\AddOns\Bagnon\libs\AceAddon-3.0\AceAddon-3.0.lua:290
Scan =
}
UnlockButtons = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:410
Status =
}
name = "QuickAuctions"
FormatTextMoney = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:432
IsEnabled = <function> defined @Interface\AddOns\Bagnon\libs\AceAddon-3.0\AceAddon-3.0.lua:457
Tradeskill =
}
WipeLog = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:91
DisableModule = <function> defined @Interface\AddOns\Bagnon\libs\AceAddon-3.0\AceAddon-3.0.lua:356
CreateStatus = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:308
Log = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:106
NewModule = <function> defined @Interface\AddOns\Bagnon\libs\AceAddon-3.0\AceAddon-3.0.lua:247
Post =
}
RegisterMessage = <function> defined @Interface\AddOns\Bagnon\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:117
UnregisterMessage = <function> defined @Interface\AddOns\Bagnon\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:180
Print = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:465
Split =
}
Manage =
}
defaults =
}
UpdateStatusLog = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:125
IsModule = <function> defined @Interface\AddOns\Bagnon\libs\AceAddon-3.0\AceAddon-3.0.lua:474
db =
}
SetDefaultModuleState = <function> defined @Interface\AddOns\Bagnon\libs\AceAddon-3.0\AceAddon-3.0.lua:393
baseName = "QuickAuctions"
Echo = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:469
SetEnabledState = <function> defined @Interface\AddOns\Bagnon\libs\AceAddon-3.0\AceAddon-3.0.lua:430
SetButtonProgress = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:416
enabledState = true
buttons =
}
RegisterEvent = <function> defined @Interface\AddOns\Bagnon\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:117
UnregisterAllMessages = <function> defined @Interface\AddOns\Bagnon\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:201
GetSafeLink = <function> defined @Interface\AddOns\QuickAuctions\QuickAuctions.lua:297
AuctionHouseLoaded = <fun