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

[Plugin] A ChuckyEgg Attempt! - PartyLeader PartyDude, for Co-Op Botting

ChuckyEgg

Member
Joined
Jun 14, 2012
Messages
635
Reaction score
8
ChuckyEgg's PartyLeader/PartyDude Co-Op Bot Plugin

Massacre those mobs as a team, gang bang their dead bodies , and pillage their dens

Fully Compatible with Trinity
note: this is NOT the advanced version (comms) of the plugin

QUICK START

Intro ? run teams of 2, 3, or 4 bots through those nasty high level area champ farming profiles.

IMPORTANT
Leader's friends list MUST only contain the characters that will be invited to the party.
Note: The bots are not MADE to work together, they only do so due to running the same profile. This is something I'd like to add, if possible.... bots purposefully assisting each other in combat.

Setting Up
  1. extact folders (ZIP contains 2 folders)
  2. copy PartyLeader folder into the leader's Plugins folder
  3. copy PartyDude folder into the other members' Plugins folder

Enable and Configure PartyLeader
  • enable the PartyLeader plugin
  • select PartyLeader and click on the Config button
    • select the total number of chars in the party
    • choose whether or not PartyLeader will check if anybody has left the party
    • click on the Done button to save these settings

Bang You're Off ? Starting the run
  1. Load the the SAME profile for all
  2. Enable and start the members (not the leader)
  3. Start the leader

Enjoy :)



IN MORE DETAIL

ABOUT THIS PLUGIN

This plugin (2 part plugin) will allow you to run up to 4 characters together in the same party (CO-OP BOTS).

It achieves this by opening up the social menu and locating and clicking on the Invite to Party of the first 4 people in the friends list. It locates the Invite to Party button by its hash. Only the first 4 hashes have been recorded within the plugin, therefore it cannot invite anyone in position 5 or higher in the friends list.

You don't need anything extra to run this plugin, just DemonBuddy. What other plugins you will need will depend on your choice of profile, and what you are looking to get from your botting runs.

This plugin comes in 2 parts (2 plugins); PartyLeader, PartyDude

THE FOLDERS

PartyLeader ? this goes in the plugins folder of the bot you wish to be the leader of the party

PartyDude ? this goes in the plugins folder of each of the non leader members of the party

THE FILES

PartyLeader
  • PartyLeader.cs ? the plugin that controls the creation of the party (sends out invites)
  • PartyLeader.xaml ? the XAML description of the configuration window (GUI)
  • ConfigSettings ? holds the last saved configurable settings of the plugin (related to party size, and checking on party integrity)

PartyDude
  • PartyDude.cs ? the plugin that looks for invites to a party and accepts them

THE SETUP

The character who will be the leader should only have in its friends list the characters it will be inviting to the party e.g.
  • for a 2 character party, PartyLeader will invite the 1st person in the friends list
  • for a 3 character party, PartyLeader will invite the first and second person in the friends list
  • for a 4 character party, PartyLeader will invite the 1st, 2nd, and 3rd person in the friends list

PartyLeader folder must be placed in the Plugins folder of the leader's DemonBuddy

PartyDude folder must be placed in the Plugins folder of all characters who will be in the party, but not the character who will be the leader.

STARTING IT UP

Enable and then configure the PartyLeader plugin, setting the total party size, 2, 3, or 4, and whether or not you want the leader to make regular checks on the party to see if anyone has left. This has been added with champ farming in mind, because you don't really want to be left in a party of 2.

Re checking on the party integrity. If it has been found that a member has left, the leader will teleport back to base and leave game. It will then create a new game and party. If an excessive number of attempts to create a party occurs within a 10 minute period, then the leader will stop the bot. This will leave the other members of the party to solo the profile. This is not currently user configurable via the config window, but I aim to make it so.

Profile ? all the bots MUST run the same profile, or at least a profile with a similar path. This is how they are able to interact with anything that the profile allows when on a run.

Bot Start / Plugin Enable Order - It does not matter in which order you start the bots/plugins, but it's best to start the non leaders first, so that when the leader is started up, the first set of invites will have somewhere to go.
  • the leader will make 3 attempts to invite everyone to the party
  • this is required due to invites being missed/cancelled due to transitioning between the game and the menus

Once you are happy with the configuration and all the non leader bots have been started, you can then start the leader bot.

The Leader on entering the game, will start the process of forming the party. Three attempts will be made to invite all to the party, and once this is done, the leader will join the other party members on the run.

That's it, enjoy :)
Hopefully :)

Dedication: GilesSmith..... the Config Window section might be a wee bit recognisable ;)
Thanks for creating code that one can easily learn from :)


REQUIRED FILES AND DOWNLOAD AREA
 

Attachments

Last edited:
Changelog

v1.0 (10th of September, 2012)
- Original release of plugin

v1.1 (17th of September, 2012)
- Config GUI - Added the ability for users, via the config window, to change the length of time between checks on party integrity (whether or not someone has left).
- InCombat & Party integrity check - Added a safegaurd (InCombat check) to see if the leader is in combat when it is time to check on the party's integrity. If the leader is in combat, the check on the party is cancelled, thus freeing up the leader to kick butt.
- Randomisation of Time (wherever a pause is needed) - random time now consists of seconds and tenths of seconds. this has been done to hopefully appear more human-like.

