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

How to JOIN public game instead of CREATE?

Gorm

Member
Joined
Jun 11, 2012
Messages
234
Reaction score
2
It seems like if I do this, it will create a public game instead of joining one if available.

<GameParams act="OpenWorld" isPrivate="False" />

How do I join a public game instead? I want to try joining games until I see one with an open rift.
 
It seems like if I do this, it will create a public game instead of joining one if available.

<GameParams act="OpenWorld" isPrivate="False" />

How do I join a public game instead? I want to try joining games until I see one with an open rift.


bump!
 
no, you dont, not with the current death and movement behaviour. just join games manually, then startup riftbot, and see for yourself how your char behaves. i did that for a while, then i decided that public games arent worth the risk, not to mention jealous people tracking you down via recent player list and all that shit.

edit: thats not meant to sound mean or else, its a friendly meant advice from someone who tried that out himself :)
 
no, you dont, not with the current death and movement behaviour. just join games manually, then startup riftbot, and see for yourself how your char behaves. i did that for a while, then i decided that public games arent worth the risk, not to mention jealous people tracking you down via recent player list and all that shit.

I'm not using riftbot.
 
well, that was just a example, i tried several things, ranging from bounties to plain full act playthroughs. in some cases he did behave nearly normal, but in most cases the bot just acts like a total retard, starting with the fact that he doesnt stick with the group, runs mindless across around allready explored areas etc etc. unless you supervise the bot 99.9% of the time, people will recognize you as a bot quite fast.
 
I am fully aware of how bad the bot can be. It can still be useful if you work to avoid the obvious problems.

1. You can find an open portal game without doing it yourself manually.
2. Using lazy raider.
3. I have my own plugin to follow the group.
 
well, had that idea too, but im not that much into the profile/plugin writing (mainly because im working 12h/day), so i never even got my char to simply follow the other players, and that said, i wont be able to help you with the portal check problem, sadly. but if you get this together, and dont mind sharing, im sure theres a bunch of people out here who'd be happy to have something like that. that said, i wish you good luck.
 
3. I have my own plugin to follow the group.

Could you send me your Plugin pls? :)
I would create my own plugin but hab no idea how to solve the follow function.
I need an inspriration ;)

greets
kleinerMann
 
Steps to Join a Public Game:
Check if Game Settings Button is Visible.. if so, click it. (0xC4A9CC94C0A929B)
Check if Game Settings Dialog is Visible. (0x8269F66EFC23F954)
Check the Public Game Button Story Mode is not Visible (0x979726F7C68A6B61) Else Click Adventure Mode (0x317DDE0DFA0395C6)
Check the Public Game Button Adventure Mode is Visible then Click It (0xBCD3AFB4233AFA98)
Check the Join Game Button is Visible then Click It (0xBCD3AFB4233AFA98)
After that you wait until in game or specific time elapsed (not sure how public games work)..

The bracketed text is the UIElement Hash. Using UIElement.FromHash(ID) you can get the objects.
To dump UIElement Hash.. Hover your mouse over the object and hit Alt-8.

Its not to hard of a task.. just a lot of checking..

hook [OutOfGame] is where Demonbuddy creates the next game..

You could easily replace or insert new behaviors into this..

Heres Example Taken From my Project FunkyBot.. which inserts the hook before DemonBuddy can do anything. This is for Mule Stash/Creation behavior I implemented a while back.
Code:
foreach (var hook in TreeHooks.Instance.Hooks)
{
     if (hook.Key.Contains("OutOfGame"))
     {
	PrioritySelector CompositeReplacement = hook.Value[0] as PrioritySelector;

	CanRunDecoratorDelegate shouldPreformOutOfGameBehavior = OutOfGame.OutOfGameOverlord;
	ActionDelegate actionDelgateOOGBehavior = OutOfGame.OutOfGameBehavior;
	Sequence sequenceOOG = new Sequence(
		new Action(actionDelgateOOGBehavior)
	);
	CompositeReplacement.Children.Insert(0, new Decorator(shouldPreformOutOfGameBehavior, sequenceOOG));
	hook.Value[0] = CompositeReplacement;
     }
}
The CanRunDecoratorDelegate is a static function that returns a bool. (True means proceed with the Behavior!)
The ActionDelegate is a static function that return RunStatus. (Values: Failure ends any future behaviors, Success will continue to next behavior, and Running will loop the behavior).
More information on Treesharp can be found Here!


