[Release] Muddy's D2NT

05/16/2011 15:31 gery68#1951
Quote:
Originally Posted by sosito View Post
HI,

Habe mal ne frage zum bot vom muddy.
zufällig schaute ich heute wegen Langeweile meinem kleinen pala bot zu.
Es viel mir plötzlich auf das er mehre items pickt und dann unidentifiziert verkauft. (charms Helme rare ringe etc) ist da was bekannt? bzw. weiß einer vielleicht ob ich einen Fehler gemacht habe?

grüße sosito
1.Gib ihm ne ident Rolle ins Stuff
2.Das Identifizieren mit Schriftrollen funktioniert von Haus aus nicht richtig, die passende Unit zur Scroll wird gerne nicht gefunden und das Identifizieren geht dementsprechend in die Hose.

Wenn du dennoch Scrolls verwenden willst, passe die betroffene Funktion auf jeden Fall so an, wie hier beschrieben.

Code:
function NTT_GetScroll(type)
{
	var _items;
	var i, j;

	if(arguments.length < 1)
		type = 0;

	for(i = 0; i < 5; i++)
	{
		if(i > 0)
			NTC_PingDelay(200);
		
		if(type)
			_items = me.GetItems(529);
		else
			_items = me.GetItems(530);

		if(_items)
		{
			for(j = 0; j < _items.length; j++)
			{
				if(_items[j].mode == 0 && _items[j].itemloc == MWC_LOC_INVENTORY)
					return _items[j];
			}
		}
	}

	return null;
}
05/16/2011 15:44 Inf0r#1952
Moin

Gibt es mittlerweile eine Lösung zu dem "Keine Rückmeldung"-Problem?

Das Problem: Wenn der Bot das Spiel verlässt, bleibt er in der Lobby mit dem "Please Wait" Fenster hängen. D2 friert ein ("Keine Rückmeldung") und im d2nt Manager steht "Please Wait...10". Statt den Bot neu zu starten macht d2nt einfach gar nichts mehr. Nach ein bisschen rumtesten kann ich sagen, es ist völlig egal...
- Mit welchem Char man bottet
- Wie lange die Runs gehen
- Welches Script am Ende ausgeführt wurde
- Wieviele Bots laufen

Anfangs hatte ich das Problem nicht, dann immer häufiger, mittlerweile nach fast jedem Spiel. Ich dachte erst das hängt vielleicht mit XML Logging zusammen, aber das auszustellen hat auch nichts gebracht.

Ich hab hier mehrere Posts gelesen von Leuten die dieses Problem hatten, aber als Lösungen wurde lediglich dieser workaround in der NTBot.ntj angegeben:

Code:
	case 25: // Lobby - Please Wait
		if(!NT_LocationTimeout(PleaseWaitTimeout, location))
			ControlData.click(ControlData.controls.lobby.pleaseWait.button.cancel);
		if(!NT_locationTimeout(pleaseWaitTimeout, location))
			sendEventToOOG(D2NT_MGR_RESTART, location.name, 10);
		break;
Das funktioniert an sich auch, nur startet D2 dann nach wirklich jedem Spiel neu. Es kommt dann immer die Fehlermeldung "Reference Error: NT_locationTimeout is not defined". Kann aber auch sein, dass der Fehler mittlerweile einfach bei jedem Game auftritt bei mir.

Wie gesagt, das funktioniert zwar so, ich wüsste aber gerne, wieso der Fehler überhaupt auftritt.

Die zweite Lösung die hier besprochen wurde ist die NTBot von Sternenlooper zu nehmen, da dort der Fehler wohl nicht auftritt. Dies bezog sich aber auf lanaras Bot, da der wohl im Gegensatz zu Muddys auch mit der Sternenlooper NTBot funktioniert.

Es kann doch nichtso schwierig sein hier den Fehler zu finden, oder?
05/16/2011 16:23 jannimanni#1953
ich bekomm in letzter zeit seeeehr häufig realmdowns, bin ich da der einzige?

im bot ist eigentlich soweit alles gut eingestellt (laufzeit pro run 8+ min).

macht es nen unterschied ob ich die bots (hab 7) im loader schnell hintereinander ins bnet connecten lasse oder ob ich immer einen run warte und den nächsten connecte?

