Was wondering if it was possible to make the bot exit and refresh areas via closest "next or previous area" for linear areas such as ledge and coves? This would emulate better "human behavior" instead of creating a tp every time.
Exactly, some of the most common farmed zones such as Ledge and Southern Forest have a really bad logic for grind bot, Southern Forest for example, the farming route should from Waypoint to Forest Encampent or Forest Encampment to Waypoint. Most of the times it starts on the Waypoint runs all the way to the Forest Encampent(but doesn't enter it), comes all the way back to fully explore it, then teleports out. If I add the early completition thing, sometimes it runs all the way back same as before othertimes it just opens a portal right at Forest Encampment door. GGG is not stupid, its these simple things that can flag people as botters and investigate them in detail before throwing a ban. Most companies nowadays detect automated tools not by actually detecting them but by reading their behaviour and finding that behavior such as Hearthstone bots not targeting or hovering cards. No human player walks all they way back after clearing 90% of the zone or using a portal when standing next to the exit to town, probably 1 in 1000.
Hey xeratzy, try setting all the ExplorationCompleteBehaviour1 inside BasicGrindBot tab, and set one to AreaTransition, and see if it works.
Is there anyway to make GrindBot have a default setting for each zone since some zones are really effective with Area Transition others are better with early completition.
The old Beta had non-configurable area specific logic worked in afterwards to solve the obvious issues, but you should be able to get similar results by configuring the exploration settings in BasicGrindBot. If you don't configure it though, it will act the same way in all areas (take a portal, rather than waypoint or area transition when neither of the two are close by). Try changing the settings for each area to find values that work well for you. If you make a plugin that adds a handler to GameEventManager.AreaChanged, you can then change BasicGrindBotSettings to values that you want for the current area. You also need to make sure you reset the values to good defaults when an area is not handled. I don't see it being feasible to try and add per-area settings though the GUI, as it'll be annoying to use and setup. I do think per-area configurations are needed though, especially for routines. Instead, the future approach I want to take is to use a profile to change bot settings so users have an easy way to drive the bot, without actually having to code in plugin logic to do it manually. We can't use profiles for the bot itself, since the design doesn't work in this game, but by having a profile driven settings design, you'd be able to easily do things like that. I do want to find a way to add in a profile system for configuring settings, since it also needs to be used in Hearthbuddy, but there's some design issues that need to be solved to make it work first. It's on the todo list, since I really need it, but right now, it's not something I can focus on with all that's going on and upcoming (Hearthstone/PoE related).
Hey dude, tell me the areas you want early completion and which areas transition. I'll write a quick nice user friendly plugin for it. I basically have all the pre-reqs for it, just needed a reason to use them lol.
Alright is there any way to make the GrindBot just go straight to the AreaTransition and only kill stuff around that path with a certain combat radius and who knows a monster threshold so it doesn't walk all the way just to kill 1 monster? Or is that hardcoded on the GrindBot itself
BasicGrindBot doesn't handle combat; ExampleRoutine does. BasicGrindBot only handles following exploration (which users can change) and simply calls into the CR each tick. If you get the anchor point for the current area (AreaStateCache.Current.CurrentAnchorPoint) then calculate a path to where the bot most likely will leave (you need to find that point via AreaStateCache.Current.StaticLocations, and pick the location), you could then base combat targets on distance from any point along the path. That's quite a lot of calcs though, and there's no real way to know where the bot is going to head since it's "exploring" to the exit. Not all areas have static locations that help guide the bot though, but the early act 1 / act 2 areas should. Boss areas will require different logic, naturally. You could also make your own explorer with a known destination to explore "towards" rather than just explore the current area, so you know how to base your end destination from. However, you'd have to find a way to know exactly where to go, and make sure no other code is running that will result in you having combat targets that can surround you that you don't kill, which would result in you getting stuck and possibly killed (which is more common in the small tilesets). As a result, trying to solve the problem that way wouldn't work out well. Basically, you should just be tweaking the CR to ignore combat targets if you don't think they are worth killing, rather than trying to change the way the bot explores. You can do simple checks to calculate the # of mobs around a target and if it's too small, don't include it. People have felt that the current targeting system ignores too much (which is why the plugin to track them all was added), and others feel it's not ignoring enough, so the current setup let's you change that as you need.
Hey sorry for the the late reply, had work and stuff. it works Sometimes when you come from the right direction, otherwise the bot will just backtrack thru everything to exit from the area it came from.