[Release] Muddy's D2NT

08/10/2011 01:18 Muddy Waters#2836
Quote:
Originally Posted by Jijimer View Post
Mit der "Einfüge Taste" leavt der Bot einfach das Spiel..hab gesehen das mein anderer Bot im Log Ordner mir eine detaillierte Items-Liste erstellt hat. Wobei ich nicht so recht weiss wie er bzw. ich diese erstellt habe?!
.
Wie meinst du das? "Du erfüllst derzeit leider noch nicht die Voraussetzungen."
In dem Fall hast du auf die Entfernen Taste gedrückt, ich meine aber die Einfügen Taste. ;)
Und wahrscheinlich hat er die erstellt, als du versehentlich auf Einfügen gedrückt hast.

Achja, mit Anforderung meine ich die [Only registered and activated users can see links. Click Here To Register...].

Quote:
Originally Posted by xxSarixx View Post
So hab es ausprobiert ... an 3 versch. scripten ... einmal dem Diablo script... dann dem Cowlvl script und nilathak ...
also bei diablo im sanctuary: komplett nur 5DSs
bei dia selbst : 5LS
bei Cowlvl : komplett 5DS
bei nilathak : nur 5LS
einerseits weiß ich dass nila nen boss is ... andererseits versteh ich nich warum der nur 5Ls macht wenn er doch lt. script eben 2DS und 3LS casten soll ... auch bei bossen ^^... aber naja gut
wenn was gefunden wird...

PN plz !!!! ^^

lg
Seltsam...mal schauen, ob ich mir das nochmal anschaue, aber versprechen kann ich nichts.

Quote:
Originally Posted by getgoodson View Post
das mit den wellen ist nicht so wild.
das heisst aber, dass ich mir deinen bot nochmals runterladen soll und gewisse dinge austauschen muss/soll/kann, um bone skills à la knochenspeer nutzen zu können?! Ich frage deshalb nach, weil jetzt eigentlich recht viel klappt, was ich nicht durch kleine spielereien aufs spiel setzen möchte :)
Nein, da diese Änderung erst mit dem kommenden Update veröffentlicht werden...dauert also noch etwas. :)

Quote:
Originally Posted by Mode-harun View Post
Ich hab hier ein Problem mit meinem Leechbot Games joinen tut er, aber das problem ist sobald er in Game drinne ist kriege ich eine Fehlermeldung und dies führt dazu das er nichts mehr macht , ich hab schon mir die NTBot Config neu gedownloadet und da im Ordner eingefügt aber es hilft nicht. Hier der Screenshot [Only registered and activated users can see links. Click Here To Register...]
Und warum genau fragst du hier, wenn du nichtmal meine Version benutzt? :rolleyes:
Du hast einen Syntaxfehler in deiner Config, oder deine Config ist falsch benannt.

LG
Muddy
08/10/2011 02:36 HacK.#2837
Quote:
Originally Posted by HacK. View Post
Also lanara, das Spiel hängt einfach irgendwo und irgendwann ab nicht an einer Bestimmten Umgebung oder zeit sondern passiert auf einmal. Das Bot Fenster freeze einfach ein wenn ich drauf klinge kommt keine Rückmeldung.

Mudy, das "/o igw" kann man auch im Channel eingeben.

mfG
Wegen dem Freeze, ich benutze Windows 7 32bit und habe 2 Bots am laufen + Redvex (Fastmode)...

mfG
08/10/2011 09:55 Traycas#2838
Hallo Zusammen,

brauche mal etwas Hilfe mit der MWUberTristram.ntj.

Mein bot sollte Schlüssel sammeln, dann Organe und zu guter letzt auch 'ne Fackel holen.

Alles gut geklappt und bei 'nem SorcTorch 17 20 dann auch in die Kiste gelegt... Danach neues Spiel gestartet, Schlüssel gesucht, Organe ging noch nicht und bei ÜberTrist stehen geblieben, da er einen Torch hatte und gamemaxtime abgewartet.

Ich hätte das Script gerne so geändert, dass er das MWUberTristram.ntj nicht stoppt und dann im Spiel wartet, sondern dass er bei der Feststellung "ich habe einen Torch" zum nächsten Script wechselt und wenn keins vorhanden ist dann halt das nächste Spiel startet und schon mal weiter Schlüssel und Organe sammelt.

Hoffe mir kann jemand helfen. In den configs kenne ich mich schon einigermaßen aus, aber in den Scripten steht für mich nur irgendwas von Bahnhof :D

Danke vorab und einen schönen Mittwoch
Traycas


edit: Ich gehe mal davon aus, dass ihr euch das meiste im Bereich Programmierung angelesen habt gepaart mit try by error. Könnt ihr einen "Einsteiger-Guide" für mich empfehlen, aus dem ich die Basics lernen kann (habe ad hoc im Forum nichts gefunden). Rest kommt dann wahrscheinlich irgenwann mit der Praxis.
08/10/2011 13:01 TheCrazy11#2839
Quote:
Originally Posted by Traycas View Post
Hallo Zusammen,

brauche mal etwas Hilfe mit der MWUberTristram.ntj.

Mein bot sollte Schlüssel sammeln, dann Organe und zu guter letzt auch 'ne Fackel holen.

Alles gut geklappt und bei 'nem SorcTorch 17 20 dann auch in die Kiste gelegt... Danach neues Spiel gestartet, Schlüssel gesucht, Organe ging noch nicht und bei ÜberTrist stehen geblieben, da er einen Torch hatte und gamemaxtime abgewartet.

Ich hätte das Script gerne so geändert, dass er das MWUberTristram.ntj nicht stoppt und dann im Spiel wartet, sondern dass er bei der Feststellung "ich habe einen Torch" zum nächsten Script wechselt und wenn keins vorhanden ist dann halt das nächste Spiel startet und schon mal weiter Schlüssel und Organe sammelt.

Hoffe mir kann jemand helfen. In den configs kenne ich mich schon einigermaßen aus, aber in den Scripten steht für mich nur irgendwas von Bahnhof :D

Danke vorab und einen schönen Mittwoch
Traycas


edit: Ich gehe mal davon aus, dass ihr euch das meiste im Bereich Programmierung angelesen habt gepaart mit try by error. Könnt ihr einen "Einsteiger-Guide" für mich empfehlen, aus dem ich die Basics lernen kann (habe ad hoc im Forum nichts gefunden). Rest kommt dann wahrscheinlich irgenwann mit der Praxis.
Um bei einer Torch nicht zu pausieren, müssen wir am Ende der NTMain eingreifen (Zeile 96):
Code:
	if((!MWConfig_PauseOnLackOfOrgans || MWUT_CheckOrgans(1)))
	{
		if(!MWUT_TorchCarried())
			NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
		else
			Print("ÿc1Already got a torch - pausing...");
	}
	else
		Print("ÿc1Pausing due to lack of organs...");
Hier löschen wir die Überprüfung, ob eine Torch vorhanden ist, sieht dann im Endeffekt so aus:
Code:
	if([COLOR="Red"]([/COLOR]!MWConfig_PauseOnLackOfOrgans || MWUT_CheckOrgans(1)[COLOR="Red"])[/COLOR])
		NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
	else
		Print("ÿc1Pausing due to lack of organs...");
@muddy: Sind die rot markierten Klammern absichtlich doppelt ausgeführt?

@Traycas: Es gibt eine schöne Einführung in die D2NT-Programmierung von Muddy: [Only registered and activated users can see links. Click Here To Register...]
Generell ist Muddy's Signatur eine wahre Fundgrube, bei Programmierfragen lohnt es sich, da einen Blich zu riskieren! ;)
08/10/2011 13:17 Traycas#2840
Hi Crazy,

Danke schon mal für Deine Mühe, kann es grad nicht testen, da ich noch bei der Arbeit bin...

Muss der Überprüfungsbefehl ob eine Fackel vorhanden ist nicht bleiben? Wenn eine Torch da ist, dann soll er ja einfach das Script beenden, also anstatt zu schreiben
Code:
Print("ÿc1Already got a torch - pausing...");
da irgendwas mit end script rein?
Wenn er gar nicht prüft, würde er ja quasi mit Fackel ÜT öffnen und Organe verbraten, da er ja dann keine Fackel aufnimmt!?
Oder prüft er das so noch im Script?

Wäre schön wenn Du mir das nochmal erklären könntest!

dickes DANKE schonmal
Traycas

PS: und danke für den Hinweis auf Muddys-Sig. Vielleicht sollten wir sein Hirn hier auch irgendwie in die Quicklinks aufnehmen :D
08/10/2011 14:50 TheCrazy11#2841
Die Überprüfung, dass er kein UT öffnet, wenn er eine Fackel hat, habe ich nicht angefasst, die findet in Zeile 52 mittels MWUT_CheckStatus() statt.

Hier der Aufbau des Scripts:
Code:
function NTMain()
{
	[COLOR="Green"]Includes, Initialisierungen, Townmanager[/COLOR]

	if(MWUT_CheckStatus())
	{
		[COLOR="Green"]Anweisungen, wenn [I]MWUT_CheckStatus()[/I] nicht [I]false[/I] ist.[/COLOR]
	}
	
	if((!MWConfig_PauseOnLackOfOrgans || MWUT_CheckOrgans(1)))
	{
		if(!MWUT_TorchCarried())
			NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
		else
			Print("ÿc1Already got a torch - pausing...");
	}
	else
		Print("ÿc1Pausing due to lack of organs...");
}
Bei MWUT_CheckStatus() wird folgendes überprüft:
  • Torch vorhanden --> false
  • nicht genügend Organe --> false
  • falscher Schwierigkeitsgrad --> false
  • falsche Charklasse (nur Pala & Barb werden unterstützt) --> false
Ich habe nur am Ende den Check rausgenommen, wo er pausiert hätte, wenn er eine Torch in UT gefunden hat, die er behalten hätte.
Am Anfang des Scripts wird immer noch überprüft, ob er eine Torch hat.
08/10/2011 15:05 wussard#2842
habe ein problem, und zwar castet er bei meiner sorc nicht energie shield und frostrüstung, jedoch stehen sie doch in der precast?
08/10/2011 15:21 Traycas#2843
Quote:
Originally Posted by TheCrazy11 View Post
Die Überprüfung, dass er kein UT öffnet, wenn er eine Fackel hat, habe ich nicht angefasst, die findet in Zeile 52 mittels MWUT_CheckStatus() statt.

Hier der Aufbau des Scripts:
Code:
function NTMain()
{
	[COLOR="Green"]Includes, Initialisierungen, Townmanager[/COLOR]

	if(MWUT_CheckStatus())
	{
		[COLOR="Green"]Anweisungen, wenn [I]MWUT_CheckStatus()[/I] nicht [I]false[/I] ist.[/COLOR]
	}
	
	if((!MWConfig_PauseOnLackOfOrgans || MWUT_CheckOrgans(1)))
	{
		if(!MWUT_TorchCarried())
			NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
		else
			Print("ÿc1Already got a torch - pausing...");
	}
	else
		Print("ÿc1Pausing due to lack of organs...");
}
Bei MWUT_CheckStatus() wird folgendes überprüft:
  • Torch vorhanden --> false
  • nicht genügend Organe --> false
  • falscher Schwierigkeitsgrad --> false
  • falsche Charklasse (nur Pala & Barb werden unterstützt) --> false
Ich habe nur am Ende den Check rausgenommen, wo er pausiert hätte, wenn er eine Torch in UT gefunden hat, die er behalten hätte.
Am Anfang des Scripts wird immer noch überprüft, ob er eine Torch hat.
Hi Crazy,

Danke für Deine Erläuterung, hat mir sehr geholfen!

Ab einer gewissen Logik hängt sich mein Hirn auf und das script hat das quasi gerade in der Pause geschafft :D Hatte es oldschool in gedruckter Form vor mir und Kopf sagte "tilt"...

DANKE NOCHMAL!!! :handsdown:

Werde es nachher ändern und mich mal eingehender mit scripten befassen...


Quote:
Originally Posted by wussard View Post
habe ein problem, und zwar castet er bei meiner sorc nicht energie shield und frostrüstung, jedoch stehen sie doch in der precast?
Poste doch mal bitte den part der config... Gerne als codebox ([.code] [./code] ohne die Punkte)

Geskillt und englisches Diablo setze ich mal voraus ;)



Greets Traycas
08/10/2011 15:39 wussard#2844
ja klar englisch und geskillt ist alles.

aus der precast config kopiert:
Code:
		case NTC_CHAR_CLASS_SORCERESS:
			// Thunder Storm
			if(MWConfig_PrecastSkills.indexOf(MWS_THUNDER_STORM) > -1 && (refresh || !me.GetState(38)))
				NTC_CastSkill(MWS_THUNDER_STORM, NTC_HAND_RIGHT);
			// Energy Shield
			if(refresh && MWConfig_PrecastSkills.indexOf(MWS_ENERGY_SHIELD) > -1)
				NTC_CastSkill(MWS_ENERGY_SHIELD, NTC_HAND_RIGHT);
			// Shiver Armor
			if(MWConfig_PrecastSkills.indexOf(MWS_SHIVER_ARMOR) > -1 && (refresh || !me.GetState(88)))
				NTC_CastSkill(MWS_SHIVER_ARMOR, NTC_HAND_RIGHT);
			// Chilling Armor
			else if(MWConfig_PrecastSkills.indexOf(MWS_CHILLING_ARMOR) > -1 && (refresh || !me.GetState(20)))
				NTC_CastSkill(MWS_CHILLING_ARMOR, NTC_HAND_RIGHT);
			// Frozen Armor
			else if(MWConfig_PrecastSkills.indexOf(MWS_FROZEN_ARMOR) > -1 && (refresh || !me.GetState(10)))
				NTC_CastSkill(MWS_FROZEN_ARMOR, NTC_HAND_RIGHT);
			// Enchant
			if(MWConfig_PrecastSkills.indexOf(MWS_ENCHANT) > -1)
			{
				_merc = NTC_GetMerc();

				if(_merc && !_merc.GetState(16))
					NTC_CastSkill(MWS_ENCHANT, NTC_HAND_RIGHT, _merc);
				if(!me.GetState(16))
					NTC_CastSkill(MWS_ENCHANT, NTC_HAND_RIGHT);
08/10/2011 15:44 DeathFromHeaven#2845
du musst es aber auch in der CHARconfig angeben, und die solltest du posten, bzw. den precast Abschnitt aus der CHARconfig :p
08/10/2011 15:45 Traycas#2846
Quote:
Originally Posted by wussard View Post
ja klar englisch und geskillt ist alles.

aus der precast config kopiert:
Code:
		case NTC_CHAR_CLASS_SORCERESS:
			// Thunder Storm
			if(MWConfig_PrecastSkills.indexOf(MWS_THUNDER_STORM) > -1 && (refresh || !me.GetState(38)))
				NTC_CastSkill(MWS_THUNDER_STORM, NTC_HAND_RIGHT);
			// Energy Shield
			if(refresh && MWConfig_PrecastSkills.indexOf(MWS_ENERGY_SHIELD) > -1)
				NTC_CastSkill(MWS_ENERGY_SHIELD, NTC_HAND_RIGHT);
			// Shiver Armor
			if(MWConfig_PrecastSkills.indexOf(MWS_SHIVER_ARMOR) > -1 && (refresh || !me.GetState(88)))
				NTC_CastSkill(MWS_SHIVER_ARMOR, NTC_HAND_RIGHT);
			// Chilling Armor
			else if(MWConfig_PrecastSkills.indexOf(MWS_CHILLING_ARMOR) > -1 && (refresh || !me.GetState(20)))
				NTC_CastSkill(MWS_CHILLING_ARMOR, NTC_HAND_RIGHT);
			// Frozen Armor
			else if(MWConfig_PrecastSkills.indexOf(MWS_FROZEN_ARMOR) > -1 && (refresh || !me.GetState(10)))
				NTC_CastSkill(MWS_FROZEN_ARMOR, NTC_HAND_RIGHT);
			// Enchant
			if(MWConfig_PrecastSkills.indexOf(MWS_ENCHANT) > -1)
			{
				_merc = NTC_GetMerc();

				if(_merc && !_merc.GetState(16))
					NTC_CastSkill(MWS_ENCHANT, NTC_HAND_RIGHT, _merc);
				if(!me.GetState(16))
					NTC_CastSkill(MWS_ENCHANT, NTC_HAND_RIGHT);
In der CharConfig musst Du angeben welche Precasts er durchführen soll! Steht meine ich ziemlich am ende. Guck' einfach mal hier im Topic lanaras, DeathFromHeavens und meine Beiträge von gestern an, da war schonmal die Frage. Die Suchfunktion hätte dir da sicher auch geholfen ;)

Greets Traycas

Quote:
Originally Posted by wussard View Post
hab die suchfunktion sogar benutzt aber unter sachen wie "energy shield muddy" "muddy precast" usw nichts ergiebiges gefunden. nun hab ich es gefunden, danke soweit.
"muddy precast" in der Forumsuche 4. Treffer ;)
danke soweit --> bitte einfach auf [Only registered and activated users can see links. Click Here To Register...] klicken und natürlich: gern geschehen
08/10/2011 15:51 wussard#2847
hab die suchfunktion sogar benutzt aber unter sachen wie "energy shield muddy" "muddy precast" usw nichts ergiebiges gefunden. nun hab ich es gefunden, danke soweit.
08/10/2011 20:30 mooh#2848
Quote:
Originally Posted by Muddy_Waters View Post
bla
Hi,

hat alles super geklappt!

Allerdings muss ich sagen, dass das DiabloFAST-Run-Script von D2NT Bluebird besser ist als dein normales :P

Wie stell ich ein, dass der bot bei klauenvipern in den hallen von vaught bei MWConfig_SkipOnTombVipers = true;

erst wieder zurück ins letzte level geht und DANN ERST ein townportal öffnet?
Daran bin ich nämlich grad gestorben ^^

Und wann ist deine version mit Automule fertig? :P

Wie stelle ich nochmal das Gambling-Log ein?

Noch was:

Wenn der char kein mana mehr hat und ein TP aufmacht, rennt er nur einmal zum heilchar aber kauft sich keine tränke ^^
08/10/2011 21:43 steri#2849
"Im using muddy's d2nt bot but the crafting part works badly


I enabled to craft blood rings and when i do that my bots keeps picking up magic rings untill stash is full.. it also picks up the runes/gems/jewels.. but there is an HUGELY overflow in magic rings compared to the gems/jewels..

I just want the bot to pick up 1 gem 1 jewel 1 rune and 1 magic ring and THEN cube.. So i dont have shitloads of shitty magic rings in my stash. Or maby keep like 1-3 magic rings instead of 20 ^_^

(MWConfig_UseAdvancedCubingAlgorithm = false

This is the same but little less with magic amulets when i want to craft caster amu's

Plz help me."



Quote:
Originally Posted by DeathFromHeaven View Post
The problem is well known, but until now there is no absolut solution to it :(
Maybe it will get fixed in the next update, that is on its way :D
I may have found the bug, the bot always keeps the first gambled ring + amu and stashes it later for crafting purpose.. Il try gambling coro/circ only and no more rings+amu and maby bug is gone. Il keep u updated

PS: what i also did is raise the ilvl on rings and amus in cubing.ntl from 90 and 86 to 94.. this seems to lower the ring/amu stashing alot
08/10/2011 23:12 Muddy Waters#2850
Quote:
Originally Posted by TheCrazy11 View Post
Um bei einer Torch nicht zu pausieren, müssen wir am Ende der NTMain eingreifen (Zeile 96):
Code:
	if((!MWConfig_PauseOnLackOfOrgans || MWUT_CheckOrgans(1)))
	{
		if(!MWUT_TorchCarried())
			NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
		else
			Print("ÿc1Already got a torch - pausing...");
	}
	else
		Print("ÿc1Pausing due to lack of organs...");
Hier löschen wir die Überprüfung, ob eine Torch vorhanden ist, sieht dann im Endeffekt so aus:
Code:
	if([COLOR="Red"]([/COLOR]!MWConfig_PauseOnLackOfOrgans || MWUT_CheckOrgans(1)[COLOR="Red"])[/COLOR])
		NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
	else
		Print("ÿc1Pausing due to lack of organs...");
@muddy: Sind die rot markierten Klammern absichtlich doppelt ausgeführt?

@Traycas: Es gibt eine schöne Einführung in die D2NT-Programmierung von Muddy: [Only registered and activated users can see links. Click Here To Register...]
Generell ist Muddy's Signatur eine wahre Fundgrube, bei Programmierfragen lohnt es sich, da einen Blich zu riskieren! ;)
Wahrscheinlich hatte ich da vorher eine andere Bedingung und habe die dann nachträglich verändert...also wahrscheinlich ungewollt. :o

Und danke für die Blumen! :o

Quote:
Originally Posted by wussard View Post
hab die suchfunktion sogar benutzt aber unter sachen wie "energy shield muddy" "muddy precast" usw nichts ergiebiges gefunden. nun hab ich es gefunden, danke soweit.
Durchsuch einfach das Thema hier direkt, da sollte sich was finden. :)
Mit dem Update werde ich eine ausführliche FAQ einführen, für die ich mir schon ein Konzept überlegt habe, dort werden solche Fragen dann definitiv auch mit drin auftauchen. :)

Such dir einfach diese Zeilen in deiner Config:
Code:
// Your precast skills can be defined in the array below. NOTE: Battle Command, Battle Orders and Shout will be cast automatically. Constants for all skill ids can be found in "scripts\libs\common\MWSkills.ntl".
	MWConfig_PrecastSkills = [MWS_SHIVER_ARMOR, MWS_ENCHANT];
Füge die Skills hinzu, die du casten möchtest; nur was dort aufgeführt ist, wird auch tatsächlich verwendet.

Quote:
Originally Posted by mooh View Post
Hi,

hat alles super geklappt!

Allerdings muss ich sagen, dass das DiabloFAST-Run-Script von D2NT Bluebird besser ist als dein normales :P

Wie stell ich ein, dass der bot bei klauenvipern in den hallen von vaught bei MWConfig_SkipOnTombVipers = true;

erst wieder zurück ins letzte level geht und DANN ERST ein townportal öffnet?
Daran bin ich nämlich grad gestorben ^^

Und wann ist deine version mit Automule fertig? :P

Wie stelle ich nochmal das Gambling-Log ein?

Noch was:

Wenn der char kein mana mehr hat und ein TP aufmacht, rennt er nur einmal zum heilchar aber kauft sich keine tränke ^^
Ich verstehe bei der ersten Frage nicht genau was du meinst. :o

Wann das Update fertig ist kann ich nicht sagen. :(
Das Gambling Log ist automatisch aktiv, sofern du im Ordner Logs einen Ordner mit dem Namen deines Chars erstellt hast.

Das mit den Tränken wird der Bug in der Belt Klasse sein. Bis zur neuen Version, einfach schauen, dass die rejuvs in den hinteren Spalten des Gürtels sind, mit dem Update hat sich das Problem dann erledigt.

Quote:
Originally Posted by steri View Post
"Im using muddy's d2nt bot but the crafting part works badly


I enabled to craft blood rings and when i do that my bots keeps picking up magic rings untill stash is full.. it also picks up the runes/gems/jewels.. but there is an HUGELY overflow in magic rings compared to the gems/jewels..

I just want the bot to pick up 1 gem 1 jewel 1 rune and 1 magic ring and THEN cube.. So i dont have shitloads of shitty magic rings in my stash. Or maby keep like 1-3 magic rings instead of 20 ^_^

(MWConfig_UseAdvancedCubingAlgorithm = false

This is the same but little less with magic amulets when i want to craft caster amu's

Plz help me."





I may have found the bug, the bot always keeps the first gambled ring + amu and stashes it later for crafting purpose.. Il try gambling coro/circ only and no more rings+amu and maby bug is gone. Il keep u updated
This is a known issue. Try to prevent your bot from picking up any magic rings, this should solve the problem. I'll definitely review this and make sure that it is fixed in the upcoming update. :)

Kind Regards
Muddy