- Joined
- Aug 23, 2015
- Messages
- 2,223
- Thread Author
- #1
[Updated 9/16/17]
- Updated to reflect more commonly used practices in TreeBot
[Updated 3/22/17]
- Fixed an issue with invalid stream path
Hello everyone!
I've updated the example to now be a guiding reference in both TreeBot and EmbeddableUI. Both of these technologies are extremely useful and I'd highly suggest utilizing them both.
I'll go over a summarization of TreeBot here...
In TreeBot you essentially make a Binary tree of decisions. Below is a visual representation of the ExampleFlaxPicker bot.
Note: This does not include the initial Root class that handles the waiting on GUI process. Please reference the Root class for more information on how the GUI process is handled.
Each node can be a BranchTask, LeafTask, or TreeTask.
You can think of each like so...
LeafTask:
- This is where the execution happens. The end of the tree.
- If you reach a leaf task, all previous conditions should have been met and satisfied.
- For example, in the above photo, pickFlaxLeaf should not be executed unless the inventory is not full, the bank is not open, and flax IS nearby. IF all of those were satisfied, the leaf task would get executed.
BranchTask:
- This is where the decisions are made. If this condition is met, branch this way, etc.
- A branch task does not contain execution logic, only conditional.
- Branch tasks are used to determine which leaf task should be executed.
TreeTask:
- I have not personally found a use for this one yet, but it is essentially a BranchTask that also has the ability to execute as a leaf. In other words, while the tree is being traversed, if it stumbles upon a TreeTask and that TreeTask is flagged as a leaf, it will run its 'execute' function and then proceed to run its 'validate' function and continue on down the tree.
- I've found every situation to be completable with Leaf and Branch tasks.
"exampleflaxpicker 9-16-17" is the newest download. The previous version is available just in case.
- Updated to reflect more commonly used practices in TreeBot
[Updated 3/22/17]
- Fixed an issue with invalid stream path
Hello everyone!
I've updated the example to now be a guiding reference in both TreeBot and EmbeddableUI. Both of these technologies are extremely useful and I'd highly suggest utilizing them both.
I'll go over a summarization of TreeBot here...
In TreeBot you essentially make a Binary tree of decisions. Below is a visual representation of the ExampleFlaxPicker bot.
Note: This does not include the initial Root class that handles the waiting on GUI process. Please reference the Root class for more information on how the GUI process is handled.
Each node can be a BranchTask, LeafTask, or TreeTask.
You can think of each like so...
LeafTask:
- This is where the execution happens. The end of the tree.
- If you reach a leaf task, all previous conditions should have been met and satisfied.
- For example, in the above photo, pickFlaxLeaf should not be executed unless the inventory is not full, the bank is not open, and flax IS nearby. IF all of those were satisfied, the leaf task would get executed.
BranchTask:
- This is where the decisions are made. If this condition is met, branch this way, etc.
- A branch task does not contain execution logic, only conditional.
- Branch tasks are used to determine which leaf task should be executed.
TreeTask:
- I have not personally found a use for this one yet, but it is essentially a BranchTask that also has the ability to execute as a leaf. In other words, while the tree is being traversed, if it stumbles upon a TreeTask and that TreeTask is flagged as a leaf, it will run its 'execute' function and then proceed to run its 'validate' function and continue on down the tree.
- I've found every situation to be completable with Leaf and Branch tasks.
"exampleflaxpicker 9-16-17" is the newest download. The previous version is available just in case.
For those of you that are either new to RuneMate or transitioning from the RuneMate V1 to Spectre, you may find this thread interesting
In RuneMate Spectre, a new standard for bots are being set. This standard is known as EmbeddableUI.
EmbeddableUI is... essentially exactly what the name says. When creating your bot, one of your classes must implement 'EmbeddableUI', and by doing so, you will now have the opportunity to define and send a Node to the Spectre client referencing your Java FX GUI.
And honestly... that's essentially it. Once the Node is set, the corresponding Java FX GUI will display embedded within the Spectre client!
I know several questions will pop up. Please feel free to leave the question or comment below and we will try to get them answered.
I've also attached a .zip file containing a simple Flax Picker bot that is Spectre-Ready. Please feel free to reference it!
In RuneMate Spectre, a new standard for bots are being set. This standard is known as EmbeddableUI.
EmbeddableUI is... essentially exactly what the name says. When creating your bot, one of your classes must implement 'EmbeddableUI', and by doing so, you will now have the opportunity to define and send a Node to the Spectre client referencing your Java FX GUI.
And honestly... that's essentially it. Once the Node is set, the corresponding Java FX GUI will display embedded within the Spectre client!
I know several questions will pop up. Please feel free to leave the question or comment below and we will try to get them answered.
I've also attached a .zip file containing a simple Flax Picker bot that is Spectre-Ready. Please feel free to reference it!
Attachments
Last edited: