Register for your free account! | Forgot your password?

You last visited: Today at 05:35

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Muddy's D2NT

Discussion on [Release] Muddy's D2NT within the Diablo 2 Programming forum part of the Diablo 2 category.

Reply
 
Old 04/05/2011, 08:19   #1111
 
BlackManta's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 788
Received Thanks: 58
@Muddy
Das problem tritt nur bei dem Script und NUR auf Hell auf :/
BlackManta is offline  
Old 04/05/2011, 09:17   #1112
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,654
Quote:
Originally Posted by fred9x9 View Post
Achja Muddy,

meine Classic Soso bedankt sich ganz artig,

die ist ja sowas vom Hocker gefallen

Her dreams came true

Danke, dass du es im Hinterkopf behalten hast
mit "NTConfig_AttackSkill[8] und [9]

Ganz l G
Fred
Sagen wir es stand auf meiner ToDo Liste.

Aber freut mich wenn es gefällt.

Quote:
Originally Posted by BlackManta View Post
@Muddy
Das problem tritt nur bei dem Script und NUR auf Hell auf :/
Vermutlich weil Madame Countess auch NUR auf Hell Feuer und Kälteimmun ist...

Ich wäre dir sehr verbunden, wenn du dir den Beitrag auf den ich verwiesen habe auch durchliest.

Lg
Muddy
Muddy Waters is offline  
Old 04/05/2011, 10:47   #1113
 
elite*gold: 0
Join Date: Feb 2011
Posts: 44
Received Thanks: 13
So ich habe mich jetzt damit mal befasst und habe einen möglichst einfachen Weg gefunden Countess mit einer FB/FO Sorc zu killen.

Vorraussetzung ist ein Merc...

Modded Countess Script:

Code:
/**
*	This file was modified by 
*	Check the programming section for updates and further scripts
*	Last Update: 02/27/2011
*/

function NTMain()
{
	Include("libs/common/NTCommon.ntl");
	NTC_IncludeLibs();
	NTC_IncludeConfig("NTBot/char_configs");

	NT_LoadConfig();
	NTSI_LoadNIPFiles("NTBot/item_configs");

	MWC_Initialize();
	
	var _countess, _mapType;
	
	if(!NTTM_CheckAct(me.act, true))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 20, me.act, true);
		return;
	}

	NTTMGR_TownManager();

	if(!NTTM_TownMove("waypoint"))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_TownMove, 28, "waypoint");
		return;
	}

	if(!NTM_TakeWaypoint(6))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 34, 6);
		return;
	}

	NTP_DoPrecast(true);

	for(var i = 0; i < 6; i++)
	{
		if(!NTM_MoveToStair(me.areaid, 20 + i))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveToStair, 44, me.areaid, 20 + i);
			return;
		}

		if(!NTM_TakeStair(20 + i))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 50, 20 + i);
			return;
		}
	}

	NTA_ClearPosition(10, true, 2, false, true);

	if(me.y > 11060 && me.y <= 11078) // Countess northwest
	{
		_mapType = 0;
			
		if(!NTM_MoveTo(me.areaid, 12544, 11066))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 63, me.areaid, 12544, 11066);
			return;
		}
	}


	else // Countess northeast
	{
		_mapType = 1;
		
		if(!NTM_MoveTo(me.areaid, 12570, 11057))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 73, me.areaid, 12570, 11057);
			return;
		}
	}

	_countess = NTC_FindUnit(NTC_UNIT_MONSTER, GetLocaleString(2875), 10);
	
	if(!_countess)
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTC_FindUnit, 80, NTC_UNIT_MONSTER, GetLocaleString(2875), 10);
		return;
	}

	if(me.y > 11060 && me.y <= 11078)
	{
		if(_countess.y <= 11054)
			NTM_MoveTo(me.areaid, 12537, 11042);

		if(_countess.y > 11056 && _countess.y <= 11070)
		{
			if(_countess.x < 12533)
				NTM_MoveTo(me.areaid, 12518, 11057);
			else
				NTM_MoveTo(me.areaid, 12548, 11057);
		}

		if(_countess.y > 11070 && _countess.y <= 11085)
		{
			if(_countess.x < 12533)
				NTM_MoveTo(me.areaid, 12518, 11083);
			else
				NTM_MoveTo(me.areaid, 12548, 11083);
		}

		if(_countess.y > 11086)
			NTM_MoveTo(me.areaid, 12542, 11098);
	}
	else
	{
		if(_countess.x <= 12550)
		{
			NTM_MoveTo(me.areaid, 12562, 11057);
			NTM_MoveTo(me.areaid, 12548, 11043);
		}

		if(_countess.x > 12550 && _countess.x <= 12561)
		{
			if(_countess.y < 11027)
				NTM_MoveTo(me.areaid, 12577, 11043);
			else
			{
				NTM_MoveTo(me.areaid, 12565, 11043);
				NTM_MoveTo(me.areaid, 12577, 11025);
			}
		}

		if(_countess.x > 12561 && _countess.x <= 12579)
		{
			if(_countess.y < 11027)
				NTM_MoveTo(me.areaid, 12555, 11043);
			else
			{
				NTM_MoveTo(me.areaid, 12565, 11043);
				NTM_MoveTo(me.areaid, 12555, 11025);
			}
		}

		if(_countess.x > 12579)
		{
			NTM_MoveTo(me.areaid, 12578, 11057);
			NTM_MoveTo(me.areaid, 12582, 11043);
		}
	}

