Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Diablo 2
You last visited: Today at 19:33

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

Advertisement



Muddys D2NT Problem Leecher/Leader

Discussion on Muddys D2NT Problem Leecher/Leader within the Diablo 2 forum part of the Other Online Games category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2011
Posts: 41
Received Thanks: 1
Muddys D2NT Problem Leecher/Leader

hey leute,....
ich kriege den bot nicht zum laufen...
der leader geht ins game und fängt an mit dem run...
der cofighter/leecher geht in den chat checkt einmal die friendslist und sonst passiert nichts mehr....
hier die nobotleech:
Code:
/**
*	This file was modified by  and 			
*	Check the programming section for updates and further scripts
*	Last Update: 15:34 20.08.2011
*/

var DelayedJoinChars               = new Array();
//###################################################################
//##############################Settings#############################
//###################################################################
	
var LeaderAccountName          = "w3574";
var LeaderName                 = "SSSSmite";
var GamePassword               = "";
var JoinGameAgain              = false; // 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          = true;
var JoinChannelInChat          = "";
var FirstJoinMessage           = ""; // 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.

// If multiple leechers are to join the same game, they should do it slightly time shifted in order to avoid join bugs.
// Enter the names of your accounts OR chars below:
DelayedJoinChars.push("LeecherOne", "LeecherTwo", "LeecherThree");

//###################################################################
//##############################Delays###############################
//###################################################################

var GameMinLength              = 180000;

// realm delays (minutes)
var UnableToConnectRetry       = 2;
var RealmDownRetry             = 60;
var DisconnectedRetry          = 2;
var CdKeyInUseRetry            = 2;

// interface delays (milliseconds)
var MultipleLeecherJoinDelay   = 1000;
var JoinDelay                  = 100;
var ConnectingToBnetTimeout    = 20000;
var CharacterScreenTimeout     = 10000;
var PleaseWaitTimeout          = 10000;
var CreateGameThreshold        = 10000;
var CreateGameThresholdRandom  = 1000;
var CreateGameTimeout          = 15000;
var WaitInLineTimeout          = 15000;
var CharacterSelectDelay       = 5000
var LoginDelay                 = 1000;
var ClickDelay                 = 500;
var TextDelay                  = 500;
var ClickDelayRandom           = 500;
var TextDelayRandom            = 500;
var GameDoesNotExistDelayMin   = 600000;
var GameDoesNotExistDelayMax   = 900000;
var GameDoesNotExistTimeout    = 30000;
var WaitBeforeEnterChatMin     = 1000;
var WaitBeforeEnterChatMax     = 2000;
var WaitInChatBeforeActionsMin = 2000;
var WaitInChatBeforeActionsMax = 3000;

//###################################################################
//###################################################################
//###############DO NOT CHANGE ANYTHING BELOW THIS###################
//###################################################################
//###################################################################

//D2NT Manager Command

const D2NT_MGR_LOADING = 1;
const D2NT_MGR_READY = 2;
const D2NT_MGR_LOGIN = 3;
const D2NT_MGR_CREATE_GAME = 4;
const D2NT_MGR_INGAME = 5;
const D2NT_MGR_RESTART = 6;
const D2NT_MGR_CHICKEN = 7;
const D2NT_MGR_PRINT_STATUS = 8;
const D2NT_MGR_PRINT_LOG = 9;

var LastGameMade     = GetTickCount();
var LastGameStatus     = 0;
var NextGameMake     = 0;
var InGameAt       = 0;
var ChatActionsDone   = false;
var LastGameFailed     = false;
var SayChatMsgAfterGame = true;

Include("libs/controlInfo.ntl");

var ControlData = new controlInfo();

var SameGame = "";
var OldGame = "";
var Game = "";
var Debug = false;
var JoinChatAfterGame    = true;

function NTMain()
{
	Delay(1000);

	var _ingame = false;

	ControlData.ClickDelay = ClickDelay;
	ControlData.TextDelay = TextDelay;
	ControlData.ClickDelayRandom = ClickDelayRandom;
	ControlData.TextDelayRandom = TextDelayRandom;

	while(1)
	{
		if(me.ingame)
		{
			OldGame = me.gamename;

			if(!InGameAt)
				InGameAt = GetTickCount();

			if(!_ingame)
			{
				RunGC(); // run garbage collector between each game

				if(Load("NTBot/MWBotGame.ntj"))
				{
					_ingame = true;

					if(me.playtype > 0)
						sendEventToOOG(D2NT_MGR_INGAME, "In Game[IP:" + me.gameserverip.split(".")[3] + "]", 0);
					else
						sendEventToOOG(D2NT_MGR_INGAME, "In Game", 0);

					LastGameStatus = 2; // in game successful
				}
			}

			Delay(1000);
		}
		else
		{
			if(_ingame)
			{
				_ingame = false;
				SayChatMsgAfterGame = true;

				sendEventToOOG(D2NT_MGR_READY, "", 0);
			}

			locationAction(ControlData.getLocation());

			Delay(500);
		}
	}
}

function locationAction(location)
{
	var _randomChannel, _leaderFound, _lines, _msg, _msgLines, _lineIndex, _chat, _regGameNameWhispered, _regOffline, _regInChat, _regGameName;;
	
	switch(location.id)
	{
		case 3: // Lobby Chat
			sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);

			if(!ChatActionsDone)
			{  
				ChatActionsDone = true;

				Delay(Random(WaitInChatBeforeActionsMin, WaitInChatBeforeActionsMax));

				if(JoinRandomChannel || JoinChannelInChat != "")
				{
					SetStatusText("ÿc8Joining channel...");
					Say("/join " + (JoinRandomChannel ? getRandomString(Random(3,10)) : JoinChannelInChat));
					Delay(2000);
				}

				if(FirstJoinMessage)
				{
					Say(FirstJoinMessage);
					Delay(1000);
				}
			}

			if(SayChatMsgAfterGame)
			{
				if(ChatMessageAfterGame && OldGame != "")
					Say(ChatMessageAfterGame);
					
				SetStatusText("ÿc8Checking friendlist...");
				Say("/f l");
				SayChatMsgAfterGame = false;
				Delay(1500);
			}

			Game = "";

			if(_chat = ControlData.get(ControlData.controls.lobby.chat.textBox.channelText))
			{
				_leaderFound = false;
				_lines = _chat.GetText();
				for(_lineIndex = _lines.length - 1; _lineIndex > -1; _lineIndex--)
				{
					if(_leaderFound) // useless... :/
						break;

					if(_lines[_lineIndex].substring(0,1) == " ")
						continue;

					// retrieving the whole message
					_msg = _lines[_lineIndex].replace(/^\s+|\s+$/, "");
					_msgLines = 1;
					while(_lines[_lineIndex + _msgLines] != undefined && _lines[_lineIndex+_msgLines].substring(0,2) == "  ")
					{
						_msg += " " + _lines[_lineIndex + _msgLines].replace(/^\s+|\s+$/, "");
						_msgLines++;
					}
					
					// checking if the _msg is a friendly whisper
					if(_msg.toLowerCase().lastIndexOf(LeaderName.toLowerCase() + " (*" + LeaderAccountName.toLowerCase() + ")") > -1)
					{
						_regGameNameWhispered = /^.*(game|partie|spiel|partita|partida).*(nomm[^\s]*|called|chiamata)\s*([\w\s-]*\w)\s*\.\s*$/gi;
						if(_msg.match(_regGameNameWhispered))
							Game = _msg.replace(_regGameNameWhispered, "$3");

						if(Game != "")
						{
							_leaderFound = true;
							break;
						}
					}

					// checking if the _msg is from the friend list
					if(_msg.toLowerCase().lastIndexOf(": " + LeaderAccountName.toLowerCase() + ",") > -1)
					{
						_leaderFound = true;
						
						_regOffline = /^.*(offline|desconectado).*$/gi;
						_regInChat = /^.*(channel|canale?)\s*([\w\s-]*\w)\.?\s*$/gi;
						_regGameName = /^.*(game|partie|spiel|partita|partida)\s*([\w\s-]*\w)\s*\(priv[^\)]*\)\.\s*$/gi;

						if(_msg.match(_regOffline))
							SetStatusText("ÿc8Leader is currently offline.");
						else if(_msg.match(_regInChat))
							SetStatusText("ÿc8Waiting for leader to create a game.");
						else if(_msg.match(_regGameName))
							Game = _msg.replace(_regGameName, "$2");

						break;
					}
				}

				if(!_leaderFound)
				{
					DebugInOOG("I couldn't find the leader in my friend list!");
					SetStatusText("ÿc8Leader not found.");
				}
				
				if(Game != "")
				{
					DebugInOOG("Leader is in the game \"" + Game + "\"");
					//ControlData.click(ControlData.controls.lobby.button.join);
					//Delay(100);
					
					if(!JoinGameAgain)
					{
						if(Game != SameGame)
						{
							SetStatusText("ÿc8Joining Game: " + Game);
							
							if(UseCDKeyChangeTrick)
							{
								sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
								Delay(1000);
							}

							ControlData.click(ControlData.controls.lobby.button.join);
							Delay (200);
						}
						else
							SetStatusText("ÿc8Waiting for next game...");
					}
					else
					{
						SetStatusText("ÿc8Joining Game: " + Game);
						
						if (UseCDKeyChangeTrick)
						{
							sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);
							Delay(1000);
						}

						ControlData.click(ControlData.controls.lobby.button.join);
						Delay (200);
					}

				}
			}
			else
				DebugInOOG("I can\'t read the chat!");

			if(Game != "")
				SameGame = Game;

			break;

		case 1:    // Lobby
			if(location.id == 1 && JoinChatAfterGame)
			{
				Delay(Random(WaitBeforeEnterChatMin, WaitBeforeEnterChatMax));
				ControlData.click(ControlData.controls.lobby.button.enterChat);
				break;
			}
			break;

		case 2: // Waiting In Line
			if(GetTickCount()-LastGameMade > WaitInLineTimeout)
				ControlData.click(ControlData.controls.lobby.inLine.button.cancel);
			break;

		case 4: // Create Game
			if(!ControlData.get(ControlData.controls.lobby.create.editBox.gameName))
			{
				ControlData.click(ControlData.controls.lobby.button.join);
				Delay (500);
				ControlData.click(ControlData.controls.lobby.button.create);
				Delay (500);
				break;
			}

			sendEventToOOG(D2NT_MGR_CREATE_GAME, location.name, 0);

			locationTimeout(5000, location);

			LastGameMade = GetTickCount();
			LastGameStatus = 1; // pending creation
			break;

	  case 5: // Join Game
		if (Game)
		{
			ControlData.setText( ControlData.controls.lobby.join.editBox.gameName, Game);
			Delay(100);
			ControlData.setText( ControlData.controls.lobby.join.editBox.password, GamePassword);
			for(var i = 0; i < DelayedJoinChars.length; i++)
			{
				if(me.charname.toLowerCase() == DelayedJoinChars[i].toLowerCase() || me.account.toLowerCase() == DelayedJoinChars[i].toLowerCase())
				{
					Delay(MultipleLeecherJoinDelay * i);
					break;
				}
			}
			Delay(JoinDelay);
			ControlData.click(ControlData.controls.lobby.join.button.joinGame);
			RunGC(); // run garbage collector between each game
			locationTimeout(5000, location);
			LastGameStatus = 1; // pending join
		}
		else
		{
			DebugInOOG("No game to join : cancelling");
			me.Cancel(1);
			Delay(1000);
		}
		break;

		case 6: // Ladder
			break;

		case 7: // Channel List
			break;

		case 8: // Main Menu
			if(ControlData.getCurrentRealmIndex() == me.gatewayid)
			{
				outputGameLength();
				ControlData.click(ControlData.gameTypes[me.playtype]);
			}
			else
				ControlData.click(ControlData.controls.mainMenu.button.gateway);
			break;

		case 9: // Login
			sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);
			Delay(LoginDelay);

			ControlData.setText(ControlData.controls.login.editBox.accountName, me.account);

			sendEventToOOG(D2NT_MGR_LOGIN, location.name, 0);

			locationTimeout(5000, location);
			break;

		case 10: // Login Error (this is a fatal error, so stop)
			sendEventToOOG(D2NT_MGR_RESTART, location.name, 10);
			Delay(3500);
			break;

		case 11: // Unable To Connect
			timeoutDelay(UnableToConnectRetry*60*1000, location)
			ControlData.click(ControlData.controls.login.unableToConnect.button.ok);
			break;

		case 12: // Character Select
			var _time, _control;

			sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name, 0);

			for(_time = 0 ; _time < CharacterScreenTimeout ; _time += 500)
			{
				_control = ControlData.get(ControlData.controls.characterSelect.textBox.characterInfo[me.charloc]);
				if(_control && _control.GetText() != undefined)
					break;

				Delay(500);
			}

			if(_time < CharacterScreenTimeout)
			{
				Delay(CharacterSelectDelay);

				ControlData.click(ControlData.controls.characterSelect.textBox.characters[me.charloc], 0, 0, 1);
				ControlData.click(ControlData.controls.characterSelect.textBox.characterInfo[me.charloc], 0, 0, 1);

				// reset last game made, so it doesnt make a game immediately
				InGameAt = 0;
				setNextGameMake();
			}
			else
			{
				ControlData.click(ControlData.controls.characterSelect.button.exit);
				timeoutDelay(RealmDownRetry*60*1000, location);
			}
			break;

		case 13: // Realm Down - Character Select screen
			ControlData.click(ControlData.controls.characterSelect.button.exit);
			timeoutDelay(RealmDownRetry*60*1000, location);
			break;

		case 14: // Character Select - Disconnected
			timeoutDelay(DisconnectedRetry*60*1000, location);
			ControlData.click(ControlData.controls.characterSelect.disconnected.button.ok);
			break;

		case 15: // New Character
			break;    

		case 16: // Character Select - Please Wait popup
			if(!locationTimeout(PleaseWaitTimeout, location))
				ControlData.click(ControlData.controls.characterSelect.pleaseWait.button.cancel);
			break;

		case 17: // Lobby - Lost Connection - just click okay, since we're toast anyway
			ControlData.click(ControlData.controls.lobby.lostConnection.button.ok);
			break;

		case 18: // D2 Splash
			ControlData.click(ControlData.controls.d2Splash.textBox.copyright);
			break;

		case 19: // Login - Cdkey In Use
			timeoutDelay(CdKeyInUseRetry*60*1000, location);
			ControlData.click(ControlData.controls.login.cdkeyInUse.button.ok);
			break;

		case 20: // Single Player - Select Difficulty
			ControlData.click(ControlData.singlePlayerDifficulties[me.diff]);
			break;

		case 21: // Main Menu - Connecting
			if(!locationTimeout(ConnectingToBnetTimeout, location))
				ControlData.click(ControlData.controls.mainMenu.connecting.button.cancel);
			break;

		case 22: // Login - Invalid Cdkey (classic or xpac)
			sendEventToOOG(D2NT_MGR_RESTART, location.name, 3600);
			Delay(3500);
			break;    

		case 23: // Character Select - Connecting
			if(!locationTimeout(CharacterScreenTimeout, location))
				ControlData.click(ControlData.controls.characterSelect.button.exit);
			break;

		case 24: // Server Down - not much to do but wait..
			break;

		case 25: // Lobby - Please Wait
			if(!locationTimeout(PleaseWaitTimeout, location))
				ControlData.click(ControlData.controls.lobby.pleaseWait.button.cancel);
			break;

		case 26: // Lobby - Game Name Exists
			sendEventToOOG(D2NT_MGR_PRINT_LOG, "yE00000Game already exists", 0);

			InGameAt = 0;
			LastGameStatus = 0;
			setNextGameMake();

			locationTimeout(15000, location);
			break;

		case 27: // Gateway Select
			ControlData.clickRealmEntry(me.gatewayid);
			ControlData.click(ControlData.controls.gateway.button.ok);
			break;

		case 28: // Lobby - Game Does Not Exist
			InGameAt = Random(GameDoesNotExistDelayMin, GameDoesNotExistDelayMax);
			LastGameStatus = 0;
			setNextGameMake();

			locationTimeout(GameDoesNotExistTimeout, location);
			break;
		default:
			DebugInOOG("Unhandled location : "+location.id);
			break;
	}
	//DebugInOOG("Location : "+location.id);
}

