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

[Party Plugin] SimpleFollow - Multi-Bot Party Plugin

If you haven't upgraded to the latest Demonbuddy BETA yet - you should! It has a handy feature to prevent crash protection, e.g. from using it's own internal functions:

For example, the NumPartyMembers property was crashing, but it was very hard to reproduce and/or prove... pretty much random.
Code:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: chunkLength
   at System.Text.StringBuilder.ToString()
   at Fasm.ManagedFasm.Inject(IntPtr hProcess, IntPtr dwAddress)
   at GreyMagic.Executor.Execute(Int32 timeout)
   at GreyMagic.Executor.Execute()
   at ..(Executor , String )
   at Zeta.Game.Internals.Service.BnetParty.get_NumPartyMembers()
   at SimpleFollow.Social.get_NumPartyMembers()
   at SimpleFollow.Message..ctor()
 

Try MoveToActor - it comes bundled with DB with QuestTools. I believe UseObject will prevent Plugins from pulsing when isPortal="True" (one of the many, many reasons I wrote QuestTools).

The full tag you need should be:
Code:
      <MoveToActor questId="101758" stepId="32" actorId="159575" isPortal="True" destinationWorldId="121214" x="169" y="718" z="-50" />
 
Try MoveToActor - it comes bundled with DB with QuestTools. I believe UseObject will prevent Plugins from pulsing when isPortal="True" (one of the many, many reasons I wrote QuestTools).

The full tag you need should be:
Code:
      <MoveToActor questId="101758" stepId="32" actorId="159575" isPortal="True" destinationWorldId="121214" x="169" y="718" z="-50" />


Yep that was it, fixed it!

Thanks a bunch!

As a side question - if you have time:

Is there anyway to improve or alleviate DB's pathing in Keep Depth 3 and Keep Depth 2? Bot would often start running back and forth between two close points looking confused.
Normally this wouldn't be a huge issue as we can choose not to run those areas. But these areas are also used in rifts and bounty rewards (when DB implements).

I don't think adjusting the box size did very much either. Also correct me if I'm wrong - Can't DB already see the entire map's layout without exploration? It seems to be able to render out the map in Map Viewer without full exploration.

Thanks again!
 
Yep that was it, fixed it!

Thanks a bunch!

As a side question - if you have time:

Is there anyway to improve or alleviate DB's pathing in Keep Depth 3 and Keep Depth 2? Bot would often start running back and forth between two close points looking confused.
Normally this wouldn't be a huge issue as we can choose not to run those areas. But these areas are also used in rifts and bounty rewards (when DB implements).

I don't think adjusting the box size did very much either. Also correct me if I'm wrong - Can't DB already see the entire map's layout without exploration? It seems to be able to render out the map in Map Viewer without full exploration.

Thanks again!

I would need to see your profile to properly help, which tags you're using, how you're using them, when, etc.

Demonbuddy does require exploration - it does not know the entire map of a "generated" (random) dungeon when it enters the world. As it explores, new scenes are loaded and it will regenerate it's route appropriately.
 
I would need to see your profile to properly help, which tags you're using, how you're using them, when, etc.

Demonbuddy does require exploration - it does not know the entire map of a "generated" (random) dungeon when it enters the world. As it explores, new scenes are loaded and it will regenerate it's route appropriately.

Awesome, will try doing that. Also rrrix can you link me trinity explore dungeon tags? I've search im not getting any luck.
 
I think you are trying to say..
Follower is in a game (in town for example)
Leader is in a separate game (in town for example)
Not currently in a party

This kind of situation wouldn't happen unless you specifically set it up, no? Even so, your code ensures this fixes itself without the leader in game check.
Leader and follower aren't in the same party
Leader sends out invite
Follower accepts the invite
All is good. (I think?)

Where it breaks is if
Follower is in game.
Leader is in menus.
Currently in the same party.

BUT I just found it a few moments ago running a different profile that it seems D3 forces joined players out of a leaders game only in cases where the game has only been live for a short period of time. Using my code changes on longer runs means the follower cant tell when the leader has left and just sits around doing nothing while the leader is waiting for the follower to leave.

I now realize this is probably the underlying issue that I was trying to fix. I imagine you wrote SimpleFollow assuming followers had to leave the games themselves in all cases? Getting forced out by the leader seems to confuse them! Something to look at for future releases maybe? Removing the leader check in this case prevents freuquent crashing and the join-leave-rejoin problem I was experiencing. In this case there's no need for a leader check except maybe if I was using YAR and the leaders client crashes?

I hope I explained this OK.


Im getting this exact same issue.

Follower joins the game before leader does and causes issues.

Makes using this profile not worth it for me :P

back to solo botting.

Hopefully there will be some sort of fix to this.
 
Im getting this exact same issue.

Follower joins the game before leader does and causes issues.

Makes using this profile not worth it for me :P

back to solo botting.

Hopefully there will be some sort of fix to this.

What profile are you running?

If it's consistently short; like Manglemaw or Razerclaw runs for example, then the plugins function to check if the leader is in game isn't required, and is actually causing the join-leave-rejoin bug.

Do this:

For those of you with followers that leave the game and rejoin every single time I have a solution.

Normally when a party leader leaves a game all other members are left behind in that game to leave by themselves, but in particularly short games (roughly under 1:30 per game) all members are forced out automatically when the leader leaves.

This seems to be causing problems when using SimpleFollow with very short profiles like Manglemaw and Razerclaw farming. It appears SimpleFollow can't quite handle followers being automatically kicked, and it gets rather confused. The problem is the LeaderIsInGame check that is performed by the follower.

When running very short profiles since Diablo III forces all players out of a game if the leader leaves, and forces all players in to the game when the leader starts it then there is really no need for the plugin to check if the leader is in game. Basically, if the follower is in a game then its guaranteed that the leader will also be in game. So there's no need to perform a check.

In Plugins/SimpleFollow/FollowTag.cs find the following line:

Code:
new Decorator(ret => DateTime.UtcNow.Subtract(lastInteractTime).TotalMilliseconds > 1000 && (Leader.IsLeavingGame || !Leader.IsInGame || !Leader.IsInSameGame),

Replace it with this line.

Code:
new Decorator(ret => DateTime.UtcNow.Subtract(lastInteractTime).TotalMilliseconds > 1000 && (Leader.IsLeavingGame && !Leader.IsInGame && !Leader.IsInSameGame),

This is the quickest and easiest way I could think of that effectively makes it so that this checks conditions are never met and followers wont join-leave-rejoin constantly.

You MUST change this code back to it's original state if you want to switch to a longer profile where followers aren't automatically forced out when the leader leaves.
 
I would need to see your profile to properly help, which tags you're using, how you're using them, when, etc.

Demonbuddy does require exploration - it does not know the entire map of a "generated" (random) dungeon when it enters the world. As it explores, new scenes are loaded and it will regenerate it's route appropriately.

Oh, I've been just using your A3 profiles :P (Ghetto added Azmodan thats why it wasn't working)

So far, I've just noticed Keeps 2 and 3/Tower of damned (rare) patrolling behavior. I will put Keeps back into the rotation and attach logs when I see it again.

Thanks again!
 
Last edited:
D3 unresponsive under windows task manager.

Hi, rrrix

Reporting maybe a bug. I was using DemonbuddyBETA v1.1.1748.367 and Trinity 1.8.15 with Simplefollower 1.3.13. My D3 leader gets unresponsive after few minutes of running as a party, but the follower is fine. I had to end task leader D3 in task manager.

View attachment 123368 both leader and follower logs in side.
 
Good news!

Rrrix - Please help.. :(

Not sure what happened here, if it is new trinity, new db, or something else.. I updated a few things today now my followers are completely useless. My followers dont even care what the leader is doing. The 3 followers stand around alot, leader takes off fighting and the 3 followers chill with each other, walk around a little, stand a little more... The ONLY time they are of any use is when they enter a boss battle and trigger the boss confirmation screen and they enter and fight.. Sometimes they will teleport to leader and join in a quick fight until the fight is over then they go back to chilling while the leader moves off fighting other mobs.

Rrrix,

Post from last week.. Figured out what is causing most of the performance issues with simplefollow+4! :) Maybe others already know this, but ive never seen any posts about it. QuestTools. Followers running simplefollow & questtools don't get along very well for me. Simplefollow trying to make followers follow and questtools trying to make them do something else. I deleted questtools & ezupdater off of all of my followers and they run awesome!

For me: when questtools is enabled on followers they stand around alot, dont follow leader, and have alot of lag spikes & delays while leader just takes off. After deleting the questtools plugin from my followers they all run smooth, keep pace with leader, and rip through the game.

Dont really think the followers need questtools anyways, but I had to delete ezupdater because I dont want it reinstalling it and my yar enable-all putting it back in action.. (Perfect example for ezupdater to have checkboxs for what you want it to check for) ;) - Yes I know you told me there is some file I can edit for that, but I forgot. Just real happy I finally fixed this damn thing and I am back up and running.. Wanted to share with everyone if others are having similar issues.

