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

sepefeet

New Member
Joined
Jan 20, 2016
Messages
122
Reaction score
1
Adventurer has been getting stuck a lot lately, especially on new maps but also on a few old ones, so I dove in and found that it doesn't really have any code to get unstuck. I copied a small bit of Trinity's unstuck code and modified it a little for Adventurer. The results have been amazing so far, the debug log shows it has gotten unstuck many times in just the last hour.

In Plugins/Adventurer/Coroutines/NavigationCoroutine.cs change this:
Code:
        private NavigationCoroutine(Vector3 destination, int distance)
        {
            _destination = destination;
            _distance = distance;
            if (_distance < 2)
            {
                _distance = 2;
            }
        }
to this:
Code:
        private NavigationCoroutine(Vector3 destination, int distance)
        {
            _destination = destination;
            _distance = distance;
            if (_distance < 2)
            {
                _distance = 2;
            }
            if (LastResult == CoroutineResult.Failure)
            {
                Logger.Debug("Trying RANDOM unstuck point!");

                Random random = new Random();
                _distance = random.Next(5, 30);
                float direction = (float)random.NextDouble();
                Vector3 myPos = AdvDia.MyPosition;

                _destination = MathEx.GetPointAt(myPos, _distance, direction);
            }
        }
 
Compiler Error: c:\Users\****\*****\****\Plugins\Adventurer\Coroutines\NavigationCoroutine.cs(47,22) : error CS0102: Der Typ 'Adventurer.Coroutines.NavigationCoroutine' enthält bereits eine Definition für 'States'.

EDIT: my bad. placed the backup file in the same directory. :)
 
Last edited:
Adventurer has been getting stuck a lot lately, especially on new maps but also on a few old ones, so I dove in and found that it doesn't really have any code to get unstuck. I copied a small bit of Trinity's unstuck code and modified it a little for Adventurer. The results have been amazing so far, the debug log shows it has gotten unstuck many times in just the last hour.

In Plugins/Adventurer/Coroutines/NavigationCoroutine.cs change this:
Code:
        private NavigationCoroutine(Vector3 destination, int distance)
        {
            _destination = destination;
            _distance = distance;
            if (_distance < 2)
            {
                _distance = 2;
            }
        }
to this:
Code:
        private NavigationCoroutine(Vector3 destination, int distance)
        {
            _destination = destination;
            _distance = distance;
            if (_distance < 2)
            {
                _distance = 2;
            }
            if (LastResult == CoroutineResult.Failure)
            {
                Logger.Debug("Trying RANDOM unstuck point!");

                Random random = new Random();
                _distance = random.Next(5, 30);
                float direction = (float)random.NextDouble();
                Vector3 myPos = AdvDia.MyPosition;

                _destination = MathEx.GetPointAt(myPos, _distance, direction);
            }
        }

Thank you for sharing!!! appreciate ! i will try and let you know if there is any problem!
 
Just a pity that the devs haven't done this yet . . .

The devs are doing awesome work!
I'm sure they will notice this topic and if the code is ok it will be merged into the next version.
 
Is this for Bounties or Nephalem Rifts or both ?
Everything. It makes it so that any time Adventurer gets stuck in one spot it will pick a random nearby spot to try to move to until it finds one that it can move to. There may be places where it keeps going back to the place that makes it stuck but so far I haven't seen it occur in rifts.
 
wow you are the fucking man really :) maybe you should help with the the Dev of this plugin you did a fucking great job :) thank you so much
 
Everything. It makes it so that any time Adventurer gets stuck in one spot it will pick a random nearby spot to try to move to until it finds one that it can move to. There may be places where it keeps going back to the place that makes it stuck but so far I haven't seen it occur in rifts.
what are your db and trinity version?!
 
If you had the bot running already then make sure to restart it after making the change. It will still get temporarily stuck in some places but it should get unstuck within a minute worst case that I've seen in my logs and usually within 10 secs.
 
If you had the bot running already then make sure to restart it after making the change. It will still get temporarily stuck in some places but it should get unstuck within a minute worst case that I've seen in my logs and usually within 10 secs.
of course, i completly restart d3 and db after change
 
the stucks happens mostly in new maps in rifts...for me

will see if this stuff will fix it^^
 
Last edited:
Code:
[Adventurer][Rift] Oh look! There is a portal over there, let's see what's on the other side.
[Trinity 2.14.24] World Changed. IsCombatModeOverridden=False
[Adventurer][Rift] Let the massacre continue!
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 256 Unvisited Nodes: 0 Searching In [443694]
[Trinity 2.14.24] Trying to get Unstuck...
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 165 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 412 Unvisited Nodes: 0 Searching In [443694]
Clicked revive at corpse button
Clicked revive at corpse button
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 389 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 217 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 425 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 278 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 425 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 251 Unvisited Nodes: 0 Searching In [443694]
[Trinity 2.14.24] Experience inactivity after 94s. Sending abort.

hmmm
 
Code:
[Adventurer][Rift] Oh look! There is a portal over there, let's see what's on the other side.
[Trinity 2.14.24] World Changed. IsCombatModeOverridden=False
[Adventurer][Rift] Let the massacre continue!
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 256 Unvisited Nodes: 0 Searching In [443694]
[Trinity 2.14.24] Trying to get Unstuck...
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 165 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 412 Unvisited Nodes: 0 Searching In [443694]
Clicked revive at corpse button
Clicked revive at corpse button
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 389 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 217 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 425 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 278 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 425 Unvisited Nodes: 0 Searching In [443694]
[Adventurer][ExplorationLogic] Couldn't find any unvisited nodes. Current AdvDia.LevelAreaSnoIdId: 443694, ZetaDia.CurrentLevelAreaSnoId: 443694, Total Nodes: 251 Unvisited Nodes: 0 Searching In [443694]
[Trinity 2.14.24] Experience inactivity after 94s. Sending abort.

hmmm
That's a separate problem. My fix is only for when it knows where to go but can't go there because it is stuck on terrain or w/e. That error is because it explored every node and doesn't know where to go.
 
Thank you

I wanna thank you aswell i've been looking for this in here for some time, cause Ive been getting stuck alot in Greater rifts and Nephalem rifts, whenever my DH would meet a door he would sometimes get stuck and other times just stand infront of doors.. And in Bounties he would stand on Waypoint and keep calling for Navigation server...

Next time i see it ill post code here..

But thx ill try this out, maybe this also fixes my issues.


Best Regards

Myrk
 
Now i just started it and the first Bounty it chose was in act 2 in the Cave with the Iron Wolves, it killed the mobs, then the guys were talking and it tried to leave.. like leave the dungeon, i steered it back so that it reacted to the start of the next objective after their conversation where they (2 guards ) turn in to Lacumi prowlers aswell... Im not sure if the bot would have returned to that bounty at that point or then that it would just have been unsuccessful, but.. I attached the code, dunno if its to much use, but simply, if the bot at that bounty had a longer wait time in the dungeon, and in some other bounties ive seen aswell, is that possible, that adventurer specifically could have a dynamic wait time that is different than the set Wait time after events in Trinity...

Here is the code for my example :
 

Attachments

It made my chars fuck up a lot in bounties and stop doing anything. I had to switch back to old and it did a lot better. I'm not 100 % sure if it was because of this change, or some of the files in bounty adventurer. Since I replaced the whole adventurer folder.
 
Back
Top