What's new
  • Visit Rebornbuddy
  • Visit Resources
  • Visit API Documentation
  • Visit Downloads
  • Visit Portal
  • Visit Panda Profiles
  • Visit LLamamMagic

Auction House bot

RodionP

New Member
Joined
Jul 14, 2011
Messages
18
Reaction score
0
Hi,

I was wondering if someone could point me to a bot or at least a sample/API/documentation. I've been programming for the past 10 years in C# and I'm pretty sure I could write a plugin of my own, I just find it hard finding any docs...

What I'd like to accomplish is build a crafting bot. So far, I've been using a macro to craft gems, but it needs a lot of micro management, I have to manage my bot every 2 hours to buy mat on AH and post crafted gems... I'd like to automate all that.

in simple terms, buy low grade gems at the price I define, buy tomes of secret at the price i define. craft max grade and sell at the price i set... and just cycle all that over again...

any pointers are highly appreciated.

Thanks
 
I believe you can use demonbuddy.exe as a library in microsoft visual studio :)

This is as much documentation as is around, you could very well consider it an API however.
 
yeah, i suppose i could reference it as an assembly...

my question really was more along the lines of:

how do i interact with AH (as in search items i need, buy them, interact with completed tab)

and while in game, how do i interact with crafting station, as in, get events when something had crafted, get item counts, and lastly, once a certain cycle is complete (say, I've crafted a radiant star gem) i need to leave the game, and post this item on AH...

I'm sure there is a high demand for something like that out there, and I'm more than willing to donate/fund this development as well as I'm willing to get my hands dirty myself, I'm just someone to help me get started...
 
I believe the development tools tab offers some recording of pressed buttons on the client, which you can use to code a plugin. Auction house on it self however is not supported in any way by demonbuddy at this point and i believe this is not planned either.

Meaning you are pretty limited to recording buttons, and may not even be able to read prices etc.

Also i am not sure if you can provide input outside of a game sessions, break timer plugins do work outside of this however.

Edit:
Development tools are named Info Dumping. :)
 
The best AH bot is Happy Auction. Demonbuddy though will never be an AH bot.
 
Also i am not sure if you can provide input outside of a game sessions, break timer plugins do work outside of this however.

Its indeed possible to preform out-of-game behaviors, I just confirmed it.

You can use the [OutOfGame] treehook to insert a new composite which would preform your behavior prior to starting a new game.

Here I just added code into Trinity, during the iteration of treehooks.
Code:
					 if (hook.Key.Contains("OutOfGame"))
					 {
						  Zeta.TreeSharp.PrioritySelector CompositeReplacement=hook.Value[0] as Zeta.TreeSharp.PrioritySelector;

						  CanRunDecoratorDelegate shouldPreformOutOfGameBehavior=new CanRunDecoratorDelegate(OutOfGameBehaviorOverlord);
						  ActionDelegate actionDelegateBehavior=new ActionDelegate(OutOfGameBehavior);
						  Sequence sequenceBehavior=new Sequence(
								new Zeta.TreeSharp.Action(actionDelegateBehavior)
								);
						  CompositeReplacement.Children.Insert(0,new Zeta.TreeSharp.Decorator(shouldPreformOutOfGameBehavior, sequenceBehavior));
						  hook.Value[0]=CompositeReplacement;
					 }

And example of the two methods used above..
Code:
		  private static bool OutOfGameBehaviorFlag=true;
		  public static bool OutOfGameBehaviorOverlord(object ret)
		  {
				return OutOfGameBehaviorFlag;
		  }

		  public static RunStatus OutOfGameBehavior(object ret)
		  {
				Logging.Write("Doing some Out Of Game Stuff.. so fuck off!");
				OutOfGameBehaviorFlag=false;
				return RunStatus.Success;
		  }
 
I'm having a bit of a difficulty selecting crafting items from the Gem Combiner...

Basically, I need to scroll down in the list of recipies to a certain point (Ex: Until "Perfect Square Emerald" item does not become visible), however, via UI dumping I keep finding that Hash for that item keeps changing for some reason. Is there a way to iterate all items in that tree to see do a proper selection (based on the text and not hash code).

Also, I've been able to attach to DB via debugger, but I was wondering does DB create a new AppDomain for all it's compiled assemblies or it loads them into itself? I don't want to keep re attaching and recreating a server session if I want to restart debugging session. All I want to be able to do is to just unload an appdomain, compile a new dll and load it up again.

And lastly, can I disable DB compiler somehow and instead have my VS produce a dll? I want to be able to setup my VS to produce a dll and will copy .dll and .pdb file to CompiledAssemblies folder and have DB pick it up without worrying about compiling on its own... this is all just for debugging/development purposes...
 
Oh, and one more question, is there a way to hold down a mouse instead of doing a Click on a UIElement? and do a static positional clicking, not click on a UI element but click on a screen area somewhere... if I can't get to actual UI elements, at least I can try to mimic absolute positional clicking...
 
Oh, and one more question, is there a way to hold down a mouse instead of doing a Click on a UIElement? and do a static positional clicking, not click on a UI element but click on a screen area somewhere... if I can't get to actual UI elements, at least I can try to mimic absolute positional clicking...

I've figured that out... but it's an ugly workaround, it breaks on different resolutions, and highjacks my mouse... I'd love to get a way of doing things
 
Well.. I already wrote a plugin that pretty much does everything you want except AH stuff....

Navigating the bot, mat pulls from stash for crafting, re-stashing mats and grabbing more...

Dumping the UIElements for the dynamic hash's is also fairly straightforward....

Initiating counters for crafting also done....


Problem is the .click method as you discovered doesn't work as expected.... -_- which caused me to temporarily shelve the project..


Also not tested but as other UIElements can be interacted with outofgame... Don't see a reason why you couldn't navigate the AH.....
 
Last edited:
Well.. I already wrote a plugin that pretty much does everything you want except AH stuff....

Navigating the bot, mat pulls from stash for crafting, re-stashing mats and grabbing more...

Dumping the UIElements for the dynamic hash's is also fairly straightforward....

Initiating counters for crafting also done....


Problem is the .click method as you discovered doesn't work as expected.... -_- which caused me to temporarily shelve the project..


Also not tested but as other UIElements can be interacted with outofgame... Don't see a reason why you couldn't navigate the AH.....

If you're referring to Arcanum crafter, I found it, pretty cool, I actually started building on top of it. Awsome code, except that your actual crafting process is a bit weak. I took your stashing and getting methods, and am working trying to automate an actual crafting procedure... so far my problems are to figure out how to get a scroll down and scroll up buttons, and then finding a correct list element to select. What I have found is that Hashes for those items (scroll up/scroll down/list items) are not static, so I cannot hardcode them. Nor can I find them via browsing from parent window... so far I'm working with absolute positioning (clicking buttons macro style) but if my resolution changes or somehow I missed a click, the whole process breaks.

if you know a way to get the hashes for those elements other than dumping them (which doesn't work because of their dynamic nature) that would be highly appreciated...

Also, once all the crafting materials in stash were used up, how can I tell a bot to STOP? is there an API call that tells Bot thread to stop and leave the game?

Thanks for your help
 
Some addons allready act outside of the game (meaning the lobby), Break Timers (Atom for example).

As for only gold it could be possible to trigger such a breaktimer on a set amount of gold and sell this amount of gold by clicking designated buttons and (mabye this is a hard part in demonbuddy) typing the set number of gold as configured.

In the current gold market this might be a lovely addition to our botting experience becouse the bot can post gold after every run (20-30 minutes on most profiles) and hereby splitting your pile in smaller amounts without requiring manual input.

minimal and maximum amounts would be even better for "human-like" behaviour, but this wouldn't be a core feature.

Haven't checked into any of this, just sharing some thoughts :)
 
Some addons allready act outside of the game (meaning the lobby), Break Timers (Atom for example).

As for only gold it could be possible to trigger such a breaktimer on a set amount of gold and sell this amount of gold by clicking designated buttons and (mabye this is a hard part in demonbuddy) typing the set number of gold as configured.

In the current gold market this might be a lovely addition to our botting experience becouse the bot can post gold after every run (20-30 minutes on most profiles) and hereby splitting your pile in smaller amounts without requiring manual input.

minimal and maximum amounts would be even better for "human-like" behaviour, but this wouldn't be a core feature.

Haven't checked into any of this, just sharing some thoughts :)

Would you care to share some code?

ex: after opening Gem Combiner, how do I scroll to a specific position? And how do I select an item from a list with title (Perfect Square Emerald) as an example?
 
Back
Top