-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Overall cleanup and extension of the mod #96
Conversation
… of whitelist mechanism compatible with disabled item table (take precedence), new configuration options to regulate amount of elements sold in the market, their size and the elapsed time
…ce and header files
…o support multiple instances active at once
Hey there, I pushed some more modifications that allows the bot to run multiple instances of characters of the provided account. If the character GUID is provided then only one bot will be run (should be backward compatible). I've performed some additional testing and some more will be done in the following days. |
|
ok, thanks for the confirmation, I merged the PR! |
Changes Proposed:
Issues Addressed:
SOURCE:
Tests Performed:
Linux WOWSERVER 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
(yes, I'm crazy enough to test it in WSL and works perfectly).ahbotoptions seller 0
).How to Test the Changes:
Install the mod, then configure the file to enable the features.
This can be done by setting (whitelist configured with tailoring profession items):
2589 - Linen Cloth
2592 - Wool Cloth
4306 - Silk Cloth
4338 - Mageweave Cloth
14047 - Runecloth
-AuctionHouseBot.VendorItems = 1 (to sell trade goods)
-AuctionHouseBot.VendorTradeGoods = 1 (to sell trade goods)
Clean up the auction house from existing auctions to start in a pristine environment, then start the server (i used a SQL command a startup to clear all those options of the bots that have not been bidded
delete from auctionhouse where itemowner = <bot_id> and lastbid = 0
, but probably you will have to be a little more careful).With the tracing set on on you will be able to read from the console log what is happening like the following:
AHSeller: New stack ah=7, id=14047, stack=20, bid=9460, buyout=13520
AHSeller: New stack ah=7, id=2772, stack=10, bid=3060, buyout=3060
AHSeller: New stack ah=7, id=11144, stack=1, bid=1418, buyout=1730
AHSeller: New stack ah=7, id=2673, stack=10, bid=160, buyout=170
AHSeller: New stack ah=7, id=3355, stack=5, bid=340, buyout=480
AHSeller: New stack ah=7, id=2770, stack=5, bid=30, buyout=40
AHSeller: auctionhouse 7, req=200, sold=6, aboveMin=false, aboveMax=false, loopBrk=1, noNeed=1034, tooMany=193, binEmpty=0, err=0
Every line describe a new auction sold in the actionhouse (7 is neutral faction here). There is the stack size which shall be a multiple of 3, 4 or 5, and not totally random (
stack=
).The last line will report the overall operations performed during the run.
Can be read as:
req
requested amount to be sold in this runsold
valid auctions actually put in the auction houseaboveMin
condition if the configured minimum items test has failedaboveMax
condition if the configured maximum items test has failedloopBrk
how many times the auction creation logic reached the loop break without picking a valid itemnoNeed
how many times a randomly selected item is not neededtooMany
how many times the duplicate stack test decided the item is not necessarybinEmpty
how many times a picked quality results in no item selectederr
how many times an error occurred which caused the loop to stopIn the example provided you can see that the system will perform 200 attempts, 1 reached the loop break and terminated, 6 has been sold and 193 where not necessary (193+6+1 = 200, so all the attempts where made).
Feel free to reach me out with a Call on the Discord channel if you wish to have further info, but warn me first since I'm not usually socially active (I open Discord only when i need it).