What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
After updating to rev. 15, my followers are leaving game after teleporting back to town because the leader is in game loading screen (last to teleport back to town).
 
System.TypeInitializationException: “AutoFollow.Networking.Server”的类型初始值设定项引发异常。 ---> System.UriFormatException: 无效的 URI: 未能分析主机名。
在 System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
在 System.Uri..ctor(String uriString)
在 AutoFollow.Networking.Server..cctor() 位置 D:\DB\DB武僧\2暗黑兄弟DB.456.中文T45\Plugins\zAutoFollow\Networking\Server.cs:行号 21
--- 内部异常堆栈跟踪的结尾 ---
在 AutoFollow.Settings.SettingsWindow_Closed() 位置 D:\DB\DB武僧\2暗黑兄弟DB.456.中文T45\Plugins\zAutoFollow\Settings.cs:行号 56
在 AutoFollow.UI.UILoader.LoaderEvent.Invoke()
在 AutoFollow.UI.UILoader.SettingsWindow_Closed(Object sender, EventArgs e) 位置 D:\DB\DB武僧\2暗黑兄弟DB.456.中文T45\Plugins\zAutoFollow\UI\UILoader.cs:行号 115
在 System.EventHandler.Invoke(Object sender, EventArgs e)
在 System.Windows.Window.OnClosed(EventArgs e)
在 System.Windows.Window.WmDestroy()
在 System.Windows.Window.WindowFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
在 System.Windows.Interop.HwndSource.PublicHooksFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
在 MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
在 MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
System.TypeInitializationException: “AutoFollow.Networking.Server”的类型初始值设定项引发异常。 ---> System.UriFormatException: 无效的 URI: 未能分析主机名。
在 System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
在 System.Uri..ctor(String uriString)
在 AutoFollow.Networking.Server..cctor() 位置 D:\DB\DB武僧\2暗黑兄弟DB.456.中文T45\Plugins\zAutoFollow\Networking\Server.cs:行号 21
--- 内部异常堆栈跟踪的结尾 ---
在 AutoFollow.Settings.SettingsWindow_Closed() 位置 D:\DB\DB武僧\2暗黑兄弟DB.456.中文T45\Plugins\zAutoFollow\Settings.cs:行号 56
在 AutoFollow.UI.UILoader.LoaderEvent.Invoke()
在 AutoFollow.UI.UILoader.SettingsWindow_Closed(Object sender, EventArgs e) 位置 D:\DB\DB武僧\2暗黑兄弟DB.456.中文T45\Plugins\zAutoFollow\UI\UILoader.cs:行号 115
在 System.EventHandler.Invoke(Object sender, EventArgs e)
在 System.Windows.Window.OnClosed(EventArgs e)
在 System.Windows.Window.WmDestroy()
在 System.Windows.Window.WindowFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
在 System.Windows.Interop.HwndSource.PublicHooksFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
在 MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
在 MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
在 System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
在 System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

i got this error message and i redownload it still not working
 
friend telling me autofollow isnt working with latest trinity on svn, hes tried both .14 and .15, and i think he is now reverting to earlier trinity version
 
MainGridProvider update coroutine threw exception Buddy.Coroutines.CoroutineUnhandledException: Exception was thrown by coroutine ---> System.InvalidCastException: Unable to cast object of type '‫‬‏‏*‪**‬‫​‫‫*‏***​**‬‏*.‎‏​‬‫*‪‪‫‎‏​​‬*‎****‬‎‏‏*' to type '‫‬‏‏*‪**‬‫​‫‫*‏***​**‬‏*.**‬‪*‬*‎​*​‏‏‎‎‫‫*‏‬‬*'.
at Remit.Core.Connection`1.\*Gx%-<#HYl_9b}ovL!\*5y"V2%.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Remit.Core.Connection`1.Mo$JWp>AsPZ "JNMwrpN(FW/".MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Remit.Core.Connection`1.|\]HmK\.2I#4}>HyE\]UtTEK:p@#.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Remit.Core.Connection`1.X192K0~j?j}amA7g\&9_#6"Qh\&.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Zeta.Bot.Navigation.MainGridProvider.;/(9uRE\&w\&69tl-;iTp\&\&y w#.UE^u\\)!= #<cMQWHZ3eRA z{\&.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at *‫‏​**‎*‪*‫​‎*‪*‪‏‫‪‪*‬‬*.*‪****‪**‪‏​‫​‎*​‪‎‎​‏‬‬​‫*.‎**‬*‫‏‬‏‏‫******​‎‪‏**‎‏‎*(Task , Int32 )
at Buddy.Coroutines.Coroutine.5i@BdBEfSu8;W@NBB)f^/s\,B-.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Buddy.Coroutines.Coroutine.C%KH)>mGXu\&o:gOL\[{#8\,Zrv).MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Buddy.Coroutines.Coroutine.ncGL2bLCnlT\*QPi8l)p2TXuW.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Zeta.Bot.Navigation.MainGridProvider.B=zVwSgETYHHJ\&uiD<4E59qh\&.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Zeta.Bot.Navigation.MainGridProvider.Z1=br>Z/jL3i\]xB"FQv?p>U\.!.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Zeta.Bot.Navigation.MainGridProvider.Z5Z\.p?qxsDn:U'rHa\.~G0'5G).MoveNext()
--- End of inner exception stack trace ---
at Buddy.Coroutines.Coroutine.‎*​‫‎​‏‪‪‎*‎‫*‫**‫***(Boolean )
at Buddy.Coroutines.Coroutine.**‏‏**‫‬*‏*​‫*​***‏‫‪**(Boolean )
at Buddy.Coroutines.Coroutine.Resume()
at Zeta.Bot.Navigation.MainGridProvider.\.R#q:w>|V?2IdQ|OaKRQ\\\,5i".MoveNext()

Was running Trinity rev 490 and Autofollow rev 15 when i received this error.
 
bug when doing 4 man GR

have upload the log , always spam those in DB main window and then restart the game and DB for barb ( other class also have this problem but not as often as barb)
 

Attachments

How can I disable bot to use "revive at last checkpoint" in grifts?
My follower is reviving there and has no way of coming back to leader and just sits there.
 
Few things i have noticed using .15

During grifts he misses the blood shards sometimes and makes no try to get them.

and during normal rifts he will teleport back to town asap as the boss dies, missing all the loot, and makes no effort to go back to get it.
Even when he is right ontop of the loot.

im working on trying to figure out if settings help at all.
 
What does it do?

It allows multiple bots to communicate with each other, and play together in a party.

Why would you do that?

You get more loot and XP from playing with multiple people in your party. Difficulty (monster health) only increases by +50% per player yet you receive 100% more damage. Which translates to higher level greater rifts, and more experience per rift. There is also a loot bonus for every additional player.

What's Different than SimpleFollow?

I chose to fork development and redesign many of the internals because these changes will allow a much more intelligence coordination of bots in the longer term.


  • Every bot knows about every other bot.
    Previously, clients only communicated with the server and had no idea what the other followers were up to.

  • Async Event based communication.
    Bots fire events when things happen. All other bots receive these events and can choose to react to them or not depending on their behavior profile. For example, one bot can broadcast that they are in trouble, and another bot receives that message and might decide to run over and help depending on their circumstances.

  • Added Security and More Friends
    The way the bots invite each other to games has been rewritten. Bots are able to join a leader's game using 'QuickJoin' (including joining the games of local players who are not on the friends list). If those features are disabled they can use a normal invite from the friends list. Bots will search for the name of the player and only join the correct game. Which means you can have more than 4 people on your friends list!

  • Client/Server is disconnected from Leader/Follower
    It doesn't matter which bot server or client or the other in which you start each bot. They'll figure it out. This will allow for future improvements where the bots might re-negociate who should be the leader, or even split into multiple groups to split farm.



This is a Beta Plugin

Its just been made and is likely to contain many bugs and problems. Please provide suggestions, bug reports and constructive criticism. So it can be improved.

Source Control

You can find the SVN here: https://subversion.assembla.com/svn/unifiedtrinity.AutoFollow/

Support My Work

If you like this plugin and it works well for you.



Requirements


  • Multiple DB Licenses
  • Multiple Diablo3 Accounts
  • Latest Trinity
  • Latest Adventurer is recommended.

Instructions

Basic Setup

  • Start Multiple D3 clients in windowed mode (add -launch to target of a Diablo3.exe shortcut).
  • Start as many DB instances and login (protip: click the refresh button to update dropdown to valid D3 clients)
  • So now you should be in the hero select screen out of game on all bots with DB connected to each.
  • For all followers load the profile \db\plugins\FollowerCombat.xml
  • For the leader load any normal profile.
  • Click start on DB for the leader and then start all the followers.
Manual Leader Setup

  • Do the same as basic setup, except for leader bot load the profile \db\plugins\LeaderManual.xml


Known Issues


  • If bots get themselves into rotating between client and server mode they are unable to recover. Restart All DBs.
  • If bots are changed from a leader to a follower or vice-versa they will may load the behavior properly. Restart DB.
  • Bots will go into a game only to leave again once they get invited (particularly when using YAR with kickstart).

Change History

Code:
1.0.10



[LIST]
[*]Tested running on Bounties, Ubers, Key wardens, Greater/Neph rifts and Manual follow.
[*]Now Supports YAR (should work best with "kickstart" disabled in YAR settings)
[*]Added LeaderManual.xml profile for having the bots follow you while you play by hand.
[*]Bots should no longer get separated as much. It effectively goes into a zerg mode when out of range.
[*]Bots should now follow leader through portal and try their luck with nearby portals if lost.
[*]Movement has been heavily refactored, now uses a local actor where possible and has faster reactions.
[*]Added setting for max leader waits for others before starting a profile (will start sooner if everyone is near)
[*]Improved how the bot waits before starting games and after changing levels to ensure everyone is present.
[*]Bot should have less memory related exceptions now.
[*]Improved out of game handling of parties and invites.
[*]Technical: Removed speed limits on communication, now runs smoothly down to 25ms.
[*]Technical: Bot now only accesses DB memory in framelock and communication thread reads cached values.
[*]Technical: Bot now reads names in party lobby out of game to tell if the leader is present.
[*]Technical: Improved event system, including limits on how fast they can queue up.
[*]Technical: Changed the way settings are saved to use a new JSON based system.
[*]Technical: Refactored pretty much everything else + Many other small bug fixes.
[*][U][B]Note: For best results make sure your profiles have stayInParty="true" on LeaveGame tags.[/B][/U]
[*][U][B]Note: Completely remove old plugin version before installing.[/B][/U]
[*][U][B]Note: folder name has changed in plugins directory to 'zAutoFollow'[/B][/U]
[/LIST]

1.0.8
[LIST]
[*]Bots now disengage combat periodically in order to follow much more closely.
[*]Improved movement to properly get updated position of the leader.
[*]Added some checking movement so it will stop trying to move when blocked.
[*]Fixed settings input boxes not working and changed them to sliders.
[*]Fixed bug where updating port/address wouldn't take effect until restart.
[*]Fixed problem that was preventing followers from communicating with Leader
[*]Fixed name scanning regex so that players with a clan can now be invited properly.
[*]Followers will now start a town run if they notice the leader is doign one.
[*]Bots will no longer leave the game to avoid unknown players when the setting is off.
[*]Bots should now teleport instead of using portal markers in normal rifts
[/LIST]

1.0.6
[LIST]
[*]Leader now requests other bots leave the game when he needs them to.
[*]Followers now move to exit marker in greater rifts when leader isn't found.
[*]Added settings for Follow Distance and Teleport Distance
[*]Fixed leader saying he was teleporting to followers when he wasn't going to.
[*]Leader should now wait for followers to stop vendoring before opening new rift portal.
[*]Interacting with portals should now fire WorldTransferStart properly
[*]Fixed bots entering and exiting portals repeatedly
[*]Added task for talking to orek.
[*]Added Markers to Data cache
[*]Added IsWorldEntryPoint, IsWorldExitPoint and Marker to Interactable object
[*]Added RiftQuest object from Adventurer to more easily work with rift quest step ids.
[*]Now waits for bots to finish vendoring before starting a rift
[*]Bots in town will now try to use hearth portals
[*]Bots will not longer try to teleport to players while in greater rift.
[*]Bots will no longer try to send invites when party is locked
[*]Improved handling of followers' gem upgrade request in greater rift.
[*]Fixed an issue preventing events when a follower is the server.
[*]Removed some excessive logging.
[*]Improved MoveTo to constantly update its going to when its target moves.
[*]Added a setting for leaving games that have unknown players in them.
[*]Added a setting for distance from leader before attempting to teleport.
[/LIST]



This PLUGIN is AMAZING! But since everyone is claiming that the latest version doesnt work, I will just wait until it is updated. +REP given to you tho!
 
agreed ericane this plugin is so amazing i have been running it for days now with two accounts and loving it, it works great! i only have a few issues that im sure will be worked out in time :D
 
When I do manual leader and do my own, the character that I'm in control still does a lot of stuff that the bot does in terms of looting. Is there a way I can disable everything for the leader?
I've disabled all the plugins other than the autofollow.
 
Everything works great but one or two of my followers gets stuck on the ACT IV type portals (the round yellow ones). I belive they are called silver spire.
Does anyone have a link for the previous version of autofollow?
 
Last edited:
Hey I´ve a Para 1350 LoN Crusader. He is gaining ~150-160B XP/h Total (Turbohud) with T10+Gr70 runs. What class works fine with him if I buy a new DB-/D3-key? Is it good to support him or is it better to level also a LoN Crusader and than level both by side in GR72-74??

It´s all experience wise. So all what counts its the big XP?

when I visit leaderboards.

Wizard - Monk

Wizar - Barb

Barb - Crusader
 
Last edited:
Got this same issue, and would appreciate some help

same with akarats champion and the law.

got same issue, did any of you found a solution? follower doesnt use steed charge at all...
 
For Who is this Plugin/Bot working perfectly atm?

My toon is running back and forth while following the Leader... and he die's alot

Plugins on toon installed : zAutoFollow,latest trinity,questtools
Plugins leader : zAutofollow,latest trinity,adventurer

Edit: I don't understand this Guide here https://www.thebuddyforum.com/demon...etup-4-grift-80-realistic-200-exp-hour-5.html

Why Simplefollow+zAutofollow running at the same time= conflict ?

Edit2: looks like Trinity+Simplefollow is the Problem... toon get's Stuck into Walls and die by Mobs -.-
 
Last edited:
Simplefollow did not work well for me and autofollow was getting stuck at silver spire portals.
Did you try older versions?
 
what is the up to date coding for Rev.15 that the follower provides to use any OOC? My follower is a Crusader and he doesn´t uses Steed Charge when he follows a Sub-Barb. There was a code a few pages behind... schould I use that one?

OK I made this changes:

@Wrath:

I'll just post what I changed here so you can try it yourself, there's probably something majorly wrong with this so who knows what will happen but it has worked for hours for me at least

File called FollowerCombat.cs in Behaviors folder in the AutoFollow plugin folder, replace a function called "StayCloseToPlayer(...)" with this variation of it.

Code:
/// <summary>
/// Turn combat (Trinity) on and off while the follower is far away from the leader.
/// </summary>
public void StayCloseToPlayer(Message player)
{
if (player.Distance > Settings.Coordination.CatchUpDistance && !Player.IsInTown &&
!Navigation.IsBlocked && !Navigator.StuckHandler.IsStuck && Player.HitpointsCurrentPct > 0.7 && !Targetting.RoutineWantsToAttackGoblin())
{
if(!Player.IsCasting && !Player.IsCastingTownPortal && !Player.IsTryingToCastPortalSpell)
{
if (Player.ActorClass == ActorClass.Crusader && CombatBase.CanCast(SNOPower.X1_Crusader_SteedCharge))
ZetaDia.Me.UsePower(SNOPower.X1_Crusader_SteedCharge, Player.Position);
}

Targetting.State = CombatState.Pulsing;
}
else
{
Targetting.State = CombatState.Enabled;
}
}





edit: Ugh I changed the usings at the top also! Here they are




Code:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using AutoFollow.Behaviors.Structures;
using AutoFollow.Coroutines;
using AutoFollow.Coroutines.Resources;
using AutoFollow.Events;
using AutoFollow.Networking;
using AutoFollow.Resources;
using Buddy.Coroutines;
using Zeta.Bot;
using Zeta.Bot.Coroutines;
using Zeta.Bot.Logic;
using Zeta.Bot.Navigation;
using Zeta.Common;
using Zeta.Game;
using Zeta.Game.Internals;
using Zeta.Game.Internals.Service;
using Zeta.TreeSharp;
using Action = Zeta.TreeSharp.Action;
using Trinity.Combat.Abilities;
using Zeta.Game.Internals.Actors;



and @xzjv:

I think you're probably right, Trinity replaces the DB PlayerMover, which all movement in all plugins including DB itself uses for low level movement. So it is using the same code trinity does and trinity settings for when OOC movement should be cast. But yeah Trinity Movement\PlayerMover.cs ~743.

if (Trinity.Settings.Combat.Misc.AllowOOCMovement && !Trinity.Player.IsInTown && cancelSpecialMovementAfterStuck && (!CombatBase.IsInCombat || !CombatBase.IsCombatAllowed || !ZetaDia.Me.IsInCombat))



babysit right now but it look like a charm ;)
 
Last edited:
Back
Top