v1.2 (28th of September, 2012)
- Boss Encounter - plugin can now click on the ACCEPT button (this button can have one of two possible hashes: 0xF495983BA9BE450F, 0x69B3F61C0F8490B0)

v1.2.1 (21st of November, 2012)
- Leave Party at End of Run - the leader and dudes will now leave the party at the end of a run, thus allowing the leader to reform the party at the start of the next run.
 
Last edited:
First! Thanks Chucky. This is a great idea. Will test whenever I get the chance!
 
I'm going to try this tonight while i am at work. Hopefully everything goes well :) Thanks.
 
I'm GMT, so more than likely I will not get back to this thread for a good number of hours.

I'll try, but I need some Breaking Bad and Supernatural time :)
I'm totally off topic but Breaking Bad won't be back in a while, no episode today ;) !
 
Good stuff. Was really curious about trying something like this out. Any chance the bots could revive each other?
 
Well slap me sidewise with a triple fried egg and chili chutney sandwich this gave me a double-polaroid*, this is some excellent work. Been looking forward to this since I saw you mention you were going to work on getting this out as a full dedicated plugin.

If there's anything you can think of that I can do within (or to) Trinity, that would make this plugin work better, send me a PM or try and catch me in IRC (Quakenet, usually idling in #ciggarc channel) - I'd more than happily try and get things integrated so that a party of bots could work together more closely.

*references probably only relevant to super-amazing-extremely-cool dudes.
 
Am I the only one thinking that this will have major issues with death handling/profile randomiser? It is literally impossible not to die at least 1-2 twice per hour regardless of gear in act 3.

Great idea anyway!
 
Well I have gotten a chance to use this for the few hours that I've been botting tonight and I must say awesome job! My barb and monk are rolling through act 2 right now together. This has actually sped things up quite a bit for me. I'm averaging 30-40 thousand more gold an hour on each character because they can kill faster together.

The only thing I've noticed so far that is when they get to ZK it had logged out due to inactivity I'm guessing because the bot didn't click accept when the dialog popped up to start the event. I will probably just edit ZK out of the profile for the time being.

And for Giles and Chucky, I was thinking and thought it could be cool if Trinity/Party Leader had the ability for all characters in the party to do their town run's all at the same time so they can get off and back on the battlefield together so they do not end up split up all over the map.
 
Currently trying this out. Re-geared one of my barbs for WW (60k DPS) and running with a pet tank WD, and a tank barb. Amazing! Simply amazing. makes the bots kick so much ass. I can only imagine how awesome this will be in the future.
 
What happens one of them dies and the profiles become out of sync?
 
What happens one of them dies and the profiles become out of sync?

I set my death reset to 11 (as high as it goes) So they have not gotten out of sync yet. I asked in rads plugin thread how to set the number higher just in case one of the bots gets a string of bad luck.
 
Can't work with profile randomization :/ My priority starts from there so I won't be using this yet as all my profiles are randomized. A lot of potential in here though.
 
Good stuff. Was really curious about trying something like this out. Any chance the bots could revive each other?

That's a good idea. I'd like to make it so that there is a degree of communication between the bots, but no idea how to do that as yet.

I'd like for the bots to be able to send out a message to the other bots:

InCombat(Coords) - then have the other bots move in to assist, if they are not already in combat
Dead(Coods) - (nice suggestion) - then have the other bots move in to revive

I haven't got the foggiest as to how to do this, but that's where the fun starts :)

Well slap me sidewise with a triple fried egg and chili chutney sandwich this gave me a double-polaroid*, this is some excellent work. Been looking forward to this since I saw you mention you were going to work on getting this out as a full dedicated plugin.

If there's anything you can think of that I can do within (or to) Trinity, that would make this plugin work better, send me a PM or try and catch me in IRC (Quakenet, usually idling in #ciggarc channel) - I'd more than happily try and get things integrated so that a party of bots could work together more closely.

*references probably only relevant to super-amazing-extremely-cool dudes.

LOL, mad, and thanks :)

That sounds excellent. Do whatever you wish with the code. Having them actually communicate with each other is where this plugin needs to go next. But at the moment I have no idea how to do this. Mind you, I have not had my morning coffee yet, and I need to walk the dog, lol.

Am I the only one thinking that this will have major issues with death handling/profile randomiser? It is literally impossible not to die at least 1-2 twice per hour regardless of gear in act 3.

Great idea anyway!

Thanks :)

This won't work with the profile manager/randomizer :(

Death - this is a pain in the butt, as the char that dies will end up who knows where. At present, if the char who dies gets itself stuck and ends up creating a new game, the leader will see that it has left and leave and create a new game and party.
I'd like to get the char that dies to resume the run from the point it spawns..... next project
Or if I can, and to stop the bot wasting time, I could for now hijack the onDeath routine, if it that exists, and get the bot to leave game, thus forcing the leader to create a new game and party.