[COLOR="Red"]	if(NTConfig_ClearPosition)
		NTA_ClearPosition(30, true, 2, false, true);[/COLOR]

	if(!NTA_KillMonster(GetLocaleString(2875)))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTA_KillMonster, 149, GetLocaleString(2875));
		return;
	}

	if(NTConfig_ClearPosition)
		NTA_ClearPosition(30, true, 2, false, true);

	NTSI_PickItems();
	
	if(MWConfig_ClearCountessRoomsSpectype > 0)
	{
		if(_mapType == 0)
		{
			// Clear right room
			if(!NTM_MoveTo(me.areaid, 12609, 11021))
			{
				NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 165, me.areaid, 12609, 11021);
				return;
			}
			
			NTA_ClearPosition(25, true, 0, true, true, MWConfig_ClearCountessRoomsSpectype);
		
			// Clear left room
			if(!NTM_MoveTo(me.areaid, 12609, 11117))
			{
				NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 174, me.areaid, 12609, 11117);
				return;
			}
		
			NTA_ClearPosition(25, true, 0, true, true, MWConfig_ClearCountessRoomsSpectype);
			
			// Clear center room
			if(!NTM_MoveTo(me.areaid, 12591, 11070))
			{
				NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 188, me.areaid, 12591, 11070);
				return;
			}
		
			NTA_ClearPosition(35, true, 0, true, true, MWConfig_ClearCountessRoomsSpectype);
		}
		else
		{
			// Clear right room
			if(!NTM_MoveTo(me.areaid, 12614, 11104))
			{
				NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 194, me.areaid, 12614, 11104);
				return;
			}
			
			NTA_ClearPosition(25, true, 0, true, true, MWConfig_ClearCountessRoomsSpectype);
		
			// Clear left room
			if(!NTM_MoveTo(me.areaid, 12523, 11104))
			{
				NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 203, me.areaid, 12523, 11104);
				return;
			}
		
			NTA_ClearPosition(25, true, 0, true, true, MWConfig_ClearCountessRoomsSpectype);
			
			// Clear center room
			if(!NTM_MoveTo(me.areaid, 12569, 11090))
			{
				NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 212, me.areaid, 12569, 11090);
				return;
			}
		
			NTA_ClearPosition(35, true, 0, true, true, MWConfig_ClearCountessRoomsSpectype);
		}
	}

	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}
In der Charconfig das ändern:
Code:
	// Define when a monster is considered immune by entering the index of one or more of your attack skills. As an example: [1, 3] means that a monster is considered immune if it is immune to both NTConfig_AttackSkill[1] and NTConfig_AttackSkill[3], whatever those may be.
	MWConfig_CheckImmunitySkills = [0, 1];
	
	// Select the behaviour of your character when encountering a monsters that is considered immune referring to the definition above.
	// 0: Don't do anything. (D2NT default)
	// 1: Get close to the monster, use static field if the monster is not immune to lightning.
	// 2: Skip the monster.
	// 3: Attack the monster using NTConfig_AttackSkill[8] and NTConfig_AttackSkill[9]
	NTConfig_BehaviourOnImmuneMonster = [COLOR="Red"]3[/COLOR];
	
	NTConfig_AttackSkill[8] = [COLOR="Red"]MWS_FIRE_BAL[/COLOR]L;	// Skill to be used against user defined immunes.