function sendEventToOOG(locationId, statusString, pendingTime)
{
	return SendCopyData("D2NT Manager", null, (locationId<<16)|pendingTime, statusString);
}

function setNextGameMake()
{
	LastGameMade = GetTickCount();
	NextGameMake = LastGameMade + CreateGameThreshold + Random(0-CreateGameThresholdRandom, CreateGameThresholdRandom) + InGameAt;
	InGameAt = 0;
	ChatActionsDone = false;
}

function outputGameLength()
{
	if(InGameAt)
	{
		duration = GetTickCount() - InGameAt;

		InGameAt = (duration < GameMinLength ? GameMinLength - duration : 0);
	}
}

function locationTimeout(time, location)
{
	endtime = GetTickCount() + time;

	while(ControlData.getLocation().id == location.id && endtime > GetTickCount())
	{
		sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
		Delay(500);
	}

	return (ControlData.getLocation().id != location.id);
}

function timeoutDelay(time, location)
{
	endtime = GetTickCount() + time;

	while(endtime > GetTickCount())
	{
		sendEventToOOG(D2NT_MGR_PRINT_STATUS, location.name + " (" + parseInt((endtime-GetTickCount())/1000) + "s)", 0);
		Delay(1000);
	}
}

function getRandomString(_length)
{
	_retString = "";
	_charSet = "0123456789abcdefghijklmnopqrstuvwxyz";

	while(_length--)
	{
		_retString += _charSet.charAt(Random(0, _charSet.length-1));
		Delay(1);
	}

	return _retString;
}
function DebugInOOG(logString)
{
	if (Debug)
		return SendCopyData("D2NT Manager", null, 9<<16, "-- Debug : " + logString);
	else
		return false;
}
und hier meine ntconfig vom leecher