Have a great day!

Edit: Correction: It still gets a little bit groggy during OOC navigation on all characters when running sometimes, but the following and excessive lag spikes have been fixed.

Edit: Also eliminated some of the navigation issues by disabling trinity hotspots on all 4 of my players. (Not exactly sure what the trinity hotspots are used for, but bots seem to be running good without them just using cords from leader. May have to re-enable if something doesnt work because of this change...)
 
Last edited:
Sounds good. You can just disable QuestTools also from the Plugins tab, it should have the same effect.

My performance problems have been more related to memory on my OS - I've found when i'm ~75% memory everything slows to a crawl. I'm using ISBoxer and have pegged all 4 game instances to the first 2 CPU cores (4 core 2600k with hyperthreading) - it's working much better.

Did you have the Debug logging enabled in QuestTools?
 
An option to have combat disabled on followers if the leader gets x distance away from them would be amazing :)
 
Hi, rrrix

Reporting maybe a bug. I was using DemonbuddyBETA v1.1.1748.367 and Trinity 1.8.15 with Simplefollower 1.3.13. My D3 leader gets unresponsive after few minutes of running as a party, but the follower is fine. I had to end task leader D3 in task manager.

View attachment 123368 both leader and follower logs in side.

Hi, rrrix. I found the trouble its these tags questId="1" stepId="1" I change all of them inside <order></order> to questId="312429" stepId="2". It's working now under Adventure mode with both bots in the same party. Now the questTools logs the position and I dont get stuck and no crashing. I didn't test it on Campaign mode though.
 
An option to have combat disabled on followers if the leader gets x distance away from them would be amazing :)

That would be a bad idea. Sometimes followers can get into a fight with an elite. Doing this would repeated deaths until our armor is red.
 
Hi rrrix,

plugin is working well!

One thing I would like to request is more native support for a follower bot party where I play the leader. Is there a better way to do it other than running an empty profile on the leader? It still tries to loot even though loot is set to no. I just feel like this has so much potential.

I know you are busy, I just wanted to let you know that I would definitely donate some more for this feature once you get your other projects sorted. Thanks again for all you do, you really are the reason DB exists.

Phobix
 
Sounds good. You can just disable QuestTools also from the Plugins tab, it should have the same effect.

My performance problems have been more related to memory on my OS - I've found when i'm ~75% memory everything slows to a crawl. I'm using ISBoxer and have pegged all 4 game instances to the first 2 CPU cores (4 core 2600k with hyperthreading) - it's working much better.

Did you have the Debug logging enabled in QuestTools?

Yes I know disable would do the same thing, except for when my relogger relogs with force enable all plugins, that would turn it back on right? (Why I deleted it)
 
Sounds good. You can just disable QuestTools also from the Plugins tab, it should have the same effect.

My performance problems have been more related to memory on my OS - I've found when i'm ~75% memory everything slows to a crawl. I'm using ISBoxer and have pegged all 4 game instances to the first 2 CPU cores (4 core 2600k with hyperthreading) - it's working much better.

Did you have the Debug logging enabled in QuestTools?

I guess the main question is.. What is causing the memory hogging? (I didnt have the groggy problems I have not before the d3 2.0, when everything changed, after that and I updated my db, since then navigation is down to a crawl)
 
Sounds good. You can just disable QuestTools also from the Plugins tab, it should have the same effect.

My performance problems have been more related to memory on my OS - I've found when i'm ~75% memory everything slows to a crawl. I'm using ISBoxer and have pegged all 4 game instances to the first 2 CPU cores (4 core 2600k with hyperthreading) - it's working much better.

Did you have the Debug logging enabled in QuestTools?

Time for a dumb question.. In regards to the memory issue.. Would more memory fix this or would d3/db just use more memory? Cause my system will hold 32gb, if it will fix it ill goto bestbuy tomorrow morning and max it out.
 
Time for a dumb question.. In regards to the memory issue.. Would more memory fix this or would d3/db just use more memory? Cause my system will hold 32gb, if it will fix it ill goto bestbuy tomorrow morning and max it out.

No, it wont. I am at 64gb and I am still having performance issues.
 
Back
Top