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

Double Checking on Shrines/Pylons?

mmmzq

Member
Joined
Oct 11, 2015
Messages
47
Reaction score
0
My bot is attempting to do double checking on the shrines/pylons no matter they are tired or new when passing by.
Any idea?
 
yes, same problem here...
This is a known issue. Hope this can be fixed soon. It's a annoying problem especially in GRifing. I saw the damn thing kept checking it over and over and again up to 7 times.
 
Last edited:
I don't usually have too many problems with this when using nemesis bracers. Almost never when I have been watching.

However, it seems to happen relatively often when I am not using nemesis bracers.

Not sure if the Elite priority of the bot overrides the stuck issue, but that's just an uneducated guess.

In short: If I am using a build with nemesis bracers, I leave shrine settings on. And I also do the opposite if not using nemesis but turning off shrines. Not worth the stuck issues.
 
I don't usually have too many problems with this when using nemesis bracers. Almost never when I have been watching.

However, it seems to happen relatively often when I am not using nemesis bracers.

Not sure if the Elite priority of the bot overrides the stuck issue, but that's just an uneducated guess.

In short: If I am using a build with nemesis bracers, I leave shrine settings on. And I also do the opposite if not using nemesis but turning off shrines. Not worth the stuck issues.

Put my Nemesis Bracer on and my bot still has its special affection to the shrines/pylons. Yes, even in the boss fight, even under my watch.:(
 
Put my Nemesis Bracer on and my bot still has its special affection to the shrines/pylons. Yes, even in the boss fight, even under my watch.:(

Yep, tried that with nems in rifting. no not only used shrine, also used xp pool and opened chest. I have to disable the shrine and chest option. but I cant disable the xp pool.
 
It's hard to fix because neither me nor xzjv can reproduce this. It works fine for both of us, the bot uses the shrine/pylon/whatever and moves on. Besides, the code already has plenty of checks to determine whether or not an interactable object has already been interacted with. So yeah, this one will take some time, especially considering we're still dealing with the bad item data business.
 
It's hard to fix because neither me nor xzjv can reproduce this. It works fine for both of us, the bot uses the shrine/pylon/whatever and moves on. Besides, the code already has plenty of checks to determine whether or not an interactable object has already been interacted with. So yeah, this one will take some time, especially considering we're still dealing with the bad item data business.
I suggest you use this build to test: https://www.thebuddyforum.com/demon...-solo-setup-200b-exp-hour-grift-key-burn.html. So you and xzjv will easy to reproduce the bug scene.
In those kind of build, we often set "Trigger range for Elite combat" value to 150(if this value set to 60 or below, it looks fine. But we need to find more Elites to kill). I think that's the cause of "double checking pylon" problem.

Here's some log:
Code:
01:15:40.006 DEBUG TrinityDebug [Trinity 2.14.46] Target changed to 330699 // x1_LR_Shrine_Run_Speed (Shrine) Adding x1_LR_Shrine_Run_Speed - High Priority Shrine

……

01:15:42.876 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 6 Radius 4.0 Attempt 0
01:15:42.876 INFO Logger [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed
01:15:43.151 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 1
01:15:43.335 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 2
01:15:43.516 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 3
01:15:43.706 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 4
01:15:43.989 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 5
01:15:44.077 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 6 Radius 4.0 Attempt 6
01:15:44.190 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 6 Radius 4.0 Attempt 7
01:15:44.303 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 8 Radius 4.0 Attempt 8
01:15:44.409 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 7 Radius 4.0 Attempt 9
01:15:44.490 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 6 Radius 4.0 Attempt 10
01:15:44.574 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 6 Radius 4.0 Attempt 11
01:15:44.655 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 12
01:15:44.828 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 13
01:15:44.983 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 14
01:15:45.147 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 15
01:15:45.148 DEBUG Logger [Trinity 2.14.46] Blacklisting x1_LR_Shrine_Run_Speed (330699) for 15 seconds after 15 interactions

…………

01:15:55.284 DEBUG TrinityDebug [Trinity 2.14.46] Target changed to 330699 // x1_LR_Shrine_Run_Speed (Shrine) Adding x1_LR_Shrine_Run_Speed - High Priority Shrine
01:15:56.107 DEBUG Logger [Adventurer][ScenesStorage] Update Scenes took 2.8572 ms.
01:15:56.278 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 10 Radius 4.0 Attempt 0
01:15:56.437 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 1
01:15:56.615 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 2
01:15:56.782 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 3
01:15:56.934 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 4
01:15:57.100 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 5
01:15:57.336 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 6
01:15:57.559 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 7
01:15:57.715 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 8
01:15:57.869 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 9
01:15:58.024 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 10
01:15:58.184 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 11
01:15:58.352 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 12
01:15:58.515 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 13
01:15:58.672 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 14
01:15:58.883 DEBUG TrinityDebug [Trinity 2.14.46] Interacting with x1_LR_Shrine_Run_Speed Distance 5 Radius 4.0 Attempt 15
01:15:58.883 DEBUG Logger [Trinity 2.14.46] Blacklisting x1_LR_Shrine_Run_Speed (330699) for 15 seconds after 15 interactions
 
You mean that mod is causing the issue? Then why not just not use the mod? Or do you mean it's the range slider that does it?
 
You mean that mod is causing the issue? Then why not just not use the mod? Or do you mean it's the range slider that does it?
No. The mod is for you and xzjv to reproduce. I think the range slider is causing the issue. Let's imagine this: when bot first vist pylon(with Nemesis Bracers), then he kill Elite, as he've done this, he find same pylon again. So he always try to visit it. That's the problem.
 
Last edited:
Jubisman, I figured out what's causing this, and have been running a fixed version for a while now and it seems stable. let me know if you are interested in it to roll into the svn.
 
Sure, any help is appreciated :)
In HandleTarget.cs, in the section that covers shrine use (search for "if (CacheData.InteractAttempts[CurrentTarget.RActorGuid] > 15 && CurrentTarget.Type != TrinityObjectType.HealthWell)"):

1) The major fix is:
After
"Blacklist15Seconds.Add(CurrentTarget.RActorGuid);"
Add
"Blacklist15LastClear = DateTime.UtcNow;"

without the second line I don't think adding to the blacklist does anything, since it will just clear it right away.

This will get rid of those situations where the bot will just stick to a shrine like glue forever, but the 15 tries will still mean it will spend like 2-3 seconds on a shrine.

2) I'm running with 5 tries atm, so it barely stands still at all when activating shrines:

