chongeryan
Member
- Joined
- Feb 12, 2016
- Messages
- 55
- Reaction score
- 1
It's a little problem especially in GR. When bot in a game, he will try to do double checking on the shrines/pylons. This often happen in Crusader, I think here's the reason:
Now I do a little code work, just like:
1.add "Blacklist600Seconds" variable, when bot InteractAttempts > 5(I think 5 is better than 15), Blacklist600Seconds will add "CurrentTarget.ObjectHash"(yes, I use ObjectHash instead of RActorGuid, it's good), then force currentTarget update;
2.Blacklist600Seconds only reset in "TownRun" or "NewGame". It will keep every blacklisted pylon/shrine/door/container info until you leave GR;
3.before bot interact with pylon/shrine/door/container etc. We will check whether Blacklist600Seconds contains "CurrentTarget.ObjectHash", this is most important one;
And I add some code at 3/8:
1.add "maxAttemptCount" variable. use 5 attempts with shrine and container, use 15 attempts with other interactable objects;
2.in Greater Rift, when you interact with shrine, we'll check the buff and ActorSNO, if you got the buff, then blacklist this shrine;
Plz replace the file in the directories specified below :
\Trinity\Combat\HandleTarget.cs
\Trinity\Cache\RefreshObject.cs
\Trinity\Helpers\GameEvents.cs
\Trinity\DbProvider\TownRun.cs
\Trinity\Configuration\Variables.cs
works fine with trinity 2.14.44.
View attachment Trinity 2.14.44.zip
somtime if the InteractAttempts < 5, bot will still visit same pylon/shrine twice, it's not bug.
- Crusader uses nemesis bracers in GR, so "Give higer priority to shrines" always ticked.
- In Lon build of Crusader, "Trigger range for Elite combat" often set to 150. It gives bot the ability to find more elites, maybe include pylon/shrine too.
- Trinity use "Blacklist15Seconds.Add(CurrentTarget.RActorGuid);" to avoid double checking. But the RActorGuid is not fixed. it will change in game. And Blacklist15Seconds is too short;
Now I do a little code work, just like:
1.add "Blacklist600Seconds" variable, when bot InteractAttempts > 5(I think 5 is better than 15), Blacklist600Seconds will add "CurrentTarget.ObjectHash"(yes, I use ObjectHash instead of RActorGuid, it's good), then force currentTarget update;
2.Blacklist600Seconds only reset in "TownRun" or "NewGame". It will keep every blacklisted pylon/shrine/door/container info until you leave GR;
3.before bot interact with pylon/shrine/door/container etc. We will check whether Blacklist600Seconds contains "CurrentTarget.ObjectHash", this is most important one;
And I add some code at 3/8:
1.add "maxAttemptCount" variable. use 5 attempts with shrine and container, use 15 attempts with other interactable objects;
2.in Greater Rift, when you interact with shrine, we'll check the buff and ActorSNO, if you got the buff, then blacklist this shrine;
Plz replace the file in the directories specified below :
\Trinity\Combat\HandleTarget.cs
\Trinity\Cache\RefreshObject.cs
\Trinity\Helpers\GameEvents.cs
\Trinity\DbProvider\TownRun.cs
\Trinity\Configuration\Variables.cs
works fine with trinity 2.14.44.
View attachment Trinity 2.14.44.zip
somtime if the InteractAttempts < 5, bot will still visit same pylon/shrine twice, it's not bug.
Last edited: