Register for your free account! | Forgot your password?

Go Back   elitepvpers › Other Online Games › Diablo 2
You last visited: Today at 23:49

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

Advertisement



Probleme mit Baalleechfight (d2nt by muddys)

Discussion on Probleme mit Baalleechfight (d2nt by muddys) within the Diablo 2 forum part of the Other Online Games category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2012
Posts: 3
Received Thanks: 0
Probleme mit Baalleechfight (d2nt by muddys)

habe aus dem FAQ die anleitung benutzt aber es funktioniert einfach absolut nicht.

Mein Leechfighter joint das game und verlässt es sofort...!

hier die char config

Code:
/**
*	This file was modified by 
*	Check the programming section for updates and further scripts
*	Last Update: 23:10 29.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(["NTAndariel.ntj", 5]);
	MWConfig_Script.push(["NTMausoleum.ntj", 10]); MWConfig_ClearPathSpectypes.Mausoleum = 0; MWConfig_ClearAreaSpectypes.Mausoleum = 0x01; NTConfig_KillBloodRaven = true;
	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(["NTCountess.ntj", 5]); MWConfig_ClearPathSpectypes.Countess = 0; MWConfig_ClearAreaSpectypes.Countess = 0;
	MWConfig_Script.push(["NTSummoner.ntj", 5]); NTConfig_KillFireEye = false; MWConfig_ClearPathSpectypes.Summoner = 0;
	MWConfig_Script.push(["NTAncientTunnels.ntj", 10]); MWConfig_ClearPathSpectypes.AncientTunnels = 0x01; MWConfig_ClearAreaSpectypes.AncientTunnels = 0x01;
	MWConfig_Script.push(["MWKurastSewers.ntj", 5]); MWConfig_ClearPathSpectypes.KurastSewers = 0;
	MWConfig_Script.push(["NTTravincal.ntj", 5]);
	MWConfig_Script.push(["NTMephisto.ntj", 5]); MWConfig_OpenMephistoChest = true; MWConfig_MephistoClearArea = false;
	MWConfig_Script.push(["MWSuperChests.ntj", 20]); MWConfig_SuperChestClearAreaRadius = 5; MWConfig_SuperChestAreas = ["Arachnid Lair", "Swampy Pit Level 3", "Flayer Dungeon", "Abbadon", "Pit of Acheron", "Drifter Cavern", "Infernal Pit", "Icy Cellar"];
	MWConfig_Script.push(["NTNihlathak.ntj", 5]); MWConfig_ClearPathSpectypes.Nihlathak = 0; NTConfig_PindleskinExtension = false; MWConfig_SkipOnTombVipers = true;
	MWConfig_Script.push(["NTBaal.ntj", 10]); NTConfig_KillBaal = true; MWConfig_SkipBaalOnDolls = true; MWConfig_SkipBaalOnSouls = false; MWConfig_DoBaalPreAttack = true;
	MWConfig_Script.push(["NTDiablo.ntj", 10]); MWConfig_KillFullInfectorMob = true; MWConfig_StartAtStar = false; MWConfig_IgnoreSealOpeningErrors = false; MWConfig_FastDia = true;
	MWConfig_Script.push(["NTBaalLeechFight.ntj", 10]); NTConfig_KillBaal = true; MWConfig_DoBaalPreAttack = true; MWConfig_EnterUnsafeTP = true; NTConfig_Leader = "der charname von meinen Leecherbot";
	
	// *****************************************************
	
	//------------------------------------------------------------------------------
	// 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; MWConfig_ClearPathSpectypes.Baal = 0;
	
	// *********************** Misc ************************
	
	MWConfig_Script.push(["MWAuraStack.ntj", 10]); MWConfig_StackRepetitions = 100; MWConfig_ResetMercWeaponAfterStacking = false;
	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_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_PauseOnKeptTorch = 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; MWConfig_IgnoreSealOpeningErrors = true; NTConfig_Leader = "LeaderNameGoesHere";
	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 = "der charname von meinen Leaderbot";
	
	*/
	//------------------------------------------------------------------------------
	// 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.

	// Exit game or to reset your Enigma if Teleport skill is missing (due to identifying an item having +x to Teleport [Sorceress only]). WARNING: Activating this feature may - though not likely will - result in the loss of your enigma. Use at your own risk and make sure your char has sufficient strength!
	// 0: Don't do anything; 1: Reset armor; 2: Exit game
	MWConfig_ResetArmorMode = 0;

	//------------------------------------------------------------------------------
	// 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] = [1,1,1,1,1,1,2,0,0,0];
	NTConfig_Columns[1] = [1,1,1,1,1,1,0,0,0,0];
	NTConfig_Columns[2] = [1,1,1,1,1,1,0,0,0,0];
	NTConfig_Columns[3] = [1,1,1,1,1,1,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 = false;

	// 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;
	
	// Set to true to exit the game when another player expresses hostility towards you.
	me.quitonhostile = false;
	
	// 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 = 3000;
	
	// 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;

	// Use Telekinesis to interact with certain objects. 0: Don't use Telekinesis; 1: Item pick up only; 2: Items and containers; 3: Whenever possible
	MWConfig_UseTelekinesisMode = 2;
	
	//------------------------------------------------------------------------------
	// 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;
	
	// Set this to true to force your bot to swap slots before precast. In case you are using CTA, set this to false.
	MWConfig_SwitchSlotsForPrecast = false;
	
	//------------------------------------------------------------------------------
	// 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] = MWS_METEOR;			// This skill is used once whenever attacking a new target. Set to -1 to deactivate.
	NTConfig_AttackSkill[1] = MWS_FROZEN_ORB;		// Primary skill to bosses.
	NTConfig_AttackSkill[2] = MWS_FIRE_BALL;		// Primary untimed skill to boss. Set to -1 to deactivate.
	NTConfig_AttackSkill[3] = MWS_FROZEN_ORB;		// Primary skill to others.
	NTConfig_AttackSkill[4] = MWS_FIRE_BALL;		// Primary untimed skill to others. Set to -1 to deactivate.
	NTConfig_AttackSkill[5] = MWS_METEOR;			// Secondary skill in case monster is immune to primary skill. Set to -1 to deactivate.
	NTConfig_AttackSkill[6] = MWS_FIRE_BALL;		// Secondary untimed skill. Set to -1 to deactivate.
	NTConfig_AttackSkill[7] = MWS_ICE_BLAST;		// Alternative untimed skill which is used if the target is immune to your untimed skill - mostly useful for FB/FO/Meteor sorcs or other sorcs that are using the same untimed skills. Set to -1 to deactivate.

	// 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 = 1;
	
	NTConfig_AttackSkill[8] = -1;		// Skill to be used against user defined immunes.
	NTConfig_AttackSkill[9] = -1;	// 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
}
hier die baalleechfight ntj datei

Code:
/**
*	This file was modified by  and 
*	Check the programming section for updates and further scripts
*	Last Update: 14:33 04.09.2011
*/

var _MWB_LastWave = 0;
var _AllowedToEnterTP = true;

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

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

	MWC_Initialize();
	
	RegisterEvent(EVENT_GAMEMSG, NT_GameMsgEvents);
	
	var i;
	var _wave, _monsterCount, _starttick, _loops, _placedTraps, _portal, _owner;
	
	if(!NTTM_CheckAct(5, true))
	{
		NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 27, 5, true);
		return;
	}

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

		if(!NTM_TakeWaypoint(111))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTM_TakeWaypoint, 43, 111);
			return;
		}
		
		NTP_DoPrecast(true);
	
		if(!NTTM_CheckAct())
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTTM_CheckAct, 51);
			return;
		}
	}
	
	NTTM_TownMove("portalspot");

	for(i = 0; i <= 200; i++)
	{
		if(NTC_InMyParty(NTConfig_Leader))
			break;
		
		if(!NTConfig_Leader)
		{
			_portal = NTM_FindPortalAreaInt(131, 0);
			
			if(_portal != -1)
			{
				_owner = _portal.GetParent();
				
				if(_owner && !NTC_InMyParty(_owner))
					NTConfig_Leader = _owner;
			}
		}

		NTC_Delay(200);
	}
	
	if(MWConfig_EnterUnsafeTP)
		_AllowedToEnterTP = true;

	while(NTC_InTown() && NTC_InMyParty(NTConfig_Leader))
	{
		if(_AllowedToEnterTP)
			NTM_UsePortal("BluePortal", 131, NTConfig_Leader);
			
		NTC_Delay(500);
	}
	
	_monsterCount = MW_CountMonstersInThrone(20, true);
	
	if(_monsterCount > 3)
		NTA_ClearPosition(20, true, 2);
		
	NTP_DoPrecast(false);
		
	NT_ClearThroneInt();

	while(NTC_InMyParty(NTConfig_Leader))
	{
		if(me.classid == NTC_CHAR_CLASS_PALADIN || me.classid == NTC_CHAR_CLASS_BARBARIAN)
			NTM_MoveTo(me.areaid, 15092, 5028);
		else
			NTM_MoveTo(me.areaid, 15092, 5044);
			
		if(_wave == 1)
			NTP_DoPrecast(true);	

		if(me.classid == NTC_CHAR_CLASS_PALADIN && !MWC_CheckForExpShrineUsers())
			NTC_PutSkill(109, NTC_HAND_RIGHT);

		for(i = 0; i < 6; i++)
		{
			_wave = NT_ThroneCheckInt();
			
			if(_wave > 0 || me.classid == NTC_CHAR_CLASS_ASSASSIN)
				break;

			NTC_Delay(500);
		}

		_starttick = GetTickCount();

		_placedTraps = false;
		
		while(_wave == 0)
		{
			_wave = NT_ThroneCheckInt();
			
			if(_placedTraps || !NT_ThronePreAttackInt())
				NTC_Delay(200);
			else if(me.classid == NTC_CHAR_CLASS_ASSASSIN)
				_placedTraps = true;

			if(GetTickCount() - _starttick > 15000)
			{
				NT_ClearThroneInt();

				_starttick = GetTickCount();
			}
		}
		
		_MWB_LastWave = _wave;
		
		switch(_wave)
		{
			case 1:
				NTA_ClearPosition(40, true, 1);
				break;
			case 3:
				NTA_ClearPosition(40, true, 2);
				NT_CheckHydraInt();
				break;
			case 4:
				NTA_ClearPosition(40, true, 2);
				break;
			case 5:
				NTA_ClearPosition(40, true);
				break;
			default:
				NTA_ClearPosition(40, true, 1);
				break;
		}

		if(_wave == 5)
			break;
			
		NTP_DoPrecast(false);
	}

	if(NTConfig_KillBaal)
	{
		var _portal;

		if(!NTTMGR_CheckSafe(NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTTMGR_CheckSafe, 177, NTConfig_CheckSelfSafe, NTConfig_CheckMercSafe);
			return;
		}
		
		NTM_MoveTo(me.areaid, 15092, 5010);

		NTP_DoPrecast(true);

		for(i = 1; i <= 120; i++)
		{
			if(!NTC_FindUnit(NTC_UNIT_MONSTER, 543))
				break;
		
			NTC_Delay(500);
			
			if(i % 30 == 0)
			{
				NT_ClearThroneInt();

				NTM_MoveTo(me.areaid, 15092, 5010);
			}
		}
		
		if(i > 120)
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTC_FindUnit, 189, NTC_UNIT_OBJECT, 543);
			return;
		}
		
		_portal = NTC_FindUnit(NTC_UNIT_OBJECT, 563, 1);

		if(!_portal)
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTC_FindUnit, 208, NTC_UNIT_OBJECT, 563, 1);
			return;
		}

		if(!NTM_UsePortal("Portal", 132, null, _portal))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTM_UsePortal, 216, "Portal", 132, null, _portal);
			return;
		}

		NTM_MoveTo(me.areaid, 15138, 5916);

		if(!NTA_KillMonster(544))
		{
			NTC_SendMsgToScript("MWBotGame.ntj", NTA_KillMonster, 224, 544);
			return;
		}

		NTSI_PickItems();
	}

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

// Internal function
function NT_ClearThroneInt()
{
	var _attackpos = [15112, 5068, 15075, 5065, 15114, 5045, 15114, 5012, 15095, 5024, 15078, 5013, 15092, 5040];

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

		NTA_ClearPosition(30, true, 2);
	}
}

function NT_ThroneCheckInt()
{
	var _monster;

	if(!NTC_FindUnit(NTC_UNIT_MONSTER, 543))
		return 5;

	_monster = NTC_FindUnit(NTC_UNIT_MONSTER);

	if(_monster)
	{
		do
		{
			if(NTA_IsValidMonster(_monster))
			{
				if(_monster.classid == 23 || _monster.classid == 62)
					return 1;

				if(_monster.classid == 105 || _monster.classid == 381)
					return 2;

				if(_monster.classid == 557)
					return 3;

				if(_monster.classid == 558)
					return 4;

				if(_monster.classid == 571)
					return 5;
			}
		} while(_monster.GetNext());
	}

	return 0;
}

function NT_ThronePreAttackInt()
{
	var _index, _trapPos;
	
	if(!MWConfig_DoBaalPreAttack || me.mp / me.mpmax < 0.5)
		return false;
	
	if(me.classid == NTC_CHAR_CLASS_SORCERESS)
	{
		_index = NTConfig_AttackSkill.indexOf(38); // Check attack skills for Charged Bolt
		
		if(_index > -1)
			return NTC_CastSkill(NTConfig_AttackSkill[_index], NTC_HAND_RIGHT, 15092, 5028);
		
		_index = NTConfig_AttackSkill.indexOf(56); // Check attack skills for Meteor
		
		if(_index > -1 && _MWB_LastWave + 1 != 5)
			return NTC_CastSkill(NTConfig_AttackSkill[_index], NTC_HAND_RIGHT, 15092, 5028);
		
		_index = NTConfig_AttackSkill.indexOf(59); // Check attack skills for Blizzard
		
		if(_index > -1)
			return NTC_CastSkill(NTConfig_AttackSkill[_index], NTC_HAND_RIGHT, 15092, 5028);
			
		if(NTC_GetSkillLevel(55) > 0)
			return NTC_CastSkill(55, NTC_HAND_RIGHT, 15092, 5028);
	}
	else if(me.classid == NTC_CHAR_CLASS_PALADIN)
	{
		_index = NTConfig_AttackSkill.indexOf(112); // Check attack skills for Blessed Hammer
		
		if(_index > -1)
		{
			if(NTConfig_AttackSkill[_index + 1] > 0)
				NTC_PutSkill(NTConfig_AttackSkill[_index + 1], NTC_HAND_RIGHT);

			return NTC_CastSkill(NTConfig_AttackSkill[_index], 2);
		}
	}
	else if(me.classid == NTC_CHAR_CLASS_NECROMANCER)
	{
		_index = NTConfig_AttackSkill.indexOf(66); // Check attack skills for Amplify Damage
		
		if(_index > -1)
			return !NTC_CastSkill(NTConfig_AttackSkill[_index], NTC_HAND_RIGHT, 15092, 5028);
		
		_index = NTConfig_AttackSkill.indexOf(87); // Check attack skills for Decepify
		
		if(_index > -1)
			return !NTC_CastSkill(NTConfig_AttackSkill[_index], NTC_HAND_RIGHT, 15092, 5028);

		_index = NTConfig_AttackSkill.indexOf(91); // Check attack skills for Lower Resist
		
		if(_index > -1)
			return !NTC_CastSkill(NTConfig_AttackSkill[_index], NTC_HAND_RIGHT, 15092, 5028);
	}
	else if(me.classid == NTC_CHAR_CLASS_ASSASSIN)
	{
		_trapPos = new Array(2);
		_trapPos[0] = [15094, 5038, 15090, 5034, 15098, 5034];
		_trapPos[1] = [15092, 5036, 15096, 5036];
		
		_index = NTConfig_AttackSkill.indexOf(MWS_LIGHTNING_SENTRY); // Check attack skills for Lightning Sentry
		
		if(_index > -1)
		{
			for(var i = 0; i < _trapPos[0].length; i += 2)
				NTC_CastSkill(NTConfig_AttackSkill[_index], NTC_HAND_RIGHT, _trapPos[0][i], _trapPos[0][i + 1]);
		}
			
		_index = NTConfig_AttackSkill.indexOf(MWS_DEATH_SENTRY); // Check attack skills for Death Sentry
		
		if(_index > -1)
		{
			for(var i = 0; i < _trapPos[1].length; i += 2)
				NTC_CastSkill(NTConfig_AttackSkill[_index], NTC_HAND_RIGHT, _trapPos[1][i], _trapPos[1][i + 1]);
		}
		
		return true;
	}

	return false;
}

function NT_CheckHydraInt()
{
	var _hydra1, _hydra2, _hydra3;

	_hydra1 = NTC_FindUnit(NTC_UNIT_MONSTER, 351);
	_hydra2 = NTC_FindUnit(NTC_UNIT_MONSTER, 352);
	_hydra3 = NTC_FindUnit(NTC_UNIT_MONSTER, 353);

	if((_hydra1 && _hydra1.GetStat(172) != 2 && _hydra1.GetState(105))
		|| (_hydra2 && _hydra2.GetStat(172) != 2 && _hydra2.GetState(105))
		|| (_hydra3 && _hydra3.GetStat(172) != 2 && _hydra3.GetState(105)))
	{
		NTM_MoveTo(me.areaid, 15112, 5004);

		if(me.GetState(2))
			NTC_PutSkill(109, NTC_HAND_RIGHT);

		NTC_PingDelay(3000);
	}
}

function MW_CountMonstersInThrone(range, showMonsters)
{
	var _monster, _count, _monsterData, _output;
	var i;
	
	if(arguments.length < 1)	
		range = 100;
	if(arguments.length < 2)	
		showMonsters = false;

	_count = 0;
	_monsterData = new Array();
	
	_monster = NTC_FindUnit(NTC_UNIT_MONSTER);
	
	if(_monster)
	{
		do
		{
			if(NTA_IsValidMonster(_monster) && _monster.IsAttackable() && _monster.y <= 5090 && GetDistance(me, _monster) < range)
			{
				for(i = 0; i < _monsterData.length; i++)
				{
					if(_monsterData[i][0] == _monster.classid)
					{
						if(_monsterData[i][1] == "" && !(_monster.spectype&0x0E))
							_monsterData[i][1] = _monster.name;

						_monsterData[i][2]++;
						
						break;
					}
				}
				if(i >= _monsterData.length)
				{
					_monsterData.push([_monster.classid, "", 1]);
				
					if(!(_monster.spectype&0x0E))
						_monsterData[_monsterData.length - 1][1] = _monster.name;
				}
				
				_count++;
			}
		}
		while(_monster.GetNext());
	}
	
	if(showMonsters)
	{
		Print("ÿc1" + _count + " ÿc8monsters in Throne:");
		for(i = 0; i < _monsterData.length; i++)
		{
			_output = "ÿc8" + _monsterData[i][1];
			
			if(_monsterData[i][1].indexOf("Fury") > -1)
				_output = _output.replace("Fury", "Furies");
			else if(_monsterData[i][1].indexOf("Witch") > -1 || _monsterData[i][1].indexOf("Magus") > -1)
				_output += "es";
			else
				_output += 's';
				
			_output += ": ÿc1" + _monsterData[i][2];

			Print(_output);
		}
	}
	
	return _count;
}

function NT_GameMsgEvents(msg, type)
{
	var _msg = msg.toLowerCase();
	
	if(type == 0 && _msg.indexOf(NTConfig_Leader.toLowerCase()) > -1 && MWConfig_Announcements.BaalTpSafe && _msg.indexOf(MWConfig_Announcements.BaalTpSafe.toLowerCase()) > -1)
		_AllowedToEnterTP = true;
}
und hier die bot leech datei

Code:
/**
*	This file was modified by [email][/email] and [email][/email]			
*	Check the programming section for updates and further scripts
*	Last Update: 15:34 20.08.2011
*/

var DelayedJoinChars               = new Array();
//###################################################################
//##############################Settings#############################
//###################################################################
	
var LeaderAccountName          = "mein leaderaccountname";
var LeaderName                 = "mein leader charname";
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          = false;
var JoinChannelInChat          = "OP zsbaal";
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;
}
eqotriib is offline  
Old   #2
 
elite*gold: 0
Join Date: Aug 2009
Posts: 435
Received Thanks: 159
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;
da hast du deinen Fehler.
ich nehme an, deine games haben kein passwort?
einfach auf "false" setzen und schon sollte alles seinen geregelten gang gehen
DeathFromHeaven is offline  
Thanks
1 User
Old   #3
 
elite*gold: 0
Join Date: Sep 2012
Posts: 3
Received Thanks: 0
Quote:
Originally Posted by DeathFromHeaven View Post
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;
da hast du deinen Fehler.
ich nehme an, deine games haben kein passwort?
einfach auf "false" setzen und schon sollte alles seinen geregelten gang gehen
Perfekt danke xD..
so ein Popel fehler war echt am verzweifeln ..

aber genau das selbe problem hatte ich stunden vorher mit dem leader und da hab ichs noch alleine rausgefunden xD
eqotriib is offline  
Reply


Similar Threads Similar Threads
D2NT Muddys d2nt problem x,x
11/06/2011 - Diablo 2 - 1 Replies
hi leute habe muddys d2nt schon ca seid 3 tagen mir wurde gesagt ich soll mir ihre FAQ etc... durchlesen habe ich bion nicht schlauer geworden habe alles eingestellt nur wenn der bot game aufmacht kommt ingame lagg und er macht nix? wenn bot auf pause ist gibts kein lagg ??
Muddys D2nT Probleme
08/28/2011 - Diablo 2 - 1 Replies
moin leute , habe atm 12 sorcs am rennen ... problem ist das sie ab und zu zum stash rennen und es kommt blitz schnell eine fehlermeldung die ich nicht lesen kann.. wenn ich das inv und stash cleare läuft er reibungslos weiter.. woran kann das liegen ? braucht ihr weitere infos ? wenn ja welche?
Brauche Hilfe bei D2NT BaalLeechFight
11/04/2010 - Diablo 2 - 2 Replies
Mein problem sieht so aus. Der Bot loggt sich ein etc. alles super. Dann.. der bot schreibt ständig "/f l" und ist somit zu langsam, dem run zu folgen, weil dieser schnell voll geht. Ich habe etwas von einem script für joinmsg gehört, das heißt, wenn der bot sieht das sich der Leader einklinkt, joint er nach. Kann mir da wer helfen? Finde dazu einfach keinen Thread. Danke.
[D2NT] Probelm mit BaalLeechFight!
06/30/2010 - Diablo 2 - 0 Replies
servus! :) Also das Spiel betreten, Party annehmen und ins TP reingehen kann meine Amazone ohne Probleme. Doch nun ist sie im Thron, doch nachdem sie sich die BO's reingedrückt hat und wieder die waffen wechselt, hängt das spiel einfach und sie geht einfach aus dem spiel raus :(. Im Spiel hat jemand gemeint das iwie iwas mit meinen Delays wahrscheinlich nicht stimmt, aber ich hab dort nix verändert :(. Beim normalen Leechbot funzt es einwandfrei, doch wenn ich zum baalfight switche, dann...
[D2NT] D2 Error bei BaalLeechFight
06/09/2010 - Diablo 2 - 4 Replies
Ahoi, Ich benutz momentan den D2NT Bluebird Bot v1.1 mit dem Script NTBaalLeechFight. Bis zu Wave 4-5 läuft der Bot, doch dann kriegt der öfters mal nen D2-Error (Die Meldung Kennt ihr bestimmt). Ich lass jedenfalls 3 Bots auf einem Dual-Core Rechner laufen, wenns jemanden interessiert, vllt hats ja damit was zu tun. Jetzt wollt ich mal fragen ob jemand auch des Problem hat oder vielleicht sogar ne Lösung dazu? An dem Script hab ich nichts verändert, außer vor der ersten wave und vor baal...



All times are GMT +1. The time now is 23:50.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

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