"if (CacheData.InteractAttempts[CurrentTarget.RActorGuid] > 5 && CurrentTarget.Type != TrinityObjectType.HealthWell)"
 
In HandleTarget.cs, in the section that covers shrine use (search for "if (CacheData.InteractAttempts[CurrentTarget.RActorGuid] > 15 && CurrentTarget.Type != TrinityObjectType.HealthWell)"):

1) The major fix is:
After
"Blacklist15Seconds.Add(CurrentTarget.RActorGuid);"
Add
"Blacklist15LastClear = DateTime.UtcNow;"

without the second line I don't think adding to the blacklist does anything, since it will just clear it right away.

This will get rid of those situations where the bot will just stick to a shrine like glue forever, but the 15 tries will still mean it will spend like 2-3 seconds on a shrine.

2) I'm running with 5 tries atm, so it barely stands still at all when activating shrines:

"if (CacheData.InteractAttempts[CurrentTarget.RActorGuid] > 5 && CurrentTarget.Type != TrinityObjectType.HealthWell)"

It works great!

But It's not 100% fix:

Code:
10:27:49.069 DEBUG TrinityDebug [Trinity 2.14.44] Target changed to 373463 // PoolOfReflection (Shrine) Adding PoolOfReflection - High Priority Shrine
10:27:49.086 INFO  Logger [Trinity 2.14.44] IronSkin, elem start at 5583
10:27:49.586 DEBUG TrinityDebug [Trinity 2.14.44] Target changed to 449044 // itemFlippy_deathsBreath_Flippy_Global (Item) Adding itemFlippy_deathsBreath_Flippy_Global - Death's Breath
10:27:52.230 DEBUG TrinityDebug [Trinity 2.14.44] Target changed to 436807 // p1_normal_rifts_Orb (ProgressionGlobe) Maxxing p1_normal_rifts_Orb - Progression Globe.
10:27:55.211 DEBUG Logger [Adventurer][Navigation] Moving towards <768.75, 528.75, 0> (Distance: 69.33528)
10:27:55.527 DEBUG Logger [Adventurer][Navigation] Moving towards <748.75, 528.75, 0> (Distance: 67.10472)
10:27:55.774 DEBUG Logger [Adventurer] NearestUnvisitedNodeLocation took 5.2962 ms.
10:27:55.775 DEBUG Logger [Adventurer][Navigation] Moving to <728.75, 588.75, 0> (Distance: 92.47385)
10:27:56.897 DEBUG TrinityDebug [Trinity 2.14.44] Target changed to 373463 // PoolOfReflection (Shrine) Adding PoolOfReflection - High Priority Shrine
 
Last edited:
It's not 100% perfect but it makes the problem completely negligible, at least for me.
 
So we need add this ? Blacklist15LastClear = DateTime.UtcNow; and if (CacheData.InteractAttempts[CurrentTarget.RActorGuid] > 5 && CurrentTarget.Type != TrinityObjectType.HealthWell)
 
try to add "CurrentTarget = null;" after "Blacklist15LastClear = DateTime.UtcNow;"

just like this:
Code:
                            // If we've tried interacting too many times, blacklist this for a while
                            if (CacheData.InteractAttempts[CurrentTarget.RActorGuid] > [COLOR="#FF0000"]5[/COLOR] && CurrentTarget.Type != TrinityObjectType.HealthWell)
                            {
                                Logger.LogVerbose("Blacklisting {0} ({1}) for 15 seconds after {2} interactions",
                                    CurrentTarget.InternalName, CurrentTarget.ActorSNO, attemptCount);

                                CacheData.InteractAttempts[CurrentTarget.RActorGuid] = 0;
                                Blacklist15Seconds.Add(CurrentTarget.RActorGuid);
[COLOR="#FF0000"]                                Blacklist15LastClear = DateTime.UtcNow;
                                CurrentTarget = null;[/COLOR]

need more test.
 
Back
Top