You want to hook the behavior only once. I do the hooking during Bot Start Event.

Here is the links to the code for my Mule Behavior. (This was done a while ago.. and I have not looked at it in months..).
https://github.com/herbfunk/Funky/blob/master/FunkyBot/DBHandlers/OOGOverlord.cs
https://github.com/herbfunk/Funky/blob/master/FunkyBot/DBHandlers/CharacterMule/Game.cs
 
Hmm that is interesting, I will take a look.

How did you know about pressing alt-8 to get the UI hash?
 
Hmm that is interesting, I will take a look.

How did you know about pressing alt-8 to get the UI hash?

One of Demonbuddy's Change Logs..
Code:
  - Added a few new hotkeys
      Alt+1 = Position
	  Alt+2 = Scene info
	  Alt+3 = Levelarea info
	  Alt+8 = Mousover UI element
	  Alt+9 = Backpack item stats
	  Alt+0 = Backpack item scores
 
I just tested this, and everything works except for clicking the public game button.

This is the code I used.

Code:
        public static System.UInt64 uiStartGame = 0x51A3923949DC80B7;
        public static System.UInt64 uiGameSettings = 0xC4A9CC94C0A929B;
        public static System.UInt64 uiAdventure = 0x317DDE0DFA0395C6;
        public static System.UInt64 uiPublic = 0xBCD3AFB4233AFA98;
        public static System.UInt64 uiJoinGame = 0xA88BC76F9F59683;


        public Composite mBehavior;


        public JoinPublicGame()
        {
            mBehavior =
                new Sequence(
                    new Sleep(1000),
                    new Action(r => WaitToClick(uiGameSettings)),
                    new Sleep(500),
                    new Action(r => WaitToClick(uiAdventure)),
                    new Sleep(500),
                    new Action(r => WaitToClick(uiPublic)),
                    new Sleep(500),
                    new Action(r => WaitToClick(uiJoinGame)),
                    new Sleep(20000)
                    );
        }


        public RunStatus WaitToClick(System.UInt64 hash)
        {
            var ui = UIElement.FromHash(hash);
            if (ui.IsVisible && ui.IsEnabled)
            {
                ui.Click();
                Bot.Log("Clicking {0}", ui.Name);
                return RunStatus.Success;
            }
            return RunStatus.Running;
        }
 
I'm having issues with some of the UI elements not clicking too. (Gambling Vendor Tabs) I don't know if its a Cache issue or the method. (was using demonbuddy beta 406 and 407)

However you could use alternative maybe instead of clicking the Join Game from the Settings Dialog.. you click the Join Game from the main menu after setting it to public.
 
I'm having issues with some of the UI elements not clicking too. (Gambling Vendor Tabs) I don't know if its a Cache issue or the method. (was using demonbuddy beta 406 and 407)

However you could use alternative maybe instead of clicking the Join Game from the Settings Dialog.. you click the Join Game from the main menu after setting it to public.

Ya that's what I am doing now.
 
Botting in public is bad idea. As people said before, players will recognise you real quick. Blizzard does investigate reports even if 'Report bot' has been removed.

The reward is simply not worth the risk of inefficiency and public exposure:
1. Bounties: unless your bot smartly does split farming, either you get kicked (vote-kick system change incoming), get reported or other players may leave the game.
2. Rift: if you want to wait for someone to open the rift for you, LOL, you will wait for a looooooooooooong time - efficiency killer. If you don't contribute to rift actively or get discovered - you will certainly get kicked half-way.
Further, if you want to leech, sorry, strong players all know to avoid public games. You end up leeching with other leeches who have 300k dps leeching T1.

Lastly, I think this needs to be said, whoever wants to bot in public game is a short-sighted moron.
No one cared about botting when ROS first came out - because botters objectively harmed no one - Until these public game leeches ran rampant. When people began complaining about these bots who actually do direct HARM, Blizzard will take (swifter) action.
 
This is the developer forum, not for your personal opinion on what we should do.
 
I would rather have a bot in my game actually doing something than just sitting there.

So I support this!
(I actually run puts when my friends come online, other than that, its botting 20/7!)
 
Back
Top