Download - Please download a clean copy of Beta for each version. Do not "update", because the changes will break other versions. Before reporting issues, please make sure you are using a clean copy.
Please attach a full log if you have any problems. I've made sure as much debugging information is logged as possible to track down various issues that might happen. I need the full log though, and not partial snippets. If you do not feel comfortable posting a full log, you can PM me it instead with a link to your thread.
Beta #889 - Overview
1. Please place the "Move only" skill on your skillbar, but not in Left Mouse Button.
2. Make sure "Always Highlight" is enabled (PoE Options-> Ui or press Z)
3. Make sure "Key Pickup" is enabled (PoE Options-> Ui)
This version of the bot adds a lot of the core building blocks used to create higher level coroutine logic. The model it uses closely resembles the Beta 1.0 setup, but not all functionality is back yet.
However, the bot should now grind an area until it needs to go to town (uses area transitions to make new intances), will stash everything but a stack of portal scrolls, and then will return back. Stashing is simply going though your stash tabs one by one, trying to fit items. You should have your empty stash tabs at the front of stash to avoid delays when stashing. Unlike the old API, the bot will not request stash tabs anymore, but rather lets the client handle the logic, and simply changes tabs and checks their contents.
A few things in the default CR have changed to address reported issues with general combat. Please remember the CR we provide is basically one giant example of how you can go about things. Smaller, more customized CRs will perform a lot better, and will be a lot easier to work with and understand. However, such examples are not possible at this time by myself, as the actual API and bot logic aspect of things is not solid yet. If you need help on how to go about using the API or understanding how the CRs work, feel free to ask, and I'll get you pointed in the right direction.
Changelog
Quick Guide
The current bot is still under work to try and achieve a bare minimal grinding/town run implementation. Certain quality of life features are not in it yet. Additional features, such as iding items, selling, have not made it back in yet, but will be added later if the current build is working noticeably better for users. There exists one more big thing to work around for the post 1.2 changes. That is the error where memory goes bad when the CR
Go to the "Settings" tab in the main GUI. From here, you can change "BasicGrindBot" or "ExampleRoutine" settings.
Currently, you can only select the grind zone for "BasicGrindBot". The bot can now navigate though towns, so as long as you have the appropriate quest state to reach an area, the bot should make it. After the bot finishes the grind zone, it will take area transitions back and forth for new instances until it needs to go to town. The bot does not have any quest logic, and does not know that you are or aren't able to use an area transition, so if you grind an area that you don't have all the quests done for, it can and most likely will get stuck.
Hover over the GUI labels in "ExampleRoutine" to understand what each setting is for. Your "Left Mouse Button" slot, the top left most one, is slot 1. Your "T" slot, second row, far right, is slot 8. Simply assign the slot #s to the skill category that you want to associate each skill with. The CR has a specific set of logic for determining when a slot is used. Users must make their own specialized CRs if they need different logic or behaviors. Our CR is just one big example of doing a bunch of different things, so it will never be able to do everything, nor could we maintain such a CR in a game like this.
A quick run down about how the default CR is currently designed, as there was some confusion with the previous version. This CR offers a generic way of trying to support as many "generic builds" as possible that make use of multiple skills under different combat scenarios. It allows for the use of multiple auras, curses, and one totem. If you assign a skill that is auto-used by the CR to a skill slot, it will be spam cast, and not work correctly, because casting such skills require additional logic not coded into the skill slots themselves.
Single Target Melee Skill Slot is used when there is a single target or boss-like mob in melee range. Single Target Ranged Skill Slot is used when such a target is outside of melee range.
Aoe Melee Skill Slot is used when there are numerous mobs around the player. Aoe Ranged Skill Slot is used when such mobs are outside of melee range. If you do not need a specific behavior, selecting -1 will make the bot not use a skill under that scenario, but a skill will always be used. For example, if you only set Single Target Melee Skill Slot, that slot will be used for all other conditions automatically if the are unassigned.
The CR for this version contains some changes to address some of the main issues people have noticed. The CR will now skip more mobs that lie outside combat range to avoid various issues with looping back and forth. This is purely a CR behavior, and if you use a custom CR or modify ExampleRoutine, it can be changed.
The CR does not have target priority yet, so there are several combat cases involving necros where it can get stuck. Since the bot is not in an afk-able state yet, this isn't a huge deal, and it's strongly advisable to babysit your bot for the time being as things are still getting worked out. In addition, the CR does not handle desync or other cases where the skill it's casting fails to hit the target (due to game mechanics).
Known Issues
The bot doesn't have a stuck detection plugin yet, so there are some areas where stuck issues might be more common than others. The City of Sarn has some known issues with the bot hugging the wall and getting stuck. Adjustments to the pathfinding for this area and some others are still on the todo list.
There is still a potential exception issue for when objects go invalid and the CR tries to process them. This typically results in the bot being stopped and the character logging out to the character selection screen. This issue is currently being worked on, but it's not an easy fix, so it'll take some time before it's solved for good.
Other than that, any issues with the CR are just CR issues from it being a large generic example. The BasicGrindBot implementation does not handle any combat issues itself. Right now, not much time can be spent on trying to get the CR expanded for more things, because that's not its goal. Certain skills have not been added to the CR yet. Trying to get them all will be considered, but for now, as long as most are used correctly, adding in others is just a task that takes time.
Please attach a full log if you have any problems. I've made sure as much debugging information is logged as possible to track down various issues that might happen. I need the full log though, and not partial snippets. If you do not feel comfortable posting a full log, you can PM me it instead with a link to your thread.
Beta #889 - Overview
1. Please place the "Move only" skill on your skillbar, but not in Left Mouse Button.
2. Make sure "Always Highlight" is enabled (PoE Options-> Ui or press Z)
3. Make sure "Key Pickup" is enabled (PoE Options-> Ui)
This version of the bot adds a lot of the core building blocks used to create higher level coroutine logic. The model it uses closely resembles the Beta 1.0 setup, but not all functionality is back yet.
However, the bot should now grind an area until it needs to go to town (uses area transitions to make new intances), will stash everything but a stack of portal scrolls, and then will return back. Stashing is simply going though your stash tabs one by one, trying to fit items. You should have your empty stash tabs at the front of stash to avoid delays when stashing. Unlike the old API, the bot will not request stash tabs anymore, but rather lets the client handle the logic, and simply changes tabs and checks their contents.
A few things in the default CR have changed to address reported issues with general combat. Please remember the CR we provide is basically one giant example of how you can go about things. Smaller, more customized CRs will perform a lot better, and will be a lot easier to work with and understand. However, such examples are not possible at this time by myself, as the actual API and bot logic aspect of things is not solid yet. If you need help on how to go about using the API or understanding how the CRs work, feel free to ask, and I'll get you pointed in the right direction.
Changelog
- Various delays have been added to the API and bot to make it seem more realistic and fix cases of things executing too fast.
- CodeCompiler changed to use | for tokens so abs. file paths for assemblies can be used.
- NextTab and PreviousTab functions added to panels that support them.
- WaitForStashContents -> WaitForStashTabContents.
- A lot of common coroutines implemented and existing ones updated.
- Tasks logic updated to handle error cases and retries better.
- Added an AlertBot example for showing some non-bot things doable with the API.
- Town runs and traveling from town support added.
- Basic stashing support added. You'll want your empty stash tabs at the front of stash, as usual.
- Doors and blocking breakable chest logic updated and added back in.
- The concept of the move location in the CR removed as it was causing issues with combat. The CR will now skip mobs outside of it's combat range until a better system can be put into place.
- Aura logic reworked to always cast, rather than cast once.
- Various delays have been added to the CR so there is time for the buff/aura to be detected.
- ShrineLogic now only executes within a fixed range, to avoid issues with non-combat situations.
- LootItemsTask and OpenChestTask updated to use InteractWith.
- AreaPather now favors Mud Flats to get to Tidal Island over Act 1 town.
Quick Guide
The current bot is still under work to try and achieve a bare minimal grinding/town run implementation. Certain quality of life features are not in it yet. Additional features, such as iding items, selling, have not made it back in yet, but will be added later if the current build is working noticeably better for users. There exists one more big thing to work around for the post 1.2 changes. That is the error where memory goes bad when the CR
Go to the "Settings" tab in the main GUI. From here, you can change "BasicGrindBot" or "ExampleRoutine" settings.
Currently, you can only select the grind zone for "BasicGrindBot". The bot can now navigate though towns, so as long as you have the appropriate quest state to reach an area, the bot should make it. After the bot finishes the grind zone, it will take area transitions back and forth for new instances until it needs to go to town. The bot does not have any quest logic, and does not know that you are or aren't able to use an area transition, so if you grind an area that you don't have all the quests done for, it can and most likely will get stuck.
Hover over the GUI labels in "ExampleRoutine" to understand what each setting is for. Your "Left Mouse Button" slot, the top left most one, is slot 1. Your "T" slot, second row, far right, is slot 8. Simply assign the slot #s to the skill category that you want to associate each skill with. The CR has a specific set of logic for determining when a slot is used. Users must make their own specialized CRs if they need different logic or behaviors. Our CR is just one big example of doing a bunch of different things, so it will never be able to do everything, nor could we maintain such a CR in a game like this.
A quick run down about how the default CR is currently designed, as there was some confusion with the previous version. This CR offers a generic way of trying to support as many "generic builds" as possible that make use of multiple skills under different combat scenarios. It allows for the use of multiple auras, curses, and one totem. If you assign a skill that is auto-used by the CR to a skill slot, it will be spam cast, and not work correctly, because casting such skills require additional logic not coded into the skill slots themselves.
Single Target Melee Skill Slot is used when there is a single target or boss-like mob in melee range. Single Target Ranged Skill Slot is used when such a target is outside of melee range.
Aoe Melee Skill Slot is used when there are numerous mobs around the player. Aoe Ranged Skill Slot is used when such mobs are outside of melee range. If you do not need a specific behavior, selecting -1 will make the bot not use a skill under that scenario, but a skill will always be used. For example, if you only set Single Target Melee Skill Slot, that slot will be used for all other conditions automatically if the are unassigned.
The CR for this version contains some changes to address some of the main issues people have noticed. The CR will now skip more mobs that lie outside combat range to avoid various issues with looping back and forth. This is purely a CR behavior, and if you use a custom CR or modify ExampleRoutine, it can be changed.
The CR does not have target priority yet, so there are several combat cases involving necros where it can get stuck. Since the bot is not in an afk-able state yet, this isn't a huge deal, and it's strongly advisable to babysit your bot for the time being as things are still getting worked out. In addition, the CR does not handle desync or other cases where the skill it's casting fails to hit the target (due to game mechanics).
Known Issues
The bot doesn't have a stuck detection plugin yet, so there are some areas where stuck issues might be more common than others. The City of Sarn has some known issues with the bot hugging the wall and getting stuck. Adjustments to the pathfinding for this area and some others are still on the todo list.
There is still a potential exception issue for when objects go invalid and the CR tries to process them. This typically results in the bot being stopped and the character logging out to the character selection screen. This issue is currently being worked on, but it's not an easy fix, so it'll take some time before it's solved for good.
Other than that, any issues with the CR are just CR issues from it being a large generic example. The BasicGrindBot implementation does not handle any combat issues itself. Right now, not much time can be spent on trying to get the CR expanded for more things, because that's not its goal. Certain skills have not been added to the CR yet. Trying to get them all will be considered, but for now, as long as most are used correctly, adding in others is just a task that takes time.