[D2NT] Public Botten for Dummies

01/16/2012 11:32 erbse274#2446
Quote:
Originally Posted by ek654 View Post
Mein CoFighter Joint brav das Game von Ladder was wohl heißt das der Acc+Charname Richtig geschrieben ist, jedoch leavt er danach sofort wieder und macht einen Rejoin usw.

ws. Irgendeine Kleinigkeit, habe schon mehrere Seiten durchgeblättert aber nix gefunden.
Probier es damit vll. hilft's Dia auf englisch haben sich beide in der Fl?

Tp Buch ins Inventar, genügend Gold am Anfang.

Und das ---> //NTConfig_Script.push("NTDiablo.ntj"); NTConfig_DiabloLeechers = false; muß beim Leader zwingend auf true stehen!!

@-Traceur-
Dann stell bei allen leechern ein das die auch Auto Party machen dann sollte es funzen ;-)
01/16/2012 11:52 ek654#2447
Quote:
Originally Posted by erbse274 View Post
Probier es damit vll. hilft's Dia auf englisch haben sich beide in der Fl?

Tp Buch ins Inventar, genügend Gold am Anfang.

Und das ---> //NTConfig_Script.push("NTDiablo.ntj"); NTConfig_DiabloLeechers = false; muß beim Leader zwingend auf true stehen!!
Dia ist natürlich auf Englisch.
Haben sich beide in der Flist.
Er/Sie macht nur Baal.
Sie hat ein TP Buch, 90K Gold und genug Platz im Inventar.

Sehr merkwürdig dan ganze :rolleyes:
01/16/2012 12:01 erbse274#2448
Quote:
Originally Posted by ek654 View Post
Dia ist natürlich auf Englisch.
Haben sich beide in der Flist.
Er/Sie macht nur Baal.
Sie hat ein TP Buch, 90K Gold und genug Platz im Inventar.

Sehr merkwürdig dan ganze :rolleyes:
Hmmmmm, allerdings...
Hast du die NBotLeech.ntj angepasst? Hast du in der Charconfig die richtige Nummer vergeben? 1 Leader, 2Leechfight u.s.w. und in der entsprechenden Zeile auch alles richtig eingetragen ?

Quote:
NTConfig_BotType = 1;
// 1 = Leader
// 2 = Co-Leecher
// 3 = Leecher


//################################################## ##################
//###########################Leader Scripts###########################
//################################################## ##################

if(NTConfig_BotType <= 1)
{
//##########################Eldritch+Shenk########## ################
//NTConfig_Script.push("NTEldritch.ntj"); NTConfig_FarmRVPots = 4; // Wenn dem Char mehr als x rv pots fehlen, farmt er Eld+Shenk. Wenn er mehr hat, dann nicht. Wenn er immer farmen soll, dann auf 0 setzen.

//##############################Diablo############## ################
//NTConfig_Script.push("NTDiablo.ntj"); NTConfig_DiabloLeechers = false; // DiabloLeechers auf true setzen, wenn ihr Leecher mit dem NTDiabloLeech Script dabei habt
NTConfig_StarTPMsg = "TP up - Please let me open the seals and stay one screen behind me, if you are leecher."; // welche Nachricht soll gesagt werden wenn das TP am Stern gemacht wird. nichts zwischen "" eintragen wenn nichts gesagt werden soll
NTConfig_KillDiaMsg = "Killing Diablo, Leechers go hide behind the corners.";// welche Nachricht soll gesagt werden wenn alle Siegel offen sind. nichts zwischen "" eintragen wenn nichts gesagt werden soll
NTConfig_DiaNxtGame = ""; // Wenn nach Dia schluss ist, dann hier Next Game Message eintragen

//###############################Baal############### ################
//NTConfig_Script.push("NTBaal.ntj"); NTConfig_KillBaal = true;
NTConfig_UnsafeTP = true; // Soll ein unsafe tp geöffnet werden beim baalrun?
NTConfig_UNSAFETPSpoke = "Fighters may come now"; // welche Nachricht soll geschrieben werden wenn das unsafe tp geöffnet wird. nichts zwischen "" eintragen wenn nichts gesagt werden soll
NTConfig_SafeTP = "Leechers may come now"; // welche Nachricht soll gesagt werden wenn das safe tp gemacht wird. nichts zwischen "" eintragen wenn nichts gesagt werden soll
NTConfig_KILL = "Time to kill Baal"; // welche Nachricht soll ankündigen das baal gemacht werden soll. nichts zwischen "" eintragen wenn nichts gesagt werden soll
NTConfig_NxtGame = "Next Game. Join 'OP Mychannel' to follow my runs"; // welche Nachricht soll am ende des runs geschrieben werden. nichts zwischen "" eintragen wenn nichts gesagt werden soll

//###############################Rest############### ################
NTConfig_NIPFilePath.push("leader.nip"); // Leader hat seine eigene Pickit
NTConfig_Eintritt = false; // Soll der Bot eine Nachricht schreiben, wenn jemand das Spiel betritt, dann auf true stellen
NTConfig_Willkommen = "Welcome to my runs."; // Angezeigte Nachricht, wenn NTConfig_Eintritt = true ist

}


//################################################## ##################
//#########################LeechFight Scripts#########################
//################################################## ##################

if(NTConfig_BotType == 2)
{
NTConfig_Leader = "Leader Char Name" // Name vom Leader-Char, Groß- und Kleinschreibung beachten!

//##############################Diablo############## ################
//NTConfig_Script.push("NTDiabloLeechFight.ntj");

//###############################Baal############### ################
//NTConfig_Script.push("NTBaalLeechFight.ntj"); NTConfig_KillBaal = true;
NTConfig_CoLeechTPMsg = "Fighters may come now"; // Bei dieser Message vom Leader geht der Bot ins TP. Wenn er jederzeit rein gehen soll, leer lassen.

//###############################Rest############### ################
NTConfig_NIPFilePath.push("leecher.nip"); // Leader hat seine eigene Pickit
NTConfig_Leech = false; // Wenn der LeechFighter keine Enigma hat, aber trotzdem mitkämpfen soll, dann auf true stellen.
NTConfig_JoinOnly = true; // Leecher joined nur Partys, macht aber selber keine auf
}


//################################################## ##################
//###########################Leecher Scripts##########################
//################################################## ##################

if(NTConfig_BotType >= 3)
{
NTConfig_Leader = "Leader Char Name" // Name vom Leader-Char, Groß- und Kleinschreibung beachten!

//##############################Diablo############## ################
//NTConfig_Script.push("NTDiabloLeech.ntj"); // NTConfig_DiabloLeechers MUSS beim leader auf true sein

//###############################Baal############### ################
//NTConfig_Script.push("NTBaalLeech.ntj");
NTConfig_LeechTPMsg = "Leechers may come now"; // Bei dieser Message vom Leader geht der Bot ins TP. Wenn er jederzeit rein gehen soll, leer lassen.

//###############################Rest############### ################
NTConfig_Leech = true; // Wenn der Leecher Enigma hat, dann auf false stellen
NTConfig_JoinOnly = true; // Leecher joined nur Partys, macht aber selber keine auf
}
OffTopic:Am Rande die Leecher sollten nicht nach jedem Run .login schreiben, ansonsten könnte der ChannelBot einknicken, lass die liber Werbung für epvp schreiben ;-)
01/16/2012 12:07 ek654#2449
Ich verwende Muddys da is da einbischen anders mit 1,2 usw.
Code:
MWConfig_Script.push(["NTBaalLeechFight.ntj", 10]); NTConfig_KillBaal = true; MWConfig_DoBaalPreAttack = true; MWConfig_EnterUnsafeTP = false; NTConfig_Leader = "FunkyHdin";
die NBotLeech.ntj sollte eig. auch passen.

Code:
var LeaderAccountName          = "corner";
var LeaderName                 = "FunkyHdin";
var GamePassword               = "";
var JoinGameAgain              = true; // Set to true to re-enter the same game after chicken or disconnect.

var UseCDKeyChangeTrick        = false; // Set to true to use multiple CD Keys

var JoinRandomChannel          = false;
var JoinChannelInChat          = "OP epvpBaal";
var FirstJoinMessage           = "FunkysLittleHelper"; // Message to post right after joining chat. Set to "" not to post any message.
var ChatMessageAfterGame       = ""; // Message to post when joining chta after a game. Set to "" not to post any message.
01/16/2012 12:10 kal_el#2450
ins game joinen macht er anhand des acc-namens.
ind tp geht er anhand des leader-namens. vielleicht ein fehler im namen... groß...klein... etc.
wenn das der muddy ist würd ich sagen... missing pw...game leaven...

ah... party auf true?
01/16/2012 12:14 ek654#2451
Quote:
Originally Posted by kal_el View Post
ins game joinen macht er anhand des acc-namens.
ind tp geht er anhand des leader-namens. vielleicht ein fehler im namen... groß...klein... etc.
wenn das der muddy ist würd ich sagen... missing pw...game leaven...

ah... party auf true?
ahh ich bin ein depp...

Code:
    // Set to true to exit the game instantly if the game is public. This may happen sometimes due to an error pasting the password correctly.
    MWConfig_ExitGameOnMissingPassword = true;
:rolleyes:

Ich hätte gerne das er anstat "Next Game!" am ende des Runs was anderes reinschreibt, aber er ändert nichts obwohl ich es neu eingetragen habe... muss ich das noch wo ändern?

GlobalSettings.ntl

Code:
    MWConfig_Announcements.BaalThrone = "There are %d monster(s) in Throne!";
    MWConfig_Announcements.BaalTpNone = "TP up, no monsters close!";
    MWConfig_Announcements.BaalTpCold = "TP cold, %d monsters close!";
    MWConfig_Announcements.BaalTpWarm = "TP warm, %d monsters close!";
    MWConfig_Announcements.BaalTpHot = "TP hot, %d monsters close!";
    MWConfig_Announcements.BaalTpSafe = "TP is safe!";
    MWConfig_Announcements.BaalPreChamber = "Killing Baal!";
    MWConfig_Announcements.BaalKilled = "Join my Runs at OP epvpbaal!";
01/16/2012 13:51 erbse274#2452
Quote:
Originally Posted by ek654 View Post

Ich hätte gerne das er anstat "Next Game!" am ende des Runs was anderes reinschreibt, aber er ändert nichts obwohl ich es neu eingetragen habe... muss ich das noch wo ändern?


[/code]
Du mußt auf alle Fälle den Bot neustarten wenn was an den Configs änderst.
01/16/2012 13:56 ek654#2453
Quote:
Originally Posted by erbse274 View Post
Du mußt auf alle Fälle den Bot neustarten wenn was an den Configs änderst.
Ok wuste ich nicht.. normalerweise übernimmt er änderungen ja bei einem neuen Game.
01/16/2012 13:57 kal_el#2454
Quote:
Originally Posted by ek654 View Post
ahh ich bin ein depp...

Code:
    // Set to true to exit the game instantly if the game is public. This may happen sometimes due to an error pasting the password correctly.
    MWConfig_ExitGameOnMissingPassword = true;
:rolleyes:

Ich hätte gerne das er anstat "Next Game!" am ende des Runs was anderes reinschreibt, aber er ändert nichts obwohl ich es neu eingetragen habe... muss ich das noch wo ändern?

GlobalSettings.ntl
Code:
    MWConfig_Announcements.BaalThrone = "There are %d monster(s) in Throne!";
    MWConfig_Announcements.BaalTpNone = "TP up, no monsters close!";
    MWConfig_Announcements.BaalTpCold = "TP cold, %d monsters close!";
    MWConfig_Announcements.BaalTpWarm = "TP warm, %d monsters close!";
    MWConfig_Announcements.BaalTpHot = "TP hot, %d monsters close!";
    MWConfig_Announcements.BaalTpSafe = "TP is safe!";
    MWConfig_Announcements.BaalPreChamber = "Killing Baal!";
    MWConfig_Announcements.BaalKilled = "Join my Runs at OP epvpbaal!";
Code:
// Message to announce right before leaving a game.
	MWConfig_Announcements.NextGame = "Join Channel - OP epvpbaal for more runs. type  .games";
darein :)
01/16/2012 18:03 miki7#2455
Ich hab meinen Leader im Cs laufen und funktioniert soweit auch sehr gut, aber hin und wieder ca. jedes 2-3 spiel bekommt er beim telen zum stern beim flammenfluss die fehlermeldung: NTM_MoveTo() failed (Flammenfluss).
dann bleibt er einfach stehn und verlässt das spiel, hab schon des ötern gelesen das dass ein problem war aber finde die lösung nicht bitte um Hilfe :)
01/16/2012 19:03 kal_el#2456
Quote:
Originally Posted by miki7 View Post
Ich hab meinen Leader im Cs laufen und funktioniert soweit auch sehr gut, aber hin und wieder ca. jedes 2-3 spiel bekommt er beim telen zum stern beim flammenfluss die fehlermeldung: NTM_MoveTo() failed (Flammenfluss).
dann bleibt er einfach stehn und verlässt das spiel, hab schon des ötern gelesen das dass ein problem war aber finde die lösung nicht bitte um Hilfe :)
welcher bot? muddys? dann bist hier aber fasch.
du kannst dem bot aber vorher was andres machen lassen, z.B eldrich, dann bleit er nicht mehr hängen am flammenfluß.
oooooder wenns der muddy is,
mein höchst kompliziert geschtricktes script nutzen :D
er geht zum boén zu eldrich(ohne kämpfen..nur zum bo) und von da aus gleich zum wp flammenfluss und legt los.
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 < 8; i++)
	{
		if((i % 2) == 0)
		{
			if(GetDistance(me, _seal) > 2)
				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;
}
01/16/2012 19:52 miki7#2457
Quote:
Originally Posted by kal_el View Post
welcher bot? muddys? dann bist hier aber fasch.
du kannst dem bot aber vorher was andres machen lassen, z.B eldrich, dann bleit er nicht mehr hängen am flammenfluß.
oooooder wenns der muddy is,
mein höchst kompliziert geschtricktes script nutzen :D
er geht zum boén zu eldrich(ohne kämpfen..nur zum bo) und von da aus gleich zum wp flammenfluss und legt los.
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 < 8; i++)
	{
		if((i % 2) == 0)
		{
			if(GetDistance(me, _seal) > 2)
				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;
}
ich hab den public d2nt von lanara :)

für public runs ist das aber keine lösung, das muss man doch korregiern können :(
01/16/2012 20:35 kal_el#2458
ins eishochland zum boén gehn dauert kaum länger als am flammenfluß boén.
lanaras, ok
dann füge doch einfach nur das in deine diantj ein
Quote:
if(!NTTM_CheckAct(me.act, true))
{
NTC_SendMsgToScript("NTBotGame.ntj", NTTM_CheckAct, 18, me.act, true);
return;
}

NTTMGR_TownManager();

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

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

NTP_DoPrecast(true);



if(!NTM_MoveTo(me.areaid, 3778, 5108))
{
NTC_SendMsgToScript("NTBotGame.ntj", NTM_MoveTo, 40, me.areaid, 3778, 5108);
return;
}
if(!NTM_TakeWaypoint(107))
{
NTC_SendMsgToScript("NTBotGame.ntj", NTM_TakeWaypoint, 34, 107);
return;
}
mit ein bissel hinschaun kriegst des hin :)

wieso bleibt der lanaras überhaupt hängen? hatte das glaub ich nie
01/16/2012 23:31 lanara#2459
Ich möchte mich an dieser Stelle mal bei allen bedanken, die den Thread am Leben erhalten, indem ihr Fragen beantwortet und den Leuten bei ihren Problemen helft. Wie ihr ja gemerkt habt war ich die letzten Wochen nicht wirklich mehr aktiv in der D2 Sektion, was unter anderem daran liegt, dass die Luft nach dem Reset schon sehr schnell wieder raus war bei mir. Zudem fehlt mir im Moment auch etwas die Motivation auf Diablo 2 und damit verbunden auch zum Support hier.

Also ein großes Danke an alle die hier ihre Freizeit opfern um anderen Usern zu helfen, nicht nur in diesem Thread sondern in der gesamten Sektion. :handsdown: Und ein besonderes Willkommen zurück an kal_el, schön zu sehen, dass du hier wieder aktiv bist. :)
01/17/2012 22:12 ek654#2460
Ich habe einen Smither als Leecher und würde gerne bewerkstelligen das er statt einfach den Holy Shield Skill drinnen zu haben eine Nützliche Aura reinmacht. (Fana oder Salvation)
Gibt es da vl. schon eine Lösung?