[Release] Muddy's D2NT

06/10/2011 13:11 fabdevil#2206
Quote:
Originally Posted by Cobra80 View Post
@ letsid nochmal vielen DANK

so ich hab mir jetzt ma muddys geladen und bissi ausprobiert ... alles in allem läuft bis jetzt alles prima und auch meine lightsorc rennt jetzt ... die verschiedene Zusatzdinger sind teilweise echt ziemlich gut und chicken hatte ich bis jetzt auch so gut wie keine wobei die hatte ich vorher auch nicht wobei ich jetzt mit der sorc auch travi und dia machen kann ohne das ich bauchweh bekomme
NUN zu den Sache die mir bis jetzt negativ aufgefallen sind

1. ich bin umswitcher von Bluebird und die runs jetzt bei Muddys dauern im Schnitte so 2-3 Minuten länger trotz gleicher Gebiete (bei den Hammadinen dauern die Runs jetzt zwischen 8 und 10 Minuten find ich bissi viel) Ein Grund könnte sein ... ich habe meine eigene Pickit mitgenommen und eingefügt trotzdem nimmt der Bot Sachen mit wo ich nich weiss wie ich sie ausstellen kann z.b. Battledarts ... ich hab alle cube Dinger raus genommen und in meiner Pickit sind die nich drin also irgendwie komisch ... dadurch das er soviel mitnimmt rennt der halt ständig in die Stadt --> dauertder zweite Grund ist in meinen Augen die sache mit den Truhen und Körben und sonst allem was er aufmacht ... find das mit den Truhen ja echt gut aber bei der Sorc zum beispiel macht die in den Ancient Tunnels alles auf was da so iss und das dauert schon allein ne ewigkeit länger ... hab irgendwie noch nicht gefunden wo ich das ausstellen kann
ident... hab cain ausgestellt weil ich eigentlich aufs Gold nich verzichten will nun jetzt ist es aber so das die bots zum beispiel zu akara rennen sich ne ident rolle kaufen und das items dann ohne zu ident verkaufen ... die ident rolle fliegt danach aufn boden O.o ergibt irgendwie kein Sinn... desweiteren find ich doof das der bot, wenn das inv komplett voll ist, einfach irgendein unid Item verkäuft... naja vielleicht nehm ich cain wieder rein ...

Falls jemand schon ma ein paar Tipps hat wäre ich sehr dankbar ich werde aber auch weiterhin versuchen mich durch den Thread zu lesen bzw die configs noch ein bisschen durchforsten ob ich da noch was finde

Vielen Dank schon mal in Vorraus
Hi,

zu deinem "Problem" mit den Kisten, Körben etc. gibt es zwei Settings in der Char-Config:

Code:
// Set to true to open chests. NOTE: This only affects some super unique chests in certain boss scripts.
NTConfig_OpenChest = true;
	
// Set to true to open almost any type of container.
MWConfig_OpenAllNearbyChests = true;
Wenn du die entsprechend auf false stellst, sollte es wesentlich schneller gehen, vor allem die 2. Option ist hier wohl relevant!
06/10/2011 13:15 Muddy Waters#2207
Quote:
Originally Posted by fred9x9 View Post
Fabdevil hat dir ja schon die nötige Ausführung mitgeteilt. Du solltest noch wissen, dass die 1. Zahl in der Klammer dir sagt, wieviele Spalten dein Bot mit welchen Drinks im Gürtel damit belegen soll. Die zweite Zahl bestimmt, wieviele Drinks in einer Spalte sein sollen, bevor er neue kauft.
Also darf die zweite Zahl nicht grösser sein, als du Reihen im Gürtel hast. Es gibt halt Gürtel mit 2, 3, oder 4 Reihen. Sinnvoll wärebei 4 vorhande Reihen -1 oder -2 oder -3.
Wenn du nur 2 Reihen hast, kannst du natürlich keine 3 abziehen.
Und die Summe der ersten Zahl darf nicht grösser als 4 sein. Muss 4 sein.
Lustig finde ich, dass dein Bot einen Manapot(mp) aus dem Inventar trinkt, wenn er in die Stadt kommt.
Meiner kauft nämlich ähnlich wie bei dir, immer einen healingpotion(hp) zu viel und legt ihn in sein Inventar, um diesen beim nächsten Stadtbesuch auszutrinken.
Ich würde vermuten, dass er das Update für Tränke noch nicht übernommen hat und deshalb die Manatränke nicht korrekt getrunken werden.
Dass der Trank getrunken wird ist zu erwarten, wenn sein Gürtel bereits mit Mana Tränken vollgestopft ist. ;)

Quote:
Originally Posted by -Nemesis1337- View Post
Okay hier der Nachtrag:
Dieses "NTC_SwapWeapons" fügst du einfach z.b. bei Diablo so ein:
Code:
	var _target

	NTC_FindUnit(NTC_UNIT_MONSTER, 243, 150);	

        _target = NTC_FindUnit(NTC_UNIT_MONSTER, 243, 5);

	if(!NTA_KillMonster(243))
	{
	      if(_target.hp <= 20)
                       NTC_SwapWeapons
		       NTC_SendMsgToScript("MWBotGame.ntj", NTA_KillMonster, 158, 243);
		return;
	}

	NTSI_PickItems();
        NTC_SwapWeapons
Muddy korrigier mich bitte wenn ich falsch liege^^
in der NTAttack stehts schon drin, für Instapick. Aber dort den Weaponswap mit reinzubauen würde heißen das er das dann bei jedem Gegner so macht.
Glaub net das er das so möchte^^

War mir auch net ganz sicher ob das NTC_FindUnit über dem _target gebraucht wird :confused:
Ähm, ja...so wird das nichts. ;)

Der entscheidende Teil deines Codes wird im Normalfall nie erreicht, de facto wird er nämlich nur dann erreicht, wenn NTA_KillMonster() false zurückliefert, also fehlschlägt.
Letztere Funktion wäre im übrigen der richtige Punkt, um anzusetzen, denn sämtliche Super Unique Monster werden darüber "abfgefertigt".
Achja, wichtig: NTC_SwapWeapons() ist eine Funktion und ein Funktionsaufruf setzt sich üblicherweise aus dem Bezeichner der Funktion, sowie der Liste der beim Aufruf zu übergebenen Aktualparameter in runden Klammern zusammen.
Auch wenn keine Parameter übergeben werden (a.k.a. void), haben die runden Klammern dort dennoch zu stehen! ;)

So, zurück zum Thema:
Viel muss man in tatsächlich nicht anpassen, ich fände es jedoch zweckmäßig und auch notwendig, den Rückgabewert von NTC_SwapWeapons() auszuwerten, wozu eine Variable deklariert werden muss.

Setzt man das in einfachster Form um, landet man bei einer modizierten Version, die wie folgt aussieht:
Code:
function NTA_KillMonster(search)
{
	var _target, _attackcount, _attacksFailed, _swapped;

	if(NTConfig_AttackSkill[1] < 1)
		return false;

	_target = NTC_FindUnit(NTC_UNIT_MONSTER, search, 5);
	_swapped = false;

	if(!_target)
		return false;

	if(_target.IsAttackable())
	{
		_attackcount = 0;
		_attacksFailed = 0;
		
		if(MWConfig_ClearBossPosition && me.diff > 0 &&  MWA_FindNearbyMonsters(10, _target))
			NTA_ClearPosition(15, false, 0, false, false);

		while(_attackcount < 350 && NTA_IsValidMonster(_target))
		{
			if(!_swapped && _target.hp / _target.hpmax < 0.2)
				_swapped = NTC_SwapWeapons();
			
			if(MWConfig_ShowOverheadStatus)
				MWA_PrintAttackStatus(1, _target);
			
			if(NTA_Attack(_target, (_attackcount % 30) == 0) < 2)
				_attacksFailed++;

			_attackcount++;
			
			if(_attacksFailed > 2)
				break;
		}
	}
	
	if(_swapped)
		NTC_SwapWeapons();
	
	if(MWConfig_PickItemsInstantly && (_target.hp <= 0 || _target.mode == 0 || _target.mode == 12))
		NTSI_PickItems();

	return (_target.hp <= 0 || _target.mode == 0 || _target.mode == 12);
}
Das wäre das Grundgerüst, natürlich könnte man hier noch Config Variablen einfügen und das Ganze so nur für bestimmte Chars aktivieren, aber der Teil fällt dann nurnoch in die Kategorie triviale Fleissarbeit, weshalb ich darauf hier nicht näher eingehen werde.

Quote:
Originally Posted by fred9x9 View Post
@Muddy_Waters

Schade,
tritt doch noch nach dem Update auf,
Char macht 2 Spalten unterschiedlicher Drinks leer. Nimmt im Feld neue Drinks auf,
sortiert die aber anders ein wie vorher und macht die Spalte(n) nicht voll.
Macht TP um Tränke zu kaufen, in Town geht er zum Händler, kauft aber keine.
Geht wieder ins Feld, merkt Getränke entsprechen nicht der Mindestmange, neues TP um Tränke zu kaufen.
Das macht er endlos.
Mir scheint es sind immer die beiden letzten Spalten, wenigstens war es die beiden letzten male so.
Wenn er aus hp, hp, MP, RV , hp, hp, RV, MP macht.
Da die Belt Klasse verhältnismäßig komplex ist, möchte ich nicht ausschließen, dass dort noch Fehler enthalten sind oder aber einfach Fälle nicht abgedeckt werden, die ich zuvor nicht bedacht habe.
Ich bin allerdings derzeit mit anderen Dingen ausgelastet, darum werde ich mich frühestens in einem Monat damit auseinandersetzen können, wenn ich Semesterferien habe. ;)

LG
Muddy
06/10/2011 13:58 fred9x9#2208
Zitat:
Zitat von fred9x9
Quote:

Fabdevil hat dir ja schon die nötige Ausführung mitgeteilt. Du solltest noch wissen, dass die 1. Zahl in der Klammer dir sagt, wieviele Spalten dein Bot mit welchen Drinks im Gürtel damit belegen soll. Die zweite Zahl bestimmt, wieviele Drinks in einer Spalte sein sollen, bevor er neue kauft.
Also darf die zweite Zahl nicht grösser sein, als du Reihen im Gürtel hast. Es gibt halt Gürtel mit 2, 3, oder 4 Reihen. Sinnvoll wärebei 4 vorhande Reihen -1 oder -2 oder -3.
Wenn du nur 2 Reihen hast, kannst du natürlich keine 3 abziehen.
Und die Summe der ersten Zahl darf nicht grösser als 4 sein. Muss 4 sein.
Lustig finde ich, dass dein Bot einen Manapot(mp) aus dem Inventar trinkt, wenn er in die Stadt kommt.
Meiner kauft nämlich ähnlich wie bei dir, immer einen healingpotion(hp) zu viel und legt ihn in sein Inventar, um diesen beim nächsten Stadtbesuch auszutrinken.
Quote:
Zitat von Muddy_Waters
Ich würde vermuten, dass er das Update für Tränke noch nicht übernommen hat und deshalb die Manatränke nicht korrekt getrunken werden.
Dass der Trank getrunken wird ist zu erwarten, wenn sein Gürtel bereits mit Mana Tränken vollgestopft ist.
Meine Idee war, er versucht nen 3 reihigen Gurt mit 4 Tänken p. Spalte zu füllen.
Lustig finde ich vor Allem, dass der Bot überhaupt einen Drink, bei mir hp, kauft und den ins Inventar legt den Gürtel hat er ja gerade gefüllt. Um ihn beim nächsten Stadtbersuch aus dem Inventar zu trinken, auch wenn er kein hp braucht.
Lustig halt, nicht spielerelevant. :-)
06/10/2011 15:11 fabdevil#2209
Quote:
Originally Posted by Cobra80 View Post
@ letsid nochmal vielen DANK

so ich hab mir jetzt ma muddys geladen und bissi ausprobiert ... alles in allem läuft bis jetzt alles prima und auch meine lightsorc rennt jetzt ... die verschiedene Zusatzdinger sind teilweise echt ziemlich gut und chicken hatte ich bis jetzt auch so gut wie keine wobei die hatte ich vorher auch nicht wobei ich jetzt mit der sorc auch travi und dia machen kann ohne das ich bauchweh bekomme
NUN zu den Sache die mir bis jetzt negativ aufgefallen sind

1. ich bin umswitcher von Bluebird und die runs jetzt bei Muddys dauern im Schnitte so 2-3 Minuten länger trotz gleicher Gebiete (bei den Hammadinen dauern die Runs jetzt zwischen 8 und 10 Minuten find ich bissi viel) Ein Grund könnte sein ... ich habe meine eigene Pickit mitgenommen und eingefügt trotzdem nimmt der Bot Sachen mit wo ich nich weiss wie ich sie ausstellen kann z.b. Battledarts ... ich hab alle cube Dinger raus genommen und in meiner Pickit sind die nich drin also irgendwie komisch ... dadurch das er soviel mitnimmt rennt der halt ständig in die Stadt --> dauertder zweite Grund ist in meinen Augen die sache mit den Truhen und Körben und sonst allem was er aufmacht ... find das mit den Truhen ja echt gut aber bei der Sorc zum beispiel macht die in den Ancient Tunnels alles auf was da so iss und das dauert schon allein ne ewigkeit länger ... hab irgendwie noch nicht gefunden wo ich das ausstellen kann
ident... hab cain ausgestellt weil ich eigentlich aufs Gold nich verzichten will nun jetzt ist es aber so das die bots zum beispiel zu akara rennen sich ne ident rolle kaufen und das items dann ohne zu ident verkaufen ... die ident rolle fliegt danach aufn boden O.o ergibt irgendwie kein Sinn... desweiteren find ich doof das der bot, wenn das inv komplett voll ist, einfach irgendein unid Item verkäuft... naja vielleicht nehm ich cain wieder rein ...

Falls jemand schon ma ein paar Tipps hat wäre ich sehr dankbar ich werde aber auch weiterhin versuchen mich durch den Thread zu lesen bzw die configs noch ein bisschen durchforsten ob ich da noch was finde

Vielen Dank schon mal in Vorraus
Hab noch einen Nachtrag, wegen den Items die er zusätzlich aufhebt, obwohl sie nicht in deiner Pickit stehen:

In der MWConfig_GlobalSettings.ntl gibt es noch eine Einstellung, um MoneyMaker-Items aufzuheben um sie gewinnbringend in der Stadt zu verhökern.

Eventuell einfach folgendes mal auf false stellen:

Code:
// Pick up all items that are likely to be worth a lot of gold whenever your character is about to visit town.
MWConfig_PickUpMoneymakers = true;
06/10/2011 15:18 letsid#2210
Quote:
Originally Posted by Cobra80 View Post
@ letsid nochmal vielen DANK

ident... hab cain ausgestellt weil ich eigentlich aufs Gold nich verzichten will nun jetzt ist es aber so das die bots zum beispiel zu akara rennen sich ne ident rolle kaufen und das items dann ohne zu ident verkaufen ... die ident rolle fliegt danach aufn boden O.o ergibt irgendwie kein Sinn... desweiteren find ich doof das der bot, wenn das inv komplett voll ist, einfach irgendein unid Item verkäuft... naja vielleicht nehm ich cain wieder rein ...

Falls jemand schon ma ein paar Tipps hat wäre ich sehr dankbar ich werde aber auch weiterhin versuchen mich durch den Thread zu lesen bzw die configs noch ein bisschen durchforsten ob ich da noch was finde

Vielen Dank schon mal in Vorraus
in muddies kannst du cain ident rhuig an lassen:

Er identet und verkauft die items dann, und droppt sie nicht wie in anderen d2nt versionen.
06/10/2011 15:30 grorg#2211
Quote:
Originally Posted by Onkarion View Post
@grorg: Ersetze im Skript die Ausdrücke "NTBotGame.ntj" durch "MWBotGame.ntj". Dann sollte es klappen!
Yeah, läuft :handsdown:.
Danke.
06/10/2011 20:30 Muddy Waters#2212
Quote:
Originally Posted by fabdevil View Post
Hab noch einen Nachtrag, wegen den Items die er zusätzlich aufhebt, obwohl sie nicht in deiner Pickit stehen:

In der MWConfig_GlobalSettings.ntl gibt es noch eine Einstellung, um MoneyMaker-Items aufzuheben um sie gewinnbringend in der Stadt zu verhökern.

Eventuell einfach folgendes mal auf false stellen:

Code:
// Pick up all items that are likely to be worth a lot of gold whenever your character is about to visit town.
MWConfig_PickUpMoneymakers = true;
Wobei dazu anzumerken ist: das Aufheben findet nur dann statt, wenn der Char ohnehin gleich in die Stadt geht und es werden auch nur soviele Items aufgehoben, wie Platz vorhanden ist; irgendwelche zusätzlichen Stadtbesuche gibt es dadurch deshalb nicht.

Quote:
Originally Posted by grorg View Post
Yeah, läuft :handsdown:.
Danke.
Dafür haben wir diesen schicken Button: [Only registered and activated users can see links. Click Here To Register...]

LG
Muddy
06/11/2011 03:51 grorg#2213
Ich krieg seit heute diesen Fehler. Davor lief alles einwandfrei (bis auf fehlende Einträge im Logfile).

[Only registered and activated users can see links. Click Here To Register...]
06/11/2011 11:15 Muddy Waters#2214
Quote:
Originally Posted by grorg View Post
Ich krieg seit heute diesen Fehler. Davor lief alles einwandfrei (bis auf fehlende Einträge im Logfile).

[Only registered and activated users can see links. Click Here To Register...]
Gewöhn dir mal an, einen Screenshot irgendwie anzukündigen, dann ist es weniger verwirrend, wenn das Bild nicht funktioniert. ;)

Der Fehler geht auf fehlerhafte .nip Files zurück. Lad dir mal das .nip Check Addon aus dem Startpost runter, damit solltest du den Fehler eingrenzen können, um diesen letzlich zu beheben.

LG
Muddy
06/11/2011 12:37 Memono#2215
Wie kann ich eigene Waffen hinzufügen, die dann auch durch ein Cuberezept gesockelt werden sollen? Im Prinzip brauche ich dafür ja nur die ID, die immer am Ende des Befehls steht, oder?

NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 200]); // Socket Berserker Axe

In diesem Fall die "200", aber wo bekomme ich die her?
06/11/2011 13:07 Muddy Waters#2216
Quote:
Originally Posted by Memono View Post
Wie kann ich eigene Waffen hinzufügen, die dann auch durch ein Cuberezept gesockelt werden sollen? Im Prinzip brauche ich dafür ja nur die ID, die immer am Ende des Befehls steht, oder?

NTConfig_CubingItem.push([NTCU_SOCKET_WEAPON, 200]); // Socket Berserker Axe

In diesem Fall die "200", aber wo bekomme ich die her?
Die findest du unter anderem in der NTItemAlias library. ;)

LG
Muddy
06/11/2011 19:47 fabdevil#2217
Hi,

habe nun auch selbst nochmal eine Frage:

Mir ist beim Botten aufgefallen, dass meine Chars bspw. bei Pit oder AncientTunnels die glitzernde Kiste nicht öffnen.

In den Configs ist folgendes eingestellt:

Code:
MWConfig_Script.push(["NTPit.ntj", 10]); MWConfig_ClearPathToPitSpectype = 0; NTConfig_ClearPitLevel1 = 2; // 0 : don't clear, 1 : clear path only, 2 : clear all
	MWConfig_Script.push(["NTAncientTunnels.ntj", 10]); MWConfig_ClearPathToTunnelsSpectype = 0x01;
sowie

Code:
// Set to true to open chests. NOTE: This only affects some super unique chests in certain boss scripts.
NTConfig_OpenChest = true;
	
// Set to true to open almost any type of container.
MWConfig_OpenAllNearbyChests = false;
Beim Überfliegen der jeweiligen Skripte wurde ich auch darin bestätigt, dass ein Öffnen der Kiste(n) offenbar nicht vorgesehen ist. Gibt es dafür einen speziellen Grund?

Danke und Grüße,
fabdevil
06/11/2011 19:54 lennaert2#2218
hi all,

im working on the rush bot atm but still getting the error when u finished an act it crashes at the cinematics part.

how can i fix this?
06/11/2011 20:48 letsid#2219
Quote:
Originally Posted by lennaert2 View Post
hi all,

im working on the rush bot atm but still getting the error when u finished an act it crashes at the cinematics part.

how can i fix this?
in d2nt manager edit ur profile and aktivate in game sounds, then the game will not crash any longer when you change the act.
06/12/2011 00:15 Muddy Waters#2220
Quote:
Originally Posted by fabdevil View Post
Hi,

habe nun auch selbst nochmal eine Frage:

Mir ist beim Botten aufgefallen, dass meine Chars bspw. bei Pit oder AncientTunnels die glitzernde Kiste nicht öffnen.

In den Configs ist folgendes eingestellt:

Code:
MWConfig_Script.push(["NTPit.ntj", 10]); MWConfig_ClearPathToPitSpectype = 0; NTConfig_ClearPitLevel1 = 2; // 0 : don't clear, 1 : clear path only, 2 : clear all
	MWConfig_Script.push(["NTAncientTunnels.ntj", 10]); MWConfig_ClearPathToTunnelsSpectype = 0x01;
sowie

Code:
// Set to true to open chests. NOTE: This only affects some super unique chests in certain boss scripts.
NTConfig_OpenChest = true;
	
// Set to true to open almost any type of container.
MWConfig_OpenAllNearbyChests = false;
Beim Überfliegen der jeweiligen Skripte wurde ich auch darin bestätigt, dass ein Öffnen der Kiste(n) offenbar nicht vorgesehen ist. Gibt es dafür einen speziellen Grund?

Danke und Grüße,
fabdevil
Geht Faulheit als spezieller Grund durch? :o

Es wird mir wahrscheinlich nicht aufgefallen sein, da MWConfig_OpenAllNearbyChests bei mir immer aktiviert ist. ;)
Werde das mal nachrüsten, wenn ich wieder daran weiterarbeite, danke für den Hinweis.

LG
Muddy