Apoc
Well-Known Member
- Joined
- Jan 16, 2010
- Messages
- 2,790
- Reaction score
- 94
So, a while ago I started working on a rewrite of the level bot within HB. Unfortunately due to time constraints, and other misc issues, I never got around to completely finishing it.
Thusly, what I bring you today, is just that. Originally it was called "GrindBot2" but since I'm going to be working on it this way, we'll just call it "Grind Bot".
What is it?
In short, its a complete rewrite of the grind bot in HB right now. (Actually, its not really a rewrite, as its almost entirely different)
Its very small, which in turn, means less room for bugs to creep in.
Its very fast. It only does what it needs to, and nothing more. However, that doesn't mean it can't be extended (more on that later)
TL;DR; It grinds, vendors, and thats pretty much it.
Why is it better than whats already in HB?
Well, the code in HB is great, don't get me wrong. But the logic trees are... confusing. There are many things that decide for themselves what to be doing. GrindBot however, centralizes the decision process, and only allows 'branches' to execute a task. (Eg; A loot behavior shouldn't decide if it needs to loot... it should just loot the object and nothing more.)
Also... hooks.
Yes, I said hooks. GrindBot brings to the table the idea of "Tree Hooks". In other words; you can add, remove, or just change, entire branches of logic. Very easily. I'll explain more about this later.
Above all else, it doesn't try to do more than it needs to. Its objective is to kill mobs, loot them, and visit vendors when it has to. It doesn't try to complete quests, doesn't attempt to do BGs, etc.
What are these awesome hooks you speak of?
GrindBot implements a class called "TreeHooks", which allows you to well... hook into the tree.
Note: If you're NOT a developer, please don't bother reading the following, it'll only just confuse you.
TreeHooks allows developers to add, remove, or replace, entire branches of logic, easily, without having to iterate through the composite children, and hoping you got the right one. It also allows for "custom" hooks within your own composites.
The idea behind this, is that developers can extend, replace, or "fix" logic within the bot, without breaking things. I'll eventually explain more about this, but I don't have the time atm to do so.
What can I do to help?
Well, the bot itself is in alpha stages right now (meaning, its mostly proof-of-concept), so there will be bugs. Please report any bugs you find, any hooks you create, etc. It'll be nice to judge how useful this little semi-framework is for future use. (Eventually I'd like to extend it to questing, etc)
If you don't like alpha/beta testing software, then please, don't use it. I'm not here to give you free stuff bug-free. Its a work in progress, and with that, there WILL be bugs.
Download (Put it in your Bots folder)
Developer XML Docs Download
Thusly, what I bring you today, is just that. Originally it was called "GrindBot2" but since I'm going to be working on it this way, we'll just call it "Grind Bot".
What is it?
In short, its a complete rewrite of the grind bot in HB right now. (Actually, its not really a rewrite, as its almost entirely different)
Its very small, which in turn, means less room for bugs to creep in.
Its very fast. It only does what it needs to, and nothing more. However, that doesn't mean it can't be extended (more on that later)
TL;DR; It grinds, vendors, and thats pretty much it.
Why is it better than whats already in HB?
Well, the code in HB is great, don't get me wrong. But the logic trees are... confusing. There are many things that decide for themselves what to be doing. GrindBot however, centralizes the decision process, and only allows 'branches' to execute a task. (Eg; A loot behavior shouldn't decide if it needs to loot... it should just loot the object and nothing more.)
Also... hooks.

Yes, I said hooks. GrindBot brings to the table the idea of "Tree Hooks". In other words; you can add, remove, or just change, entire branches of logic. Very easily. I'll explain more about this later.
Above all else, it doesn't try to do more than it needs to. Its objective is to kill mobs, loot them, and visit vendors when it has to. It doesn't try to complete quests, doesn't attempt to do BGs, etc.
What are these awesome hooks you speak of?
GrindBot implements a class called "TreeHooks", which allows you to well... hook into the tree.
Note: If you're NOT a developer, please don't bother reading the following, it'll only just confuse you.
TreeHooks allows developers to add, remove, or replace, entire branches of logic, easily, without having to iterate through the composite children, and hoping you got the right one. It also allows for "custom" hooks within your own composites.
The idea behind this, is that developers can extend, replace, or "fix" logic within the bot, without breaking things. I'll eventually explain more about this, but I don't have the time atm to do so.
What can I do to help?
Well, the bot itself is in alpha stages right now (meaning, its mostly proof-of-concept), so there will be bugs. Please report any bugs you find, any hooks you create, etc. It'll be nice to judge how useful this little semi-framework is for future use. (Eventually I'd like to extend it to questing, etc)
If you don't like alpha/beta testing software, then please, don't use it. I'm not here to give you free stuff bug-free. Its a work in progress, and with that, there WILL be bugs.
Download (Put it in your Bots folder)
Developer XML Docs Download
Last edited: