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

ExilebuddyBeta Forsaken Masters Guide

Status
Not open for further replies.

pushedx

Well-Known Member
Joined
Sep 24, 2013
Messages
4,252
Reaction score
290
ExilebuddyBeta

There's a ton of information to cover, so in an attempt to avoid a massive unreadable thread, here's a summarization of everything users need to know.

0. Please use the Support forum to post all the new bugs and issues you run into. I expect there to be a lot of feedback and stuff to look though, so you might not get a reply right away. However, I will read though all poses and comments. As per regular Buddy product rules, please attach a log when making a report, as it helps us identify potential problems that users might not be aware of.

1. Exilebuddy is currently going though a complete project restructuring. Please bear with us as we get the project reorganized, and brought back up to date for PoE 1.2+. In short, EB has been rewritten to work properly with 1.2+, and all previous logic and API stuff has been removed/changed. This was unavoidable, and while a lot of preparations were made for it, the actual amount of changes necessary for 1.2 was more than expected.

2. Users will be compensated for the downtime the past week since the update, as well as some additional time over the next week as everything is retested and updated. More details about this will come when we reach that point.

3. This Beta release has a very specific purpose: test portions of the new API, and the basic grind bot logic created for 1.2. This is not the final version of Exilebuddy. It lacks a lot of basic features and logic, as there was simply not enough time to add old things back without making users wait another week without anything to test.

4. The current state of Beta is as follows: There will most likely be bugs and possibly crashes to work though. Please do not test on a character that you cannot afford to have die.
User Guide - A new Beta user guide needs to be written. The existing one is still mostly accurate in terms of the GUI, but there are some updates to be made. Before a Release version is made, we'll have an up to date user guide for once, that covers everything people need to know.

API - The API has been updated for 1.2, and includes a lot of new and exciting things. For more information about this, please see the following guide: An Overview of Loki: Exilebuddy's API for Path of Exile. There are a few corrections and updates that still need to be made, but overall the guide is pretty accurate in regards to the current version. Only a few client features have not made it into the API yet, but they will be worked on after other updates are made, because they are low priority features. Lastly, more examples of using the new API are planned, but will be added when time allows.

CR - The basic CR we provide is not finished yet. It does have some advanced logic examples for skills not supported in the past (animate guardian, animate weapon, flameblast), but it needs some more stuff. The current design is such that users choose a skill slot for 1 melee skill, and 1 ranged skill. The CR then uses the melee skill in melee range (configurable) and the ranged skill otherwise. There is an option to configure always attack in place as well as a flameblast setting. All changes have to be done to the actual code file, and the bot must be restarted for the changes to take place. This will change so users can edit settings from the new GUI instead in the near future.

Bot - The basic bot we provide is not finished yet. Right now, users need to travel to an area they wish to grind, click Start, and after it finishes, repeat that process. The bot will not do anything related to Masters, quests, corrupted areas, and will skip opening Strongboxes and breakable chests (unless absolutely necessary). The bot is not able to be customized, because the implementation is very specific (for a number of reasons, other than just time), but this will be talked about in detail later. The bot will not do anything in town. Town run logic is not added, because it'd be too rushed, and the new API for town actions needs to be carefully tested. All in all, the basic bot provided will be changing a lot, but re-adding logic will most likely take weeks, as it all had to be redone.
5. A stable "Release" version of Exilebuddy will not be available for some time. As mentioned in #1, the old bot/API is gone. It would be very helpful if everyone tried out Beta and reported issues with the new setup to help speed up development, but we understand a lot of users are looking for something that Beta is currently not.

Download: ExilebuddyBeta (Please read this entire thread first though.)
Additional Requirements

API
  • Steam offsets are not uploaded yet. A few Steam specific changes need to be made and tested first.
  • The login Gateway cannot be set though the API anymore. This has been temporarily disabled as a new method to change it is needed.
Previous versions offered a lot of reusable coroutines and functions to do various things. These have all been removed as they were no longer compatible with the new API. As time goes on, some of them will make their way back, but some will not due to the way logic has to work with this game. For example, a general "move to and interact with" is too generic to be useful now. Depending on what you are going to interact with, the logic has to change, and how you handle failures varies case to case.

BasicGrindBot

Path of Exile's "Key Pickup" setting needs to be enabled (Options -> Ui)
The "Move only" skill needs to be on your skill bar, and not in Slot 1 or bound to left mouse button.
Make sure your camera is zoomed out to the client max.

This bot implementation is coded to follow a very specific set of logic. All bot logic is implemented though the GrindTask. While users can add their own tasks to this bot implementation by design, it's not recommended due to the incompleteness of this bot implementation. There are a few known issues that users might come across. Due to terrain changes, it is possible for the bot to hug the walls too closely and get stuck. Pathfinding will have to be tweaked some to avoid this. In addition, it's possible for certain blocking objects, such as Strongboxes, to be placed in a way where the bot gets stuck trying to travel near them, Please remember that the current implementation requires user interactions, and do not leave the bot unattended.

First, the GrindTask only executes logic when it's not in town, a hideout, and the map room. If the character is dead, it will execute standard resurrect logic (as before) and choose the checkpoint if possible, and then the town. If neither appears to work, the bot will logout to the character selection screen. The GrindTask does not track deaths in its current implementation, but that feature will be re-added in the future.

The next thing the GrindTask does is clear any level skill gem icons from the main HUD. This is a new feature, and it's done using the new APII as the level skill gem API now uses the Inventory panel. The current GrindTask implementation does not offer skill gem leveling yet, but will in the future.

In the past, there were cases where certain chest clusters would trap the bot, and it would get stuck. GrindTask contains some basic logic to identify this scenario and try to avoid it. It will try to break any destroyable chests within close range before doing anything else.

The GrindTask will then attempt to open any close by doors. Additional logic has been added to try and identify any cases where the bot gets stuck behind a door, and it will logout if it gets trapped for too long and cannot make progress. All varities of doors have been tested, so there should not be any side effects of this logic.

At this point, the GrindTask will now call into the current CRs combat logic. This is a big change compared to how previous versions work, because the bot attempted to dictate when it was in combat. Now, it's the CR's job to handle this. This change was made to allow various long term issues to be properly solved. For example, Shrine logic is now handled though CRs. This allows a CR to try and grab a shrine when it feels is best, based on the current client state. ExampleRoutine does not handle Shrines yet though, but it has placeholder code. This new design, allows the CR to do things that had to be coded around before, such as raising minions when there were no enemies on the screen. The CR can also do things like stop moving if the user is punctured or trigger a town run if flasks are gone before any mobs get close.

When the CR returns false, to signal no combat logic executed, the GrindTask then moves into looting items and chests. The new design for looting is to cache locations of things the bot needs sto pick up or open, and then simply visit those locations one by one. As a result, BasicGrindBot will have a lot of backtracking, but it does it by design. This new design is in place to solve the long time issue of the bot running back and forth between a chest or an item and doing something else. However, as mentioned before, the current implementation is just something basic that should work. If the inventory is full, the bot will create a portal and go to town and then stop to wait for user intervention.

After all chest / item looting is completed, the GrindTask falls back into explore mode. Explore logic has finally been updated to fix a lot of performance issues and other design flaws with the previous systems. It now supports completion %, and is sorely used for visiting the entire area. Users cannot change the completion percent yet, because the current GrindTask is setup specifically to full explore and grind an entire area. However, in other implementations, this can be changed.

Finally, when the GrindTask has nothing left to do, it will create a portal to town and take it. If no portals are in the inventory, it will simply logout to the character selection screen. This behavior is not configurable currently, but it's just for testing short term.

ExampleRoutine

Path of Exile's "Always Highlight" setting will be toggled as needed, far less frequently than it used to. There might be some cases where it doesn't keep the state, but those can be fixed soon.

The new default routine for Exilebuddy is setup in a different way than the previous Release and Beta versions were. The goal with this routine, is to design around what's on the skillbar, rather than trying to handle every skill in the game. Numerous API improvements have been made to make this possible, but there will never be a way for the CR to use your skills as you'd like them to. As a result, CRs can be designed and used anyway devs want them to, but the one we will provide will be setup in the manner described.

At the top of ExampleRoutine.cs are user settings:
Code:
        private int _meleeSlot = -1;  // The slot that has your main melee skill. When set to -1, CR does not use melee skill
        private int _rangedSlot = -1; // The slot that has your main ranged skill. When set to -1, CR does not use ranged skill

        private int _combatRange = 35; // Only attack mobs within this range. Do not set too high, as the cursor will overlap the GUI.

        private int _rangedAttackDistance = 10; // The distance to use a ranged skill. I.e., use melee under this value.

        private bool _alwaysAttackInPlace = false; // Should the CR always attack in place.

        private const int FlameblastCharges = 5; // How many flameblast charges we want to reach before casting.

These need to be adjusted as needed to test this routine.

This routine will auto-detect and use a specific set of skills as well: Raise Zombie, Raise Spectre, Animate Weapon, Animate Guardian, and Flameblast. The code has to be changed to adjust how they are used, but example logic is there. Flameblast will be used when the character is surround by 4 or more mobs, and the animate skills are used on items that typically wouldn't match item filters, but the item filters are not checked. Zombies and Spectres will be raised as bodies are encountered if needed.

One of the changes from previous versions, is there is no longer a targeting class. Routines are responsible for handling targeting, because the combat responsibility lies with the CR as the bot no longer handles any aspect of it. This doesn't really change much, as specialized CRs would need their own targeting system in the past anyways. The targeting in ExampleRoutine is simply based on distance and the ability to attack. It does not check allies cannot die or other auras, or prioritize things like necros. It will in the future, but for this release, please make sure to watch what the routine does. Support for the new totem is included though, so the bot will not try to target or attack the invincible damaging totems found in some mission areas.

Lastly, the ExampleRoutine implements a system to help avoid getting stuck in back and forth cases. It will store a location it needs to move to, and then move to it. It will only stop if there are mobs close by that it should kill instead. That is necessary for cases where a leaping monster is on the low ground, and the bot is on the high ground and moves towards the low ground, and then the monster jumps up on the high ground. This system might need some more tweaking, but the logic is necessary to avoid that long time bot issue.

One mechanic not implemented in ExampleRoutine which is very useful, is trying to verify a skill was cast. In the previous Beta, the SmartCastCoroutine did this, but it resulted in slower skill casting because it would wait some for the client. While checking to see if the client performed a cast or not is helpful, there was a lot of feedback that the bot was attacking too slow. As a result, that system is not currently in place, and it might be added again in a more limited way to avoid slowing down the bot too much.

Just as a reminder, the logic we provide will always be pretty basic and generic. There will be no planned support for Rampage or Beyond, but users can customize their CRs to make them work better for each league as needed. Beyond Portals are exposed though the object manager, but Rampage hud information is not available though the API. Unless there is a really good reason for Rampage information to be provided, it most likely remain a low priority thing.

Current Plans and Timeline

I cannot stress enough, Exilebuddy is not currently finished. This Beta release is just a step forward in being able to bot in 1.2+ using our new setup. The immediate goal is to start working on more logic and features to test the new API. Town stuff will be worked in as well as things like area looping, doing corrupted areas, and other stuff the previous bot implementation had. More information and progress will be talked about as it happens over this upcoming week.
 
Last edited:
Version History:

#882 [29 Aug 14 15:07] [Poe 1.2.1.2]
  • Updates for 1.2.1.2.
  • ObjectExplorerWindow now shows stat types for the main PoE version (as opposed to just ints).
  • AreaStateCache.DisableDefaultExplorer added for users to disable the default GridExplorer created for each area. Users can assign their own Explorer to each instance otherwise.

#881 [29 Aug 14 04:48] [Poe 1.2.1.1]
  • Updates for 1.2.1.1.
  • Steam updates for 1.2.
  • Settings added to BasicGrindBot / GrindTask.
  • MoveTowards handles a client issue with TimeSinceLastMove that could result in it never moving.
  • ExampleRoutine now blacklists and handles the blacklist for mobs, and allies cannot die.
  • Logic fixes for exploration complete in GrindTask.
  • Updated logic to handle Upper Prison's local area transitions.
  • Removed the Explorer static class instance, because it hurt the design. AreaStateCache now has an IExplorer for the current area.
  • Terrain data now has a separate cache for town/non town areas to avoid the case of having to regenerate terrain data for a town run.
  • DatWorldAreaWrapper.IsMapRoom added to replace the LocalPlayer.IsInMapRoom implementation of checking area id.
  • Backtracking reduced though CR changes. The CR will now only consider monsters within a certain configurable range.
  • Waypoint API updated to fix a client issue; waypoint areas are now correct.
  • GridExplorer now only resets on an area change if the new area is not a town. This is to help keep consistency with town runs during grinding.
  • AreaPather updates for excluding the new 1.2 areas.
  • Fixed a few issues when starting the bot out of game.

#880 [28 Aug 14 01:50] (PoE 1.2.0.3)
  • ExampleRoutine now uses settings so users do not have to edit the CS file unless they want to make logic changes. Please hover over the label to see a description of what a setting is for if it is not clear.
  • ExampleRoutine logic expanded to cover more of the API / skill types. It should now cover most things in the game, but does not have specialized logic for everything (as that is not its purpose)
  • For aura support, users need to have one aura on their skill bar, and the CR will use that slot to cast the others. All other non-attack skills are handled automatically if they are on the skill bar.
  • Some additional computations in MoveTowards moved outside the frame lock.
  • Actor.HasAuraFrom changed to HasBuffFrom. Actor.HasCurseFrom added to handle curses, as shown in the CR. Removed Critical Weakness, as it is now Assassin's Mark, and added Poacher's Mark.

#879 [27 Aug 14 03:29] (PoE 1.2.0.3)
  • Exilebuddy rewrite for Forsaken Masters.
 
Last edited:
nice job? non working bot and 100s posts of useless shit since 1.2
stop writing poems in all ur forum posts and get some work done plz

guess its time to move on to other bots
 
nice job? non working bot and 100s posts of useless shit since 1.2
stop writing poems in all ur forum posts and get some work done plz

guess its time to move on to other bots

Look, there's no need to be a dick. If you can find a better bot, then go for it. Shouldn't flame pushedx for his hard work.

testing out the bot now in beyond
 
Last edited:
Look, there's no need to be a dick. If you can find a better bot, then go for it. Shouldn't flame pushedx for his hard work.

testing out the bot now in beyond


agreed.

first bug ive found is it doesnt pick up scrolls of wisdom. not sure if im not setting up the loot filter right but its def not picking anything up

edit: changing settings in the item filter editor didnt work, changing them in the json file itself did
 
Last edited:
Pushedx,

The bot is running great. It honestly feels a lot smoother than the previous version so that's good.

I have noticed some problems:

-It does everything in order. Example: while I was farming catacombs with it, it first killed all the mobs (leaving all loot/chests behind). Then came back and looted all the items dropped in the instance (this is probably what guy above me was talking about). After, the bot then opened chests(weirdly enough, it immediately destroys pots/urns).

-Doesn't run auras
-Runs towards a chest, runs a little past it, turns around and opens it

Will test longer tomorrow.
 
Great with progress.

But am I correct in assuming that the BETA is not for the botter with absolutely no programming skills -> (us that needs just to click a button and download some stuff) ;)
 
Great with progress.

But am I correct in assuming that the BETA is not for the botter with absolutely no programming skills -> (us that needs just to click a button and download some stuff) ;)


pretty much this ^ you can do some things without any programming skills such as botting while playing another game beside it or watching a movie. but you will need to start each area manually

the bot is configured to complete an entire area then go to town and stop the bot.
 
I can get the bot to run in eg. The ledge. But it don't know how to handle town runs.

And the pickup logic is kinda bad. It keeps fighting mobs, therefor it will run far away from loot, and then all the waay back
 
pretty much this ^ you can do some things without any programming skills such as botting while playing another game beside it or watching a movie. but you will need to start each area manually

the bot is configured to complete an entire area then go to town and stop the bot.

Guess it will be a while before it is fully afk'able again :(
 
- i can confirm the already reported huge backtracking EB does to get loot that dropped like at the start of the run, this needs to be fixed asap.

- very smooth and seems very light to run EB.

