Question about addon: Auctionator - Is THIS why it is broken??
-
Playing the game within the economy that it runs on is very very difficult at best. Auctionator is broken and I believe this is intentional by Project Ascension so I am looking for confirmation of my assessment and to ask if the symptom can be alleviated.
QueryAuctionItems ("", nil, nil, 0, 0, 0, 0, nil, 0, true);
This line queries the server for a list of all auctions and sets values for "numBatchAuctions" and "totalAuctions" . The value set for totalAuctions is correct each time and varies as it should. The value for numBatchAuctions is always 3000.
If my understanding of this process is correct the totalAuctions is arranged in pages (batches) of 50 item each. The expected value set for numBatchAuctions is totalAuctions divided by 50 for a total number of item pages. So if totalAuctions = 47,486 than numBatchAuctions = 950 . (36 auctions in the last page.)
In reality though, the value returned for numBatchAuctions is consistently 3000. Each and every time. Either I am correct in assuming this is a limitation imposed specifically to disallow a full and complete dataset of the auction house, or something has been changed in how the data is delivered when the event "AUCTION_ITEM_LIST_UPDATE" is fired from the server.If I am correct and this limitation is intentional and there is not a way for a player to be able to view the auction house contents as a whole outside of the in-game GUI. I would like to understand why the restriction is needed and then to begin the conversation of what can be developed to allow a full data package to arrive that can be parsed into useful information for the player.
If I have something wrong, thank you in advance for the guidance.
EDIT: I have opened an "issue" at the Github repository for the addon please come and participate in discovering the solution.
Github - Auctionator - Issue #8
If you are reading this because you are looking for a solution to this problem, here is hopes one was found and you will find it at the repository.
-
Have you tried using the /devconsole in game to see what the event actually returns or what is returned if anything other than nil in the devconsole ?
You could also just test it out with /run or /script in chat or as a macro.
For example:
/script QueryAuctionItems("Nobles", 0, 0, 0, 0, 0, 0, 0, 0, 0)
Result
Finds anything on the AH with the word 'Nobles' in it.
Hint: AH window has to be open before you click the macro." getAll
Download the ENTIRE auction house as one single page. Only allowed when CanSendAuctionQuery() returns true as its second return (~every 15 minutes). May disconnect people with low bandwidth. Also see notes on client-to-server traffic in GetAuctionItemInfo() (Added in 2.3, though initially disabled. Appears to be enabled as of 2.4)"Can try the
/script canQuery, canQueryAll = CanSendAuctionQuery(); message(canQueryAll);if this returns true then there should be no reason as to why the
QueryAuctionItems LUA function doesnt work.I would just suggest playing around with these functions a bit more in /devconsole or as macro/chat commands and see if you cant get a more valid result.
Also when reading into the GetAuctionItemInfo() LUA function it states as such:
"Blizzard's standard auction house view overcomes this problem by reacting to AUCTION_ITEM_LIST_UPDATE and re-querying the items.
However, this event-driven approach does not really work for e.g. scanner engines. There, the correct solution is to re-query items with nil owners for a short time (a low number of seconds). There IS a possibility that it NEVER returns something - this happens when someone puts something up for auction and then deletes his character.
Also note that these GUID-to-name queries cause client-to-server bandwidth; 14 bytes each (in 2.3.2). For a normal 50-item page this is of course negligeable, but for a full-AH scan on a medium-size server, you easily generate enough traffic to disconnect yourself if you do not throttle the rate at which you send queries. See ChatThrottleLib for information on client-to-server bandwidth. "
If you wanted to create some sort of alternative could be possible.
-
I have not spent any time yet absorbing your reply beyond a quick scan. I simply had to stop and recognize the value you have given me immediately. Been searching and reading for several days and nothing has provided as much information and simple guidance as you have.
THANK YOU!
I'll be back when I have something relevant to contribute to the conversation, but sincere props were in order.
If you are unable to sign in, please set your Display Name.