Der Effekt ist einfach, dass ihr erst alle Monster drumherum killt und danach der Merc ganz entspannt Countess killt ohne das ihr von jemand anderes angegriffen werdet. Vielleicht hilft das euch bei mir gehts 1A
jexhammer is offline  
Thanks
11 Users
Old 04/05/2011, 11:52   #1114
 
elite*gold: 0
Join Date: Jun 2008
Posts: 210
Received Thanks: 14
bot läuft soweit eigentlich richtig gut, danke dafür erstma

aber folgendes problem:

mein sorc portet oft obwohl sie garkeine hits vom "boss" abbekommt, sondern wenn der merc im life droppt. blöderweise wird sie danach oft vom boss gehittet und wegen relativ schlechtem gear bedeuted das automatisch nen chicken. lässt es sich irgendwo einstellen das dieses ausweichen nur triggert wenn ich auch wirklich hits abbekomme?
bloodydeluxe is offline  
Old 04/05/2011, 11:57   #1115
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,654
Quote:
Originally Posted by bloodydeluxe View Post
bot läuft soweit eigentlich richtig gut, danke dafür erstma

aber folgendes problem:

mein sorc portet oft obwohl sie garkeine hits vom "boss" abbekommt, sondern wenn der merc im life droppt. blöderweise wird sie danach oft vom boss gehittet und wegen relativ schlechtem gear bedeuted das automatisch nen chicken. lässt es sich irgendwo einstellen das dieses ausweichen nur triggert wenn ich auch wirklich hits abbekomme?
Nein, das ist nicht vorgesehen.

Der Sinn der Funktion ist es ja, einen gewissen Abstand zu in der Nähe befindlichen Monstern zu halten. Wenn die Sorc getroffen wird, kann der Treffer schon so stark sein, dass sie in der hit recovery landet und dann nicht mehr wegteleportieren kann - also quasi handlungsunfähig ist.
Das wäre zu spät, das Ausweichen muss vorher stattfinden, um Treffer generell zu vermeiden.

Ich würde dir einfach empfehlen, die aktivierten Scripte kritisch nach den Fähigkeiten deines Chars auszuwählen.

So Dinge wie Mausoleum oder Pit funktionieren meiner Erfahrung auch mit relativ schlechtem Equipment, einen halbwegs robusten Merc mal vorrausgesetzt.

Lg
Muddy
Muddy Waters is offline  
Old 04/05/2011, 12:02   #1116
 
elite*gold: 0
Join Date: Jun 2008
Posts: 210
Received Thanks: 14
hmm ok danke, da ich mittlerweile auch out of gold bin, da ich nach jedem boss , werd ich die von dir erwähnten scripte mal testen, bis ich und der merc noch 1-2 bessere items haben... viel fehlt eigentlich nicht
bloodydeluxe is offline  
Old 04/05/2011, 13:37   #1117
 
Shrimps in Bierteig's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 394
Received Thanks: 75
hmm, mir ist da was aufgefallen beim Chestscript.

Bei mir wen er Pit lvl2 gehn für, nimmt sie wp zum kloster, bleibt paar sek (3-5) beim wp stehn ("preform precast"), und fängt dan nächstes script an, die telt da ned mal hin^^. Hab eigentlich nichts daran verändert, vllt. ist das jemand anderem auch schon aufgefallen?
Shrimps in Bierteig is offline  
Old 04/05/2011, 14:22   #1118
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,654
Quote:
Originally Posted by Shrims View Post
hmm, mir ist da was aufgefallen beim Chestscript.

Bei mir wen er Pit lvl2 gehn für, nimmt sie wp zum kloster, bleibt paar sek (3-5) beim wp stehn ("preform precast"), und fängt dan nächstes script an, die telt da ned mal hin^^. Hab eigentlich nichts daran verändert, vllt. ist das jemand anderem auch schon aufgefallen?
Es scheint wegen der Zwischeneben Monastery Gate Probleme bei der Pfadberechnung zu geben, denn die IDs sind soweit alle korrekt.

Wenn man beim WP Black Marsh startet funktioniert es tadellos.

Um von dort aus zu starten muss nur eine areaid verändert werden und zwar in Zeile 209 des Superchest Scripts.

Der Inhalt dieser Zeile sollte nach der Änderung so aussehen:
Code:
_schedule[i].Route.push([B][I][Color=Navy]new[/Color][/I][/B] MWSC_RouteStage(_MWSC_STAGE_WAYPOINT, [Color=Red]6[/Color]));
Lg
Muddy
Muddy Waters is offline  
Thanks
1 User
Old 04/05/2011, 16:03   #1119
 
elite*gold: 0
Join Date: Jan 2011
Posts: 43
Received Thanks: 0
precast

hallo

trotz intensiver suche finde ich keinen post zum thema precast.

ich finde keinen weg, um bei meiner blitzsorce shiver-armor, thunderstorm und energy-shield zu precasten.

habt ihr eine hilfestellung oder einen link zum post parat?

wäre supi...


achso...nutze natürlich den aktuellen muddy-bot
palados is offline  
Old 04/05/2011, 16:12   #1120
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,654
Quote:
Originally Posted by palados View Post
hallo

trotz intensiver suche finde ich keinen post zum thema precast.

ich finde keinen weg, um bei meiner blitzsorce shiver-armor, thunderstorm und energy-shield zu precasten.

habt ihr eine hilfestellung oder einen link zum post parat?

wäre supi...


achso...nutze natürlich den aktuellen muddy-bot
Ich denke du wirst es aus irgendwelchen Gründen übersehen haben, es ist nämlich aus meiner Sicht sehr intuitiv und einfach.

So sollte das in deiner Config aussehen:
Code:
[Color=Green]// 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".[/Color]
MWConfig_PrecastSkills = [MWS_SIVER_ARMOR, MWS_ENERGY_SHIELD, MWS_THUNDER_STORM];
Lg
Muddy
Muddy Waters is offline  
Thanks
1 User
Old 04/05/2011, 16:23   #1121
 
elite*gold: 0
Join Date: Jan 2011
Posts: 43
Received Thanks: 0
[QUOTE=Muddy_Waters;9950622]Ich denke du wirst es aus irgendwelchen Gründen übersehen haben, es ist nämlich aus meiner Sicht sehr intuitiv und einfach.

aarg....die befehlszeile war nur ausserhalb des bildschirms. hab nicht den scrollbalken verwendet:-)

big thanks an dich
palados is offline  
Old 04/05/2011, 22:22   #1122
 
kal_el's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 7,310
Received Thanks: 2,205
nochmal wegen dem snagit fehler...
er kommt aus zeile 168
das is komischer weise
Quote:
else if(MWConfig_ShowPotionPickups)
Print("Picked up " + _item.name.split("\n")[0]);
wenn ich print auskommentiere..könnte das den fehler beheben
oder liegt es doch an was andrem?
kal_el is offline  
Old 04/05/2011, 22:54   #1123
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,654
Quote:
Originally Posted by kal_el View Post
nochmal wegen dem snagit fehler...
er kommt aus zeile 168
das is komischer weise

wenn ich print auskommentiere..könnte das den fehler beheben
oder liegt es doch an was andrem?
Die Sache muss ich mir bei Zeiten nochmal anschauen, auch wenn ich sagen muss, dass ich bei mir noch nichts dergleichen hatte, generell überhaupt keine Stops aufgrund irgendwelcher Exceptions der Laufzeitumgebung.

Und ja, das kannst du natürlich auskommentieren, aber in dem Fall musst du das else if auch mit auskommentieren, ansonsten hast du einen offenen Anweisungsblock, der sich dann auf die nächste nicht auskommentierte Anweisung bezieht.

Oder du initialisiert einfach die Variable MWConfig_ShowPotionPickups mit false, in dem Fall wird der Teil nie ausgeführt und kann folglich auch keine Probleme verursachen.

Lg
Muddy
Muddy Waters is offline  
Old 04/06/2011, 12:08   #1124
 
Tyon's Avatar
 
elite*gold: 0
Join Date: Jul 2006
Posts: 1,440
Received Thanks: 525
Logging war zugegebenermaßen ziemlich schlecht umschrieben und die erste mögliche Fehlerursache die mir eingefallen ist.

Mein Problem ist, dass deine D2NT Version unglaublich lange auf meinem kleinen Netbook braucht um durch die Pickit zu gehen. Dies resultiert darin, dass mein komplettes Diablo 2 für bestimmt 2-5 Sekunden einfriert sobald die Pickit aufgerufen wird.
Auffallend ist dies beim Super Chest Script sobald der Bot eine Truhe öffnet und jedes mal wenn das Town Script aufgerufen wird um die Items zu verkaufen.
Tyon is offline  
Old 04/06/2011, 13:46   #1125
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,654
Quote:
Originally Posted by Tyon View Post
Logging war zugegebenermaßen ziemlich schlecht umschrieben und die erste mögliche Fehlerursache die mir eingefallen ist.

Mein Problem ist, dass deine D2NT Version unglaublich lange auf meinem kleinen Netbook braucht um durch die Pickit zu gehen. Dies resultiert darin, dass mein komplettes Diablo 2 für bestimmt 2-5 Sekunden einfriert sobald die Pickit aufgerufen wird.
Auffallend ist dies beim Super Chest Script sobald der Bot eine Truhe öffnet und jedes mal wenn das Town Script aufgerufen wird um die Items zu verkaufen.
Naja, es ist schon so, dass sämtliche .nips auch in ihrem ursprünglichen Format in den Speicher geladen werden.

Man könnte natürlich die Änderungen, die ich dort durchgeführt habe, allesamt wieder revidieren, aber aus meiner Sicht erfordert das recht umfassende Änderungen an diversen Funktionen - kurzum: ich finde es irgendwie zu aufwändig.

Was du mal versuchen könntest, ist das Einfügen eines Dummys.
Sprich statt dem tatsächlichen Inhalt der Zeile in den .nips, einfach eine leere Zeichenkette einfügen. Irgendwas einfügen solltest du auf jeden Fall, denn ansonsten verschiebt sich die Array Indizierung und du müsstest wie oben angedroht alles umschreiben.

Aber so könnte man es zumindest mal versuchen, dazu einfach Zeile 59 in der NTItemParser library wie folgt anpassen:
Code:
_line.push("");
Das XML Log sollte auch Performance lastig sein, das könnte man auch deaktivieren, sofern noch nicht geschehen.

Bei mir läuft jedenfalls auch mit 8 D2 Instanzen alles bestens, aber einen PC kann man wohl mit einem Netbook nur schwer vergleichen.

Lg
Muddy
Muddy Waters is offline  
Reply


Similar Threads Similar Threads
[Release] D2NT 3.1 1.13c
07/17/2016 - Diablo 2 - 91 Replies
hi, hab eben den d2nt3.1 gefunden. ein neues baba script is dabei. release thread eon D2NT3.1
[Realease] Muddy's Waypoint Catcher
08/21/2013 - Diablo 2 Programming - 46 Replies
Moin zusammen, hier mal die erste Release Version eines kleinen Scripts genannt Waypoint Catcher. Das ganze ist jetzt nichtmal 24h alt, dementsprechend sind vermutlich noch einige Bugs vorhanden. Hinweise dazu nehme ich gerne entgegen. ;) Features: - Suchen sämtlicher Wegpunkte mit Ausnahme, wobei in Akt ein durch Probleme im Jail Bereich nach dem Wegpunkt Outer Cloister abgebrochen wird - Wahlweise auch mit TP an jedem gefundenen Wp, sodass man damit auch anderen (nicht-Bots) die...
[D2NT] Long Dia Release
05/10/2011 - Diablo 2 Programming - 28 Replies
Ein kleines Script für diablo, es startet beim eingang macht ein tp cleart den weg zum star macht am star noch ein tp dann läufts wie das normale nur cleart es schöner :) hoffe euch gefällts ich habs noch nicht wirklich getestet (2-3 runs) bugs können gerne hier gepostet werden verbesserungs vorschläge auch :D installation: 1.)Script in den Bot ordner kopieren 2.)Script im editor oder vergleichbaren öffnen 3.) Msg´s anpassen (ist nicht schwer) 4.) in der char config die zeile...
D2NT 3.0 Pickit release
10/22/2010 - Diablo 2 - 77 Replies
edit
Muddy's D2NT Help
07/29/2010 - Diablo 2 - 3 Replies
hi i just started to use the bot it work's great. how do i set up the skill's i use on my Sorc and pick up itme's? ..... if you reply to this post please use english



All times are GMT +1. The time now is 05:36.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.