[Release] Muddy's D2NT

02/25/2012 13:58 kal_el#5746
Quote:
Originally Posted by synex21 View Post
Das Diablo script hat nen Fehler/Bug:

und zwar geht der nicht jeden Weg zum CS:
NTDiablo.ntj : NTM_MoveTo() failed (River of Flame)

der scheint nicht alle wege zu kennen und wenn er hängen bleibt leaved er.
das liegt daran,das dia als einziges script läuft.
wenn er vorher was anderes macht funzt es problemlos.
mein script läßt ihn zu eldrich gehn zum boén...
ich glaub das is das richtige...
Code:
/**
*	This file was modified by [Only registered and activated users can see links. Click Here To Register...]
*	Check the programming section for updates and further scripts
*	Last Update: 22:01 14.08.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 _monsterCount, _attackpos;

	if(!NTTM_CheckAct(me.act, true))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 18, me.act, true);
		return;
	}

	NTTMGR_TownManager();

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

	if(!NTM_TakeWaypoint(111))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 32, 111);
		return;
	}

	NTP_DoPrecast(true);

	
            
             if(!NTM_MoveTo(me.areaid, 3778, 5108))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 40, me.areaid, 3778, 5108);
		return;
	}
                  if(!NTM_TakeWaypoint(107))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 34, 107);
		return;
	}


	if(!NTM_MoveTo(108, 7797, 5560, 10))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 42, 108, 7797, 5560);
		return;
	}

	if(!MWConfig_StartAtStar && !MWConfig_FastDia)
	{
		_attackpos = [7792, 5525, 7793, 5501, 7773, 5495, 7768, 5480, 7767, 5458, 7770, 5438, 7774, 5417, 7767, 5391, 7768, 5369, 7769, 5345, 7770, 5320, 7780, 5308];

		if(!NTM_MoveTo(108, 7790, 5544, 10))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 52, 108, 7790, 5544);
			return;
		}
		
		if(NTConfig_PublicMode)
		{
			_monsterCount = MWA_FindNearbyMonsters(20);
			
			if(_monsterCount > 1)
			{
				if(_monsterCount < 3 && MWConfig_Announcements.DiabloTpCold)
					Say(MWConfig_Announcements.DiabloTpCold.replace(/%d/gi, _monsterCount));
				else if(_monsterCount < 6 && MWConfig_Announcements.DiabloTpWarm)
					Say(MWConfig_Announcements.DiabloTpWarm.replace(/%d/gi, _monsterCount));
				else if(MWConfig_Announcements.DiabloTpHot)
					Say(MWConfig_Announcements.DiabloTpHot.replace(/%d/gi, _monsterCount));
			}
			else if(MWConfig_Announcements.DiabloTpNone)
				Say(MWConfig_Announcements.DiabloTpNone);
				
			NTM_MakeTP();
		}
		
		NTA_ClearPosition(25, false, 2);

		NTM_MoveTo(108, 7790, 5544);

		NTC_PingDelay(1000);

		NTA_ClearPosition(25, true, 2);

		NTM_MoveTo(108, 7790, 5544);
		
		if(NTConfig_PublicMode && MWConfig_Announcements.DiabloTpSafe)
			Say(MWConfig_Announcements.DiabloTpSafe);

		for(var i = 0; i < _attackpos.length; i += 2)
		{
			NTM_MoveTo(108, _attackpos[i], _attackpos[i + 1], 3, true);

			NTA_ClearPosition(45, true, 2);
		}
	}
		
	if(!MWConfig_FastDia)
	{
		//NTM_MoveTo(108, 7792, 5292);
                        NTM_MoveTo(108, 7767, 5297);
		
		if(NTConfig_PublicMode) 
		{
			if(MWConfig_StartAtStar)
			{
				_monsterCount = MWA_FindNearbyMonsters(25);
				
				if(_monsterCount > 1)
				{
					if(_monsterCount < 3 && MWConfig_Announcements.DiabloTpCold)
						Say(MWConfig_Announcements.DiabloTpCold.replace(/%d/gi, _monsterCount));
					else if(_monsterCount < 6 && MWConfig_Announcements.DiabloTpWarm)
						Say(MWConfig_Announcements.DiabloTpWarm.replace(/%d/gi, _monsterCount));
					else if(MWConfig_Announcements.DiabloTpHot)
						Say(MWConfig_Announcements.DiabloTpHot.replace(/%d/gi, _monsterCount));
				}
				else if(MWConfig_Announcements.DiabloTpNone)
					Say(MWConfig_Announcements.DiabloTpNone);
			}
			
			NTM_MakeTP();
		}
	
		//NTP_DoPrecast(true);
		
		NTA_ClearPosition(25);
	}
	
	NTM_MoveTo(108, 7792, 5292, 3, !MWConfig_FastDia);

	if(!NT_OpenSealsInt())
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NT_OpenSealsInt, 128);
		return;
	}
	
	if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTMGR_CheckSafe, 134, NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe);
		return;
	}
	
	if(NTConfig_PublicMode && MWConfig_Announcements.DiabloPre) 
		Say(MWConfig_Announcements.DiabloPre);
	
	//if(!NTM_MoveTo(me.areaid, 7792, 5292, 10))
	//{
	//	NTC_SendMsgToScript("MWBotGame.ntj", NTM_MoveTo, 143, me.areaid, 7792, 5292);
	//	return;
	//}
	
	//NTP_DoPrecast(true);
	
	//if(me.classid == NTC_CHAR_CLASS_PALADIN && !MWC_CheckForExpShrineUsers())
		NTC_PutSkill(109, NTC_HAND_RIGHT);

	//NTC_FindUnit(NTC_UNIT_MONSTER, 243, 150);

	//if(!NTA_KillMonster(243))
	//{
	//	NTC_SendMsgToScript("MWBotGame.ntj", NTA_KillMonster, 156, 243);
	//	return;
	//}

	NTSI_PickItems();

	NTC_SendMsgToScript("MWBotGame.ntj", "SCRIPT_END");
}

// Internal function
function NT_OpenSealsInt()
{
	var i, _unit;
	var _result;

	_unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT);

	if(!_unit)
		return false;

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 396)
		{
			if(_unit[i].roomy*5 + _unit[i].y == 5275)
				_result = NT_OpenVizierSealInt(1);
			else
				_result = NT_OpenVizierSealInt(2);

			break;
		}
	}

	if(!_result && !MWConfig_IgnoreSealOpeningErrors)
		return false;

	
	NTM_MoveTo(me.areaid, 7792, 5292, 3, !MWConfig_FastDia);
	if(!MWConfig_FastDia)
		NTA_ClearPosition(30);
	NTP_DoPrecast();

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 394)
		{
			if(_unit[i].roomx*5 + _unit[i].x == 7773)
				_result = NT_OpenDeSeisSealInt(1);
			else
				_result = NT_OpenDeSeisSealInt(2);

			break;
		}
	}

	if(!_result && !MWConfig_IgnoreSealOpeningErrors)
		return false;

	NTM_MoveTo(me.areaid, 7792, 5292, 3, !MWConfig_FastDia);
	if(!MWConfig_FastDia)
		NTA_ClearPosition(30);
	NTP_DoPrecast(!MWConfig_FastDia);

	_result = false;

	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == 392)
		{
			if(_unit[i].roomx*5 + _unit[i].x == 7893)
				_result = NT_OpenVenomSealInt(1);
			else
				_result = NT_OpenVenomSealInt(2);

			break;
		}
	}

	return (_result || MWConfig_IgnoreSealOpeningErrors);
}

function NT_OpenVizierSealInt(type)
{
	var i, n;
	var _attackpos = [7740, 5300, 7740, 5280, 7720, 5280, 7720, 5300];
	var _monstername = GetLocaleString(2851);

	if(!MWConfig_FastDia)
	{
		for(i = 0 ; i < _attackpos.length ; i += 2)
		{
			NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1], 3, true);

			NTA_ClearPosition(30, true, 2);
		}
	}

	for(i = 0; i < 4; i++)
	{
		if(!MW_OpenSeal(395) || !MW_OpenSeal(396))
		{
			NTC_Delay(2500);
			continue;
		}
		
		if(type == 1)
			NTM_MoveTo(me.areaid, 7665, 5277);
		
		for(n = 0; n < 10; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				NTA_ClearPosition((MWConfig_FastDia) ? 10 : 20);
				NTSI_PickItems();

				return NTM_MoveTo(me.areaid, 7750, 5280);
			}
		}
	}

	return false;
}

function NT_OpenDeSeisSealInt(type)
{
	var i, n;
	var _attackpos = [7780, 5255, 7800, 5255, 7800, 5235, 7780, 5235];
	var _monstername = GetLocaleString(2852);
	var _deSeis, _dist;

	if(type == 1)
		_attackpos.push(7773, 5215, 7773, 5197, 7794, 5196, 7813, 5189, 7814, 5171, 7804, 5156, 7787, 5154);
	else
		_attackpos.push(7811, 5216, 7810, 5197, 7787, 5192, 7772, 5183, 7773, 5166, 7784, 5154, 7800, 5154);
		
	switch(me.classid)
	{
		case NTC_CHAR_CLASS_BARBARIAN:
		case NTC_CHAR_CLASS_PALADIN:
			_dist = 8;
			break;
		case NTC_CHAR_CLASS_DRUID:
			_dist = 10;
			break;
		default:
			_dist = 12;
	}
	
	if(!MWConfig_FastDia)
	{
		for(i = 0; i < _attackpos.length; i += 2)
		{
			NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1]);

			NTA_ClearPosition(30, true, 2);
		}
	}

	for(i = 0; i < 4; i++)
	{
		if(type == 1)
		{
			MW_OpenSeal(394);
			
			NTM_MoveTo(me.areaid, 7791, 5198);
			
			_deSeis = NTC_FindUnit(NTC_UNIT_MONSTER, _monstername, 3);
			
			if(_deSeis)
			{
				if(_deSeis.y >= 5185)
					NTM_MoveTo(me.areaid, 7776, _deSeis.y - _dist);
				else
					NTM_MoveTo(me.areaid, 7776, _deSeis.y + _dist);
			}
			else
				NTA_ClearPosition(20);
		}
		else
		{
			MW_OpenSeal(394);

			NTM_MoveTo(me.areaid, 7789, 5154);
			
			_deSeis = NTC_FindUnit(NTC_UNIT_MONSTER, _monstername, 3);
			
			if(_deSeis && _deSeis.y + _dist <= 5201)
			{
				if(!NTM_MoveTo(me.areaid, 7776, _deSeis.y + _dist))
					NTM_MoveTo(me.areaid, 7776, _deSeis.y - _dist);
			}
			else
				NTM_MoveTo(me.areaid, 7791, 5192);
		}

		for(n = 0; n < 10; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				NTA_ClearPosition((MWConfig_FastDia) ? 10 : 30);
				NTSI_PickItems();

				return NTM_MoveTo(me.areaid, 7800, 5255, 3, !MWConfig_FastDia);
			}
		}
	}

	return false;
}

function NT_OpenVenomSealInt(type)
{
	var i, n;
	var _attackpos = [7835, 5280, 7835, 5300, 7855, 5300, 7855, 5280];
	var _monstername = GetLocaleString(2853);
	var _sealOrder;
	
	if(MWConfig_KillFullInfectorMob && !MWConfig_FastDia)
		_sealOrder = [392, 393];
	else
		_sealOrder = [393, 392];

	if(!MWConfig_FastDia)
	{
		for(i = 0 ; i < _attackpos.length ; i += 2)
		{
			NTM_MoveTo(me.areaid, _attackpos[i], _attackpos[i+1], 3, true);

			NTA_ClearPosition(30, true, 2);
		}
	}

	for(i = 0; i < 4; i++)
	{
		if(!MW_OpenSeal(_sealOrder[0]))
		{
			NTM_MoveTo(me.areaid, _attackpos[_attackpos.length - 2], _attackpos[_attackpos.length - 1], 3, true);
			
			NTC_Delay(2500);
			continue;
		}

		if(_sealOrder[1] == 392 && !MW_OpenSeal(_sealOrder[1]))
		{
			NTM_MoveTo(me.areaid, _attackpos[_attackpos.length - 2], _attackpos[_attackpos.length - 1], 3, true);
			
			NTC_Delay(2500);
			continue;
		}

		if(type == 1)
			NTM_MoveTo(me.areaid, 7892, 5298);
		else
			NTM_MoveTo(me.areaid, 7937, 5305);
		
		for(n = 0 ; n < 10 ; n++)
		{
			NTC_Delay(200);

			if(NTA_KillMonster(_monstername))
			{
				NTSI_PickItems();

				NTA_ClearPosition((MWConfig_FastDia) ? 10 : 40);
				
				if(NTC_PutSkill(124, NTC_HAND_RIGHT))
					NTC_PingDelay(1000);
				
				if(_sealOrder[1] == 393)
				{
					for(i = 0; i < 4; i++)
					{
						if(MW_OpenSeal(393))
							break;
							
						NTC_Delay(2500);
					}
				}
				
				return true;
			}
		}
	}

	return false;
}

function MW_OpenSeal(classid)
{
	var _seal, _x, _y, _unit;

	_unit = GetPresetUnits(me.areaid, NTC_UNIT_OBJECT);

	if(!_unit)
		return false;
	
	for(i = 0 ; i < _unit.length ; i++)
	{
		if(_unit[i].id == classid)
		{
			_x = _unit[i].roomx * 5 + _unit[i].x;
			_y = _unit[i].roomy * 5 + _unit[i].y;
	
			break;
		}
	}

	NTM_MoveTo(me.areaid, _x + 1, _y + 1);

	if(!MWConfig_FastDia)
		NTA_ClearPosition(25, true, 2, false, false);
	
	_seal = NTC_FindUnit(NTC_UNIT_OBJECT, classid, 5);

	if(!_seal)
		return false;

	if(_seal.mode > 0)
		return true;

	for(var i = 0; i < 3; i++)
	{
		if((i % 2) == 0)
		{
			if(GetDistance(me, _seal) > 4)
				NTM_MoveTo(_seal.areaid, _seal.x + 1, _seal.y +1 );

			NTC_DoClick(NTC_CLICK_LDOWN, NTC_SHIFT_NONE, _seal);
		}

		NTC_Delay(500);

		if(_seal.mode > 0)
			return true;
		
		if(i > 4)
			NTA_ClearPosition(20, true, 2, false, false);
	}

	return false;
}



Quote:
Habe die Einstellungen mehrmals geprüft, aber der Leechfighter sagt beim Joinversuch "Leader not found"
Beide haben sie sich aber gegenseitig in der Friendlist. Wenn ich nun Versuche manuell d.h. ohne den Dnt2-Manager, eine Nachricht von Bot zu Bot schreiben will, sagt der mir, dass die Bots offline sind. Beide stehen sie im Spiel und sind offline???
beide chars auf dem selben acc?
wenn nicht. ... acc falsch geschrieben.
02/25/2012 14:32 palados#5747
[/QUOTE]
beide chars auf dem selben acc?
wenn nicht. ... acc falsch geschrieben.[/QUOTE]

Wie jetzt? Ich hab zwei Accounts/Keys...funktioniert sowas auch mit einem Account?

Und Accs sind richtig geschrieben ...
02/25/2012 17:38 kal_el#5748
Quote:
Wie jetzt? Ich hab zwei Accounts/Keys...funktioniert sowas auch mit einem Account?
ne ne das passt schomit den 2 acc...... wenn die namen passen solltest dich auch beim selber zocken anwhispern können... geht das denn?
02/25/2012 19:59 using11#5749
Habe entdlich bot zum laufen gebracht ohne das er immer exited.

aber wie füge ich nun chestbotting ein ( glitzer) und lowerkurast fehlt mir in dem bot.

immer wenn ich was adden will kommt running T L M N F A G

aber nie das script was laufen soll :(
02/25/2012 20:08 kal_el#5750
Quote:
Originally Posted by using11 View Post
Habe entdlich bot zum laufen gebracht ohne das er immer exited.

aber wie füge ich nun chestbotting ein ( glitzer) und lowerkurast fehlt mir in dem bot.

immer wenn ich was adden will kommt running T L M N F A G

aber nie das script was laufen soll :(
muddy´s ist einfach ganz anders gestrickt.
und chestbotting is ein haufen zeugs das man umändern müßte.
da schau ich gar ned erst rein...es is zuviel. wenn dir das jemand macht, ok.

willst du es nutzen, dann nimm den bot von sternenlooper, da sollte es einwandfrei funzen.
02/25/2012 21:07 MCSell#5751
Kann man dem Smiter wenn er Organ runs macht sagen, dass er wenn er keine Keys mehr hat auf einen Mule acc gehen soll und sich dort die Keys holen soll?

MfG
02/25/2012 23:47 palados#5752
Quote:
Originally Posted by kal_el View Post
ne ne das passt schomit den 2 acc...... wenn die namen passen solltest dich auch beim selber zocken anwhispern können... geht das denn?
Also Namen passen.....aber die können sich nich gegenseitig whispern beim selber zocken....da ist doch der Wurm drin....hab ich einen Konsolenbefehl übersehen? Kann ich das irgendwie blockiert haben?
02/26/2012 00:26 kal_el#5753
Quote:
Originally Posted by palados View Post
Also Namen passen.....aber die können sich nich gegenseitig whispern beim selber zocken....da ist doch der Wurm drin....hab ich einen Konsolenbefehl übersehen? Kann ich das irgendwie blockiert haben?
du benutzt gemutete keys ......:o

aber fürs game joinen..leader - leecher reicht das auch, die massage is in " grün " doch zu sehen.
02/26/2012 05:16 MCSell#5754
Hey, noch eine Frage auser die:

Quote:
Kann man dem Smiter wenn er Organ runs macht sagen, dass er wenn er keine Keys mehr hat auf einen Mule acc gehen soll und sich dort die Keys holen soll?
Kann man einen Bot nur für eine bestimmte Zeit lang laufen lassen? Example: Ich hab zum Beispiel drei Chars laufen hdin und zwei Zauberinen und will meinen Kumpel seinen Druiden über Nacht ab 1 Uhr bis ca. 11 Uhr mitlaufen lassen kann man das relativ einfach umsetzen?

und noch ne kleine Frage =)
wie heist denn jetzt die Skriptsprache mit dem der Bot geschrieben wurde? ;)

MfG
02/26/2012 05:16 MCSell#5755
Hey, noch eine Frage auser die:

Quote:
Kann man dem Smiter wenn er Organ runs macht sagen, dass er wenn er keine Keys mehr hat auf einen Mule acc gehen soll und sich dort die Keys holen soll?
Kann man einen Bot nur für eine bestimmte Zeit lang laufen lassen? Example: Ich hab zum Beispiel drei Chars laufen hdin und zwei Zauberinen und will meinen Kumpel seinen Druiden über Nacht ab 1 Uhr bis ca. 11 Uhr mitlaufen lassen kann man das relativ einfach umsetzen?

und noch ne kleine Frage =)
wie heist denn jetzt die Skriptsprache mit dem der Bot geschrieben wurde? ;)

MfG
02/26/2012 08:22 palados#5756
Quote:
Originally Posted by kal_el View Post
du benutzt gemutete keys ......:o

aber fürs game joinen..leader - leecher reicht das auch, die massage is in " grün " doch zu sehen.
Nee, da ist einfach nix zu machen. Die wollen sich nichts whispern...vielleicht hab ich auch schon einfach zu viel rumgewühlt im Bot. Naja, schönen Dank erstmal...
02/26/2012 11:20 cx23#5757
wie kann ich einstellen, dass mein goldbarb auch eldritch und shenk looted? zudem ist mir aufgefallen, dass der barb den rat bei meph ebenfalls nicht looted ..

(nutze die aktuelle version von muddys d2nt)
02/26/2012 13:58 fred9x9#5758
Quote:
Originally Posted by MCSell View Post
Hey, noch eine Frage auser die:



Kann man einen Bot nur für eine bestimmte Zeit lang laufen lassen? Example: Ich hab zum Beispiel drei Chars laufen hdin und zwei Zauberinen und will meinen Kumpel seinen Druiden über Nacht ab 1 Uhr bis ca. 11 Uhr mitlaufen lassen kann man das relativ einfach umsetzen?

und noch ne kleine Frage =)
wie heist denn jetzt die Skriptsprache mit dem der Bot geschrieben wurde? ;)

MfG
Warum bestimmte Zeit laufen lassen?
Man kann jederzeit dem leader folgen oder bleiben lassen, solange man in den f-lists ist, findet der follower den leader. Und dem ist es (fast) egal, wer da folgt.
Ähh, Javascript ? :confused: ?
02/26/2012 16:45 MCSell#5759
Quote:
wie kann ich einstellen, dass mein goldbarb auch eldritch und shenk looted? zudem ist mir aufgefallen, dass der barb den rat bei meph ebenfalls nicht looted ..
Wenn ich das richtig verstanden habe solltest du einfach nur bei deinem Script das du einbindest hinten dran die Einstellungen ändern:

Code:
MWConfig_Script.push(["NTMephisto.ntj", 5]); MWConfig_OpenMephistoChest = true; MWConfig_MephistoClearArea = [B][SIZE="5"]true[/SIZE][/B];
und
Code:
MWConfig_Script.push(["NTEldritch.ntj", 5]); NTConfig_ShenkExtension = [B][SIZE="5"]true[/SIZE][/B];

Quote:
Ähh, Javascript ? ?
Krass jetzt wo dus sagst :D. Könnte das echt hinhaun, danke.
edit: Aber wenn das Javascript ist, wie wird es dann ausgeführt? Der Manager ist ja dann trotzdem eine exe also mit Java, C# usw. geschrieben.

Quote:
Warum bestimmte Zeit laufen lassen?
Man kann jederzeit dem leader folgen oder bleiben lassen, solange man in den f-lists ist, findet der follower den leader. Und dem ist es (fast) egal, wer da folgt.
Nein, ich meine nicht beim leechen wobei das da auch zutreffen würde. Ich meine den Bot an sich nur für eine gewisse Zeit laufen lassen. Zum Beispiel er startet automatisch um 20 Uhr und hört automatisch um 9Uhr Morgens wieder auf. Ohne, dass ich was machen muss. Also in einem bestimmten Zeit Interval.

MfG
02/26/2012 17:42 palados#5760
Quote:
Originally Posted by palados View Post
Nee, da ist einfach nix zu machen. Die wollen sich nichts whispern...vielleicht hab ich auch schon einfach zu viel rumgewühlt im Bot. Naja, schönen Dank erstmal...
Moooment...mir ist grad aufgefallen, dass beim starten kurzfristig und in roter Schrift ein "Chat function disabled" aufleuchtet....des ist es doch oder? Deswegen können die Bots nicht miteinander whispern? Wie kann ich die Chat function wieder anstellen bzw. wo?