Code:
/**
*	This file was modified by 
*	Check the programming section for updates and further scripts
*	Last Update: 17:46 17.08.2011
*
*	Hotkey				Description
*
*	Pause/Break			Pauses the current bot script.
*	Page up (PgUp)		Skips the current bot script.
*	Page down (PgDn)	Repeats the previous bot script
*	Home (Pos1)			Shows your current coordinates and areaid.
*	End					Shows current ping in status text bar.
*	Insert (Ins)		Logs all items on your char to either XML or TXT.
*	Delete (Del)		Exits the game. NOTE: Always use this key to leave a game!
*	Backspace			Force trigger auto mule. NOTE: Won't work unless auto mule is actually activated for the current char.
*/

Include("NTBot/char_configs/MWConfig_GlobalSettings.ntl");

var NTConfig_CastStatic;

function NT_LoadConfig()
{
	MW_LoadGlobalSettings();

	
	//------------------------------------------------------------------------------
	//
	// Run Configuration
	//
	//------------------------------------------------------------------------------
	
	// Use the following syntax for activating botscripts: MWConfig_Script.push([<ScriptName>, <Script runtime in minutes (0 is infinite)>]);
	// ***************** Current schedule ******************

	MWConfig_Script.push(["NTDiabloLeechFight.ntj", 10]); MWConfig_StartAtStar = true; MWConfig_EnterUnsafeTP = true; NTConfig_PreBuff = true;	NTConfig_Leader = "SSSSmite";												// If the Leecher should go to a WP and buff up before he goes into the TP. (Needs River of Flame WP for Diablo and Frigid Highlands WP for Baal)
	MWConfig_Script.push(["NTBaalLeechFight.ntj", 10]); NTConfig_KillBaal = true; MWConfig_DoBaalPreAttack = true; MWConfig_EnterUnsafeTP = true; NTConfig_Leader = "SSSSmite";
	MWConfig_Script.push(["NTPit.ntj", 10]); MWConfig_ClearPathSpectypes.Pit = 0; MWConfig_ClearAreaSpectypes.Pit = 0x01; NTConfig_ClearPitLevel1 = 0; // 0 : don't clear, 1 : clear path only, 2 : clear all
		

	// *****************************************************
	
	//------------------------------------------------------------------------------
	// Available Scripts
	//------------------------------------------------------------------------------
	/* NOTE:
	// The scripts below are actually commented out; to add a script, copy one of the lines below and add it to the current schedule above. ;)
	// You should also get yourself a decent editor that supports syntax highlighting for JavaScript, I'd recommend Notepad++. (http://notepad-plus-plus.org/download/)
	// *********************** Act I ***********************
	
	MWConfig_Script.push(["NTMausoleum.ntj", 10]); MWConfig_ClearPathSpectypes.Mausoleum = 0; MWConfig_ClearAreaSpectypes.Mausoleum = 0x01; NTConfig_KillBloodRaven = true;
	MWConfig_Script.push(["NTTristram.ntj", 10]); NTConfig_KillRakanishu = true;
	MWConfig_Script.push(["NTHole.ntj", 10]); MWConfig_ClearPathSpectypes.Hole = 0; MWConfig_ClearAreaSpectypes.Hole = 0x01; NTConfig_ClearHoleLevel1 = 1; // 0 : don't clear, 1 : clear path only, 2 : clear all
	MWConfig_Script.push(["NTTreehead.ntj", 10]);
	MWConfig_Script.push(["MWColdcrow.ntj", 10]); MWConfig_ClearCaveMode = 0; // 0: Only kill coldcrow; 1: Clear Cave Level 1; 2: Clear both Cave Level 1 & 2
	MWConfig_Script.push(["NTCountess.ntj", 5]); MWConfig_ClearPathSpectypes.Countess = 0; MWConfig_ClearAreaSpectypes.Countess = 0;
	MWConfig_Script.push(["NTPit.ntj", 10]); MWConfig_ClearPathSpectypes.Pit = 0; MWConfig_ClearAreaSpectypes.Pit = 0x01; NTConfig_ClearPitLevel1 = 2; // 0 : don't clear, 1 : clear path only, 2 : clear all
	MWConfig_Script.push(["NTAndariel.ntj", 10]);
	
	// *********************** Act II **********************
	
	MWConfig_Script.push(["NTRadament.ntj", 10]); MWConfig_ClearPathSpectypes.Radament = 0;
	MWConfig_Script.push(["MWMaggotsLair.ntj", 10]); MWConfig_ClearPathSpectypes.MaggotsLair = 0; MWConfig_ClearAreaSpectypes.MaggotsLair = 0x01;
	MWConfig_Script.push(["NTAncientTunnels.ntj", 10]); MWConfig_ClearPathSpectypes.AncientTunnels = 0; MWConfig_ClearAreaSpectypes.AncientTunnels = 0x01;
	MWConfig_Script.push(["NTSummoner.ntj", 5]); NTConfig_KillFireEye = false; MWConfig_ClearPathSpectypes.Summoner = 0;
	MWConfig_Script.push(["NTDuriel.ntj", 10]); MWConfig_ClearPathSpectypes.Duriel = 0;
	
	// ********************** Act III **********************
	
	MWConfig_Script.push(["MWFlayerJungle.ntj", 10]); MWConfig_ClearAreaSpectypes.FlayerJungle = 0x01;
	MWConfig_Script.push(["MWKurastSewers.ntj", 5]); MWConfig_ClearPathSpectypes.KurastSewers = 0;
	MWConfig_Script.push(["MWKurastTemples.ntj", 5]) MWConfig_ClearPathSpectypes.KurastTemples = 0; MWConfig_ClearAreaSpectypes.KurastTemples = 0x01;
	MWConfig_Script.push(["NTTravincal.ntj", 5]);
	MWConfig_Script.push(["NTMephisto.ntj", 5]); MWConfig_OpenMephistoChest = true; MWConfig_MephistoClearArea = true;
	
	// *********************** Act IV **********************
	
	MWConfig_Script.push(["NTIzual.ntj", 5]); MWConfig_ClearPathSpectypes.Izual = 0;
	MWConfig_Script.push(["MWRiverOfFlame.ntj", 10]); MWConfig_ClearAreaSpectypes.RiverOfFlame = 0x01;
	MWConfig_Script.push(["NTHephasto.ntj", 10]); MWConfig_ClearPathSpectypes.Hephasto = 0;
	MWConfig_Script.push(["NTDiablo.ntj", 10]); MWConfig_KillFullInfectorMob = true; MWConfig_StartAtStar = false; MWConfig_IgnoreSealOpeningErrors = false; MWConfig_FastDia = true;
	
	// *********************** Act V ***********************
	
	MWConfig_Script.push(["MWAbbadon.ntj", 10]); MWConfig_ClearPathSpectypes.Abbadon = 0; MWConfig_ClearAreaSpectypes.Abbadon = 0x01;
	MWConfig_Script.push(["MWPitOfAcheron.ntj", 10]); MWConfig_ClearPathSpectypes.PitOfAcheron = 0; MWConfig_ClearAreaSpectypes.PitOfAcheron = 0x01;
	MWConfig_Script.push(["MWInfernalPit.ntj", 10]); MWConfig_ClearPathSpectypes.InfernalPit = 0; MWConfig_ClearAreaSpectypes.InfernalPit = 0x01;
	MWConfig_Script.push(["MWHallsOfPain.ntj", 15]); MWConfig_ClearAreaSpectypes.HallsOfPain = 0x01; MWConfig_ClearHallsOfAnguish = true;
	MWConfig_Script.push(["NTPindleskin.ntj", 5]); NTConfig_NihlathakExtension = false; MWConfig_SkipOnTombVipers = true;
	MWConfig_Script.push(["NTEldritch.ntj", 5]); NTConfig_ShenkExtension = true;
	MWConfig_Script.push(["NTThreshSocket.ntj", 5]); MWConfig_ClearPathSpectypes.ThreshSocket = 0;
	MWConfig_Script.push(["NTFrozenRiver.ntj", 10]); MWConfig_ClearPathSpectypes.FrozenRiver = 0; MWConfig_ClearAreaSpectypes.FrozenRiver = 0x01;
	MWConfig_Script.push(["NTGlacialTrail.ntj", 10]); MWConfig_ClearPathSpectypes.GlacialTrail = 0; MWConfig_ClearAreaSpectypes.GlacialTrail = 0x01; 
	MWConfig_Script.push(["NTIcyCellar.ntj", 5]); MWConfig_ClearPathSpectypes.IcyCellar = 0; MWConfig_ClearAreaSpectypes.IcyCellar = 0x01;
	MWConfig_Script.push(["NTNihlathak.ntj", 5]); MWConfig_ClearPathSpectypes.Nihlathak = 0; NTConfig_PindleskinExtension = false; MWConfig_SkipOnTombVipers = true;
	MWConfig_Script.push(["MWWorldstoneKeep.ntj", 10]); MWConfig_ClearAreaSpectypes.WorldstoneKeep = 0x01; MWConfig_SkipLevelOnWitches = true; MWConfig_SkipLevelOnSouls = false; MWConfig_SkipLevelOnDeathLords = true;
	MWConfig_Script.push(["NTBaal.ntj", 10]); NTConfig_KillBaal = true; MWConfig_SkipBaalOnDolls = true; MWConfig_SkipBaalOnSouls = false; MWConfig_DoBaalPreAttack = true;
	
	// *********************** Misc ************************
	
	MWConfig_Script.push(["MWAuraStack.ntj", 10]); MWConfig_StackRepetitions = 100;
	MWConfig_Script.push(["MWSuperChests.ntj", 20]); MWConfig_SuperChestClearAreaRadius = 10; MWConfig_SuperChestAreas = ["Cave Level 2", "Mausoleum", "Hole Level 2", "Pit Level 2", "Sewers Level 3", "Halls of the Dead Level 2", "Stony Tomb Level 2", "Maggot's Lair Level 3", "Ancient Tunnels", "Tal Rasha's Tomb", "Arachnid Lair", "Swampy Pit Level 3", "Flayer Dungeon", "Sewers Level 2", "Abbadon", "Pit of Acheron", "Drifter Cavern", "Infernal Pit", "Icy Cellar", "Halls of Pain"];
	MWConfig_Script.push(["MWRush.ntj", 0]); MWConfig_IsRusher = true; MWConfig_ActiveQuestersName = ""; MWConfig_NumberOfCharsToRush = 1; MWConfig_GetHoradricCubesInNorm = true; MWConfig_QuestSchedule = ["A4Q1", "A5Q1"]; MWConfig_RushActs = [1, 2, 3, 4, 5]; 
	MWConfig_Script.push(["MWWaypointCatcher.ntj", 0]); MWConfig_WaypointCatcherActs = [1, 2, 3, 4, 5]; MWConfig_TPWaypoints = true; MWConfig_SkipHallsOfPain = true; MWConfig_ClearWaypointPaths = false; 
	MWConfig_Script.push(["MWIdleMode.ntj", 0]); MWConfig_IdleModeRuntime = 5; // Runtime in Minutes
	MWConfig_Script.push(["NTCows.ntj", 10]);
	MWConfig_Script.push(["MWBloodyRejuvs.ntj", 10]);
	MWConfig_Script.push(["MWOrganHarvest.ntj", 10]); MWConfig_EnterInvalidUberPortals = true; MWConfig_PauseOnLackOfKeys = false; MWConfig_IntendedUberPortal = 0; // Matron's Den: 133; Forgotten Sands: 134; Furnace Of Pain: 135;
	MWConfig_Script.push(["MWUberTristram.ntj", 10]); MWConfig_PauseOnLackOfOrgans = false;
	MWConfig_Script.push(["MWAnyasBargain.ntj", 10]); MWConfig_ShoppingMinGold = 500000; MWConfig_ShoppingAttempts = 200;
	
	// ************ Leech and friends by lanara ************

	MWConfig_Script.push(["NTDiabloLeechFight.ntj", 10]); MWConfig_StartAtStar = true; MWConfig_EnterUnsafeTP = true; NTConfig_PreBuff = true;	NTConfig_Leader = "LeaderNameGoesHere";												// If the Leecher should go to a WP and buff up before he goes into the TP. (Needs River of Flame WP for Diablo and Frigid Highlands WP for Baal)
	MWConfig_Script.push(["NTBaalLeech.ntj", 10]); NTConfig_KillBaal = true; MWConfig_EnterUnsafeTP = false; NTConfig_Leader = "LeaderNameGoesHere";
	MWConfig_Script.push(["NTBaalLeechFight.ntj", 10]); NTConfig_KillBaal = true; MWConfig_DoBaalPreAttack = true; MWConfig_EnterUnsafeTP = true; NTConfig_Leader = "LeaderNameGoesHere";
	
	*/
	//------------------------------------------------------------------------------
	// Misc Configuration
	//------------------------------------------------------------------------------
	
	NTConfig_SkipHealLife = 90;		// If you have more than this percent of life, you won't go to a healer.
	NTConfig_SkipHealMana = 70;		// If you have more than this percent of mana, you won't go to a healer
	NTConfig_UseMerc = true;		// Set to true if you use a mercenary, will revive merc at a reviver npc.
	MWConfig_ResetArmor = false;	// Set to true to reset your Enigma if Teleport skill is missing. WARNING: Activating this feature may - though not likely will - result in the loss of your enigma. Use at your own risk!

	//------------------------------------------------------------------------------
	// Potion Configuration
	//------------------------------------------------------------------------------
	
	NTConfig_LifeThresh = 70;		// Drink a normal potion if under this percent of life.
	NTConfig_LifeRejuvThresh = 60;	// Drink a rejuvenation potion if under this percent of life.
	NTConfig_ManaThresh = 30;		// Drink a normal potion if under this percent of mana.
	NTConfig_ManaRejuvThresh = 1;	// Drink a rejuvenation potion if under this percent of mana.
	
	NTConfig_MercLifeThresh = 50;	// This is the threshold to use a life potion on your merc in percent.
	NTConfig_MercRejuvThresh = 30;	// This is the threshold to use a rejuv potion on your merc in percent.
	
	//------------------------------------------------------------------------------
	// Chicken Configuration
	//------------------------------------------------------------------------------
	
	// This is your chicken life. If you go below this threshhold, your char will exit the game. You can either enter a percentage (1-100), an absolute threshold (>100) or 0 to deactivate life chicken.
	NTConfig_LifeChicken = 30;
	// This is your chicken mana. If you go below this threshhold, your char will exit the game. You can either enter a percentage (1-100), an absolute threshold (>100) or 0 to deactivate mana chicken.
	NTConfig_ManaChicken = 0;
	// This is your merc's chicken life in percent. If your merc goes below this threshhold, your char will exit the game.
	NTConfig_MercChicken = 0;
	// Whether or not to disable chicken when you pause the bot.
	MWConfig_DisableChickenOnPause = true;
	
	//------------------------------------------------------------------------------
	// Inventory Configuration
	//------------------------------------------------------------------------------

	// Each number represents a slot in your inventory.
	// Set to 0 if the slot and its content must not be touched.
	// Set to 1 to allow access to this slot.
	// Set to 2 to select the slot that is used for storing keys. (if keys are kept at another slot, your char will try to move them)
	NTConfig_Columns[0] = [0,1,1,1,1,0,0,0,0,0];
	NTConfig_Columns[1] = [0,1,1,1,1,0,0,0,0,0];
	NTConfig_Columns[2] = [0,1,1,1,1,0,0,0,0,0];
	NTConfig_Columns[3] = [0,1,1,1,1,2,0,0,0,0];
	
	// Number of free columns. If less full columns are free stashing is set. Call SetFreeColumns(NTConfig_Columns) to always stash right away (recommended).
	NTConfig_FreeSpace = SetFreeColumns(NTConfig_Columns);

	// Maximum gold amount carried before going to stash.
	NTConfig_MinGoldToStash = 100000;
	
	// Set to true if your char is supposed to carry, buy and pick up keys. You do not need to add keys to your .nip files, they will be picked up anyway if this is set to true.
	MWConfig_CarryKeys = true;

	//------------------------------------------------------------------------------
	// Belt Configuration
	//------------------------------------------------------------------------------
	

	// Available types : "hp" = health, "mp" = mana, "rv" = rejuvenation.
	// Define how many columns are used for each potion type.
	MWConfig_BeltColType["hp"].Columns = 1;
	MWConfig_BeltColType["mp"].Columns = 1;
	MWConfig_BeltColType["rv"].Columns = 2;
	
	// Define minimum number of potions per column. If the actual number of potions in a column is below this value, your char will visit a merchant when in town in order to buy potions.
	MWConfig_BeltColType["hp"].MinPots = 3;
	MWConfig_BeltColType["mp"].MinPots = 3;
	
	// Visit Town and buy potions if your char lacks mana when trying to loot a corpse or teleport.
	MWConfig_BuyPotionsOnLackOfMana = true;
	
	// Set to true to replace low quality potions with higher quality potions that just dropped.
	MWConfig_ReplaceLowQualityPotions = true;

	//-----------------------------------------------------------------------------------
	// NipFile Configuration
	//-----------------------------------------------------------------------------------
	
	NTConfig_NIPFilePath.push("private/normal.nip");
	NTConfig_NIPFilePath.push("private/magic_rare.nip");
	NTConfig_NIPFilePath.push("private/set.nip");
	NTConfig_NIPFilePath.push("private/unique.nip");
	NTConfig_NIPFilePath.push("private/craft.nip");
	NTConfig_NIPFilePath.push("private/temp.nip");
	
	//------------------------------------------------------------------------------
	// Pickit Configuration
	//------------------------------------------------------------------------------
	
	// Radius to check for dropped items. NOTE: The maximum is at about ~75, entering higher values will not have any effect.
	NTConfig_SnagRange = 70;
	
	// Set to true to check for dropped items whenever you kill a monster. (Recommended value to avoid crashes: false)
	MWConfig_PickItemsInstantly = false;
	
	//------------------------------------------------------------------------------
	// Chest Configuration
	//------------------------------------------------------------------------------
	
	// Select which containers shall be looted. 0: None; 1: Super Chests, 2: All
	MWConfig_OpenContainerMode = 2;
	
	// Set to true to check for dropped items right after opening a chest. NOTE: This will slow down your runs and therefore should definately be set to false when doing private games.
	MWConfig_PickChestLootsInstantly = false;
	
	// This is the range being checked for chests after clearing an area or room. NOTE: You should not set this too high, 30 is a good value.
	MWConfig_OpenChestsRange = 30;
	
	// If you do not like to open chests in a certain area, you can its areaid as an exception below. NOTE: All areaids can be found in "sdk\areas.txt".
	// MWConfig_ChestExceptions.push(<areaid1>, <areaid2>, <areaidn>);

	//------------------------------------------------------------------------------
	// Cubing Configuration
	//------------------------------------------------------------------------------
	
	// Set to true to enable cubing and crafting. NOTE: The recipes are added in the global config by default. If you like to craft certain recipe only using this very char, add those recipes below.
	NTConfig_Cubing = true;
	
	//------------------------------------------------------------------------------
	// General Configuration
	//------------------------------------------------------------------------------
	
	// Set to true to activate public mode. By activating public mode, your char will form a party, open TPs and do some chat outputs when running certain bot scripts.
	NTConfig_PublicMode = true;

	// 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 = false;
	
	// Set to true to exit the game when another player expresses hostility towards you.
	me.quitonhostile = true;
	
	// This is the maximum time in seconds your char will remain in a single game. Set to 0 to stay in game infinitely.
	me.maxgametime = 6000;
	
	// This is the minimum time in seconds for your char to remain in a single game. Your char will not exit the game before this time elapsed.
	me.mingametime = 0;

	// Set to true to use Telekinesis to interact tih certain objects
	MWConfig_UseTelekinesis = true;
	
	//------------------------------------------------------------------------------
	// Automule Configuration
	//------------------------------------------------------------------------------	

	// Set to true to enable auto mule.
	MWConfig_Automule.Activated = false;

	// The maximum stash load in percent before auto mule is triggered.
	MWConfig_Automule.MaxLoad = 95;

	// Set to true to show your stash's current load whenever managing stash.
	MWConfig_Automule.ShowCurrentLoad = true;

	// Set to true to finish your current game before muling, otherwise the game is left right away in case your stash is full.
	MWConfig_Automule.FinishGame = true;

	// Define which items are not to be touched when muling.
	MWConfig_Automule.DontMule.push("mule/dont_mule.nip");
	MWConfig_Automule.DontMule.push("mule/gems.nip");

	//------------------------------------------------------------------------------
	// Shrine Configuration
	//------------------------------------------------------------------------------
	
	// Set to true to activate nearby shrines. Shrines will only be activated if it is actually useful.
	MWConfig_ActivateNearbyShrines = true;
	
	// If you would like to skip shrines in a certain area, you can its areaid as an exception below. NOTE: All areaids can be found in "sdk\areas.txt".
	// MWConfig_ShrineExceptions.push(<areaid1>, <areaid2>, <areaidn>);
	
	//------------------------------------------------------------------------------
	// Precast Configuration
	//------------------------------------------------------------------------------
	
	// Your precast skills can be defined in the array below. NOTE: Battle Command, Battle Orders and Shout will be cast automatically. Constants for all skill ids can be found in "scripts\libs\common\MWSkills.ntl".
	MWConfig_PrecastSkills = [MWS_SHIVER_ARMOR, MWS_ENCHANT];
	
	// Set this to true if you would like to switch slots right after casting BC, BO and Shout. If set to false, your char will remain with the BO Slot until the whole precast procedure is done.
	MWConfig_SwitchSlotsAfterBoPrecast = true;
	
	//------------------------------------------------------------------------------
	// Attack Configuration
	//------------------------------------------------------------------------------
	
	// Specify your attack skills below. NOTE: Constants for all skill ids can be found in "scripts\libs\common\MWSkills.ntl".
	NTConfig_AttackSkill[0] = 49;	// Cast your first spell once. Set to 0 if you won't
	NTConfig_AttackSkill[1] = 49;	// Cast your primary spell to boss.
	NTConfig_AttackSkill[2] = 53;	// Cast your primary spell to others.
	NTConfig_AttackSkill[3] = 0;	// Cast your primary untimed spell if primary spell is timed spell. Set to 0 if you won't
	NTConfig_AttackSkill[4] = 0;	// Cast your secondary spell if monster is immune to your primary spell. Set to 0 if you won't
	NTConfig_AttackSkill[5] = 0;	// Cast your secondary untimed spell if secondary spell is timed spell. Set to 0 if you won't
		

	// Set to true if you want to clear area after killing boss. NOTE: This only affects a few botscripts.
	NTConfig_ClearPosition = true;
	
	// Set to true to clear area when killing a boss and the position is crowded by monsters. NOTE: Setting this to true may cause NTA_KillMonster() to fail way more often.
	MWConfig_ClearBossPosition = false;
	
	// This is the number of attacks to be performed before the the character tries to move to another position. Set to 0 not to reposition.
	MWConfig_AttacksBeforeRepositioning = 50;

	// Define a time limit for your attacks for each type of monster.
	MWConfig_AttackTimeLimit[0] = 20;	// Maximum time in seconds to attack a normal monster
	MWConfig_AttackTimeLimit[1] = 120;	// Maximum time in seconds to attack a super unique monster
	MWConfig_AttackTimeLimit[2] = 30;	// Maximum time in seconds to attack a champion
	MWConfig_AttackTimeLimit[3] = 120;	// Maximum time in seconds to attack a bosse
	MWConfig_AttackTimeLimit[4] = 30;	// Maximum time in seconds to attack a minion
	
	// 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 = [];
	
	// 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 = 0;
	
	NTConfig_AttackSkill[8] = 49;		// Skill to be used against user defined immunes.
	NTConfig_AttackSkill[9] = 49;	// Untimed Skill to be used against user defined immunes.
	
	// Always check if monsters are closing in and back off, in case they get too close. NOTE: You should at least have 105FCR in order to make this work smoothly.
	MWConfig_KeepDistanceToMonsters = true;
	// If you don't wish to evade monsters in a certain area, add it's areaid as an exception below. NOTE: All areaids can be found in "sdk\areas.txt".
	// MWConfig_EvasionExceptions.push(<areaid1>, <areaid2>, <areaidn>);
	
	// Select whether or not you'd like to swap slots right before killing a boss in order to benefit from some extra MF in your second slot. 
	// The first element can either be the classid of the target or its name (case insensitive), second element is the life threshold in percent.
	//MWConfig_SlotSwapMonsters.push([156, 50]); // Andariel, 50%
	//MWConfig_SlotSwapMonsters.push([211, 20]); // Duriel, 20%
	//MWConfig_SlotSwapMonsters.push([242, 20]); // Mephisto, 20%
	//MWConfig_SlotSwapMonsters.push([243, 20]); // Diablo, 20%
	//MWConfig_SlotSwapMonsters.push([544, 15]); // Baal, 15%
	
	// Check self safe in field (NOT in town). Set to 0 if you won't.
	// 0x01 : Potion
	// 0x02 : Poison
	// 0x04 : Amplify Damage
	// 0x08 : Weaken
	// 0x10 : Iron Maiden
	// 0x20 : Decrepify
	// 0x40 : Lower Resist
	NTConfig_CheckSelfSafe = 0;
	
	// Check merc's safe in field (NOT in town). Set to 0 if you won't.
	// 0x01 : Death
	// 0x02 : Poison
	// 0x04 : Amplify Damage
	// 0x08 : Weaken
	// 0x10 : Iron Maiden
	// 0x20 : Decrepify
	// 0x40 : Lower Resist
	NTConfig_CheckMercSafe = 0x01;


	// Cast Static Field until monster's HP lower below this percentage. Set to 100 not to use static field.
	NTConfig_CastStatic = 60;
	
	// Select the monsters you with to attack using static field. NOTE: If you do not add any monsters, static will be used against all monsters.
	MWConfig_StaticTargets.push(156); // Andariel
	MWConfig_StaticTargets.push(211); // Duriel
	MWConfig_StaticTargets.push(242); // Mephisto
	MWConfig_StaticTargets.push(243); // Diablo
	MWConfig_StaticTargets.push(544); // Baal
	MWConfig_StaticTargets.push(GetLocaleString(22500)); // Eldritch The Rectifier
	MWConfig_StaticTargets.push(GetLocaleString(22435)); // Shenk The Overseer
}
was ist daran falsch -.-
acc name in der ntbotleech ist richtig -.-
wayne2007 is offline  
Old 08/22/2011, 16:25   #2
 
xdoddestroyer's Avatar
 
elite*gold: 20
Join Date: Feb 2009
Posts: 3,100
Received Thanks: 922
versuch es mal bitte in muddys thread!



MFG

xdod
xdoddestroyer is offline  
Old 08/22/2011, 18:18   #3
Administrator
 
Muddy Waters's Avatar
 
elite*gold: 41624
Join Date: Jan 2010
Posts: 22,728
Received Thanks: 12,654
Beim nächsten mal reicht dann ein post im passenden Thema, Multithreads sind hier nämlich weder erlaubt, noch gern gesehen. Da du noch neu bist, spare ich mir die Warnung mal.

LG
Muddy
Muddy Waters is offline  
Closed Thread


Similar Threads Similar Threads
Muddys D2NT leecher kommt nicht ins game...
08/22/2011 - Diablo 2 Programming - 1 Replies
hey leute,.... ich kriege den bot nicht zum laufen... der leader geht ins game und fängt an mit dem run... der cofighter/leecher geht in den chat checkt einmal die friendslist und sonst passiert nichts mehr.... hier die nobotleech: /** * This file was modified by [email protected] and [email protected] * Check the programming section for updates and further scripts * Last Update: 15:34 20.08.2011 */
D2NT Leader,Leecher
07/05/2011 - Diablo 2 - 2 Replies
hey bei dem baalbot für dummies habe ich im script gesehen das der leader seine eigene pickit hat..ich würde aber gerne das der leader viele andere sachen aufhebt.. kann man das in die wege leiten,weil ich alleine botte mfg
Frage zu Muddys Pickit D2nt
04/23/2011 - Diablo 2 - 3 Replies
hallo jungs also ich hab das problem das, wenn mein bot blaue items aufhebt das er dann manchmal das game left und beim ng wieder das game leaft weil er nicht weiß was er mit dem blauen item machen soll obwohl ich die magic/rare picktig rausgenommen hab hebt er immernoch blue items auf und crasht dann ich habs probiert mit alle magic sachen aus dem ordner löschen geht aber auch nicht
D2NT Leechbot - Leader lädt Leecher nicht ein.
08/21/2010 - Diablo 2 - 4 Replies
Genau so ist es.. Mein Leader (HDin) lädt meinen Co-leecher (Sorc) nicht ein. Nach einer Zeit verlässt sie das Game. Wenn ich sie nun manuell einlade tritt sie automatisch der Party bei, und von da an läuft alles super, kein Problem! Lade ich sie im nächsten Game jedoch wieder nicht manuell ein, tut der Leader wieder nichts, und sie verlässt das Game nach einer Zeit.. Was kann ich tun? :S D2forster



All times are GMT +1. The time now is 19:35.


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.