ich kann echt meinen tempban aussitzen wie ich lustig bin, wenn ich alle bots gelichzeitig anschmeiss, ist der ban nach 10-24 runs wieder da :(

irgendwelche ideen?
05/16/2011 16:33 tonk1#1954
Ich hab Runs die dauern etwa 3-4 min.
Mit 2 Keys, damit ist es kein Problem, ich kann mich nicht an das letzte Mal Realm Down erinnern. ;)
7 Bots ist auch ne ganze Menge, bei hoher Anzahl an Bots muss man sowieso mehr Keys verwenden. :)
Wenn es dir wichtiger ist, dass überhaupt Bots laufen, die kein Realm Down kriegen, solltest du lieber 2 Keys pro Bot verwenden und die alle 1x Runs wechseln lassen.
Wenn du ein Wochenende durchbottest, würde ich sagen Qualität > Quantität. :D
05/16/2011 17:03 jannimanni#1955
Quote:
Originally Posted by tonk1 View Post
Ich hab Runs die dauern etwa 3-4 min.
Mit 2 Keys, damit ist es kein Problem, ich kann mich nicht an das letzte Mal Realm Down erinnern. ;)
7 Bots ist auch ne ganze Menge, bei hoher Anzahl an Bots muss man sowieso mehr Keys verwenden. :)
Wenn es dir wichtiger ist, dass überhaupt Bots laufen, die kein Realm Down kriegen, solltest du lieber 2 Keys pro Bot verwenden und die alle 1x Runs wechseln lassen.
Wenn du ein Wochenende durchbottest, würde ich sagen Qualität > Quantität. :D
hmmm, ich weiß nich so recht ob das mit den cdkeys zusammenhängt :/

ich kireg ja nen realdown (=ip ban) und wenn ich mein modem resette, dann funzt es ja für ne kurze zeit auch wieder.

oder würden weitere keysets das verhindern??
05/16/2011 17:30 seltn#1956
Servus!

@ muddy!

Gibt es eine Möglichkeit, ein Script (z.B. AuradinStack-script)
manuell in einem selbst gejointem game zu starten?

Sprich, dass man ein beliebiges Game joint (mit evtl ToolsEntrypoint - als entrypoint) und dann das Script per hotkey (oder auch automatisch) startet?

Wenn ich das script über den normalen Entrypoint (ntbot) laufen lassen würde, kann ich ja kein beliebiges game joinen, oder?

Lg Seltn
05/16/2011 19:08 Muddy Waters#1957
Quote:
Originally Posted by gery68 View Post
1.Gib ihm ne ident Rolle ins Stuff
2.Das Identifizieren mit Schriftrollen funktioniert von Haus aus nicht richtig, die passende Unit zur Scroll wird gerne nicht gefunden und das Identifizieren geht dementsprechend in die Hose.

Wenn du dennoch Scrolls verwenden willst, passe die betroffene Funktion auf jeden Fall so an, wie hier beschrieben.

Code:
function NTT_GetScroll(type)
{
	var _items;
	var i, j;

	if(arguments.length < 1)
		type = 0;

	for(i = 0; i < 5; i++)
	{
		if(i > 0)
			NTC_PingDelay(200);
		
		if(type)
			_items = me.GetItems(529);
		else
			_items = me.GetItems(530);

		if(_items)
		{
			for(j = 0; j < _items.length; j++)
			{
				if(_items[j].mode == 0 && _items[j].itemloc == MWC_LOC_INVENTORY)
					return _items[j];
			}
		}
	}

	return null;
}
Wenn du mich schon zitierst, dann kennzeichne das bitte auch als Zitat. ;)
Wir wollen es hier schließlich nicht wie die Politiker halten. :p

Quote:
Originally Posted by Inf0r View Post
Moin

Gibt es mittlerweile eine Lösung zu dem "Keine Rückmeldung"-Problem?

Das Problem: Wenn der Bot das Spiel verlässt, bleibt er in der Lobby mit dem "Please Wait" Fenster hängen. D2 friert ein ("Keine Rückmeldung") und im d2nt Manager steht "Please Wait...10". Statt den Bot neu zu starten macht d2nt einfach gar nichts mehr. Nach ein bisschen rumtesten kann ich sagen, es ist völlig egal...
- Mit welchem Char man bottet
- Wie lange die Runs gehen
- Welches Script am Ende ausgeführt wurde
- Wieviele Bots laufen

Anfangs hatte ich das Problem nicht, dann immer häufiger, mittlerweile nach fast jedem Spiel. Ich dachte erst das hängt vielleicht mit XML Logging zusammen, aber das auszustellen hat auch nichts gebracht.

Ich hab hier mehrere Posts gelesen von Leuten die dieses Problem hatten, aber als Lösungen wurde lediglich dieser workaround in der NTBot.ntj angegeben:

Code:
	case 25: // Lobby - Please Wait
		if(!NT_LocationTimeout(PleaseWaitTimeout, location))
			ControlData.click(ControlData.controls.lobby.pleaseWait.button.cancel);
		if(!NT_locationTimeout(pleaseWaitTimeout, location))
			sendEventToOOG(D2NT_MGR_RESTART, location.name, 10);
		break;
Das funktioniert an sich auch, nur startet D2 dann nach wirklich jedem Spiel neu. Es kommt dann immer die Fehlermeldung "Reference Error: NT_locationTimeout is not defined". Kann aber auch sein, dass der Fehler mittlerweile einfach bei jedem Game auftritt bei mir.

Wie gesagt, das funktioniert zwar so, ich wüsste aber gerne, wieso der Fehler überhaupt auftritt.

Die zweite Lösung die hier besprochen wurde ist die NTBot von Sternenlooper zu nehmen, da dort der Fehler wohl nicht auftritt. Dies bezog sich aber auf lanaras Bot, da der wohl im Gegensatz zu Muddys auch mit der Sternenlooper NTBot funktioniert.

Es kann doch nichtso schwierig sein hier den Fehler zu finden, oder?
Prinzipiell gibt es ab Version 1.2 eine Funktion, die derartige Endlosschleifen überwacht und nach einer festgelegten Anzahl an Wiederholungen das Fenster neustartet.

Soweit ich das bisher in Erfahrung bringen konnte, funktioniert das für alle Fälle, in denen das Fenster eingefroren ist, aber der Entry Point im Hintergrund weiterläuft.

Verwendest du die aktuelle Version?

Quote:
Originally Posted by seltn View Post
Servus!

@ muddy!

Gibt es eine Möglichkeit, ein Script (z.B. AuradinStack-script)
manuell in einem selbst gejointem game zu starten?

Sprich, dass man ein beliebiges Game joint (mit evtl ToolsEntrypoint - als entrypoint) und dann das Script per hotkey (oder auch automatisch) startet?

Wenn ich das script über den normalen Entrypoint (ntbot) laufen lassen würde, kann ich ja kein beliebiges game joinen, oder?

Lg Seltn
Das kannst du mit der globalen Funktion Load(), diese führt das Script unter dem angegebenen relativen Pfad in einem neuen Thread aus.
Der Order "scripts" ist dabei der Ausgangsordner.

Ein Aufruf könnte dann beispielsweise so aussehen:
Code:
Load("NTBot/bots/MyAwesomeAuraStackingScript.ntj");
LG
Muddy
05/16/2011 19:18 tonk1#1958
Quote:
hmmm, ich weiß nich so recht ob das mit den cdkeys zusammenhängt :/

ich kireg ja nen realdown (=ip ban) und wenn ich mein modem resette, dann funzt es ja für ne kurze zeit auch wieder.

oder würden weitere keysets das verhindern??
Je mehr Bots man laufen lässt, desto mehr Keys muss man pro Bot verwenden, um ohne RD davonzukommen. :D
Du hast 7 Bots, also 7 Keys, richtig?
Versuch doch mal ne Weile, 3 Bots mit je 2 Keys laufen zu lassen und erzähl dann, obs klappt oder nicht. ;)
05/16/2011 19:38 jannimanni#1959
Quote:
Originally Posted by tonk1 View Post
Ich hab Runs die dauern etwa 3-4 min.
Mit 2 Keys, damit ist es kein Problem, ich kann mich nicht an das letzte Mal Realm Down erinnern. ;)
7 Bots ist auch ne ganze Menge, bei hoher Anzahl an Bots muss man sowieso mehr Keys verwenden. :)
Wenn es dir wichtiger ist, dass überhaupt Bots laufen, die kein Realm Down kriegen, solltest du lieber 2 Keys pro Bot verwenden und die alle 1x Runs wechseln lassen.
Wenn du ein Wochenende durchbottest, würde ich sagen Qualität > Quantität. :D
Quote:
Originally Posted by tonk1 View Post
Je mehr Bots man laufen lässt, desto mehr Keys muss man pro Bot verwenden, um ohne RD davonzukommen. :D
Du hast 7 Bots, also 7 Keys, richtig?
Versuch doch mal ne Weile, 3 Bots mit je 2 Keys laufen zu lassen und erzähl dann, obs klappt oder nicht. ;)
aber wieso denn mehr keys??
das is doch en ip ban...
ich verstehs nich, erklärs mir bitte :)
05/16/2011 19:39 Inf0r#1960
Quote:
Originally Posted by Muddy_Waters View Post

Prinzipiell gibt es ab Version 1.2 eine Funktion, die derartige Endlosschleifen überwacht und nach einer festgelegten Anzahl an Wiederholungen das Fenster neustartet.

Soweit ich das bisher in Erfahrung bringen konnte, funktioniert das für alle Fälle, in denen das Fenster eingefroren ist, aber der Entry Point im Hintergrund weiterläuft.

Verwendest du die aktuelle Version?
jop, verwende 1.2, erst vor drei Tagen hier vom Startpost gezogen.

Was ich noch zu dem Problem sagen kann:
- Es ist mit der Zeit schlimmer geworden. Zunächst lief alles glatt, dann trat der Fehler hin und wieder mal auf und mittlerweile kommt er nach fast jedem Spiel. Das hatte mich erst zu dem Schluss gebracht, dass es was mit XML Logging bzw. Logging allgemein zu tun haben könnte, doch nachdem ich alles was ichdazu finden konnte (auch die Itemerrors.txt) abgeschaltet habe trat der Fehler immmernoch auf. An anderen Dateien habe ich nichts verändert.

Jetzt habe ich das Archiv nochmal entpackt, meine Char- und Itemconfigs rüber kopiert und lasse den Bot seit ner Stunde laufen, ohne Probleme.


- Wenn ich den d2nt manager neu gestartet habe, lief der Bot durch das erste Game ganz normal durch, auch beim gameexit gab es keine Probleme. Nach dem zweiten game (also nachdem der Bot das zweite geöffnete Spiel verlassen hat) ist D2 in 95% der Fälle eingefroren, bzw. mit dem oben genannten workaround gecrasht und neugestartet.
05/16/2011 19:56 tonk1#1961
Quote:
Originally Posted by jannimanni View Post
aber wieso denn mehr keys??
das is doch en ip ban...
ich verstehs nich, erklärs mir bitte :)
Ich hatte das Problem auch. Aber eben nur mit einem Key.
Hatte > 10 min Runs und trotzdem regelmäßig RD.
Mit 2 Keys hatte ich bisher kein einziges Mal Realm Down.
Warum? Keine Ahnung, ich habs einfach ausprobiert. :D

EDIT: Ist aber eig bekannt, dass man per Keychange nach ~20 Runs RD verhindern kann.
05/16/2011 20:15 jannimanni#1962
Quote:
Originally Posted by tonk1 View Post
Ich hatte das Problem auch. Aber eben nur mit einem Key.
Hatte > 10 min Runs und trotzdem regelmäßig RD.
Mit 2 Keys hatte ich bisher kein einziges Mal Realm Down.
Warum? Keine Ahnung, ich habs einfach ausprobiert. :D

EDIT: Ist aber eig bekannt, dass man per Keychange nach ~20 Runs RD verhindern kann.

aha, das mit den keys zu verhinderung von rd's war mir bis jetzt unbekannt.
wieviele bots hast du denn am laufen?

evtl. antwort per pm? ;D
05/17/2011 01:44 GruenerApfel#1963
Quote:
Originally Posted by tonk1 View Post
Ich hatte das Problem auch. Aber eben nur mit einem Key.
Hatte > 10 min Runs und trotzdem regelmäßig RD.
Mit 2 Keys hatte ich bisher kein einziges Mal Realm Down.
Warum? Keine Ahnung, ich habs einfach ausprobiert. :D

EDIT: Ist aber eig bekannt, dass man per Keychange nach ~20 Runs RD verhindern kann.
koennte daran liegen das wenn dein bot in nen laggame reingerät und er dann nach dem gamecrash "tagged" ist der bot permanent versucht games zu erstellen bis die 20games / stunde marke erreicht ist und er n realmdown kassiert ... abhilfe is dann entweder n zweiter key und hoffen das es dann zwischenzeitlich wieder geht (was es scheinbar bei dir ja tut:p) oder du stellst einfach die mingame time auf 3 minuten sodass er nach einem joinbug 1xx sekunden wartet bis er das nächste spiel aufmacht
05/17/2011 08:36 -Nemesis1337-#1964
Gibts eig. schon nen FastDiablo Script für Muddys?
Das von Blue funzt net, auch mit angepassten Funktionen.
05/17/2011 10:11 knaeggebrot#1965
Hab gestern meinen Bot mal auf bnet gestellt mit pw games und public modus an.

Hab Ancient Tunnels, Dia und dann Baal.

Der schreibt aber nach Dia "New Game" obwohl er dann noch Baal macht.
Nach Baal schreibt er auch "New Game" und macht dann neues Game.

Ist des normal?

Bin noch auf Arbeit. Heut Abend kann ich mal die config posten.


EDIT: was bedeutet das NT bei D2NT eigentlich? :D