- i get like 0,5 secs client freezes, i believe it happens when EB calculates the path from char to monster to attack. Will further watch for this to track even further down what could be causing this.
 
Can anyone please let me know how to setup the bots? I am still confused after reading the guide. My 2 chars using dominating blow and infernal blow. Thanks!
 
- i can confirm the already reported huge backtracking EB does to get loot that dropped like at the start of the run, this needs to be fixed asap.

- very smooth and seems very light to run EB.

- i get like 0,5 secs client freezes, i believe it happens when EB calculates the path from char to monster to attack. Will further watch for this to track even further down what could be causing this.

bot is very smooth yes, but the current status of development is a bit disappointing....if I cannot loop areas it is not a bot!
Regarding the loot: in my case it is good to walk back to pickup items as I run a minion timed build. So is it possible to have the choice? pickup at location or pickup at the end.
 
Last edited:
nice job? non working bot and 100s posts of useless shit since 1.2
stop writing poems in all ur forum posts and get some work done plz

guess its time to move on to other bots
Do you need a hug? Cry me a river, do better then ta;k please. I really would like it if you moved on, makes the community a better place.
 
Do you need a hug? Cry me a river, do better then ta;k please. I really would like it if you moved on, makes the community a better place.
well, he expressed himself in a not very educated manner, true.. but he is fundamentally right. What if he paid for 20 of them?
I am more patient but the current beta release is quite behind (considering all the beta process it went trought in the last months).
At least my opinion, don't flame pls...
 
Ok so I get this error when trying to run the bot... I have tried to configure the example plugin but when i do a white box just comes up nothing else when i go to example routine its just a green box under it no config nothing...
What am I doing wrong here?

[ExampleRoutine] Start
[Start] Please configure the ExampleRoutine.cs file before starting!
[Stop] Now requesting the BotThread to stop.
[BasicGrindBot] OnStop
[Stop] GridExplorer
[AutoFlask] Stop
[ExampleRoutine] Stop
 
Can anyone please let me know how to setup the bots? I am still confused after reading the guide. My 2 chars using dominating blow and infernal blow. Thanks!

Ok so I get this error when trying to run the bot... I have tried to configure the example routine but when i do a white box just comes up nothing else...
What am I doing wrong here?

[ExampleRoutine] Start
[Start] Please configure the ExampleRoutine.cs file before starting!
[Stop] Now requesting the BotThread to stop.
[BasicGrindBot] OnStop
[Stop] GridExplorer
[AutoFlask] Stop
[ExampleRoutine] Stop

so 2 important things:
- make sure the walk is not in the first skill or left mouse button (mystery why not).
then go to \Routines\ExampleRoutine
open ExampleRoutine.cs with notepad

go to this line

private int _meleeSlot = -1; // The slot that has your main melee skill. When set to -1, CR does not use melee skill

change the value from -1 to the value correspondent of where u have ur main skill:

left mouse = 1
centre mouse = 2
right mouse = 3
Q key = 4
.....
T key = 8

That's what I did to make it work, let me know if helps.
 
so 2 important things:
- make sure the walk is not in the first skill or left mouse button (mystery why not).
then go to \Routines\ExampleRoutine
open ExampleRoutine.cs with notepad

go to this line

private int _meleeSlot = -1; // The slot that has your main melee skill. When set to -1, CR does not use melee skill

change the value from -1 to the value correspondent of where u have ur main skill:

left mouse = 1
centre mouse = 2
right mouse = 3
Q key = 4
.....
T key = 8

That's what I did to make it work, let me know if helps.

Thanks this got mine working too didn't think to manual edit it.

What I don't understand is why is there no looping areas.. if the new bot is in this bad of shape why not release the old stable version with minor updates to allow it to run on patch 1.2+ and also the NEW BETA just for testing... I don't mind testing its fun sure but I would love something that I could actually call a functioning bot. This as of now is bare bones. I'll be honest I was expecting a little more.

Though I will say that the overall movement seems a lot smoother but the no area looping and the looting issues need to be resolved asap. Then work on a better routine and skills etc. Just my opinion. I do think you do a good job though pushedx as it seems you are the only one working on this bot and it has the potential to be great.
 
Last edited:
Status
Not open for further replies.
Back
Top