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

Solution for the "Adria's hut"-issue

souldealer

New Member
Joined
Jul 25, 2011
Messages
36
Reaction score
1
EDIT: Sorry guys, but this does only work for a while, it's not 100% reliable. I'm working on another solution for this, hold on, please.


Hey guys, after experimenting a bit, I finally found a solution to this annoying issue.

All you need is:
http://www.thebuddyforum.com/demonbuddy-forum/plugins/55890-plugin-icools-sarkoth-helper.html
and a text editor (Windows Notepad is enough.)

You install the plugin as usual. Then you open the file "Sarkoth.cs" with the text editor of your choice.

Search the following code block:
Code:
if (ZetaDia.Actors.Me.HitpointsCurrentPct == 0.00)
            {
                Log("Wooooa, seems like i just died, lets turn on the attack for 20s");
                hasDied = true;
                ProfileManager.CurrentProfile.KillMonsters = true;
                diedTickCount = System.Environment.TickCount;
                return;
            }
and replace it with the following:
Code:
if (ZetaDia.Actors.Me.HitpointsCurrentPct == 0.00)
            {
                Log("Wooooa, seems like i just died, leaving the game!");
                ZetaDia.Service.Games.LeaveGame();
                BotMain.PauseFor(System.TimeSpan.FromSeconds(11));
                Thread.Sleep(11000);
                Zeta.CommonBot.ProfileManager.Load(string.Format("Profiles/[COLOR=#ff0000]YOUR_PROFILE_NAME[/COLOR].xml"));
                return;
            }

Please remember to enter the correct profile name, it won't work if you don't.

What it does: it instantly leaves the game and resets the profile after you die.

Afterwards you just start Diablo 3 and Demonbuddy as usual, load your profile and this plugin and start the bot.

Please report any issues with this. Thanks to Icool for this great plugin!

Have fun! :)
 
Last edited:
Hey guys, after experimenting a bit, I finally found a solution to this annoying issue.

All you need is:
http://www.thebuddyforum.com/demonbuddy-forum/plugins/55890-plugin-icools-sarkoth-helper.html
and a text editor (Windows Notepad is enough.)

You install the plugin as usual. Then you open the file "Sarkoth.cs" with the text editor of your choice.

Search the following code block:
Code:
if (ZetaDia.Actors.Me.HitpointsCurrentPct == 0.00)
            {
                Log("Wooooa, seems like i just died, lets turn on the attack for 20s");
                hasDied = true;
                ProfileManager.CurrentProfile.KillMonsters = true;
                diedTickCount = System.Environment.TickCount;
                return;
            }
and replace it with the following:
Code:
if (ZetaDia.Actors.Me.HitpointsCurrentPct == 0.00)
            {
                Log("Wooooa, seems like i just died, leaving the game!");
                ZetaDia.Service.Games.LeaveGame();
                BotMain.PauseFor(System.TimeSpan.FromSeconds(11));
                Thread.Sleep(11000);
                Zeta.CommonBot.ProfileManager.Load(string.Format("Profiles/[COLOR=#ff0000]YOUR_PROFILE_NAME[/COLOR].xml"));
                return;
            }

Please remember to enter the correct profile name, it won't work if you don't.

What it does: it instantly leaves the game and resets the profile after you die.

Afterwards you just start Diablo 3 and Demonbuddy as usual, load your profile and this plugin and start the bot.

Please report any issues with this. Thanks to Icool for this great plugin!

Have fun! :)

Is it a good idea to use BotMain.PauseFor(System.TimeSpan.FromSeconds(11));

Is it thread safe?
 
Is it a good idea to use BotMain.PauseFor(System.TimeSpan.FromSeconds(11));

Is it thread safe?
I'm not sure if it's needed, I was inspired by the Unstucker plugin from eax. I'm running since a hour now without complications and normal RAM/CPU-load.
 
ill try it out when i wake, running smooth so far.. untill i die ;) nice job
 
Hm, two questions.

1) Since it reloads the profile, wouldn't it start from scratch (i.e. going to the first coords stated in the profile, since it runs from top to bottom) instead of leaving the game?

2) If I recall, DB runs on a single thread. Is it safe to use Thread.Sleep()?


edit:

Ignore my first question. Looked again and it leaves the game before reloading the profile, my bad! :S
 
as far as i know threads are safe, we are not writing into game mem, demonbuddy does it all, would like a dev to comment tho please :)
 
2) If I recall, DB runs on a single thread. Is it safe to use Thread.Sleep()?

Single thread or multi-thread doesn't matter. A single thread is still a thread, and what it does, is pausing the actual process. It does not interact with any D3-memory or so.
Which means this is completely safe to use.
 
Single thread or multi-thread doesn't matter. A single thread is still a thread, and what it does, is pausing the actual process. It does not interact with any D3-memory or so.
Which means this is completely safe to use.

No, I don't mean it interfering/interacting with D3 memory or process. I mean with demonbuddy.
 
No, I don't mean it interfering/interacting with D3 memory or process. I mean with demonbuddy.

Yes, it interacts with demonbuddy. As I mentioned, thread.sleep is pausing the process. He uses Thread.Sleep(11000) to pause the process to continue until 11seconds has passed. This is because there is a logout timer at 10seconds.
It does not -stop- the demonbuddy process, it just doesn't allow any code to be read until the 11seconds has passed.
 
i still get stuck in adrias hut after editing the sarkoth.xml, any idea why?
 
i still get stuck in adrias hut after editing the sarkoth.xml, any idea why?

You have to edit the plugin's file "Sarkoth.cs". Afterwards, you have to restart the bot and begin a new run from the waypoint west of Old Tristram.
 
perfect. for now it works fine. much better than the MSFix plugin too IMO.
 
You have to edit the plugin's file "Sarkoth.cs". Afterwards, you have to restart the bot and begin a new run from the waypoint west of Old Tristram.


okay i figured out the problem, in the line Thread.Sleep(11000);
Zeta.CommonBot.ProfileManager.Load(string.Format("Profiles/myprofile.xml

how do i get it to properly find this profile? do i have to insert my C:\ directory path, or do i just move the profile into the folder where DB is installed?

nm figured it out, just copy pasted the profile into the folder and also made a folder named profiles, not sure which one it linked to but i got it working, nice fix for this issue btw props
 
Last edited:
okay i figured out the problem, in the line Thread.Sleep(11000);
Zeta.CommonBot.ProfileManager.Load(string.Format("Profiles/myprofile.xml

how do i get it to properly find this profile? do i have to insert my C:\ directory path, or do i just move the profile into the folder where DB is installed?

Just providing "Profiles/myprofile.xml" should be enough.
I'm not completely sure, but you could provide the entire directory path, such as "C:\path\to\db\profiles\myprofile.xml".
Atleast such logic works in other coding languages.
 
Yep this works, but it will leave the game if you die to zombies too.
 
tried for 2 hours with 2 accs and seems to work fine thx
 
Back
Top