Anyway, things to consider. I'll make notes and look into this death thing.


Well I have gotten a chance to use this for the few hours that I've been botting tonight and I must say awesome job! My barb and monk are rolling through act 2 right now together. This has actually sped things up quite a bit for me. I'm averaging 30-40 thousand more gold an hour on each character because they can kill faster together.

The only thing I've noticed so far that is when they get to ZK it had logged out due to inactivity I'm guessing because the bot didn't click accept when the dialog popped up to start the event. I will probably just edit ZK out of the profile for the time being.

And for Giles and Chucky, I was thinking and thought it could be cool if Trinity/Party Leader had the ability for all characters in the party to do their town run's all at the same time so they can get off and back on the battlefield together so they do not end up split up all over the map.

Excellent, that's a damn good boost to the GPH :)

ZK and inactivity - no idea why it is doing that. In my coffee crazing mind that one is a mystery.

Town Runs - that will require communication between the bots, which is something I'd like to implement... that'll enable them all to assist in combat, res each other, etc. I'll have to think about that. I've got no idea, at the moment, as to how to get them to communicate with each other. The API won't help here, I expect. I'll wait till I am awake, and the brain cells are working properly :)

What happens one of them dies and the profiles become out of sync?

If anybody leaves the party (due to stuck or whatever), the party leader will create a new game and recreate the party.
There's no guard against a char dying, then wondering off trying to get back on its path. This is a pain in the butt :)

Handling death is something I'd like to work on next. I'd love for the bot to start off from the point where it dies/rezzes.

Today I will make the plugin a little bit more configurable. And allow people to use the config window to set the time between checks on party integrity (PartyLeader checking to see if anybody has left the party).
 
Currently trying this out. Re-geared one of my barbs for WW (60k DPS) and running with a pet tank WD, and a tank barb. Amazing! Simply amazing. makes the bots kick so much ass. I can only imagine how awesome this will be in the future.

Thanks :)

FUTURE:
  • Communication between bots
  • Better death handling
    • rezzing by other bots
    • not getting lost or stuck after respawn

The above would be nice, but no idea as to how to do it, as yet.

One thing I want to do before delving into the above, is to create a decent document or thread on Profile creation. Last I looked the current one is incomplete, and needs better examples.

First though, I must add the ability for you lot to change the duration between checks on party integrity, via the config window.

:)
 
Seems like an awesome plugin. Might I make a small suggestion in regards to death handling. Until you can figure out how to get them to rez each other, why not have a detection that detects if one has died and if so wait for the other to catch up so they stay in sync. Just a thought.
 
Seems like an awesome plugin. Might I make a small suggestion in regards to death handling. Until you can figure out how to get them to rez each other, why not have a detection that detects if one has died and if so wait for the other to catch up so they stay in sync. Just a thought.

Nice idea, but that will need some sort of communication mechanism to be in place. I don't think there is anything in the API that will allow for that between bots. Hmm, actually, it could check for the ActorID of a dead character, but the char could have ended up dying a long way from the other bots. Or just out of detection range.

I think though, that perhaps I should catch the death event, and just have the character leave the game, because in the end it will more than likely end up getting lost and stuck.
I'll try catching the death event.

In the end, it will be best to set up some sort of communication mechanism between bots... sending out certain alarms (InCombat, OopsDEAD, NutsStuck) along with their coordinates if necessary.

You're right though, in that death should be resolved in a cleaner, and perhaps quicker way. Rather than just letting them run off to who knows wherever, to get tangled up in some vines, or bogged down in mud, lol
 
Communication between the bots can only be realized with a standalone app witch acts as communication server.

Rezz wouldn't be possible at the moment I think, bacause DB clicks revive button automaticly - but you can use Town Portal and click on the flag.


I'd like to get the char that dies to resume the run from the point it spawns..... next project

Our ProfileSwitcher Plugin does exactly this - feel free to ask me questions about this
 
I believe what packard was saying is that when he gets to the boss where you have to press accept to start the encounter and accept to join the encounter the bot just keeps clicking the portal waiting to go in instead of accepting the encounter. and as for the communication, well i was looking for an old hb plugin called raf partybot, it had 2 hb clients talk to each other but it must have been archived cuz i cant find it and i must have deleted it a while ago. :(
 
First off, Im really excited to see this plugin starting to be developed. D3 is definitely more group friendly now, post patch, so I've been hoping to see a party plugin. Here's my thoughts on your plugin so far:

I'd say not to focus on communication as much as coordination. Add a setting in the party dude plugin where you can enter the name of the party leader, then have the plugin search for the actorID with the name associated with it. The party dudes dont need to load a profile, they need only to constantly ensure they are near the leader and if they arent then you setup a series of error handling to try to find him. If the party leaders isn't within X yards, tele port to town and search for him. If he's there, initiate ID and repair. If he's not, then hit his banner. Then, you just run the party leader as usual. I'm fairly certain that names can be associated with actorIDs, what Im not certain of is if you can put this together like Im talking about - it isn't really communication, but it might have the desired effect.
 
Last edited:
Back
Top