Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Diablo 2
You last visited: Today at 23:47

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

Advertisement



Kolbot follower

Discussion on Kolbot follower within the Diablo 2 forum part of the Other Online Games category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2008
Posts: 4
Received Thanks: 0
Kolbot follower

Halllo ihr lieben und erstmal schöne weinachten

ich brauche hilfe mein bot macht alles wie er es soll join killt usw

jetzt wollte ich ein 2ten bot den mit in das selbe game joinen lassen

also habe ich die follower datei angepasst und die lead auch von beiden von leeder und lecher

der leeder joint und macht alles wie er es soll aber

der lecher joint einfach nicht nach er bleibt stur im channel und macht nix wen ich ihn per hand nach joinen lasse geht er die tps nicht sonder portet sich selber oder bekommt ne fehler meldung mal so mal so

kann mit bitte wer helfen ?

mein leeder profil ist keksnuss in game keksnussss
lecher keks1 in game druidkeks

laufen beide auf den gleichen pc

ich habe jetzt echt alles versucht

es wäre nice wen mit wer genau sagen kann wo ich was einstellen muss damit sie zusammen laufen danke schonmal
keksnuss is offline  
Old 12/21/2018, 12:37   #2
 
elite*gold: 0
Join Date: Mar 2013
Posts: 292
Received Thanks: 64
du musst neben der Follower.js natürlich auch in der Char Config einstellen, dass der Follower auch den richtigen Char folgt. Hinzu kommt weiterhin, dass du in der Charconfig von beiden noch einstellen solltest, dass einer nur party invite macht und der andere nur akzeptiert .

Falls es immer noch nicht geht, einfach mal follower und char config posten
Robert S. is offline  
Old 12/21/2018, 13:08   #3
 
elite*gold: 0
Join Date: Sep 2008
Posts: 4
Received Thanks: 0
ja das habe ich soweit gemacht der eine party inv der andere accekt also der leeder 1 und lecher 2

aber er joint einfach nicht und wen ich mit der hand join geht er keine tp party macht er ich poste hier gleich mal die config


char confik vom leeder ist jetzt wieder normal da der bot alleine an ist bitte sagen sie mir was ich wo ändern muss danke =)


// Sorceress config file

/* Brief instructions:
* Notepad++ is HIGHLY recommended to use for editing these files. Visit
* To comment out something, put // in front of that line
* !!!Never comment out something you're not sure about, set it to false or disable as noted in description if you don't want to use it.
* true and false are case sensitive. Good: Config.SomeVar = true; Bad: Config.SomeVar = True;
*/

function LoadConfig() {
/* Sequence config
* Set to true if you want to run it, set to false if not.
* If you want to change the order of the scripts, just change the order of their lines by using cut and paste.
*/

// User addon script. Read the description in libs/bots/UserAddon.js
Scripts.UserAddon = false; // !!!YOU MUST SET THIS TO FALSE IF YOU WANT TO RUN BOSS/AREA SCRIPTS!!!

// Battle orders script - Use this for 2+ characters (for example BO barb + sorc)
Scripts.BattleOrders = false;
Config.BattleOrders.Mode = 0; // 0 = give BO, 1 = get BO
Config.BattleOrders.Wait = false; // Idle until the player that received BO leaves.
Config.BattleOrders.Getters = []; // List of players to wait for before casting Battle Orders (mode 0). All players must be in the same area as the BOer.

// Team MF system
Config.MFLeader = false; // Set to true if you have one or more MFHelpers. Opens TP and gives commands when doing normal MF runs.

// Boss/area scripts

// *** act 1 ***
Scripts.Corpsefire = false;
Config.Corpsefire.ClearDen = false;
Scripts.Mausoleum = false;
Config.Mausoleum.KillBloodRaven = false;
Config.Mausoleum.ClearCrypt = false;
Scripts.Rakanishu = false;
Config.Rakanishu.KillGriswold = false;
Scripts.UndergroundPassage = false;
Scripts.Coldcrow = false;
Scripts.Tristram = false;
Config.Tristram.PortalLeech = false; // Set to true to open a portal for leechers.
Scripts.Pit = false;
Config.Pit.ClearPit1 = false;
Scripts.Treehead = false;
Scripts.Smith = false;
Scripts.BoneAsh = false;
Scripts.Countess = true;
Config.Countess.KillGhosts = false;
Scripts.Andariel = false;
Scripts.Cows = false;


// *** act 2 ***
Scripts.Radament = false;
Scripts.Coldworm = false;
Config.Coldworm.KillBeetleburst = false;
Config.Coldworm.ClearMaggotLair = false; // Clear all 3 levels
Scripts.AncientTunnels = false;
Config.AncientTunnels.OpenChest = false; // Open special chest in Lost City
Config.AncientTunnels.KillDarkElder = false;
Scripts.Summoner = false;
Config.Summoner.FireEye = false;
Scripts.Tombs = false;
Scripts.Duriel = false;

// *** act 3 ***
Scripts.Stormtree = false;
Scripts.KurastTemples = false;
Scripts.Icehawk = false;
Scripts.Endugu = false;
Scripts.Travincal = false;
Config.Travincal.PortalLeech = false; // Set to true to open a portal for leechers.
Scripts.Mephisto = false;
Config.Mephisto.MoatTrick = false;
Config.Mephisto.KillCouncil = false;
Config.Mephisto.TakeRedPortal = true;

// *** act 4 ***
Scripts.OuterSteppes = false;
Scripts.Izual = false;
Scripts.Hephasto = false;
Scripts.Vizier = false; // Intended for classic sorc, kills Vizier only.
Scripts.FastDiablo = false;
Scripts.Diablo = true;
Config.Diablo.Entrance = true; // Start from entrance
Config.Diablo.SealWarning = "Leave the seals alone!";
Config.Diablo.EntranceTP = "Entrance TP up";
Config.Diablo.StarTP = "Star TP up";
Config.Diablo.DiabloMsg = "Diablo";
Scripts.SealLeader = false; // Clear a safe spot around seals and invite leechers in. Leechers should run SealLeecher script. Don't run with Diablo or FastDiablo.

// *** act 5 ***
Scripts.Pindleskin = false;
Config.Pindleskin.UseWaypoint = false;
Config.Pindleskin.KillNihlathak = true;
Config.Pindleskin.ViperQuit = false; // End script if Tomb Vipers are found.
Scripts.Nihlathak = false;
Config.Nihlathak.ViperQuit = false; // End script if Tomb Vipers are found.
Scripts.Eldritch = false;
Config.Eldritch.OpenChest = true;
Config.Eldritch.KillShenk = true;
Config.Eldritch.KillDacFarren = true;
Scripts.Eyeback = false;
Scripts.SharpTooth = false;
Scripts.ThreshSocket = false;
Scripts.Abaddon = false;
Scripts.Frozenstein = false;
Config.Frozenstein.ClearFrozenRiver = true;
Scripts.Bonesaw = false;
Config.Bonesaw.ClearDrifterCavern = false;
Scripts.Snapchip = false;
Config.Snapchip.ClearIcyCellar = true;
Scripts.Worldstone = false;
Scripts.Baal = true;
Config.Baal.HotTPMessage = "Hot TP!";
Config.Baal.SafeTPMessage = "Safe TP!";
Config.Baal.BaalMessage = "Baal! channel Keksnuss next Game";
Config.Baal.SoulQuit = false; // End script if Souls (Undead Soul Killers) are found.
Config.Baal.DollQuit = false; // End script if Dolls (Undead Stigyan Dolls) are found.
Config.Baal.KillBaal = true; // Kill Baal. Leaves game after wave 5 if false.

/* ### leeching section ###
* Unless stated otherwise, leader's character name isn't needed on order to run.
* Don't use more scripts of the same type! (Run AutoBaal OR BaalHelper, not both)
*/

Config.Leader = ""; // Leader's ingame character name. Leave blank to try auto-detection (works in AutoBaal, Wakka, MFHelper)
Config.QuitList = [""]; // List of character names to quit with. Example: Config.QuitList = ["MySorc", "MyDin"];
Config.QuitListMode = 0; // 0 = use character names; 1 = use profile names (all profiles must run on the same computer).

Scripts.TristramLeech = false; // Enters Tristram, attempts to stay close to the leader and will try and help kill.
Scripts.TravincalLeech = false; // Enters portal at back of Travincal.
Config.TravincalLeech.Helper = true; // If set to true the character will teleport to the stairs and help attack.
Scripts.MFHelper = false; // Run the same MF run as the MFLeader. Leader must have Config.MFLeader = true
Scripts.Wakka = false; // Walking chaos leecher with auto leader assignment, stays at safe distance from the leader
Scripts.SealLeecher = false; // Enter safe portals to Chaos. Leader should run SealLeader.
Scripts.DiabloHelper = false; // Chaos helper, kills monsters and doesn't open seals on its own.
Config.DiabloHelper.Wait = 120; // Seconds to wait for a runner to be in Chaos. If Config.Leader is set, it will wait only for the leader.
Config.DiabloHelper.Entrance = true; // Start from entrance. Set to false to start from star.
Config.DiabloHelper.SkipTP = false; // Don't wait for town portal and directly head to chaos. It will clear monsters around chaos entrance and wait for the runner.
Config.DiabloHelper.SkipIfBaal = false; // End script if there are party members in a Baal run.
Scripts.AutoBaal = false; // Baal leecher with auto leader assignment
Config.AutoBaal.FindShrine = false; // false = disabled, 1 = search after hot tp message, 2 = search as soon as leader is found
Config.AutoBaal.LeechSpot = [15115, 5050]; // X, Y coords of Throne Room leech spot
Config.AutoBaal.LongRangeSupport = false; // Cast long distance skills from a safe spot
Scripts.BaalHelper = false;
Config.BaalHelper.Wait = 120; // Seconds to wait for a runner to be in Throne
Config.BaalHelper.KillNihlathak = false; // Kill Nihlathak before going to Throne
Config.BaalHelper.FastChaos = false; // Kill Diablo before going to Throne
Config.BaalHelper.DollQuit = false; // End script if Dolls (Undead Soul Killers) are found.
Config.BaalHelper.KillBaal = true; // Kill Baal. If set to false, you must configure Config.QuitList or the bot will wait indefinitely.
Config.BaalHelper.SkipTP = false; // Don't wait for a TP, go to WSK3 and wait for someone to go to throne. Anti PK measure.
Scripts.Follower = false; // Script that follows a manually played leader around like a merc. For a list of commands, see Follower.js

// *** special scripts ***
Scripts.WPGetter = false; // Get missing waypoints
Scripts.GetKeys = false; // Hunt for T/H/D keys
Scripts.OrgTorch = false;
Config.OrgTorch.MakeTorch = true; // Convert organ sets to torches
Config.OrgTorch.WaitForKeys = true; // Enable Torch System to get keys from other profiles. See libs/TorchSystem.js for more info
Config.OrgTorch.WaitTimeout = 15; // Time in minutes to wait for keys before moving on
Config.OrgTorch.UseSalvation = true; // Use Salvation aura on Mephisto (if possible)
Config.OrgTorch.GetFade = false; // Get fade by standing in a fire. You MUST have Last Wish or Treachery on your character being worn.
Scripts.Rusher = false; // Rush bot. For a list of commands, see Rusher.js
Config.Rusher.WaitPlayerCount = 0; // Wait until game has a certain number of players (0 - don't wait, 8 - wait for full game).
Config.Rusher.Radament = false; // Do Radament quest.
Config.Rusher.LamEsen = false; // Do Lam Esen quest.
Config.Rusher.Izual = false; // Do Izual quest.
Config.Rusher.Shenk = false; // Do Shenk quest.
Config.Rusher.Anya = false; // Do Anya quest.
Config.Rusher.LastRun = ""; // End rush after this run. List of runs:
Scripts.Rushee = false; // Automatic rushee, works with Rusher. Set Rusher's character name as Config.Leader
Config.Rushee.Quester = false; // Enter portals and get quest items.
Config.Rushee.Bumper = false; // Do Ancients and Baal. Minimum levels: 20 - norm, 40 - nightmare
Scripts.CrushTele = false; // classic rush teleporter. go to area of interest and press "-" numpad key
Scripts.Questing = false; // solves missing quests (skill/stat+shenk)
Scripts.Gamble = false; // Gambling system, other characters will mule gold into your game so you can gamble infinitely. See Gambling.js
Scripts.Crafting = false; // Crafting system, other characters will mule crafting ingredients. See CraftingSystem.js
Scripts.GhostBusters = false; // Kill ghosts in most areas that contain them
Scripts.Enchant = false;
Config.Enchant.Triggers = ["chant", "cows", "wps"]; // Chat commands for enchant, cow level and waypoint giving
Config.Enchant.GetLeg = false; // Get Wirt's Leg from Tristram. If set to false, it will check for the leg in town.
Config.Enchant.AutoChant = false; // Automatically enchant nearby players and their minions
Config.Enchant.GameLength = 20; // Game length in minutes
Scripts.IPHunter = false;
Config.IPHunter.IPList = []; // List of IPs to look for. example: [165, 201, 64]
Config.IPHunter.GameLength = 3; // Number of minutes to stay in game if ip wasn't found
Scripts.KillDclone = false; // Kill Diablo Clone by using Arcane Sanctuary waypoint. Diablo needs to walk the Earth in the game.
Scripts.ShopBot = false; // Shopbot script. Automatically uses shopbot.nip and ignores other pickits.
// Supported NPCs: Akara, Charsi, Gheed, Elzix, Fara, Drognan, Ormus, Asheara, Hratli, Jamella, Halbu, Anya. Multiple NPCs are also supported, example: ["Elzix", "Fara"]
// Use common sense when combining NPCs. Shopping in different acts will probably lead to bugs.
Config.ShopBot.ShopNPC = "Anya";
// Put item classid numbers or names to scan (remember to put quotes around names). Leave blank to scan ALL items. See libs/config/templates/ShopBot.txt
Config.ShopBot.ScanIDs = [];
Config.ShopBot.CycleDelay = 0; // Delay between shopping cycles in milliseconds, might help with crashes.
Config.ShopBot.QuitOnMatch = false; // Leave game as soon as an item is shopped.
Scripts.ChestMania = false; // Open chests in configured areas. See sdk/areas.txt
Config.ChestMania.Act1 = [13, 14, 15, 16, 18, 19]; // List of act 1 areas to open chests in
Config.ChestMania.Act2 = [55, 59, 65, 66, 67, 68, 69, 70, 71, 72]; // List of act 2 areas to open chests in
Config.ChestMania.Act3 = [79, 80, 81, 92, 93, 84, 85, 90]; // List of act 3 areas to open chests in
Config.ChestMania.Act4 = []; // List of act 4 areas to open chests in
Config.ChestMania.Act5 = [115, 116, 119, 125, 126, 127]; // List of act 5 areas to open chests in
Scripts.ClearAnyArea = false; // Clear any area. Uses Config.ClearType to determine which type of monsters to kill.
Config.ClearAnyArea.AreaList = []; // List of area ids to clear. See sdk/areas.txt

// *** Guest scripts ***

// Baal Assistant by YourGreatestMember
Scripts.BaalAssistant = false; // Used to leech or help in baal runs.
Config.BaalAssistant.Wait = 120; // Seconds to wait for a runner to be in the throne / portal wait / safe TP wait / hot TP wait...
Config.BaalAssistant.KillNihlathak = false; // Kill Nihlathak before going to Throne
Config.BaalAssistant.FastChaos = false; // Kill Diablo before going to Throne
Config.BaalAssistant.Helper = true; // Set to true to help attack, set false to to leech.
Config.BaalAssistant.GetShrine = false; // Set to true to get a experience shrine at the start of the run.
Config.BaalAssistant.GetShrineWaitForHotTP = false; // Set to true to get a experience shrine after leader shouts the hot tp message as defined in Config.BaalAssistant.HotTPMessage
Config.BaalAssistant.SkipTP = false; // Set to true to enable the helper to skip the TP and teleport down to the throne room.
Config.BaalAssistant.WaitForSafeTP = false; // Set to true to wait for a safe TP message (defined in SafeTPMessage)
Config.BaalAssistant.DollQuit = false; // Quit on dolls. (Hardcore players?)
Config.BaalAssistant.SoulQuit = false; // Quit on Souls. (Hardcore players?)
Config.BaalAssistant.KillBaal = true; // Set to true to kill baal, if you set to false you MUST configure Config.QuitList or Config.BaalAssistant.NextGameMessage or the bot will wait indefinitely.
Config.BaalAssistant.HotTPMessage = ["Hot"]; // Configure safe TP messages.
Config.BaalAssistant.SafeTPMessage = ["Safe", "Clear"]; // Configure safe TP messages.
Config.BaalAssistant.BaalMessage = ["Baal"]; // Configure baal messages, this is a precautionary measure.
Config.BaalAssistant.NextGameMessage = ["Next Game", "Next", "New Game"]; // Next Game message, this is a precautionary quit command, Reccomended setting up: Config.QuitList

// Town settings
Config.HealHP = 50; // Go to a healer if under designated percent of life.
Config.HealMP = 0; // Go to a healer if under designated percent of mana.
Config.HealStatus = false; // Go to a healer if poisoned or cursed
Config.UseMerc = true; // Use merc. This is ignored and always false in d2classic.
Config.MercWatch = false; // Instant merc revive during battle.

// Potion settings
Config.UseHP = 75; // Drink a healing potion if life is under designated percent.
Config.UseRejuvHP = 40; // Drink a rejuvenation potion if life is under designated percent.
Config.UseMP = 30; // Drink a mana potion if mana is under designated percent.
Config.UseRejuvMP = 0; // Drink a rejuvenation potion if mana is under designated percent.
Config.UseMercHP = 75; // Give a healing potion to your merc if his/her life is under designated percent.
Config.UseMercRejuv = 0; // Give a rejuvenation potion to your merc if his/her life is under designated percent.
Config.HPBuffer = 0; // Number of healing potions to keep in inventory.
Config.MPBuffer = 0; // Number of mana potions to keep in inventory.
Config.RejuvBuffer = 0; // Number of rejuvenation potions to keep in inventory.

// Chicken settings
Config.LifeChicken = 30; // Exit game if life is less or equal to designated percent.
Config.ManaChicken = 0; // Exit game if mana is less or equal to designated percent.
Config.MercChicken = 0; // Exit game if merc's life is less or equal to designated percent.
Config.TownHP = 50; // Go to town if life is under designated percent.
Config.TownMP = 10; // Go to town if mana is under designated percent.

/* Inventory lock configuration. !!!READ CAREFULLY!!!
* 0 = item is locked and won't be moved. If item occupies more than one slot, ALL of those slots must be set to 0 to lock it in place.
* Put 0s where your torch, annihilus and everything else you want to KEEP is.
* 1 = item is unlocked and will be dropped, stashed or sold.
* If you don't change the default values, the bot won't stash items.
*/
Config.Inventory[0] = [0,0,0,0,0,0,0,1,1,1];
Config.Inventory[1] = [0,0,0,0,0,0,0,1,1,1];
Config.Inventory[2] = [0,0,0,0,0,0,0,1,1,1];
Config.Inventory[3] = [0,0,0,1,1,1,1,1,1,1];

Config.StashGold = 100000; // Minimum amount of gold to stash.

/* Potion types for belt columns from left to right.
* Rejuvenation potions must always be rightmost.
* Supported potions - Healing ("hp"), Mana ("mp") and Rejuvenation ("rv")
*/
Config.BeltColumn[0] = "hp";
Config.BeltColumn[1] = "mp";
Config.BeltColumn[2] = "mp";
Config.BeltColumn[3] = "rv";

/* Minimum amount of potions. If we have less, go to vendor to purchase more.
* Set rejuvenation columns to 0, because they can't be bought.
*/
Config.MinColumn[0] = 3;
Config.MinColumn[1] = 3;
Config.MinColumn[2] = 0;
Config.MinColumn[3] = 0;

// Pickit config. Default folder is kolbot/pickit.
Config.PickitFiles.push("kolton.nip");
Config.PickitFiles.push("LLD.nip");
Config.PickRange = 40; // Pick radius
Config.FastPick = true; // Check and pick items between attacks

// Additional item info log settings. All info goes to \logs\ItemLog.txt
Config.ItemInfo = false; // Log stashed, skipped (due to no space) or sold items.
Config.ItemInfoQuality = []; // The quality of sold items to log. See NTItemAlias.dbl for values. Example: Config.ItemInfoQuality = [6, 7, 8];

// Item identification settings
Config.CainID.Enable = false; // Identify items at Cain
Config.CainID.MinGold = 2500000; // Minimum gold (stash + character) to have in order to use Cain.
Config.CainID.MinUnids = 3; // Minimum number of unid items in order to use Cain.
Config.FieldID = false; // Identify items in the field instead of going to town.
Config.DroppedItemsAnnounce.Enable = false; // Announce Dropped Items to in-game newbs
Config.DroppedItemsAnnounce.Quality = []; // Quality of item to announce. See NTItemAlias.dbl for values. Example: Config.DroppedItemsAnnounce.Quality = [6, 7, 8];

// Manager Item Log Screen
Config.ShowLowRunes = true; // show/hide low runes (El ÷ Dol) on the item log screen
Config.ShowMiddleRunes = true; // show/hide middle runes (Hel ÷ Mal) on the item log screen
Config.ShowHighRunes = true; // show/hide high runes (Ist ÷ Zod) on the item log screen
Config.ShowLowGems = true; // show/hide low gems (chipped, flawed, normal) on the item log screen
Config.ShowHighGems = true; // show/hide high gems (flawless, perfect) on the item log screen
Config.ShowCubingInfo = true; // show/hide the cubing messages on console and item log screen

// Repair settings
Config.CubeRepair = false; // Repair weapons with Ort and armor with Ral rune. Don't use it if you don't understand the risk of losing items.
Config.RepairPercent = 40; // Durability percent of any equipped item that will trigger repairs.

// Gambling config
Config.Gamble = false;
Config.GambleGoldStart = 1000000;
Config.GambleGoldStop = 500000;

// List of item names or classids for gambling. Check libs/NTItemAlias.dbl file for other item classids.
Config.GambleItems.push("Amulet");
Config.GambleItems.push("Ring");
Config.GambleItems.push("Circlet");
Config.GambleItems.push("Coronet");

/* Cubing config. All recipe names are available in Templates/Cubing.txt. For item names/classids check NTItemAlias.dbl
* The format is Config.Recipes.push([recipe_name, item_name_or_classid, etherealness]). Etherealness is optional and only applies to some recipes.
*/
Config.Cubing = true; // Set to true to enable cubing.

// Ingredients for the following recipes will be auto-picked, for classids check libs/NTItemAlias.dbl

//Config.Recipes.push([Recipe.Gem, "Flawless Amethyst"]); // Make Perfect Amethyst
//Config.Recipes.push([Recipe.Gem, "Flawless Topaz"]); // Make Perfect Topaz
//Config.Recipes.push([Recipe.Gem, "Flawless Sapphire"]); // Make Perfect Sapphire
//Config.Recipes.push([Recipe.Gem, "Flawless Emerald"]); // Make Perfect Emerald
//Config.Recipes.push([Recipe.Gem, "Flawless Ruby"]); // Make Perfect Ruby
//Config.Recipes.push([Recipe.Gem, "Flawless Diamond"]); // Make Perfect Diamond
//Config.Recipes.push([Recipe.Gem, "Flawless Skull"]); // Make Perfect Skull

//Config.Recipes.push([Recipe.Token]); // Make Token of Absolution

Config.Recipes.push([Recipe.Rune, "Pul Rune"]); // Upgrade Pul to Um
Config.Recipes.push([Recipe.Rune, "Um Rune"]); // Upgrade Um to Mal
Config.Recipes.push([Recipe.Rune, "Mal Rune"]); // Upgrade Mal to Ist
Config.Recipes.push([Recipe.Rune, "Ist Rune"]); // Upgrade Ist to Gul
Config.Recipes.push([Recipe.Rune, "Gul Rune"]); // Upgrade Gul to Vex

//Config.Recipes.push([Recipe.Caster.Amulet]); // Craft Caster Amulet
//Config.Recipes.push([Recipe.Blood.Ring]); // Craft Blood Ring
//Config.Recipes.push([Recipe.Blood.Helm, "Armet"]); // Craft Blood Armet
//Config.Recipes.push([Recipe.HitPower.Gloves, "Vambraces"]); // Craft Hit Power Vambraces

// The gems not used by other recipes will be used for magic item rerolling.

//Config.Recipes.push([Recipe.Reroll.Magic, "Diadem"]); // Reroll magic Diadem
//Config.Recipes.push([Recipe.Reroll.Magic, "Grand Charm"]); // Reroll magic Grand Charm (ilvl 91+)

//Config.Recipes.push([Recipe.Reroll.Rare, "Diadem"]); // Reroll rare Diadem

/* Base item for the following recipes must be in pickit. The rest of the ingredients will be auto-picked.
* Use Roll.Eth, Roll.NonEth or Roll.All to determine what kind of base item to roll - ethereal, non-ethereal or all.
*/
//Config.Recipes.push([Recipe.Socket.Weapon, "Thresher", Roll.Eth]); // Socket ethereal Thresher
//Config.Recipes.push([Recipe.Socket.Weapon, "Cryptic Axe", Roll.Eth]); // Socket ethereal Cryptic Axe
//Config.Recipes.push([Recipe.Socket.Armor, "Sacred Armor", Roll.Eth]); // Socket ethereal Sacred Armor
//Config.Recipes.push([Recipe.Socket.Armor, "Archon Plate", Roll.Eth]); // Socket ethereal Archon Plate

//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Heavy Gloves", Roll.NonEth]); // Upgrade Bloodfist to Exceptional
//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Light Gauntlets", Roll.NonEth]); // Upgrade Magefist to Exceptional
//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Sharkskin Gloves", Roll.NonEth]); // Upgrade Bloodfist or Grave Palm to Elite
//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Battle Gauntlets", Roll.NonEth]); // Upgrade Magefist or Lavagout to Elite
//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "War Boots", Roll.NonEth]); // Upgrade Gore Rider to Elite

/* Runeword config. All recipes are available in Templates/Runewords.txt
* Keep lines follow pickit format and any given runeword is tested vs ALL lines so you don't need to repeat them
*/
Config.MakeRunewords = true; // Set to true to enable runeword making/rerolling

Config.Runewords.push([Runeword.Insight, "Thresher"]); // Make Insight Thresher
//Config.Runewords.push([Runeword.Insight, "Cryptic Axe"]); // Make Insight Cryptic Axe

//Config.KeepRunewords.push("[type] == polearm # [meditationaura] == 17");

Config.Runewords.push([Runeword.Spirit, "Monarch"]); // Make Spirit Monarch
//Config.Runewords.push([Runeword.Spirit, "Sacred Targe"]); // Make Spirit Sacred Targe

//Config.KeepRunewords.push("[type] == shield || [type] == auricshields # [fcr] == 35");

// Public game options

// If Config.Leader is set, the bot will only accept invites from leader. If Config.PublicMode is not 0, Baal and Diablo script will open Town Portals.
Config.PublicMode = 1; // 1 = invite and accept, 2 = accept only, 3 = invite only, 0 = disable
// Party message settings. Each setting represents an array of messages that will be randomly chosen.
// $name, $level, $class and $killer are replaced by the player's name, level, class and killer
Config.Greetings = []; // Example: ["Hello, $name (level $level $class)"]
Config.DeathMessages = []; // Example: ["Watch out for that $killer, $name!"]
Config.Congratulations = []; // Example: ["Congrats on level $level, $name!"]
Config.ShitList = true; // Blacklist hostile players so they don't get invited to party.
Config.UnpartyShitlisted = true; // Leave party if someone invited a blacklisted player.

// General config
Config.AutoMap = true; // Set to true to open automap at the beginning of the game.
Config.LastMessage = ""; // Message or array of messages to say at the end of the run. Use $nextgame to say next game - "Next game: $nextgame" (works with lead entry point)
Config.MinGameTime = 60; // Min game time in seconds. Bot will TP to town and stay in game if the run is completed before.
Config.MaxGameTime = 30000; // Maximum game time in seconds. Quit game when limit is reached.
Config.TeleSwitch = false; // Switch to slot II when teleporting more than 1 node.
Config.OpenChests = true; // Open chests. Controls key buying.
Config.MiniShopBot = true; // Scan items in NPC shops.
Config.PacketShopping = false; // Use packets to shop. Improves shopping speed.
Config.TownCheck = true; // Go to town if out of potions
Config.LogExperience = true; // Print experience statistics in the manager.
Config.PingQuit = [{Ping: 0, Duration: 0}]; // Quit if ping is over the given value for over the given time period in seconds.

// Shrine Scanner - scan for shrines while moving.
// Put the shrine types in order of priority (from highest to lowest). For a list of types, see sdk/shrines.txt
Config.ScanShrines = [15];

// MF Switch
Config.MFSwitchPercent = 0; // Boss life % to switch weapons at. Set to 0 to disable.
Config.MFSwitch = 0; // MF weapon slot: 0 = slot I, 1 = slot II

// Speedup config. Full packet casting is not recommended for melee skills.
Config.FCR = 0; // 0 - disable, 1 to 255 - set value of Faster Cast Rate.
Config.FHR = 0; // 0 - disable, 1 to 255 - set value of Faster Hit Recovery.
Config.FBR = 0; // 0 - disable, 1 to 255 - set value of Faster Block Recovery.
Config.IAS = 0; // 0 - disable, 1 to 255 - set value of Increased Attack Speed.
Config.PacketCasting = 0; // 0 = disable, 1 = packet teleport, 2 = full packet casting.
Config.WaypointMenu = true;

// Anti-hostile config
Config.AntiHostile = false; // Enable anti-hostile.
Config.HostileAction = 0; // 0 - quit immediately, 1 - quit when hostile player is sighted, 2 - attack hostile.
Config.TownOnHostile = false; // Go to town instead of quitting when HostileAction is 0 or 1.
Config.RandomPrecast = false; // Anti-PK measure, only supported in Baal and BaalHelper and BaalAssisstant at the moment.
Config.ViperCheck = false; // Quit if revived Tomb Vipers are sighted.

// DClone config
Config.StopOnDClone = true; // Go to town and idle as soon as Diablo walks the Earth
Config.SoJWaitTime = 5; // Time in minutes to wait for another SoJ sale before leaving game. 0 = disabled
Config.KillDclone = false; // Go to Palace Cellar 3 and try to kill Diablo Clone. Pointless if you already have Annihilus.
Config.DCloneQuit = false; // 1 = quit when Diablo walks, 2 = quit on soj sales, 0 = disabled

// Monster skip config
// Skip immune monsters. Possible options: "fire", "cold", "lightning", "poison", "physical", "magic".
// You can combine multiple resists with "and", for example - "fire and cold", "physical and cold and poison"
Config.SkipImmune = [];
// Skip enchanted monsters. Possible options: "extra strong", "extra fast", "cursed", "magic resistant", "fire enchanted", "lightning enchanted", "cold enchanted", "mana burn", "teleportation", "spectral hit", "stone skin", "multiple shots".
// You can combine multiple enchantments with "and", for example - "cursed and extra fast", "mana burn and extra strong and lightning enchanted"
Config.SkipEnchant = [];
// Skip monsters with auras. Possible options: "fanaticism", "might", "holy fire", "blessed aim", "holy freeze", "holy shock". Conviction is bugged, don't use it.
Config.SkipAura = [];
// Uncomment the following line to always attempt to kill these bosses despite immunities and mods
//Config.SkipException = [getLocaleString(2851), getLocaleString(2852), getLocaleString(2853)]; // vizier, de seis, infector

/* Attack config
* To disable an attack, set it to -1
* Skills MUST be POSITIVE numbers. For reference see
*/
Config.AttackSkill[0] = -1; // Preattack skill.
Config.AttackSkill[1] = 49; // Primary skill to bosses.
Config.AttackSkill[2] = -1; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
Config.AttackSkill[3] = 49; // Primary skill to others.
Config.AttackSkill[4] = -1; // Primary untimed skill to others. Keep at -1 if Config.AttackSkill[3] is untimed skill.
Config.AttackSkill[5] = 56; // Secondary skill if monster is immune to primary.
Config.AttackSkill[6] = -1; // Secondary untimed skill if monster is immune to primary untimed.

// Low mana skills - these will be used if main skills can't be cast.
Config.LowManaSkill[0] = -1; // Timed low mana skill.
Config.LowManaSkill[1] = -1; // Untimed low mana skill.

/* Advanced Attack config. Allows custom skills to be used on custom monsters.
* Format: "Monster Name": [timed skill id, untimed skill id]
* Example: "Baal": [38, -1] to use charged bolt on Baal
* Multiple entries are separated by commas
*/
Config.CustomAttack = {
//"Monster Name": [-1, -1]
};

Config.Dodge = true; // Move away from monsters that get too close. Don't use with short-ranged attacks like Poison Dagger.
Config.DodgeRange = 10; // Distance to keep from monsters.
Config.DodgeHP = 100; // Dodge only if HP percent is less than or equal to Config.DodgeHP. 100 = always dodge.
Config.BossPriority = false; // Set to true to attack Unique/SuperUnique monsters first when clearing
Config.ClearType = 0xF; // Monster spectype to kill in level clear scripts (ie. Mausoleum). 0xF = skip normal, 0x7 = champions/bosses, 0 = all
Config.TeleStomp = false; // Use merc to attack bosses if they're immune to attacks, but not to physical damage

// Wereform setup. Make sure you read Templates/Attacks.txt for attack skill format.
Config.Wereform = false; // 0 / false - don't shapeshift, 1 / "Werewolf" - change to werewolf, 2 / "Werebear" - change to werebear

// Class specific config
Config.CastStatic = 60; // Cast static until the target is at designated life percent. 100 = disabled.
Config.StaticList = []; // List of monster NAMES or CLASSIDS to static. Example: Config.StaticList = ["Andariel", 243];


// AutoBuild System ( See /d2bs/kolbot/libs/config/Builds/README.txt for instructions )
Config.AutoBuild.Enabled = false; // This will enable or disable the AutoBuild system

Config.AutoBuild.Template = "BuildName"; // The name of the build associated with an existing
// template filename located in libs/config/Builds/

Config.AutoBuild.Verbose = true; // Allows script to print messages in console
Config.AutoBuild.DebugMode = true; // Debug mode prints a little more information to console and
// logs activity to /logs/AutoBuild.CharacterName._MM_DD_YYYY.log
// It automatically enables Config.AutoBuild.Verbose
}

das die vom lecher





// Druid config file

/* Brief instructions:
* Notepad++ is HIGHLY recommended to use for editing these files. Visit
* To comment out something, put // in front of that line
* !!!Never comment out something you're not sure about, set it to false or disable as noted in description if you don't want to use it.
* true and false are case sensitive. Good: Config.SomeVar = true; Bad: Config.SomeVar = True;
*/

function LoadConfig() {
/* Sequence config
* Set to true if you want to run it, set to false if not.
* If you want to change the order of the scripts, just change the order of their lines by using cut and paste.
*/

// User addon script. Read the description in libs/bots/UserAddon.js
Scripts.UserAddon = false; // !!!YOU MUST SET THIS TO FALSE IF YOU WANT TO RUN BOSS/AREA SCRIPTS!!!

// Battle orders script - Use this for 2+ characters (for example BO barb + sorc)
Scripts.BattleOrders = false;
Config.BattleOrders.Mode = 0; // 0 = give BO, 1 = get BO
Config.BattleOrders.Wait = false; // Idle until the player that received BO leaves.
Config.BattleOrders.Getters = []; // List of players to wait for before casting Battle Orders (mode 0). All players must be in the same area as the BOer.

// Team MF system
Config.MFLeader = false; // Set to true if you have one or more MFHelpers. Opens TP and gives commands when doing normal MF runs.

// Boss/area scripts

// *** act 1 ***
Scripts.Corpsefire = false;
Config.Corpsefire.ClearDen = false;
Scripts.Mausoleum = false;
Config.Mausoleum.KillBloodRaven = false;
Config.Mausoleum.ClearCrypt = false;
Scripts.Rakanishu = false;
Config.Rakanishu.KillGriswold = true;
Scripts.UndergroundPassage = false;
Scripts.Coldcrow = false;
Scripts.Tristram = false;
Config.Tristram.PortalLeech = false; // Set to true to open a portal for leechers.
Scripts.Pit = false;
Config.Pit.ClearPit1 = true;
Scripts.Treehead = false;
Scripts.Smith = false;
Scripts.BoneAsh = false;
Scripts.Countess = false;
Config.Countess.KillGhosts = false;
Scripts.Andariel = false;
Scripts.Cows = false;

// *** act 2 ***
Scripts.Radament = false;
Scripts.Coldworm = false;
Config.Coldworm.KillBeetleburst = false;
Config.Coldworm.ClearMaggotLair = false; // Clear all 3 levels
Scripts.AncientTunnels = false;
Config.AncientTunnels.OpenChest = false; // Open special chest in Lost City
Config.AncientTunnels.KillDarkElder = false;
Scripts.Summoner = false;
Config.Summoner.FireEye = false;
Scripts.Tombs = false;
Scripts.Duriel = false;

// *** act 3 ***
Scripts.Stormtree = false;
Scripts.KurastTemples = false;
Scripts.Icehawk = false;
Scripts.Endugu = false;
Scripts.Travincal = false;
Config.Travincal.PortalLeech = false; // Set to true to open a portal for leechers.
Scripts.Mephisto = false;
Config.Mephisto.MoatTrick = false;
Config.Mephisto.KillCouncil = false;
Config.Mephisto.TakeRedPortal = true;

// *** act 4 ***
Scripts.OuterSteppes = false;
Scripts.Izual = false;
Scripts.Hephasto = false;
Scripts.Vizier = false; // Intended for classic sorc, kills Vizier only.
Scripts.FastDiablo = false;
Scripts.Diablo = false;
Config.Diablo.Entrance = true; // Start from entrance
Config.Diablo.SealWarning = "Leave the seals alone!";
Config.Diablo.EntranceTP = "Entrance TP up";
Config.Diablo.StarTP = "Star TP up";
Config.Diablo.DiabloMsg = "Diablo";
Scripts.SealLeader = false; // Clear a safe spot around seals and invite leechers in. Leechers should run SealLeecher script. Don't run with Diablo or FastDiablo.

// *** act 5 ***
Scripts.Pindleskin = false;
Config.Pindleskin.UseWaypoint = false;
Config.Pindleskin.KillNihlathak = true;
Config.Pindleskin.ViperQuit = false; // End script if Tomb Vipers are found.
Scripts.Nihlathak = false;
Config.Nihlathak.ViperQuit = false; // End script if Tomb Vipers are found.
Scripts.Eldritch = false;
Config.Eldritch.OpenChest = true;
Config.Eldritch.KillShenk = true;
Config.Eldritch.KillDacFarren = true;
Scripts.Eyeback = false;
Scripts.SharpTooth = false;
Scripts.ThreshSocket = false;
Scripts.Abaddon = false;
Scripts.Frozenstein = false;
Config.Frozenstein.ClearFrozenRiver = true;
Scripts.Bonesaw = false;
Config.Bonesaw.ClearDrifterCavern = false;
Scripts.Snapchip = false;
Config.Snapchip.ClearIcyCellar = true;
Scripts.Worldstone = false;
Scripts.Baal = false;
Config.Baal.HotTPMessage = "Hot TP!";
Config.Baal.SafeTPMessage = "Safe TP!";
Config.Baal.BaalMessage = "Baal!";
Config.Baal.SoulQuit = false; // End script if Souls (Undead Soul Killers) are found.
Config.Baal.DollQuit = false; // End script if Dolls (Undead Stigyan Dolls) are found.
Config.Baal.KillBaal = true; // Kill Baal. Leaves game after wave 5 if false.

/* ### leeching section ###
* Unless stated otherwise, leader's character name isn't needed on order to run.
* Don't use more scripts of the same type! (Run AutoBaal OR BaalHelper, not both)
*/

Config.Leader = "keksnussss"; // Leader's ingame character name. Leave blank to try auto-detection (works in AutoBaal, Wakka, MFHelper)
Config.QuitList = [""]; // List of character names to quit with. Example: Config.QuitList = ["MySorc", "MyDin"];
Config.QuitListMode = 0; // 0 = use character names; 1 = use profile names (all profiles must run on the same computer).

Scripts.TristramLeech = false; // Enters Tristram, attempts to stay close to the leader and will try and help kill.
Scripts.TravincalLeech = false; // Enters portal at back of Travincal.
Config.TravincalLeech.Helper = true; // If set to true the character will teleport to the stairs and help attack.
Scripts.MFHelper = false; // Run the same MF run as the MFLeader. Leader must have Config.MFLeader = true
Scripts.Wakka = false; // Walking chaos leecher with auto leader assignment, stays at safe distance from the leader
Scripts.SealLeecher = true; // Enter safe portals to Chaos. Leader should run SealLeader.
Scripts.DiabloHelper = true; // Chaos helper, kills monsters and doesn't open seals on its own.
Config.DiabloHelper.Wait = 720; // Seconds to wait for a runner to be in Chaos. If Config.Leader is set, it will wait only for the leader.
Config.DiabloHelper.Entrance = true; // Start from entrance. Set to false to start from star.
Config.DiabloHelper.SkipTP = false; // Don't wait for town portal and directly head to chaos. It will clear monsters around chaos entrance and wait for the runner.
Config.DiabloHelper.SkipIfBaal = false; // End script if there are party members in a Baal run.
Scripts.AutoBaal = false; // Baal leecher with auto leader assignment
Config.AutoBaal.FindShrine = false; // false = disabled, 1 = search after hot tp message, 2 = search as soon as leader is found
Config.AutoBaal.LeechSpot = [15115, 5050]; // X, Y coords of Throne Room leech spot
Config.AutoBaal.LongRangeSupport = false; // Cast long distance skills from a safe spot
Scripts.BaalHelper = true;
Config.BaalHelper.Wait = 360; // Seconds to wait for a runner to be in Throne
Config.BaalHelper.KillNihlathak = false; // Kill Nihlathak before going to Throne
Config.BaalHelper.FastChaos = false; // Kill Diablo before going to Throne
Config.BaalHelper.DollQuit = true; // End script if Dolls (Undead Soul Killers) are found.
Config.BaalHelper.KillBaal = true; // Kill Baal. If set to false, you must configure Config.QuitList or the bot will wait indefinitely.
Config.BaalHelper.SkipTP = false; // Don't wait for a TP, go to WSK3 and wait for someone to go to throne. Anti PK measure.
Scripts.Follower = false; // Script that follows a manually played leader around like a merc. For a list of commands, see Follower.js

// *** special scripts ***
Scripts.WPGetter = false; // Get missing waypoints
Scripts.GetKeys = false; // Hunt for T/H/D keys
Scripts.OrgTorch = false;
Config.OrgTorch.MakeTorch = true; // Convert organ sets to torches
Config.OrgTorch.WaitForKeys = true; // Enable Torch System to get keys from other profiles. See libs/TorchSystem.js for more info
Config.OrgTorch.WaitTimeout = 15; // Time in minutes to wait for keys before moving on
Config.OrgTorch.UseSalvation = true; // Use Salvation aura on Mephisto (if possible)
Config.OrgTorch.GetFade = false; // Get fade by standing in a fire. You MUST have Last Wish or Treachery on your character being worn.
Scripts.Rusher = false; // Rush bot. For a list of commands, see Rusher.js
Config.Rusher.WaitPlayerCount = 0; // Wait until game has a certain number of players (0 - don't wait, 8 - wait for full game).
Config.Rusher.Radament = false; // Do Radament quest.
Config.Rusher.LamEsen = false; // Do Lam Esen quest.
Config.Rusher.Izual = false; // Do Izual quest.
Config.Rusher.Shenk = false; // Do Shenk quest.
Config.Rusher.Anya = false; // Do Anya quest.
Config.Rusher.LastRun = ""; // End rush after this run. List of runs:
Scripts.Rushee = false; // Automatic rushee, works with Rusher. Set Rusher's character name as Config.Leader
Config.Rushee.Quester = false; // Enter portals and get quest items.
Config.Rushee.Bumper = false; // Do Ancients and Baal. Minimum levels: 20 - norm, 40 - nightmare
Scripts.CrushTele = false; // classic rush teleporter. go to area of interest and press "-" numpad key
Scripts.Questing = false; // solves missing quests (skill/stat+shenk)
Scripts.Gamble = false; // Gambling system, other characters will mule gold into your game so you can gamble infinitely. See Gambling.js
Scripts.Crafting = false; // Crafting system, other characters will mule crafting ingredients. See CraftingSystem.js
Scripts.GhostBusters = false; // Kill ghosts in most areas that contain them
Scripts.Enchant = false;
Config.Enchant.Triggers = ["chant", "cows", "wps"]; // Chat commands for enchant, cow level and waypoint giving
Config.Enchant.GetLeg = false; // Get Wirt's Leg from Tristram. If set to false, it will check for the leg in town.
Config.Enchant.AutoChant = false; // Automatically enchant nearby players and their minions
Config.Enchant.GameLength = 20; // Game length in minutes
Scripts.IPHunter = false;
Config.IPHunter.IPList = []; // List of IPs to look for. example: [165, 201, 64]
Config.IPHunter.GameLength = 3; // Number of minutes to stay in game if ip wasn't found
Scripts.KillDclone = false; // Kill Diablo Clone by using Arcane Sanctuary waypoint. Diablo needs to walk the Earth in the game.
Scripts.ShopBot = false; // Shopbot script. Automatically uses shopbot.nip and ignores other pickits.
// Supported NPCs: Akara, Charsi, Gheed, Elzix, Fara, Drognan, Ormus, Asheara, Hratli, Jamella, Halbu, Anya. Multiple NPCs are also supported, example: ["Elzix", "Fara"]
// Use common sense when combining NPCs. Shopping in different acts will probably lead to bugs.
Config.ShopBot.ShopNPC = "Anya";
// Put item classid numbers or names to scan (remember to put quotes around names). Leave blank to scan ALL items. See libs/config/templates/ShopBot.txt
Config.ShopBot.ScanIDs = [];
Config.ShopBot.CycleDelay = 0; // Delay between shopping cycles in milliseconds, might help with crashes.
Config.ShopBot.QuitOnMatch = false; // Leave game as soon as an item is shopped.
Scripts.ChestMania = false; // Open chests in configured areas. See sdk/areas.txt
Config.ChestMania.Act1 = [13, 14, 15, 16, 18, 19]; // List of act 1 areas to open chests in
Config.ChestMania.Act2 = [55, 59, 65, 66, 67, 68, 69, 70, 71, 72]; // List of act 2 areas to open chests in
Config.ChestMania.Act3 = [79, 80, 81, 92, 93, 84, 85, 90]; // List of act 3 areas to open chests in
Config.ChestMania.Act4 = []; // List of act 4 areas to open chests in
Config.ChestMania.Act5 = [115, 116, 119, 125, 126, 127]; // List of act 5 areas to open chests in
Scripts.ClearAnyArea = false; // Clear any area. Uses Config.ClearType to determine which type of monsters to kill.
Config.ClearAnyArea.AreaList = []; // List of area ids to clear. See sdk/areas.txt

// *** Guest scripts ***

// Baal Assistant by YourGreatestMember
Scripts.BaalAssistant = false; // Used to leech or help in baal runs.
Config.BaalAssistant.Wait = 120; // Seconds to wait for a runner to be in the throne / portal wait / safe TP wait / hot TP wait...
Config.BaalAssistant.KillNihlathak = false; // Kill Nihlathak before going to Throne
Config.BaalAssistant.FastChaos = false; // Kill Diablo before going to Throne
Config.BaalAssistant.Helper = true; // Set to true to help attack, set false to to leech.
Config.BaalAssistant.GetShrine = false; // Set to true to get a experience shrine at the start of the run.
Config.BaalAssistant.GetShrineWaitForHotTP = false; // Set to true to get a experience shrine after leader shouts the hot tp message as defined in Config.BaalAssistant.HotTPMessage
Config.BaalAssistant.SkipTP = false; // Set to true to enable the helper to skip the TP and teleport down to the throne room.
Config.BaalAssistant.WaitForSafeTP = false; // Set to true to wait for a safe TP message (defined in SafeTPMessage)
Config.BaalAssistant.DollQuit = false; // Quit on dolls. (Hardcore players?)
Config.BaalAssistant.SoulQuit = false; // Quit on Souls. (Hardcore players?)
Config.BaalAssistant.KillBaal = true; // Set to true to kill baal, if you set to false you MUST configure Config.QuitList or Config.BaalAssistant.NextGameMessage or the bot will wait indefinitely.
Config.BaalAssistant.HotTPMessage = ["Hot"]; // Configure safe TP messages.
Config.BaalAssistant.SafeTPMessage = ["Safe", "Clear"]; // Configure safe TP messages.
Config.BaalAssistant.BaalMessage = ["Baal"]; // Configure baal messages, this is a precautionary measure.
Config.BaalAssistant.NextGameMessage = ["Next Game", "Next", "New Game"]; // Next Game message, this is a precautionary quit command, Reccomended setting up: Config.QuitList

// Town settings
Config.HealHP = 50; // Go to a healer if under designated percent of life.
Config.HealMP = 0; // Go to a healer if under designated percent of mana.
Config.HealStatus = false; // Go to a healer if poisoned or cursed
Config.UseMerc = true; // Use merc. This is ignored and always false in d2classic.
Config.MercWatch = false; // Instant merc revive during battle.

// Potion settings
Config.UseHP = 75; // Drink a healing potion if life is under designated percent.
Config.UseRejuvHP = 40; // Drink a rejuvenation potion if life is under designated percent.
Config.UseMP = 30; // Drink a mana potion if mana is under designated percent.
Config.UseRejuvMP = 0; // Drink a rejuvenation potion if mana is under designated percent.
Config.UseMercHP = 75; // Give a healing potion to your merc if his/her life is under designated percent.
Config.UseMercRejuv = 0; // Give a rejuvenation potion to your merc if his/her life is under designated percent.
Config.HPBuffer = 0; // Number of healing potions to keep in inventory.
Config.MPBuffer = 0; // Number of mana potions to keep in inventory.
Config.RejuvBuffer = 0; // Number of rejuvenation potions to keep in inventory.

// Chicken settings
Config.LifeChicken = 30; // Exit game if life is less or equal to designated percent.
Config.ManaChicken = 0; // Exit game if mana is less or equal to designated percent.
Config.MercChicken = 0; // Exit game if merc's life is less or equal to designated percent.
Config.TownHP = 40; // Go to town if life is under designated percent.
Config.TownMP = 5; // Go to town if mana is under designated percent.

/* Inventory lock configuration. !!!READ CAREFULLY!!!
* 0 = item is locked and won't be moved. If item occupies more than one slot, ALL of those slots must be set to 0 to lock it in place.
* Put 0s where your torch, annihilus and everything else you want to KEEP is.
* 1 = item is unlocked and will be dropped, stashed or sold.
* If you don't change the default values, the bot won't stash items.
*/
Config.Inventory[0] = [0,0,0,0,0,1,1,1,1,1];
Config.Inventory[1] = [0,0,0,0,0,1,1,1,1,1];
Config.Inventory[2] = [0,0,0,0,0,1,1,1,1,1];
Config.Inventory[3] = [0,0,0,0,0,1,1,1,1,1];

Config.StashGold = 100000; // Minimum amount of gold to stash.

/* Potion types for belt columns from left to right.
* Rejuvenation potions must always be rightmost.
* Supported potions - Healing ("hp"), Mana ("mp") and Rejuvenation ("rv")
*/
Config.BeltColumn[0] = "hp";
Config.BeltColumn[1] = "mp";
Config.BeltColumn[2] = "mp";
Config.BeltColumn[3] = "rv";

/* Minimum amount of potions. If we have less, go to vendor to purchase more.
* Set rejuvenation columns to 0, because they can't be bought.
*/
Config.MinColumn[0] = 3;
Config.MinColumn[1] = 3;
Config.MinColumn[2] = 0;
Config.MinColumn[3] = 0;

// Pickit config. Default folder is kolbot/pickit.
Config.PickitFiles.push("kolton.nip");
Config.PickitFiles.push("LLD.nip");
Config.PickRange = 40; // Pick radius
Config.FastPick = false; // Check and pick items between attacks

// Additional item info log settings. All info goes to \logs\ItemLog.txt
Config.ItemInfo = false; // Log stashed, skipped (due to no space) or sold items.
Config.ItemInfoQuality = []; // The quality of sold items to log. See NTItemAlias.dbl for values. Example: Config.ItemInfoQuality = [6, 7, 8];

// Item identification settings
Config.CainID.Enable = false; // Identify items at Cain
Config.CainID.MinGold = 2500000; // Minimum gold (stash + character) to have in order to use Cain.
Config.CainID.MinUnids = 3; // Minimum number of unid items in order to use Cain.
Config.FieldID = false; // Identify items in the field instead of going to town.
Config.DroppedItemsAnnounce.Enable = false; // Announce Dropped Items to in-game newbs
Config.DroppedItemsAnnounce.Quality = []; // Quality of item to announce. See NTItemAlias.dbl for values. Example: Config.DroppedItemsAnnounce.Quality = [6, 7, 8];

// Manager Item Log Screen
Config.ShowLowRunes = true; // show/hide low runes (El ÷ Dol) on the item log screen
Config.ShowMiddleRunes = true; // show/hide middle runes (Hel ÷ Mal) on the item log screen
Config.ShowHighRunes = true; // show/hide high runes (Ist ÷ Zod) on the item log screen
Config.ShowLowGems = true; // show/hide low gems (chipped, flawed, normal) on the item log screen
Config.ShowHighGems = true; // show/hide high gems (flawless, perfect) on the item log screen
Config.ShowCubingInfo = true; // show/hide the cubing messages on console and item log screen

// Repair settings
Config.CubeRepair = false; // Repair weapons with Ort and armor with Ral rune. Don't use it if you don't understand the risk of losing items.
Config.RepairPercent = 40; // Durability percent of any equipped item that will trigger repairs.

// Gambling config
Config.Gamble = false;
Config.GambleGoldStart = 1000000;
Config.GambleGoldStop = 500000;

// List of item names or classids for gambling. Check libs/NTItemAlias.dbl file for other item classids.
Config.GambleItems.push("Amulet");
Config.GambleItems.push("Ring");
Config.GambleItems.push("Circlet");
Config.GambleItems.push("Coronet");

/* Cubing config. All recipe names are available in Templates/Cubing.txt. For item names/classids check NTItemAlias.dbl
* The format is Config.Recipes.push([recipe_name, item_name_or_classid, etherealness]). Etherealness is optional and only applies to some recipes.
*/
Config.Cubing = true; // Set to true to enable cubing.

// Ingredients for the following recipes will be auto-picked, for classids check libs/NTItemAlias.dbl

Config.Recipes.push([Recipe.Gem, "Flawless Amethyst"]); // Make Perfect Amethyst
Config.Recipes.push([Recipe.Gem, "Flawless Topaz"]); // Make Perfect Topaz
Config.Recipes.push([Recipe.Gem, "Flawless Sapphire"]); // Make Perfect Sapphire
Config.Recipes.push([Recipe.Gem, "Flawless Emerald"]); // Make Perfect Emerald
Config.Recipes.push([Recipe.Gem, "Flawless Ruby"]); // Make Perfect Ruby
Config.Recipes.push([Recipe.Gem, "Flawless Diamond"]); // Make Perfect Diamond
Config.Recipes.push([Recipe.Gem, "Flawless Skull"]); // Make Perfect Skull

//Config.Recipes.push([Recipe.Token]); // Make Token of Absolution

Config.Recipes.push([Recipe.Rune, "El Rune"]); // Upgrade El to Eld
Config.Recipes.push([Recipe.Rune, "Eld Rune"]); // Upgrade Eld to Tir
Config.Recipes.push([Recipe.Rune, "Tir Rune"]); // Upgrade Tir to Nef
Config.Recipes.push([Recipe.Rune, "Nef Rune"]); // Upgrade Nef to Eth
Config.Recipes.push([Recipe.Rune, "Eth Rune"]); // Upgrade Eth to Ith
Config.Recipes.push([Recipe.Rune, "Ith Rune"]); // Upgrade Ith to tal
Config.Recipes.push([Recipe.Rune, "Tal Rune"]); // Upgrade Tal to Ral
Config.Recipes.push([Recipe.Rune, "Ral Rune"]); // Upgrade Ral to Ort
Config.Recipes.push([Recipe.Rune, "Ort Rune"]); // Upgrade Ort to Thul
Config.Recipes.push([Recipe.Rune, "Thul Rune"]); // Upgrade Thul to Amn
Config.Recipes.push([Recipe.Rune, "Amn Rune"]); // Upgrade Amn to Sol
Config.Recipes.push([Recipe.Rune, "Sol Rune"]); // Upgrade Sol to Shael
Config.Recipes.push([Recipe.Rune, "Shael Rune"]); // Upgrade Shael to Dol
Config.Recipes.push([Recipe.Rune, "Dol Rune"]); // Upgrade Dol to Hel
Config.Recipes.push([Recipe.Rune, "Hel Rune"]); // Upgrade Hel to Io
Config.Recipes.push([Recipe.Rune, "Io Rune"]); // Upgrade Io to Lum
Config.Recipes.push([Recipe.Rune, "Lum Rune"]); // Upgrade Lum to Ko
Config.Recipes.push([Recipe.Rune, "Ko Rune"]); // Upgrade Ko to Fal
Config.Recipes.push([Recipe.Rune, "Fal Rune"]); // Upgrade Fal to Lem
Config.Recipes.push([Recipe.Rune, "Lem Rune"]); // Upgrade Lem to pul
Config.Recipes.push([Recipe.Rune, "Pul Rune"]); // Upgrade Pul to Um
Config.Recipes.push([Recipe.Rune, "Um Rune"]); // Upgrade Um to Mal
Config.Recipes.push([Recipe.Rune, "Mal Rune"]); // Upgrade Mal to Ist
Config.Recipes.push([Recipe.Rune, "Ist Rune"]); // Upgrade Ist to Gul
Config.Recipes.push([Recipe.Rune, "Gul Rune"]); // Upgrade Gul to Vex

//Config.Recipes.push([Recipe.Caster.Amulet]); // Craft Caster Amulet
//Config.Recipes.push([Recipe.Blood.Ring]); // Craft Blood Ring
//Config.Recipes.push([Recipe.Blood.Helm, "Armet"]); // Craft Blood Armet
//Config.Recipes.push([Recipe.HitPower.Gloves, "Vambraces"]); // Craft Hit Power Vambraces

// The gems not used by other recipes will be used for magic item rerolling.

//Config.Recipes.push([Recipe.Reroll.Magic, "Diadem"]); // Reroll magic Diadem
//Config.Recipes.push([Recipe.Reroll.Magic, "Grand Charm"]); // Reroll magic Grand Charm (ilvl 91+)

//Config.Recipes.push([Recipe.Reroll.Rare, "Diadem"]); // Reroll rare Diadem

/* Base item for the following recipes must be in pickit. The rest of the ingredients will be auto-picked.
* Use Roll.Eth, Roll.NonEth or Roll.All to determine what kind of base item to roll - ethereal, non-ethereal or all.
*/
//Config.Recipes.push([Recipe.Socket.Weapon, "Thresher", Roll.Eth]); // Socket ethereal Thresher
//Config.Recipes.push([Recipe.Socket.Weapon, "Cryptic Axe", Roll.Eth]); // Socket ethereal Cryptic Axe
//Config.Recipes.push([Recipe.Socket.Armor, "Sacred Armor", Roll.Eth]); // Socket ethereal Sacred Armor
//Config.Recipes.push([Recipe.Socket.Armor, "Archon Plate", Roll.Eth]); // Socket ethereal Archon Plate

//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Heavy Gloves", Roll.NonEth]); // Upgrade Bloodfist to Exceptional
//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Light Gauntlets", Roll.NonEth]); // Upgrade Magefist to Exceptional
//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Sharkskin Gloves", Roll.NonEth]); // Upgrade Bloodfist or Grave Palm to Elite
//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Battle Gauntlets", Roll.NonEth]); // Upgrade Magefist or Lavagout to Elite
//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "War Boots", Roll.NonEth]); // Upgrade Gore Rider to Elite

/* Runeword config. All recipes are available in Templates/Runewords.txt
* Keep lines follow pickit format and any given runeword is tested vs ALL lines so you don't need to repeat them
*/
Config.MakeRunewords = false; // Set to true to enable runeword making/rerolling

//Config.Runewords.push([Runeword.Insight, "Thresher"]); // Make Insight Thresher
//Config.Runewords.push([Runeword.Insight, "Cryptic Axe"]); // Make Insight Cryptic Axe

//Config.KeepRunewords.push("[type] == polearm # [meditationaura] == 17");

//Config.Runewords.push([Runeword.Spirit, "Monarch"]); // Make Spirit Monarch
//Config.Runewords.push([Runeword.Spirit, "Sacred Targe"]); // Make Spirit Sacred Targe

//Config.KeepRunewords.push("[type] == shield || [type] == auricshields # [fcr] == 35");

// Public game options

// If Config.Leader is set, the bot will only accept invites from leader. If Config.PublicMode is not 0, Baal and Diablo script will open Town Portals.
Config.PublicMode = 1; // 1 = invite and accept, 2 = accept only, 3 = invite only, 0 = disable
// Party message settings. Each setting represents an array of messages that will be randomly chosen.
// $name, $level, $class and $killer are replaced by the player's name, level, class and killer
Config.Greetings = []; // Example: ["Hello, $name (level $level $class)"]
Config.DeathMessages = []; // Example: ["Watch out for that $killer, $name!"]
Config.Congratulations = []; // Example: ["Congrats on level $level, $name!"]
Config.ShitList = false; // Blacklist hostile players so they don't get invited to party.
Config.UnpartyShitlisted = false; // Leave party if someone invited a blacklisted player.

// General config
Config.AutoMap = true; // Set to true to open automap at the beginning of the game.
Config.LastMessage = ""; // Message or array of messages to say at the end of the run. Use $nextgame to say next game - "Next game: $nextgame" (works with lead entry point)
Config.MinGameTime = 60; // Min game time in seconds. Bot will TP to town and stay in game if the run is completed before.
Config.MaxGameTime = 0; // Maximum game time in seconds. Quit game when limit is reached.
Config.TeleSwitch = false; // Switch to slot II when teleporting more than 1 node.
Config.OpenChests = true; // Open chests. Controls key buying.
Config.MiniShopBot = true; // Scan items in NPC shops.
Config.PacketShopping = false; // Use packets to shop. Improves shopping speed.
Config.TownCheck = false; // Go to town if out of potions
Config.LogExperience = false; // Print experience statistics in the manager.
Config.PingQuit = [{Ping: 0, Duration: 0}]; // Quit if ping is over the given value for over the given time period in seconds.

// Shrine Scanner - scan for shrines while moving.
// Put the shrine types in order of priority (from highest to lowest). For a list of types, see sdk/shrines.txt
Config.ScanShrines = [];

// MF Switch
Config.MFSwitchPercent = 0; // Boss life % to switch weapons at. Set to 0 to disable.
Config.MFSwitch = 0; // MF weapon slot: 0 = slot I, 1 = slot II

// Fastmod config
Config.FCR = 0; // 0 - disable, 1 to 255 - set value of faster cast rate
Config.FHR = 0; // 0 - disable, 1 to 255 - set value of faster hit recovery
Config.FBR = 0; // 0 - disable, 1 to 255 - set value of faster block recovery
Config.IAS = 0; // 0 - disable, 1 to 255 - set value of increased attack speed
Config.PacketCasting = 0; // 0 = disable, 1 = packet teleport, 2 = full packet casting.
Config.WaypointMenu = true;

// Anti-hostile config
Config.AntiHostile = false; // Enable anti-hostile
Config.HostileAction = 0; // 0 - quit immediately, 1 - quit when hostile player is sighted, 2 - attack hostile
Config.TownOnHostile = false; // Go to town instead of quitting when HostileAction is 0 or 1
Config.RandomPrecast = false; // Anti-PK measure, only supported in Baal and BaalHelper and BaalAssisstant at the moment.
Config.ViperCheck = false; // Quit if revived Tomb Vipers are sighted

// DClone config
Config.StopOnDClone = true; // Go to town and idle as soon as Diablo walks the Earth
Config.SoJWaitTime = 5; // Time in minutes to wait for another SoJ sale before leaving game. 0 = disabled
Config.KillDclone = false; // Go to Palace Cellar 3 and try to kill Diablo Clone. Pointless if you already have Annihilus.
Config.DCloneQuit = false; // 1 = quit when Diablo walks, 2 = quit on soj sales, 0 = disabled

// Monster skip config
// Skip immune monsters. Possible options: "fire", "cold", "lightning", "poison", "physical", "magic".
// You can combine multiple resists with "and", for example - "fire and cold", "physical and cold and poison"
Config.SkipImmune = [];
// Skip enchanted monsters. Possible options: "extra strong", "extra fast", "cursed", "magic resistant", "fire enchanted", "lightning enchanted", "cold enchanted", "mana burn", "teleportation", "spectral hit", "stone skin", "multiple shots".
// You can combine multiple enchantments with "and", for example - "cursed and extra fast", "mana burn and extra strong and lightning enchanted"
Config.SkipEnchant = [];
// Skip monsters with auras. Possible options: "fanaticism", "might", "holy fire", "blessed aim", "holy freeze", "holy shock". Conviction is bugged, don't use it.
Config.SkipAura = [];
// Uncomment the following line to always attempt to kill these bosses despite immunities and mods
//Config.SkipException = [getLocaleString(2851), getLocaleString(2852), getLocaleString(2853)]; // vizier, de seis, infector

/* Attack config
* To disable an attack, set it to -1
* Skills MUST be POSITIVE numbers. For reference see
*/
Config.AttackSkill[0] = -1; // Preattack skill.
Config.AttackSkill[1] = 245; // Primary skill to bosses.
Config.AttackSkill[2] = -1; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
Config.AttackSkill[3] = 245; // Primary skill to others.
Config.AttackSkill[4] = -1; // Primary untimed skill to others. Keep at -1 if Config.AttackSkill[3] is untimed skill.
Config.AttackSkill[5] = -1; // Secondary skill if monster is immune to primary.
Config.AttackSkill[6] = -1; // Secondary untimed skill if monster is immune to primary untimed.

// Low mana skills - these will be used if main skills can't be cast.
Config.LowManaSkill[0] = -1; // Timed low mana skill.
Config.LowManaSkill[1] = -1; // Untimed low mana skill.

/* Advanced Attack config. Allows custom skills to be used on custom monsters.
* Format: "Monster Name": [timed skill id, untimed skill id]
* Multiple entries are separated by commas
*/
Config.CustomAttack = {
//"Monster Name": [-1, -1]
};

Config.BossPriority = false; // Set to true to attack Unique/SuperUnique monsters first when clearing
Config.ClearType = 0xF; // Monster spectype to kill in level clear scripts (ie. Mausoleum). 0xF = skip normal, 0x7 = champions/bosses, 0 = all
Config.TeleStomp = false; // Use merc to attack bosses if they're immune to attacks, but not to physical damage

// Wereform setup. Make sure you read Templates/Attacks.txt for attack skill format.
Config.Wereform = false; // 0 / false - don't shapeshift, 1 / "Werewolf" - change to werewolf, 2 / "Werebear" - change to werebear

// Class specific config
Config.SummonRaven = false;
Config.SummonAnimal = "Grizzly"; // 0 = disabled, 1 or "Spirit Wolf" = summon spirit wolf, 2 or "Dire Wolf" = summon dire wolf, 3 or "Grizzly" = summon grizzly
Config.SummonSpirit = "Oak Sage"; // 0 = disabled, 1 / "Oak Sage", 2 / "Heart of Wolverine", 3 / "Spirit of Barbs"
Config.SummonVine = "Poison Creeper"; // 0 = disabled, 1 / "Poison Creeper", 2 / "Carrion Vine", 3 / "Solar Creeper"


// AutoBuild System ( See /d2bs/kolbot/libs/config/Builds/README.txt for instructions )
Config.AutoBuild.Enabled = false; // This will enable or disable the AutoBuild system

Config.AutoBuild.Template = "BuildName"; // The name of the build associated with an existing
// template filename located in libs/config/Builds/

Config.AutoBuild.Verbose = true; // Allows script to print messages in console
Config.AutoBuild.DebugMode = true; // Debug mode prints a little more information to console and
// logs activity to /logs/AutoBuild.CharacterName._MM_DD_YYYY.log
// It automatically enables Config.AutoBuild.Verbose
}

und follower




var StarterConfig = {
JoinChannel: "KOLBOT", // Name of the channel to join
FirstJoinMessage: "i'm leecher", // Message to say when first joining a channel, usually ".login"
ChatActionsDelay: 2, // Seconds to wait in lobby before entering a channel

JoinRetryDelay: 5, // Time in seconds to wait before next join attempt
SwitchKeyDelay: 5, // Seconds to wait before switching a used/banned key or after realm down

CrashDelay: 5, // Seconds to wait after a d2 window crash
RealmDownDelay: 3, // Minutes to wait after getting Realm Down message
UnableToConnectDelay: 5, // Minutes to wait after Unable To Connect message
CDKeyInUseDelay: 5, // Minutes to wait before connecting again if CD-Key is in use. SwitchKeys overrides this!
ConnectingTimeout: 20, // Seconds to wait before cancelling the 'Connecting...' screen
PleaseWaitTimeout: 30, // Seconds to wait before cancelling the 'Please Wait...' screen
WaitInLineTimeout: 60, // Seconds to wait before cancelling the 'Waiting in Line...' screen
GameDoesNotExistTimeout: 30 // Seconds to wait before cancelling the 'Game does not exist.' screen
};

/* Join game settings
Format: "leader's profile": ["leecher 1 profile", "leecher 2 profile", ...]
If you want everyone to join the same leader, use "leader's profile": ["all"]
NOTE: Use PROFILE names (profile matches window title), NOT character/account names
leader:leecher groups need to be divided by a comma
example:
var JoinSettings = {
"leecher1: ["leecher2", "follow2"],
"lead2": ["follow3", "follow4"]
};
*/

var JoinSettings = {
"keksnuss": ["keks1"]
};

// Advanced config - you don't have to edit this unless you need some of the features provided
var AdvancedConfig = {
/* Features: Override join delay for each profile

* Format *:
"keks1": {JoinDelay: 552}
"keks": {JoinDelay: 552}

* Example * (don't edit this - it's just an example):
"keksnussss": {JoinDelay: 3},
"keksnuss": {JoinDelay: 6}
*/

// Put your lines under this one. Multiple entries are separated by commas. No comma after the last one.

};



// No touchy!
include("json2.js");
include("OOG.js");
include("automule.js");
include("gambling.js");
include("craftingsystem.js");
include("torchsystem.js");
include("common/misc.js");

var i, j, gameInfo, joinInfo, gameStart, ingame, handle,
firstLogin, chatActionsDone, lastGameTick, connectFail,
gameCount = DataFile.getStats().runs + 1,
lastGameStatus = "ready",
leader = "keksnuss",
lastGame = [303];

if (!FileTools.exists("data/" + me.profile + ".json")) {
DataFile.create();
}

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

while (!me.ingame && getLocation() === location && endtime > getTickCount()) {
delay(500);
}

return (getLocation() !== location);
}

function updateCount() {
D2Bot.updateCount();
delay(1000);
ControlAction.click(6, 264, 366, 272, 35);

try {
login(me.profile);
} catch (e) {

}

delay(1000);
ControlAction.click(6, 33, 572, 128, 35);
}

function ScriptMsgEvent(msg) {
switch (msg) {
case "mule":
AutoMule.check = true;

break;
case "muleTorch":
AutoMule.torchCheck = true;

break;
case "torch":
TorchSystem.check = true;

break;
case "crafting":
CraftingSystem.check = true;

break;
case "getMuleMode":
if (AutoMule.torchAnniCheck === 2) {
scriptBroadcast("2");
} else if (AutoMule.torchAnniCheck === 1) {
scriptBroadcast("1");
} else if (AutoMule.check) {
scriptBroadcast("0");
}

break;
}
}

function ReceiveCopyData(mode, msg) {
var obj;

switch (msg) {
case "Handle":
handle = mode;

break;
}

switch (mode) {
case 1: // JoinInfo
//print("Got Join Info");

joinInfo = JSON.parse(msg);

break;
case 2: // Game info
print("Recieved Game Info");

gameInfo = JSON.parse(msg);

break;
case 3: // Game request
// Don't let others join mule/torch/key/gold drop game
if (AutoMule.inGame || Gambling.inGame || TorchSystem.inGame || CraftingSystem.inGame) {
break;
}

if (gameInfo) {
obj = JSON.parse(msg);

D2Bot.joinMe(obj.profile, me.gamename || "", "", me.gamepassword || "", me.gameReady ? "yes" : "no");
}

break;
case 4:
// Heartbeat ping
if (msg === "pingreq") {
sendCopyData(null, me.windowtitle, 4, "pingrep");
}

break;
}
}

function timer(tick) {
if (!tick) {
return "";
}

var min, sec;

min = Math.floor((getTickCount() - tick) / 60000).toString();

if (min <= 9) {
min = "0" + min;
}

sec = (Math.floor((getTickCount() - tick) / 1000) % 60).toString();

if (sec <= 9) {
sec = "0" + sec;
}

return " (" + min + ":" + sec + ")";
}

function main() {
debugLog(me.profile);
addEventListener('copydata', ReceiveCopyData);
addEventListener('scriptmsg', ScriptMsgEvent);

while (!handle) {
delay(100);
}

DataFile.updateStats("handle", handle);
D2Bot.init();
load("tools/heartbeat.js");

while (!gameInfo) {
D2Bot.requestGameInfo();
delay(500);
}

if (gameInfo.error) {
//D2Bot.retrieve();
delay(200);

if (!!DataFile.getStats().debugInfo) {
gameInfo.crashInfo = DataFile.getStats().debugInfo;

D2Bot.printToConsole("Crash Info: Script: " + JSON.parse(gameInfo.crashInfo).currScript + " Area: " + JSON.parse(gameInfo.crashInfo).area, 10);
}

/*if (gameInfo.crashInfo) {
D2Bot.printToConsole("Crash Info: Script: " + gameInfo.crashInfo.currScript + " Area: " + gameInfo.crashInfo.area + (gameInfo.crashInfo.hasOwnProperty("lastAction") ? " " + gameInfo.crashInfo.lastAction : ""), 10);
}*/

ControlAction.timeoutDelay("Crash Delay", StarterConfig.CrashDelay * 1e3);
D2Bot.updateRuns();
}

//D2Bot.store(JSON.stringify({currScript: "none", area: "out of game"}));
DataFile.updateStats("debugInfo", JSON.stringify({currScript: "none", area: "out of game"}));

while (true) {
while (me.ingame) { // returns true before actually in game so we can't only use this check
if (me.gameReady) { // returns false when switching acts so we can't use while
if (!ingame) {
print("\xFFc4Updating Status");
//D2Bot.updateStatus("Game: " + me.gamename);

lastGameStatus = "ingame";
ingame = true;
gameStart = getTickCount();

DataFile.updateStats("runs", gameCount);
}

D2Bot.updateStatus("Game: " + me.gamename + timer(gameStart));
}

delay(1000);
}

locationAction();
delay(1000);
}
}

function joinCheck(leader) {
D2Bot.requestGame(leader);
delay(500);

//print(leader + " " + joinInfo.inGame + " " + lastGame.toSource() + " " + joinInfo.gameName);

if (!joinInfo.inGame || (lastGame.length && lastGame.indexOf(joinInfo.gameName) === -1)) {
D2Bot.printToConsole("Game is finished. Stopping join delay.");

return true;
}

return false;
}

function locationAction() {
if (me.ingame) {
return;
}

var i, string, text, location;

location = getLocation();

MainSwitch:
switch (location) {
case 0:
break;
case 1: // Lobby
D2Bot.updateStatus("Lobby");

if (!firstLogin) {
firstLogin = true;
}

if (StarterConfig.JoinChannel !== "") {
ControlAction.click(6, 27, 480, 120, 20);

break;
}

if (ingame) {
if (AutoMule.outOfGameCheck() || TorchSystem.outOfGameCheck() || Gambling.outOfGameCheck() || CraftingSystem.outOfGameCheck()) {
break;
}

print("updating runs");
D2Bot.updateRuns();

lastGameTick = getTickCount();
gameCount += 1;
lastGameStatus = "ready";
ingame = false;
}

if (!ControlAction.click(6, 652, 469, 120, 20)) { // Join
break;
}

if (!locationTimeout(5000, location)) { // in case join button gets bugged
if (!ControlAction.click(6, 533, 469, 120, 20)) { // Create
break;
}

if (!ControlAction.click(6, 652, 469, 120, 20)) { // Join
break;
}
}

break;
case 2: // Waiting In Line
D2Bot.updateStatus("Waiting...");
locationTimeout(StarterConfig.WaitInLineTimeout * 1e3, location);
ControlAction.click(6, 433, 433, 96, 32);

break;
case 3: // Lobby Chat
D2Bot.updateStatus("Lobby Chat");

if (ingame) {
if (AutoMule.outOfGameCheck() || TorchSystem.outOfGameCheck() || Gambling.outOfGameCheck() || CraftingSystem.outOfGameCheck()) {
break;
}

print("updating runs");
D2Bot.updateRuns();

lastGameTick = getTickCount();
gameCount += 1;
lastGameStatus = "ready";
ingame = false;
}

if (!chatActionsDone) {
chatActionsDone = true;

ControlAction.timeoutDelay("Chat delay", StarterConfig.ChatActionsDelay * 1e3);
say("/j " + StarterConfig.JoinChannel);
delay(1000);

if (StarterConfig.FirstJoinMessage !== "") {
say(StarterConfig.FirstJoinMessage);
delay(500);
}
}

if (!ControlAction.click(6, 652, 469, 120, 20)) { // Join
break;
}

if (!locationTimeout(5000, location)) { // in case join button gets bugged
if (!ControlAction.click(6, 533, 469, 120, 20)) { // Create
break;
}

if (!ControlAction.click(6, 652, 469, 120, 20)) { // Join
break;
}
}

break;
case 4: // Create Game
break;
case 5: // Join Game
D2Bot.updateStatus("Join Game");

if (!leader) {
leader = [];

for (i in JoinSettings) {
if (JoinSettings.hasOwnProperty(i) && typeof i === "string") {
for (j = 0; j < JoinSettings[i].length; j += 1) {
if (JoinSettings[i][j] === me.profile || JoinSettings[i][j] === "all") {
leader.push(i);
}
}
}
}
}

if (!leader || !leader.length) {
break;
}

JoinLoop2:
for (i = 0; i < 5; i += 1) {
for (j = 0; j < leader.length; j += 1) {
joinInfo = false;

D2Bot.requestGame(leader[j]);
delay(100);

if (joinInfo && joinInfo.gameName !== "" && (lastGame.indexOf(joinInfo.gameName) === -1 || lastGameStatus === "pending")) {
ControlAction.setText(1, 606, 148, 155, 20, joinInfo.gamePass);
ControlAction.setText(1, 432, 148, 155, 20, joinInfo.gameName);

if (lastGameStatus === "pending" || (gameInfo.error && DataFile.getStats().gameName === joinInfo.gameName)) {
D2Bot.printToConsole("Failed to join game");
ControlAction.timeoutDelay("Join Delay", StarterConfig.JoinRetryDelay * 1000, joinCheck, leader[j]);
D2Bot.updateRuns();
D2Bot.requestGame(leader[j]);
delay(200);

if (!joinInfo.inGame) {
lastGameStatus = "ready";

break;
}
}

if (!joinInfo.inGame) {
continue;
}

// Don't join immediately after previous game to avoid FTJ
if (getTickCount() - lastGameTick < 5000) {
ControlAction.timeoutDelay("Game Delay", (lastGameTick - getTickCount() + 5000));
}

print("joining game " + joinInfo.gameName);

if (typeof AdvancedConfig[me.profile] === "object" && typeof AdvancedConfig[me.profile].JoinDelay === "number") {
ControlAction.timeoutDelay("Custom Join Delay", AdvancedConfig[me.profile].JoinDelay * 1e3);
}

me.blockMouse = true;

DataFile.updateStats("gameName", joinInfo.gameName);
ControlAction.click(6, 594, 433, 172, 32);

me.blockMouse = false;

lastGame.push(joinInfo.gameName);

if (lastGame.length > leader.length) { // Might need a fixed number. Right now it stores 1 game per leader.
lastGame.shift();
}

lastGameStatus = "pending";

locationTimeout(15000, location);

break JoinLoop2;
}
}
}

break;
case 6: // Ladder
break;
case 7: // Channel List
break;
case 8: // Main Menu
case 9: // Login
case 12: // Character Select
case 18: // D2 Splash
// Single Player screen fix
if (getLocation() === 12 && !getControl(4, 626, 100, 151, 44)) {
ControlAction.click(6, 33, 572, 128, 35);

break;
}

if (firstLogin && getLocation() === 9) { // multiple realm botting fix in case of R/D or disconnect
ControlAction.click(6, 33, 572, 128, 35);
}

D2Bot.updateStatus("Logging In");

try {
login(me.profile);
} catch (e) {
print(e + " " + getLocation());
}

break;
case 10: // Login Error
string = "";
text = ControlAction.getText(4, 199, 377, 402, 140);

if (text) {
for (i = 0; i < text.length; i += 1) {
string += text[i];

if (i !== text.length - 1) {
string += " ";
}
}

switch (string) {
case getLocaleString(5207):
D2Bot.updateStatus("Invalid Password");
D2Bot.printToConsole("Invalid Password");

break;
case getLocaleString(5208):
D2Bot.updateStatus("Invalid Account");
D2Bot.printToConsole("Invalid Account");

break;
case getLocaleString(5202): // cd key intended for another product
case getLocaleString(10915): // lod key intended for another product
D2Bot.updateStatus("Invalid CDKey");
D2Bot.printToConsole("Invalid CDKey: " + gameInfo.mpq, 6);
D2Bot.CDKeyDisabled();

if (gameInfo.switchKeys) {
ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
D2Bot.restart(true);
} else {
D2Bot.stop();
}

break;
case getLocaleString(5199):
D2Bot.updateStatus("Disabled CDKey");
D2Bot.printToConsole("Disabled CDKey: " + gameInfo.mpq, 6);
D2Bot.CDKeyDisabled();

if (gameInfo.switchKeys) {
ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
D2Bot.restart(true);
} else {
D2Bot.stop();
}

break;
case getLocaleString(10913):
D2Bot.updateStatus("Disabled LoD CDKey");
D2Bot.printToConsole("Disabled LoD CDKey: " + gameInfo.mpq, 6);
D2Bot.CDKeyDisabled();

if (gameInfo.switchKeys) {
ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
D2Bot.restart(true);
} else {
D2Bot.stop();
}

break;
case getLocaleString(5347):
D2Bot.updateStatus("Disconnected");
D2Bot.printToConsole("Disconnected");
ControlAction.click(6, 335, 412, 128, 35);

break MainSwitch;
default:
D2Bot.updateStatus("Login Error");
D2Bot.printToConsole("Login Error - " + string);

if (gameInfo.switchKeys) {
ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
D2Bot.restart(true);
} else {
D2Bot.stop();
}

break;
}
}

ControlAction.click(6, 335, 412, 128, 35);

while (true) {
delay(1000);
}

break;
case 11: // Unable To Connect
D2Bot.updateStatus("Unable To Connect");

if (connectFail) {
ControlAction.timeoutDelay("Unable to Connect", StarterConfig.UnableToConnectDelay * 6e4);

connectFail = false;
} else {
connectFail = true;
}

if (!ControlAction.click(6, 335, 450, 128, 35)) {
break;
}

break;
case 13: // Realm Down - Character Select screen
D2Bot.updateStatus("Realm Down");
delay(1000);

if (!ControlAction.click(6, 33, 572, 128, 35)) {
break;
}

updateCount();
ControlAction.timeoutDelay("Realm Down", StarterConfig.RealmDownDelay * 6e4);
D2Bot.CDKeyRD();

if (gameInfo.switchKeys && !gameInfo.rdBlocker) {
D2Bot.printToConsole("Realm Down - Changing CD-Key");
ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
D2Bot.restart(true);
} else {
D2Bot.printToConsole("Realm Down - Restart");
D2Bot.restart();
}

break;
case 14: // Character Select - Disconnected
D2Bot.updateStatus("Disconnected");
delay(500);
ControlAction.click(6, 351, 337, 96, 32);

break;
case 16: // Character Select - Please Wait popup
if (!locationTimeout(StarterConfig.PleaseWaitTimeout * 1e3, location)) {
ControlAction.click(6, 351, 337, 96, 32);
}

break;
case 17: // Lobby - Lost Connection - just click okay, since we're toast anyway
delay(1000);
ControlAction.click(6, 351, 337, 96, 32);

break;
case 19: // Login - Cdkey In Use
D2Bot.printToConsole(gameInfo.mpq + " is in use by " + ControlAction.getText(4, 158, 310, 485, 40), 6);
D2Bot.CDKeyInUse();

if (gameInfo.switchKeys) {
ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
D2Bot.restart(true);
} else {
ControlAction.timeoutDelay("CD-Key in use", StarterConfig.CDKeyInUseDelay * 6e4);
ControlAction.click(6, 335, 450, 128, 35);
}

break;
case 20: // Single Player - Select Difficulty
break;
case 21: // Main Menu - Connecting
if (!locationTimeout(StarterConfig.ConnectingTimeout * 1e3, location)) {
ControlAction.click(6, 330, 416, 128, 35);
}

break;
case 22: // Login - Invalid Cdkey (classic or xpac)
text = ControlAction.getText(4, 162, 270, 477, 50);
string = "";

if (text) {
for (i = 0; i < text.length; i += 1) {
string += text[i];

if (i !== text.length - 1) {
string += " ";
}
}
}

switch (string) {
case getLocaleString(10914):
D2Bot.printToConsole(gameInfo.mpq + " LoD key in use by " + ControlAction.getText(4, 158, 310, 485, 40), 6);
D2Bot.CDKeyInUse();

if (gameInfo.switchKeys) {
ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
D2Bot.restart(true);
} else {
ControlAction.click(6, 335, 450, 128, 35);
ControlAction.timeoutDelay("LoD key in use", StarterConfig.CDKeyInUseDelay * 6e4);
}

break;
default:
if (gameInfo.switchKeys) {
D2Bot.printToConsole("Invalid CD-Key");
ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
D2Bot.restart(true);
} else {
ControlAction.click(6, 335, 450, 128, 35);
ControlAction.timeoutDelay("Invalid CD-Key", StarterConfig.CDKeyInUseDelay * 6e4);
}

break;
}

break;
case 23: // Character Select - Connecting
case 42: // Empty character screen
string = "";
text = ControlAction.getText(4, 45, 318, 531, 140);

if (text) {
for (i = 0; i < text.length; i += 1) {
string += text[i];

if (i !== text.length - 1) {
string += " ";
}
}

if (string === getLocaleString(11161)) { // CDKey disabled from realm play
D2Bot.updateStatus("Realm Disabled CDKey");
D2Bot.printToConsole("Realm Disabled CDKey: " + gameInfo.mpq, 6);
D2Bot.CDKeyDisabled();

if (gameInfo.switchKeys) {
ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
D2Bot.restart(true);
} else {
D2Bot.stop();
}
}
}

if (!locationTimeout(StarterConfig.ConnectingTimeout * 1e3, location)) {
ControlAction.click(6, 33, 572, 128, 35);

if (gameInfo.rdBlocker) {
D2Bot.restart();
}
}

break;
case 24: // Server Down - not much to do but wait..
break;
case 25: // Lobby - Please Wait
if (!locationTimeout(StarterConfig.PleaseWaitTimeout * 1e3, location)) {
ControlAction.click(6, 351, 337, 96, 32);
}

break;
case 26: // Lobby - Game Name Exists
break;
case 27: // Gateway Select
ControlAction.click(6, 436, 538, 96, 32);

break;
case 28: // Lobby - Game Does Not Exist
D2Bot.printToConsole("Game doesn't exist");

if (gameInfo.rdBlocker) {
D2Bot.printToConsole(gameInfo.mpq + " is probably flagged.", 6);

if (gameInfo.switchKeys) {
ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
D2Bot.restart(true);
}
} else {
locationTimeout(StarterConfig.GameDoesNotExistTime out * 1e3, location);
}

lastGameStatus = "ready";

break;
case 38: // Game is full
D2Bot.printToConsole("Game is full");
ControlAction.click(6, 652, 469, 120, 20);
lastGame.push(joinInfo.gameName);

lastGameStatus = "ready";

break;
default:
if (location !== undefined) {
D2Bot.printToConsole("Unhandled location " + location);
//takeScreenshot();
delay(500);
D2Bot.restart();
}

break;
}
}
keksnuss is offline  
Old 12/21/2018, 14:37   #4
 
elite*gold: 0
Join Date: Mar 2013
Posts: 292
Received Thanks: 64
Das ist mehr als unübersichtlich..
bitte mal die Dateien irgendwo hochladen oder hier als Anhang anfügen.. sonst suchst man sich ja nen Wolf
Robert S. is offline  
Old 12/21/2018, 17:15   #5
 
elite*gold: 0
Join Date: Sep 2008
Posts: 4
Received Thanks: 0

keksnussss soll leeder werden d2 bot fehnster narme keksnuss


druid soll lecher werden d2 fehnster keks1

habe echt alles versucht bekomme es nicht hin


fehnster heist

hier die 3 datein

Code:
// Sorceress config file

/* Brief instructions:
 * Notepad++ is HIGHLY recommended to use for editing these files. Visit http://notepad-plus-plus.org/
 * To comment out something, put // in front of that line
 * !!!Never comment out something you're not sure about, set it to false or disable as noted in description if you don't want to use it.
 * true and false are case sensitive. Good: Config.SomeVar = true; Bad: Config.SomeVar = True;
 */

function LoadConfig() {
	/* Sequence config
	 * Set to true if you want to run it, set to false if not.
	 * If you want to change the order of the scripts, just change the order of their lines by using cut and paste.
	 */

	// User addon script. Read the description in libs/bots/UserAddon.js
	Scripts.UserAddon = false; // !!!YOU MUST SET THIS TO FALSE IF YOU WANT TO RUN BOSS/AREA SCRIPTS!!!

	// Battle orders script - Use this for 2+ characters (for example BO barb + sorc)
	Scripts.BattleOrders = false;
		Config.BattleOrders.Mode = 0; // 0 = give BO, 1 = get BO
		Config.BattleOrders.Wait = false; // Idle until the player that received BO leaves.
		Config.BattleOrders.Getters = []; // List of players to wait for before casting Battle Orders (mode 0). All players must be in the same area as the BOer.

	// Team MF system
	Config.MFLeader = false; // Set to true if you have one or more MFHelpers. Opens TP and gives commands when doing normal MF runs.

	// Boss/area scripts

	// *** act 1 ***
	Scripts.Corpsefire = false;
		Config.Corpsefire.ClearDen = false;
	Scripts.Mausoleum = false;
		Config.Mausoleum.KillBloodRaven = false;
		Config.Mausoleum.ClearCrypt = false;
	Scripts.Rakanishu = false;
		Config.Rakanishu.KillGriswold = false;
	Scripts.UndergroundPassage = false;
	Scripts.Coldcrow = false;
	Scripts.Tristram = false;
		Config.Tristram.PortalLeech = false; // Set to true to open a portal for leechers.
	Scripts.Pit = false;
		Config.Pit.ClearPit1 = false;
	Scripts.Treehead = false;
	Scripts.Smith = false;
	Scripts.BoneAsh = false;
	Scripts.Countess = true;
		Config.Countess.KillGhosts = false;
	Scripts.Andariel = false;
	Scripts.Cows = false;

	
	// *** act 2 ***
	Scripts.Radament = false;
	Scripts.Coldworm = false;
		Config.Coldworm.KillBeetleburst = false;
		Config.Coldworm.ClearMaggotLair = false; // Clear all 3 levels
	Scripts.AncientTunnels = false;
		Config.AncientTunnels.OpenChest = false; // Open special chest in Lost City
		Config.AncientTunnels.KillDarkElder = false;
	Scripts.Summoner = false;
		Config.Summoner.FireEye = false;
	Scripts.Tombs = false;
	Scripts.Duriel = false;

	// *** act 3 ***
	Scripts.Stormtree = false;
	Scripts.KurastTemples = false;
	Scripts.Icehawk = false;
	Scripts.Endugu = false;
	Scripts.Travincal = false;
		Config.Travincal.PortalLeech = false; // Set to true to open a portal for leechers.
	Scripts.Mephisto = false;
		Config.Mephisto.MoatTrick = false;
		Config.Mephisto.KillCouncil = false;
		Config.Mephisto.TakeRedPortal = true;

	// *** act 4 ***
	Scripts.OuterSteppes = false;
	Scripts.Izual = false;
	Scripts.Hephasto = false;
	Scripts.Vizier = false; // Intended for classic sorc, kills Vizier only.
	Scripts.FastDiablo = false;
	Scripts.Diablo = true;
		Config.Diablo.Entrance = true; // Start from entrance
		Config.Diablo.SealWarning = "Leave the seals alone!";
		Config.Diablo.EntranceTP = "Entrance TP up";
		Config.Diablo.StarTP = "Star TP up";
		Config.Diablo.DiabloMsg = "Diablo";
	Scripts.SealLeader = false; // Clear a safe spot around seals and invite leechers in. Leechers should run SealLeecher script. Don't run with Diablo or FastDiablo.

	// *** act 5 ***
	Scripts.Pindleskin = false;
		Config.Pindleskin.UseWaypoint = false;
		Config.Pindleskin.KillNihlathak = true;
		Config.Pindleskin.ViperQuit = false; // End script if Tomb Vipers are found.
	Scripts.Nihlathak = false;
		Config.Nihlathak.ViperQuit = false; // End script if Tomb Vipers are found.
	Scripts.Eldritch = false;
		Config.Eldritch.OpenChest = true;
		Config.Eldritch.KillShenk = true;
		Config.Eldritch.KillDacFarren = true;
	Scripts.Eyeback = false;
	Scripts.SharpTooth = false;
	Scripts.ThreshSocket = false;
	Scripts.Abaddon = false;
	Scripts.Frozenstein = false;
		Config.Frozenstein.ClearFrozenRiver = true;
	Scripts.Bonesaw = false;
		Config.Bonesaw.ClearDrifterCavern = false;
	Scripts.Snapchip = false;
		Config.Snapchip.ClearIcyCellar = true;
	Scripts.Worldstone = false;
	Scripts.Baal = true;
		Config.Baal.HotTPMessage = "Hot TP!";
		Config.Baal.SafeTPMessage = "Safe TP!";
		Config.Baal.BaalMessage = "Baal! channel Keksnuss next Game";
		Config.Baal.SoulQuit = false; // End script if Souls (Undead Soul Killers) are found.
		Config.Baal.DollQuit = false; // End script if Dolls (Undead Stigyan Dolls) are found.
		Config.Baal.KillBaal = true; // Kill Baal. Leaves game after wave 5 if false.

	/* ### leeching section ###
	* Unless stated otherwise, leader's character name isn't needed on order to run.
	* Don't use more scripts of the same type! (Run AutoBaal OR BaalHelper, not both)
	*/

	Config.Leader = ""; // Leader's ingame character name. Leave blank to try auto-detection (works in AutoBaal, Wakka, MFHelper)
	Config.QuitList = [""]; // List of character names to quit with. Example: Config.QuitList = ["MySorc", "MyDin"];
	Config.QuitListMode = 0; // 0 = use character names; 1 = use profile names (all profiles must run on the same computer).

	Scripts.TristramLeech = false; // Enters Tristram, attempts to stay close to the leader and will try and help kill.
	Scripts.TravincalLeech = false; // Enters portal at back of Travincal.
		Config.TravincalLeech.Helper = true; // If set to true the character will teleport to the stairs and help attack.
	Scripts.MFHelper = false; // Run the same MF run as the MFLeader. Leader must have Config.MFLeader = true
	Scripts.Wakka = false; // Walking chaos leecher with auto leader assignment, stays at safe distance from the leader
	Scripts.SealLeecher = false; // Enter safe portals to Chaos. Leader should run SealLeader.
	Scripts.DiabloHelper = false; // Chaos helper, kills monsters and doesn't open seals on its own.
		Config.DiabloHelper.Wait = 120; // Seconds to wait for a runner to be in Chaos. If Config.Leader is set, it will wait only for the leader.
		Config.DiabloHelper.Entrance = true; // Start from entrance. Set to false to start from star.
		Config.DiabloHelper.SkipTP = false; // Don't wait for town portal and directly head to chaos. It will clear monsters around chaos entrance and wait for the runner.
		Config.DiabloHelper.SkipIfBaal = false; // End script if there are party members in a Baal run.
	Scripts.AutoBaal = false; // Baal leecher with auto leader assignment
		Config.AutoBaal.FindShrine = false; // false = disabled, 1 = search after hot tp message, 2 = search as soon as leader is found
		Config.AutoBaal.LeechSpot = [15115, 5050]; // X, Y coords of Throne Room leech spot
		Config.AutoBaal.LongRangeSupport = false; // Cast long distance skills from a safe spot
	Scripts.BaalHelper = false;
		Config.BaalHelper.Wait = 120; // Seconds to wait for a runner to be in Throne
		Config.BaalHelper.KillNihlathak = false; // Kill Nihlathak before going to Throne
		Config.BaalHelper.FastChaos = false; // Kill Diablo before going to Throne
		Config.BaalHelper.DollQuit = false;  // End script if Dolls (Undead Soul Killers) are found.
		Config.BaalHelper.KillBaal = true; // Kill Baal. If set to false, you must configure Config.QuitList or the bot will wait indefinitely.
		Config.BaalHelper.SkipTP = false; // Don't wait for a TP, go to WSK3 and wait for someone to go to throne. Anti PK measure.
	Scripts.Follower = false; // Script that follows a manually played leader around like a merc. For a list of commands, see Follower.js

	// *** special scripts ***
	Scripts.WPGetter = false; // Get missing waypoints
	Scripts.GetKeys = false;  // Hunt for T/H/D keys
	Scripts.OrgTorch = false;
		Config.OrgTorch.MakeTorch = true; // Convert organ sets to torches
		Config.OrgTorch.WaitForKeys = true; // Enable Torch System to get keys from other profiles. See libs/TorchSystem.js for more info
		Config.OrgTorch.WaitTimeout = 15; // Time in minutes to wait for keys before moving on
		Config.OrgTorch.UseSalvation = true; // Use Salvation aura on Mephisto (if possible)
		Config.OrgTorch.GetFade = false; // Get fade by standing in a fire. You MUST have Last Wish or Treachery on your character being worn.
	Scripts.Rusher = false; // Rush bot. For a list of commands, see Rusher.js
		Config.Rusher.WaitPlayerCount = 0; // Wait until game has a certain number of players (0 - don't wait, 8 - wait for full game).
		Config.Rusher.Radament = false; // Do Radament quest.
		Config.Rusher.LamEsen = false; // Do Lam Esen quest.
		Config.Rusher.Izual = false; // Do Izual quest.
		Config.Rusher.Shenk = false; // Do Shenk quest.
		Config.Rusher.Anya = false; // Do Anya quest.
		Config.Rusher.LastRun = ""; // End rush after this run. List of runs: http://pastebin.com/Uez3nZ6g
	Scripts.Rushee = false; // Automatic rushee, works with Rusher. Set Rusher's character name as Config.Leader
		Config.Rushee.Quester = false; // Enter portals and get quest items.
		Config.Rushee.Bumper = false; // Do Ancients and Baal. Minimum levels: 20 - norm, 40 - nightmare
	Scripts.CrushTele = false; // classic rush teleporter. go to area of interest and press "-" numpad key
	Scripts.Questing = false; // solves missing quests (skill/stat+shenk)
	Scripts.Gamble = false; // Gambling system, other characters will mule gold into your game so you can gamble infinitely. See Gambling.js
	Scripts.Crafting = false; // Crafting system, other characters will mule crafting ingredients. See CraftingSystem.js
	Scripts.GhostBusters = false; // Kill ghosts in most areas that contain them
	Scripts.Enchant = false;
		Config.Enchant.Triggers = ["chant", "cows", "wps"]; // Chat commands for enchant, cow level and waypoint giving
		Config.Enchant.GetLeg = false; // Get Wirt's Leg from Tristram. If set to false, it will check for the leg in town.
		Config.Enchant.AutoChant = false; // Automatically enchant nearby players and their minions
		Config.Enchant.GameLength = 20; // Game length in minutes
	Scripts.IPHunter = false;
		Config.IPHunter.IPList = []; // List of IPs to look for. example: [165, 201, 64]
		Config.IPHunter.GameLength = 3; // Number of minutes to stay in game if ip wasn't found
	Scripts.KillDclone = false; // Kill Diablo Clone by using Arcane Sanctuary waypoint. Diablo needs to walk the Earth in the game.
	Scripts.ShopBot = false; // Shopbot script. Automatically uses shopbot.nip and ignores other pickits.
		// Supported NPCs: Akara, Charsi, Gheed, Elzix, Fara, Drognan, Ormus, Asheara, Hratli, Jamella, Halbu, Anya. Multiple NPCs are also supported, example: ["Elzix", "Fara"]
		// Use common sense when combining NPCs. Shopping in different acts will probably lead to bugs.
		Config.ShopBot.ShopNPC = "Anya";
		// Put item classid numbers or names to scan (remember to put quotes around names). Leave blank to scan ALL items. See libs/config/templates/ShopBot.txt
		Config.ShopBot.ScanIDs = [];
		Config.ShopBot.CycleDelay = 0; // Delay between shopping cycles in milliseconds, might help with crashes.
		Config.ShopBot.QuitOnMatch = false; // Leave game as soon as an item is shopped.
	Scripts.ChestMania = false; // Open chests in configured areas. See sdk/areas.txt
		Config.ChestMania.Act1 = [13, 14, 15, 16, 18, 19]; // List of act 1 areas to open chests in
		Config.ChestMania.Act2 = [55, 59, 65, 66, 67, 68, 69, 70, 71, 72]; // List of act 2 areas to open chests in
		Config.ChestMania.Act3 = [79, 80, 81, 92, 93, 84, 85, 90]; // List of act 3 areas to open chests in
		Config.ChestMania.Act4 = []; // List of act 4 areas to open chests in
		Config.ChestMania.Act5 = [115, 116, 119, 125, 126, 127]; // List of act 5 areas to open chests in
	Scripts.ClearAnyArea = false; // Clear any area. Uses Config.ClearType to determine which type of monsters to kill.
		Config.ClearAnyArea.AreaList = []; // List of area ids to clear. See sdk/areas.txt

	// *** Guest scripts ***

	// Baal Assistant by YourGreatestMember
	Scripts.BaalAssistant = false; // Used to leech or help in baal runs.
		Config.BaalAssistant.Wait = 120; // Seconds to wait for a runner to be in the throne / portal wait / safe TP wait / hot TP wait...
		Config.BaalAssistant.KillNihlathak = false; // Kill Nihlathak before going to Throne
		Config.BaalAssistant.FastChaos = false; // Kill Diablo before going to Throne
		Config.BaalAssistant.Helper = true; // Set to true to help attack, set false to to leech.
		Config.BaalAssistant.GetShrine = false; // Set to true to get a experience shrine at the start of the run.
		Config.BaalAssistant.GetShrineWaitForHotTP = false; // Set to true to get a experience shrine after leader shouts the hot tp message as defined in Config.BaalAssistant.HotTPMessage
		Config.BaalAssistant.SkipTP = false; // Set to true to enable the helper to skip the TP and teleport down to the throne room.
		Config.BaalAssistant.WaitForSafeTP = false; // Set to true to wait for a safe TP message (defined in SafeTPMessage)
		Config.BaalAssistant.DollQuit = false; // Quit on dolls. (Hardcore players?)
		Config.BaalAssistant.SoulQuit = false; // Quit on Souls. (Hardcore players?)
		Config.BaalAssistant.KillBaal = true; // Set to true to kill baal, if you set to false you MUST configure Config.QuitList or Config.BaalAssistant.NextGameMessage or the bot will wait indefinitely. 
		Config.BaalAssistant.HotTPMessage = ["Hot"]; // Configure safe TP messages.
		Config.BaalAssistant.SafeTPMessage = ["Safe", "Clear"]; // Configure safe TP messages.
		Config.BaalAssistant.BaalMessage = ["Baal"]; // Configure baal messages, this is a precautionary measure.
		Config.BaalAssistant.NextGameMessage = ["Next Game", "Next", "New Game"];	// Next Game message, this is a precautionary quit command, Reccomended setting up: Config.QuitList

	// Town settings
	Config.HealHP = 50; // Go to a healer if under designated percent of life.
	Config.HealMP = 0; // Go to a healer if under designated percent of mana.
	Config.HealStatus = false; // Go to a healer if poisoned or cursed
	Config.UseMerc = true; // Use merc. This is ignored and always false in d2classic.
	Config.MercWatch = false; // Instant merc revive during battle.

	// Potion settings
	Config.UseHP = 75; // Drink a healing potion if life is under designated percent.
	Config.UseRejuvHP = 40;  // Drink a rejuvenation potion if life is under designated percent.
	Config.UseMP = 30; // Drink a mana potion if mana is under designated percent.
	Config.UseRejuvMP = 0; // Drink a rejuvenation potion if mana is under designated percent.
	Config.UseMercHP = 75; // Give a healing potion to your merc if his/her life is under designated percent.
	Config.UseMercRejuv = 0; // Give a rejuvenation potion to your merc if his/her life is under designated percent.
	Config.HPBuffer = 0; // Number of healing potions to keep in inventory.
	Config.MPBuffer = 0; // Number of mana potions to keep in inventory.
	Config.RejuvBuffer = 0; // Number of rejuvenation potions to keep in inventory.

	// Chicken settings
	Config.LifeChicken = 30; // Exit game if life is less or equal to designated percent.
	Config.ManaChicken = 0; // Exit game if mana is less or equal to designated percent.
	Config.MercChicken = 0; // Exit game if merc's life is less or equal to designated percent.
	Config.TownHP = 50; // Go to town if life is under designated percent.
	Config.TownMP = 10; // Go to town if mana is under designated percent.

	/* Inventory lock configuration. !!!READ CAREFULLY!!!
	 * 0 = item is locked and won't be moved. If item occupies more than one slot, ALL of those slots must be set to 0 to lock it in place.
	 * Put 0s where your torch, annihilus and everything else you want to KEEP is.
	 * 1 = item is unlocked and will be dropped, stashed or sold.
	 * If you don't change the default values, the bot won't stash items.
	 */
	Config.Inventory[0] = [0,0,0,0,0,0,0,1,1,1];
	Config.Inventory[1] = [0,0,0,0,0,0,0,1,1,1];
	Config.Inventory[2] = [0,0,0,0,0,0,0,1,1,1];
	Config.Inventory[3] = [0,0,0,1,1,1,1,1,1,1];

	Config.StashGold = 100000; // Minimum amount of gold to stash.

	/* Potion types for belt columns from left to right.
	 * Rejuvenation potions must always be rightmost.
	 * Supported potions - Healing ("hp"), Mana ("mp") and Rejuvenation ("rv")
	 */
	Config.BeltColumn[0] = "hp";
	Config.BeltColumn[1] = "mp";
	Config.BeltColumn[2] = "mp";
	Config.BeltColumn[3] = "rv";

	/* Minimum amount of potions. If we have less, go to vendor to purchase more.
	 * Set rejuvenation columns to 0, because they can't be bought.
	 */
	Config.MinColumn[0] = 3;
	Config.MinColumn[1] = 3;
	Config.MinColumn[2] = 0;
	Config.MinColumn[3] = 0;

	// Pickit config. Default folder is kolbot/pickit.
	Config.PickitFiles.push("kolton.nip");
	Config.PickitFiles.push("LLD.nip");
	Config.PickRange = 40; // Pick radius
	Config.FastPick = true; // Check and pick items between attacks

	// Additional item info log settings. All info goes to \logs\ItemLog.txt
	Config.ItemInfo = false; // Log stashed, skipped (due to no space) or sold items.
	Config.ItemInfoQuality = []; // The quality of sold items to log. See NTItemAlias.dbl for values. Example: Config.ItemInfoQuality = [6, 7, 8];

	// Item identification settings
	Config.CainID.Enable = false; // Identify items at Cain
	Config.CainID.MinGold = 2500000; // Minimum gold (stash + character) to have in order to use Cain.
	Config.CainID.MinUnids = 3; // Minimum number of unid items in order to use Cain.
	Config.FieldID = false; // Identify items in the field instead of going to town.
	Config.DroppedItemsAnnounce.Enable = false;	// Announce Dropped Items to in-game newbs
	Config.DroppedItemsAnnounce.Quality = []; // Quality of item to announce. See NTItemAlias.dbl for values. Example: Config.DroppedItemsAnnounce.Quality = [6, 7, 8];

	// Manager Item Log Screen
	Config.ShowLowRunes = true; // show/hide low runes (El ÷ Dol) on the item log screen
	Config.ShowMiddleRunes = true; // show/hide middle runes (Hel ÷ Mal) on the item log screen
	Config.ShowHighRunes = true; // show/hide high runes (Ist ÷ Zod) on the item log screen
	Config.ShowLowGems = true; // show/hide low gems (chipped, flawed, normal) on the item log screen
	Config.ShowHighGems = true; // show/hide high gems (flawless, perfect) on the item log screen
	Config.ShowCubingInfo = true; // show/hide the cubing messages on console and item log screen

	// Repair settings
	Config.CubeRepair = false; // Repair weapons with Ort and armor with Ral rune. Don't use it if you don't understand the risk of losing items.
	Config.RepairPercent = 40; // Durability percent of any equipped item that will trigger repairs.

	// Gambling config
	Config.Gamble = false;
	Config.GambleGoldStart = 1000000;
	Config.GambleGoldStop = 500000;

	// List of item names or classids for gambling. Check libs/NTItemAlias.dbl file for other item classids.
	Config.GambleItems.push("Amulet");
	Config.GambleItems.push("Ring");
	Config.GambleItems.push("Circlet");
	Config.GambleItems.push("Coronet");

	/* Cubing config. All recipe names are available in Templates/Cubing.txt. For item names/classids check NTItemAlias.dbl
	 * The format is Config.Recipes.push([recipe_name, item_name_or_classid, etherealness]). Etherealness is optional and only applies to some recipes.
	 */
	Config.Cubing = true; // Set to true to enable cubing.

	// Ingredients for the following recipes will be auto-picked, for classids check libs/NTItemAlias.dbl

	//Config.Recipes.push([Recipe.Gem, "Flawless Amethyst"]); // Make Perfect Amethyst
	//Config.Recipes.push([Recipe.Gem, "Flawless Topaz"]); // Make Perfect Topaz
	//Config.Recipes.push([Recipe.Gem, "Flawless Sapphire"]); // Make Perfect Sapphire
	//Config.Recipes.push([Recipe.Gem, "Flawless Emerald"]); // Make Perfect Emerald
	//Config.Recipes.push([Recipe.Gem, "Flawless Ruby"]); // Make Perfect Ruby
	//Config.Recipes.push([Recipe.Gem, "Flawless Diamond"]); // Make Perfect Diamond
	//Config.Recipes.push([Recipe.Gem, "Flawless Skull"]); // Make Perfect Skull

	//Config.Recipes.push([Recipe.Token]); // Make Token of Absolution

	Config.Recipes.push([Recipe.Rune, "Pul Rune"]); // Upgrade Pul to Um
	Config.Recipes.push([Recipe.Rune, "Um Rune"]); // Upgrade Um to Mal
	Config.Recipes.push([Recipe.Rune, "Mal Rune"]); // Upgrade Mal to Ist
	Config.Recipes.push([Recipe.Rune, "Ist Rune"]); // Upgrade Ist to Gul
	Config.Recipes.push([Recipe.Rune, "Gul Rune"]); // Upgrade Gul to Vex

	//Config.Recipes.push([Recipe.Caster.Amulet]); // Craft Caster Amulet
	//Config.Recipes.push([Recipe.Blood.Ring]); // Craft Blood Ring
	//Config.Recipes.push([Recipe.Blood.Helm, "Armet"]); // Craft Blood Armet
	//Config.Recipes.push([Recipe.HitPower.Gloves, "Vambraces"]); // Craft Hit Power Vambraces

	// The gems not used by other recipes will be used for magic item rerolling.

	//Config.Recipes.push([Recipe.Reroll.Magic, "Diadem"]); // Reroll magic Diadem
	//Config.Recipes.push([Recipe.Reroll.Magic, "Grand Charm"]); // Reroll magic Grand Charm (ilvl 91+)

	//Config.Recipes.push([Recipe.Reroll.Rare, "Diadem"]); // Reroll rare Diadem

	/* Base item for the following recipes must be in pickit. The rest of the ingredients will be auto-picked.
	 * Use Roll.Eth, Roll.NonEth or Roll.All to determine what kind of base item to roll - ethereal, non-ethereal or all.
	 */
	//Config.Recipes.push([Recipe.Socket.Weapon, "Thresher", Roll.Eth]); // Socket ethereal Thresher
	//Config.Recipes.push([Recipe.Socket.Weapon, "Cryptic Axe", Roll.Eth]); // Socket ethereal Cryptic Axe
	//Config.Recipes.push([Recipe.Socket.Armor, "Sacred Armor", Roll.Eth]); // Socket ethereal Sacred Armor
	//Config.Recipes.push([Recipe.Socket.Armor, "Archon Plate", Roll.Eth]); // Socket ethereal Archon Plate

	//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Heavy Gloves", Roll.NonEth]); // Upgrade Bloodfist to Exceptional
	//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Light Gauntlets", Roll.NonEth]); // Upgrade Magefist to Exceptional
	//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Sharkskin Gloves", Roll.NonEth]); // Upgrade Bloodfist or Grave Palm to Elite
	//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Battle Gauntlets", Roll.NonEth]); // Upgrade Magefist or Lavagout to Elite
	//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "War Boots", Roll.NonEth]); // Upgrade Gore Rider to Elite

	/* Runeword config. All recipes are available in Templates/Runewords.txt
	 * Keep lines follow pickit format and any given runeword is tested vs ALL lines so you don't need to repeat them
	 */
	Config.MakeRunewords = true; // Set to true to enable runeword making/rerolling

	Config.Runewords.push([Runeword.Insight, "Thresher"]); // Make Insight Thresher
	//Config.Runewords.push([Runeword.Insight, "Cryptic Axe"]); // Make Insight Cryptic Axe

	//Config.KeepRunewords.push("[type] == polearm # [meditationaura] == 17");

	Config.Runewords.push([Runeword.Spirit, "Monarch"]); // Make Spirit Monarch
	//Config.Runewords.push([Runeword.Spirit, "Sacred Targe"]); // Make Spirit Sacred Targe

	//Config.KeepRunewords.push("[type] == shield || [type] == auricshields # [fcr] == 35");

	// Public game options

	// If Config.Leader is set, the bot will only accept invites from leader. If Config.PublicMode is not 0, Baal and Diablo script will open Town Portals.
	Config.PublicMode = 1; // 1 = invite and accept, 2 = accept only, 3 = invite only, 0 = disable
	// Party message settings. Each setting represents an array of messages that will be randomly chosen.
	// $name, $level, $class and $killer are replaced by the player's name, level, class and killer
	Config.Greetings = []; // Example: ["Hello, $name (level $level $class)"]
	Config.DeathMessages = []; // Example: ["Watch out for that $killer, $name!"]
	Config.Congratulations = []; // Example: ["Congrats on level $level, $name!"]
	Config.ShitList = true; // Blacklist hostile players so they don't get invited to party.
	Config.UnpartyShitlisted = true; // Leave party if someone invited a blacklisted player.

	// General config
	Config.AutoMap = true; // Set to true to open automap at the beginning of the game.
	Config.LastMessage = ""; // Message or array of messages to say at the end of the run. Use $nextgame to say next game - "Next game: $nextgame" (works with lead entry point)
	Config.MinGameTime = 60; // Min game time in seconds. Bot will TP to town and stay in game if the run is completed before.
	Config.MaxGameTime = 30000; // Maximum game time in seconds. Quit game when limit is reached.
	Config.TeleSwitch = false; // Switch to slot II when teleporting more than 1 node.
	Config.OpenChests = true; // Open chests. Controls key buying.
	Config.MiniShopBot = true; // Scan items in NPC shops.
	Config.PacketShopping = false; // Use packets to shop. Improves shopping speed.
	Config.TownCheck = true; // Go to town if out of potions
	Config.LogExperience = true; // Print experience statistics in the manager.
	Config.PingQuit = [{Ping: 0, Duration: 0}]; // Quit if ping is over the given value for over the given time period in seconds.

	// Shrine Scanner - scan for shrines while moving.
	// Put the shrine types in order of priority (from highest to lowest). For a list of types, see sdk/shrines.txt
	Config.ScanShrines = [15];

	// MF Switch
	Config.MFSwitchPercent = 0; // Boss life % to switch weapons at. Set to 0 to disable.
	Config.MFSwitch = 0; // MF weapon slot: 0 = slot I, 1 = slot II

	// Speedup config. Full packet casting is not recommended for melee skills.
	Config.FCR = 0; // 0 - disable, 1 to 255 - set value of Faster Cast Rate.
	Config.FHR = 0; // 0 - disable, 1 to 255 - set value of Faster Hit Recovery.
	Config.FBR = 0; // 0 - disable, 1 to 255 - set value of Faster Block Recovery.
	Config.IAS = 0; // 0 - disable, 1 to 255 - set value of Increased Attack Speed.
	Config.PacketCasting = 0; // 0 = disable, 1 = packet teleport, 2 = full packet casting.
	Config.WaypointMenu = true;

	// Anti-hostile config
	Config.AntiHostile = false; // Enable anti-hostile.
	Config.HostileAction = 0; // 0 - quit immediately, 1 - quit when hostile player is sighted, 2 - attack hostile.
	Config.TownOnHostile = false; // Go to town instead of quitting when HostileAction is 0 or 1.
	Config.RandomPrecast = false; // Anti-PK measure, only supported in Baal and BaalHelper and BaalAssisstant at the moment.
	Config.ViperCheck = false; // Quit if revived Tomb Vipers are sighted.

	// DClone config
	Config.StopOnDClone = true; // Go to town and idle as soon as Diablo walks the Earth
	Config.SoJWaitTime = 5; // Time in minutes to wait for another SoJ sale before leaving game. 0 = disabled
	Config.KillDclone = false; // Go to Palace Cellar 3 and try to kill Diablo Clone. Pointless if you already have Annihilus.
	Config.DCloneQuit = false; // 1 = quit when Diablo walks, 2 = quit on soj sales, 0 = disabled

	// Monster skip config
	// Skip immune monsters. Possible options: "fire", "cold", "lightning", "poison", "physical", "magic".
	// You can combine multiple resists with "and", for example - "fire and cold", "physical and cold and poison"
	Config.SkipImmune = [];
	// Skip enchanted monsters. Possible options: "extra strong", "extra fast", "cursed", "magic resistant", "fire enchanted", "lightning enchanted", "cold enchanted", "mana burn", "teleportation", "spectral hit", "stone skin", "multiple shots".
	// You can combine multiple enchantments with "and", for example - "cursed and extra fast", "mana burn and extra strong and lightning enchanted"
	Config.SkipEnchant = [];
	// Skip monsters with auras. Possible options: "fanaticism", "might", "holy fire", "blessed aim", "holy freeze", "holy shock". Conviction is bugged, don't use it.
	Config.SkipAura = [];
	// Uncomment the following line to always attempt to kill these bosses despite immunities and mods
	//Config.SkipException = [getLocaleString(2851), getLocaleString(2852), getLocaleString(2853)]; // vizier, de seis, infector

	/* Attack config
	 * To disable an attack, set it to -1
	 * Skills MUST be POSITIVE numbers. For reference see http://pastebin.com/baShRwWM
	 */
	Config.AttackSkill[0] = -1; // Preattack skill.
	Config.AttackSkill[1] = 49; // Primary skill to bosses.
	Config.AttackSkill[2] = -1; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
	Config.AttackSkill[3] = 49; // Primary skill to others.
	Config.AttackSkill[4] = -1; // Primary untimed skill to others. Keep at -1 if Config.AttackSkill[3] is untimed skill.
	Config.AttackSkill[5] = 56; // Secondary skill if monster is immune to primary.
	Config.AttackSkill[6] = -1; // Secondary untimed skill if monster is immune to primary untimed.

	// Low mana skills - these will be used if main skills can't be cast.
	Config.LowManaSkill[0] = -1; // Timed low mana skill.
	Config.LowManaSkill[1] = -1; // Untimed low mana skill.

	/* Advanced Attack config. Allows custom skills to be used on custom monsters.
	 *	Format: "Monster Name": [timed skill id, untimed skill id]
	 *	Example: "Baal": [38, -1] to use charged bolt on Baal
	 *	Multiple entries are separated by commas
	 */
	Config.CustomAttack = {
		//"Monster Name": [-1, -1]
	};

	Config.Dodge = true; // Move away from monsters that get too close. Don't use with short-ranged attacks like Poison Dagger.
	Config.DodgeRange = 10; // Distance to keep from monsters.
	Config.DodgeHP = 100; // Dodge only if HP percent is less than or equal to Config.DodgeHP. 100 = always dodge.
	Config.BossPriority = false; // Set to true to attack Unique/SuperUnique monsters first when clearing
	Config.ClearType = 0xF; // Monster spectype to kill in level clear scripts (ie. Mausoleum). 0xF = skip normal, 0x7 = champions/bosses, 0 = all
	Config.TeleStomp = false; // Use merc to attack bosses if they're immune to attacks, but not to physical damage

	// Wereform setup. Make sure you read Templates/Attacks.txt for attack skill format.
	Config.Wereform = false; // 0 / false - don't shapeshift, 1 / "Werewolf" - change to werewolf, 2 / "Werebear" - change to werebear

	// Class specific config
	Config.CastStatic = 60; // Cast static until the target is at designated life percent. 100 = disabled.
	Config.StaticList = []; // List of monster NAMES or CLASSIDS to static. Example: Config.StaticList = ["Andariel", 243];


	// AutoBuild System ( See /d2bs/kolbot/libs/config/Builds/README.txt for instructions )
	Config.AutoBuild.Enabled = false;			//	This will enable or disable the AutoBuild system

	Config.AutoBuild.Template = "BuildName";	//	The name of the build associated with an existing 
												//	template filename located in libs/config/Builds/

	Config.AutoBuild.Verbose = true;			//	Allows script to print messages in console
	Config.AutoBuild.DebugMode = true;			//	Debug mode prints a little more information to console and 
												//	logs activity to /logs/AutoBuild.CharacterName._MM_DD_YYYY.log
												//	It automatically enables Config.AutoBuild.Verbose
}
// Druid config file

/* Brief instructions:
* Notepad++ is HIGHLY recommended to use for editing these files. Visit
* To comment out something, put // in front of that line
* !!!Never comment out something you're not sure about, set it to false or disable as noted in description if you don't want to use it.
* true and false are case sensitive. Good: Config.SomeVar = true; Bad: Config.SomeVar = True;
*/

function LoadConfig() {
/* Sequence config
* Set to true if you want to run it, set to false if not.
* If you want to change the order of the scripts, just change the order of their lines by using cut and paste.
*/

// User addon script. Read the description in libs/bots/UserAddon.js
Scripts.UserAddon = false; // !!!YOU MUST SET THIS TO FALSE IF YOU WANT TO RUN BOSS/AREA SCRIPTS!!!

// Battle orders script - Use this for 2+ characters (for example BO barb + sorc)
Scripts.BattleOrders = false;
Config.BattleOrders.Mode = 0; // 0 = give BO, 1 = get BO
Config.BattleOrders.Wait = false; // Idle until the player that received BO leaves.
Config.BattleOrders.Getters = []; // List of players to wait for before casting Battle Orders (mode 0). All players must be in the same area as the BOer.

// Team MF system
Config.MFLeader = false; // Set to true if you have one or more MFHelpers. Opens TP and gives commands when doing normal MF runs.

// Boss/area scripts

// *** act 1 ***
Scripts.Corpsefire = false;
Config.Corpsefire.ClearDen = false;
Scripts.Mausoleum = false;
Config.Mausoleum.KillBloodRaven = false;
Config.Mausoleum.ClearCrypt = false;
Scripts.Rakanishu = false;
Config.Rakanishu.KillGriswold = true;
Scripts.UndergroundPassage = false;
Scripts.Coldcrow = false;
Scripts.Tristram = false;
Config.Tristram.PortalLeech = false; // Set to true to open a portal for leechers.
Scripts.Pit = false;
Config.Pit.ClearPit1 = true;
Scripts.Treehead = false;
Scripts.Smith = false;
Scripts.BoneAsh = false;
Scripts.Countess = false;
Config.Countess.KillGhosts = false;
Scripts.Andariel = false;
Scripts.Cows = false;

// *** act 2 ***
Scripts.Radament = false;
Scripts.Coldworm = false;
Config.Coldworm.KillBeetleburst = false;
Config.Coldworm.ClearMaggotLair = false; // Clear all 3 levels
Scripts.AncientTunnels = false;
Config.AncientTunnels.OpenChest = false; // Open special chest in Lost City
Config.AncientTunnels.KillDarkElder = false;
Scripts.Summoner = false;
Config.Summoner.FireEye = false;
Scripts.Tombs = false;
Scripts.Duriel = false;

// *** act 3 ***
Scripts.Stormtree = false;
Scripts.KurastTemples = false;
Scripts.Icehawk = false;
Scripts.Endugu = false;
Scripts.Travincal = false;
Config.Travincal.PortalLeech = false; // Set to true to open a portal for leechers.
Scripts.Mephisto = false;
Config.Mephisto.MoatTrick = false;
Config.Mephisto.KillCouncil = false;
Config.Mephisto.TakeRedPortal = true;

// *** act 4 ***
Scripts.OuterSteppes = false;
Scripts.Izual = false;
Scripts.Hephasto = false;
Scripts.Vizier = false; // Intended for classic sorc, kills Vizier only.
Scripts.FastDiablo = false;
Scripts.Diablo = false;
Config.Diablo.Entrance = true; // Start from entrance
Config.Diablo.SealWarning = "Leave the seals alone!";
Config.Diablo.EntranceTP = "Entrance TP up";
Config.Diablo.StarTP = "Star TP up";
Config.Diablo.DiabloMsg = "Diablo";
Scripts.SealLeader = false; // Clear a safe spot around seals and invite leechers in. Leechers should run SealLeecher script. Don't run with Diablo or FastDiablo.

// *** act 5 ***
Scripts.Pindleskin = false;
Config.Pindleskin.UseWaypoint = false;
Config.Pindleskin.KillNihlathak = true;
Config.Pindleskin.ViperQuit = false; // End script if Tomb Vipers are found.
Scripts.Nihlathak = false;
Config.Nihlathak.ViperQuit = false; // End script if Tomb Vipers are found.
Scripts.Eldritch = false;
Config.Eldritch.OpenChest = true;
Config.Eldritch.KillShenk = true;
Config.Eldritch.KillDacFarren = true;
Scripts.Eyeback = false;
Scripts.SharpTooth = false;
Scripts.ThreshSocket = false;
Scripts.Abaddon = false;
Scripts.Frozenstein = false;
Config.Frozenstein.ClearFrozenRiver = true;
Scripts.Bonesaw = false;
Config.Bonesaw.ClearDrifterCavern = false;
Scripts.Snapchip = false;
Config.Snapchip.ClearIcyCellar = true;
Scripts.Worldstone = false;
Scripts.Baal = false;
Config.Baal.HotTPMessage = "Hot TP!";
Config.Baal.SafeTPMessage = "Safe TP!";
Config.Baal.BaalMessage = "Baal!";
Config.Baal.SoulQuit = false; // End script if Souls (Undead Soul Killers) are found.
Config.Baal.DollQuit = false; // End script if Dolls (Undead Stigyan Dolls) are found.
Config.Baal.KillBaal = true; // Kill Baal. Leaves game after wave 5 if false.

/* ### leeching section ###
* Unless stated otherwise, leader's character name isn't needed on order to run.
* Don't use more scripts of the same type! (Run AutoBaal OR BaalHelper, not both)
*/

Config.Leader = "keksnussss"; // Leader's ingame character name. Leave blank to try auto-detection (works in AutoBaal, Wakka, MFHelper)
Config.QuitList = [""]; // List of character names to quit with. Example: Config.QuitList = ["MySorc", "MyDin"];
Config.QuitListMode = 0; // 0 = use character names; 1 = use profile names (all profiles must run on the same computer).

Scripts.TristramLeech = false; // Enters Tristram, attempts to stay close to the leader and will try and help kill.
Scripts.TravincalLeech = false; // Enters portal at back of Travincal.
Config.TravincalLeech.Helper = true; // If set to true the character will teleport to the stairs and help attack.
Scripts.MFHelper = false; // Run the same MF run as the MFLeader. Leader must have Config.MFLeader = true
Scripts.Wakka = false; // Walking chaos leecher with auto leader assignment, stays at safe distance from the leader
Scripts.SealLeecher = true; // Enter safe portals to Chaos. Leader should run SealLeader.
Scripts.DiabloHelper = true; // Chaos helper, kills monsters and doesn't open seals on its own.
Config.DiabloHelper.Wait = 720; // Seconds to wait for a runner to be in Chaos. If Config.Leader is set, it will wait only for the leader.
Config.DiabloHelper.Entrance = true; // Start from entrance. Set to false to start from star.
Config.DiabloHelper.SkipTP = false; // Don't wait for town portal and directly head to chaos. It will clear monsters around chaos entrance and wait for the runner.
Config.DiabloHelper.SkipIfBaal = false; // End script if there are party members in a Baal run.
Scripts.AutoBaal = false; // Baal leecher with auto leader assignment
Config.AutoBaal.FindShrine = false; // false = disabled, 1 = search after hot tp message, 2 = search as soon as leader is found
Config.AutoBaal.LeechSpot = [15115, 5050]; // X, Y coords of Throne Room leech spot
Config.AutoBaal.LongRangeSupport = false; // Cast long distance skills from a safe spot
Scripts.BaalHelper = true;
Config.BaalHelper.Wait = 360; // Seconds to wait for a runner to be in Throne
Config.BaalHelper.KillNihlathak = false; // Kill Nihlathak before going to Throne
Config.BaalHelper.FastChaos = false; // Kill Diablo before going to Throne
Config.BaalHelper.DollQuit = true; // End script if Dolls (Undead Soul Killers) are found.
Config.BaalHelper.KillBaal = true; // Kill Baal. If set to false, you must configure Config.QuitList or the bot will wait indefinitely.
Config.BaalHelper.SkipTP = false; // Don't wait for a TP, go to WSK3 and wait for someone to go to throne. Anti PK measure.
Scripts.Follower = false; // Script that follows a manually played leader around like a merc. For a list of commands, see Follower.js

// *** special scripts ***
Scripts.WPGetter = false; // Get missing waypoints
Scripts.GetKeys = false; // Hunt for T/H/D keys
Scripts.OrgTorch = false;
Config.OrgTorch.MakeTorch = true; // Convert organ sets to torches
Config.OrgTorch.WaitForKeys = true; // Enable Torch System to get keys from other profiles. See libs/TorchSystem.js for more info
Config.OrgTorch.WaitTimeout = 15; // Time in minutes to wait for keys before moving on
Config.OrgTorch.UseSalvation = true; // Use Salvation aura on Mephisto (if possible)
Config.OrgTorch.GetFade = false; // Get fade by standing in a fire. You MUST have Last Wish or Treachery on your character being worn.
Scripts.Rusher = false; // Rush bot. For a list of commands, see Rusher.js
Config.Rusher.WaitPlayerCount = 0; // Wait until game has a certain number of players (0 - don't wait, 8 - wait for full game).
Config.Rusher.Radament = false; // Do Radament quest.
Config.Rusher.LamEsen = false; // Do Lam Esen quest.
Config.Rusher.Izual = false; // Do Izual quest.
Config.Rusher.Shenk = false; // Do Shenk quest.
Config.Rusher.Anya = false; // Do Anya quest.
Config.Rusher.LastRun = ""; // End rush after this run. List of runs:
Scripts.Rushee = false; // Automatic rushee, works with Rusher. Set Rusher's character name as Config.Leader
Config.Rushee.Quester = false; // Enter portals and get quest items.
Config.Rushee.Bumper = false; // Do Ancients and Baal. Minimum levels: 20 - norm, 40 - nightmare
Scripts.CrushTele = false; // classic rush teleporter. go to area of interest and press "-" numpad key
Scripts.Questing = false; // solves missing quests (skill/stat+shenk)
Scripts.Gamble = false; // Gambling system, other characters will mule gold into your game so you can gamble infinitely. See Gambling.js
Scripts.Crafting = false; // Crafting system, other characters will mule crafting ingredients. See CraftingSystem.js
Scripts.GhostBusters = false; // Kill ghosts in most areas that contain them
Scripts.Enchant = false;
Config.Enchant.Triggers = ["chant", "cows", "wps"]; // Chat commands for enchant, cow level and waypoint giving
Config.Enchant.GetLeg = false; // Get Wirt's Leg from Tristram. If set to false, it will check for the leg in town.
Config.Enchant.AutoChant = false; // Automatically enchant nearby players and their minions
Config.Enchant.GameLength = 20; // Game length in minutes
Scripts.IPHunter = false;
Config.IPHunter.IPList = []; // List of IPs to look for. example: [165, 201, 64]
Config.IPHunter.GameLength = 3; // Number of minutes to stay in game if ip wasn't found
Scripts.KillDclone = false; // Kill Diablo Clone by using Arcane Sanctuary waypoint. Diablo needs to walk the Earth in the game.
Scripts.ShopBot = false; // Shopbot script. Automatically uses shopbot.nip and ignores other pickits.
// Supported NPCs: Akara, Charsi, Gheed, Elzix, Fara, Drognan, Ormus, Asheara, Hratli, Jamella, Halbu, Anya. Multiple NPCs are also supported, example: ["Elzix", "Fara"]
// Use common sense when combining NPCs. Shopping in different acts will probably lead to bugs.
Config.ShopBot.ShopNPC = "Anya";
// Put item classid numbers or names to scan (remember to put quotes around names). Leave blank to scan ALL items. See libs/config/templates/ShopBot.txt
Config.ShopBot.ScanIDs = [];
Config.ShopBot.CycleDelay = 0; // Delay between shopping cycles in milliseconds, might help with crashes.
Config.ShopBot.QuitOnMatch = false; // Leave game as soon as an item is shopped.
Scripts.ChestMania = false; // Open chests in configured areas. See sdk/areas.txt
Config.ChestMania.Act1 = [13, 14, 15, 16, 18, 19]; // List of act 1 areas to open chests in
Config.ChestMania.Act2 = [55, 59, 65, 66, 67, 68, 69, 70, 71, 72]; // List of act 2 areas to open chests in
Config.ChestMania.Act3 = [79, 80, 81, 92, 93, 84, 85, 90]; // List of act 3 areas to open chests in
Config.ChestMania.Act4 = []; // List of act 4 areas to open chests in
Config.ChestMania.Act5 = [115, 116, 119, 125, 126, 127]; // List of act 5 areas to open chests in
Scripts.ClearAnyArea = false; // Clear any area. Uses Config.ClearType to determine which type of monsters to kill.
Config.ClearAnyArea.AreaList = []; // List of area ids to clear. See sdk/areas.txt

// *** Guest scripts ***

// Baal Assistant by YourGreatestMember
Scripts.BaalAssistant = false; // Used to leech or help in baal runs.
Config.BaalAssistant.Wait = 120; // Seconds to wait for a runner to be in the throne / portal wait / safe TP wait / hot TP wait...
Config.BaalAssistant.KillNihlathak = false; // Kill Nihlathak before going to Throne
Config.BaalAssistant.FastChaos = false; // Kill Diablo before going to Throne
Config.BaalAssistant.Helper = true; // Set to true to help attack, set false to to leech.
Config.BaalAssistant.GetShrine = false; // Set to true to get a experience shrine at the start of the run.
Config.BaalAssistant.GetShrineWaitForHotTP = false; // Set to true to get a experience shrine after leader shouts the hot tp message as defined in Config.BaalAssistant.HotTPMessage
Config.BaalAssistant.SkipTP = false; // Set to true to enable the helper to skip the TP and teleport down to the throne room.
Config.BaalAssistant.WaitForSafeTP = false; // Set to true to wait for a safe TP message (defined in SafeTPMessage)
Config.BaalAssistant.DollQuit = false; // Quit on dolls. (Hardcore players?)
Config.BaalAssistant.SoulQuit = false; // Quit on Souls. (Hardcore players?)
Config.BaalAssistant.KillBaal = true; // Set to true to kill baal, if you set to false you MUST configure Config.QuitList or Config.BaalAssistant.NextGameMessage or the bot will wait indefinitely.
Config.BaalAssistant.HotTPMessage = ["Hot"]; // Configure safe TP messages.
Config.BaalAssistant.SafeTPMessage = ["Safe", "Clear"]; // Configure safe TP messages.
Config.BaalAssistant.BaalMessage = ["Baal"]; // Configure baal messages, this is a precautionary measure.
Config.BaalAssistant.NextGameMessage = ["Next Game", "Next", "New Game"]; // Next Game message, this is a precautionary quit command, Reccomended setting up: Config.QuitList

// Town settings
Config.HealHP = 50; // Go to a healer if under designated percent of life.
Config.HealMP = 0; // Go to a healer if under designated percent of mana.
Config.HealStatus = false; // Go to a healer if poisoned or cursed
Config.UseMerc = true; // Use merc. This is ignored and always false in d2classic.
Config.MercWatch = false; // Instant merc revive during battle.

// Potion settings
Config.UseHP = 75; // Drink a healing potion if life is under designated percent.
Config.UseRejuvHP = 40; // Drink a rejuvenation potion if life is under designated percent.
Config.UseMP = 30; // Drink a mana potion if mana is under designated percent.
Config.UseRejuvMP = 0; // Drink a rejuvenation potion if mana is under designated percent.
Config.UseMercHP = 75; // Give a healing potion to your merc if his/her life is under designated percent.
Config.UseMercRejuv = 0; // Give a rejuvenation potion to your merc if his/her life is under designated percent.
Config.HPBuffer = 0; // Number of healing potions to keep in inventory.
Config.MPBuffer = 0; // Number of mana potions to keep in inventory.
Config.RejuvBuffer = 0; // Number of rejuvenation potions to keep in inventory.

// Chicken settings
Config.LifeChicken = 30; // Exit game if life is less or equal to designated percent.
Config.ManaChicken = 0; // Exit game if mana is less or equal to designated percent.
Config.MercChicken = 0; // Exit game if merc's life is less or equal to designated percent.
Config.TownHP = 40; // Go to town if life is under designated percent.
Config.TownMP = 5; // Go to town if mana is under designated percent.

/* Inventory lock configuration. !!!READ CAREFULLY!!!
* 0 = item is locked and won't be moved. If item occupies more than one slot, ALL of those slots must be set to 0 to lock it in place.
* Put 0s where your torch, annihilus and everything else you want to KEEP is.
* 1 = item is unlocked and will be dropped, stashed or sold.
* If you don't change the default values, the bot won't stash items.
*/
Config.Inventory[0] = [0,0,0,0,0,1,1,1,1,1];
Config.Inventory[1] = [0,0,0,0,0,1,1,1,1,1];
Config.Inventory[2] = [0,0,0,0,0,1,1,1,1,1];
Config.Inventory[3] = [0,0,0,0,0,1,1,1,1,1];

Config.StashGold = 100000; // Minimum amount of gold to stash.

/* Potion types for belt columns from left to right.
* Rejuvenation potions must always be rightmost.
* Supported potions - Healing ("hp"), Mana ("mp") and Rejuvenation ("rv")
*/
Config.BeltColumn[0] = "hp";
Config.BeltColumn[1] = "mp";
Config.BeltColumn[2] = "mp";
Config.BeltColumn[3] = "rv";

/* Minimum amount of potions. If we have less, go to vendor to purchase more.
* Set rejuvenation columns to 0, because they can't be bought.
*/
Config.MinColumn[0] = 3;
Config.MinColumn[1] = 3;
Config.MinColumn[2] = 0;
Config.MinColumn[3] = 0;

// Pickit config. Default folder is kolbot/pickit.
Config.PickitFiles.push("kolton.nip");
Config.PickitFiles.push("LLD.nip");
Config.PickRange = 40; // Pick radius
Config.FastPick = false; // Check and pick items between attacks

// Additional item info log settings. All info goes to \logs\ItemLog.txt
Config.ItemInfo = false; // Log stashed, skipped (due to no space) or sold items.
Config.ItemInfoQuality = []; // The quality of sold items to log. See NTItemAlias.dbl for values. Example: Config.ItemInfoQuality = [6, 7, 8];

// Item identification settings
Config.CainID.Enable = false; // Identify items at Cain
Config.CainID.MinGold = 2500000; // Minimum gold (stash + character) to have in order to use Cain.
Config.CainID.MinUnids = 3; // Minimum number of unid items in order to use Cain.
Config.FieldID = false; // Identify items in the field instead of going to town.
Config.DroppedItemsAnnounce.Enable = false; // Announce Dropped Items to in-game newbs
Config.DroppedItemsAnnounce.Quality = []; // Quality of item to announce. See NTItemAlias.dbl for values. Example: Config.DroppedItemsAnnounce.Quality = [6, 7, 8];

// Manager Item Log Screen
Config.ShowLowRunes = true; // show/hide low runes (El ÷ Dol) on the item log screen
Config.ShowMiddleRunes = true; // show/hide middle runes (Hel ÷ Mal) on the item log screen
Config.ShowHighRunes = true; // show/hide high runes (Ist ÷ Zod) on the item log screen
Config.ShowLowGems = true; // show/hide low gems (chipped, flawed, normal) on the item log screen
Config.ShowHighGems = true; // show/hide high gems (flawless, perfect) on the item log screen
Config.ShowCubingInfo = true; // show/hide the cubing messages on console and item log screen

// Repair settings
Config.CubeRepair = false; // Repair weapons with Ort and armor with Ral rune. Don't use it if you don't understand the risk of losing items.
Config.RepairPercent = 40; // Durability percent of any equipped item that will trigger repairs.

// Gambling config
Config.Gamble = false;
Config.GambleGoldStart = 1000000;
Config.GambleGoldStop = 500000;

// List of item names or classids for gambling. Check libs/NTItemAlias.dbl file for other item classids.
Config.GambleItems.push("Amulet");
Config.GambleItems.push("Ring");
Config.GambleItems.push("Circlet");
Config.GambleItems.push("Coronet");

/* Cubing config. All recipe names are available in Templates/Cubing.txt. For item names/classids check NTItemAlias.dbl
* The format is Config.Recipes.push([recipe_name, item_name_or_classid, etherealness]). Etherealness is optional and only applies to some recipes.
*/
Config.Cubing = true; // Set to true to enable cubing.

// Ingredients for the following recipes will be auto-picked, for classids check libs/NTItemAlias.dbl

Config.Recipes.push([Recipe.Gem, "Flawless Amethyst"]); // Make Perfect Amethyst
Config.Recipes.push([Recipe.Gem, "Flawless Topaz"]); // Make Perfect Topaz
Config.Recipes.push([Recipe.Gem, "Flawless Sapphire"]); // Make Perfect Sapphire
Config.Recipes.push([Recipe.Gem, "Flawless Emerald"]); // Make Perfect Emerald
Config.Recipes.push([Recipe.Gem, "Flawless Ruby"]); // Make Perfect Ruby
Config.Recipes.push([Recipe.Gem, "Flawless Diamond"]); // Make Perfect Diamond
Config.Recipes.push([Recipe.Gem, "Flawless Skull"]); // Make Perfect Skull

//Config.Recipes.push([Recipe.Token]); // Make Token of Absolution

Config.Recipes.push([Recipe.Rune, "El Rune"]); // Upgrade El to Eld
Config.Recipes.push([Recipe.Rune, "Eld Rune"]); // Upgrade Eld to Tir
Config.Recipes.push([Recipe.Rune, "Tir Rune"]); // Upgrade Tir to Nef
Config.Recipes.push([Recipe.Rune, "Nef Rune"]); // Upgrade Nef to Eth
Config.Recipes.push([Recipe.Rune, "Eth Rune"]); // Upgrade Eth to Ith
Config.Recipes.push([Recipe.Rune, "Ith Rune"]); // Upgrade Ith to tal
Config.Recipes.push([Recipe.Rune, "Tal Rune"]); // Upgrade Tal to Ral
Config.Recipes.push([Recipe.Rune, "Ral Rune"]); // Upgrade Ral to Ort
Config.Recipes.push([Recipe.Rune, "Ort Rune"]); // Upgrade Ort to Thul
Config.Recipes.push([Recipe.Rune, "Thul Rune"]); // Upgrade Thul to Amn
Config.Recipes.push([Recipe.Rune, "Amn Rune"]); // Upgrade Amn to Sol
Config.Recipes.push([Recipe.Rune, "Sol Rune"]); // Upgrade Sol to Shael
Config.Recipes.push([Recipe.Rune, "Shael Rune"]); // Upgrade Shael to Dol
Config.Recipes.push([Recipe.Rune, "Dol Rune"]); // Upgrade Dol to Hel
Config.Recipes.push([Recipe.Rune, "Hel Rune"]); // Upgrade Hel to Io
Config.Recipes.push([Recipe.Rune, "Io Rune"]); // Upgrade Io to Lum
Config.Recipes.push([Recipe.Rune, "Lum Rune"]); // Upgrade Lum to Ko
Config.Recipes.push([Recipe.Rune, "Ko Rune"]); // Upgrade Ko to Fal
Config.Recipes.push([Recipe.Rune, "Fal Rune"]); // Upgrade Fal to Lem
Config.Recipes.push([Recipe.Rune, "Lem Rune"]); // Upgrade Lem to pul
Config.Recipes.push([Recipe.Rune, "Pul Rune"]); // Upgrade Pul to Um
Config.Recipes.push([Recipe.Rune, "Um Rune"]); // Upgrade Um to Mal
Config.Recipes.push([Recipe.Rune, "Mal Rune"]); // Upgrade Mal to Ist
Config.Recipes.push([Recipe.Rune, "Ist Rune"]); // Upgrade Ist to Gul
Config.Recipes.push([Recipe.Rune, "Gul Rune"]); // Upgrade Gul to Vex

//Config.Recipes.push([Recipe.Caster.Amulet]); // Craft Caster Amulet
//Config.Recipes.push([Recipe.Blood.Ring]); // Craft Blood Ring
//Config.Recipes.push([Recipe.Blood.Helm, "Armet"]); // Craft Blood Armet
//Config.Recipes.push([Recipe.HitPower.Gloves, "Vambraces"]); // Craft Hit Power Vambraces

// The gems not used by other recipes will be used for magic item rerolling.

//Config.Recipes.push([Recipe.Reroll.Magic, "Diadem"]); // Reroll magic Diadem
//Config.Recipes.push([Recipe.Reroll.Magic, "Grand Charm"]); // Reroll magic Grand Charm (ilvl 91+)

//Config.Recipes.push([Recipe.Reroll.Rare, "Diadem"]); // Reroll rare Diadem

/* Base item for the following recipes must be in pickit. The rest of the ingredients will be auto-picked.
* Use Roll.Eth, Roll.NonEth or Roll.All to determine what kind of base item to roll - ethereal, non-ethereal or all.
*/
//Config.Recipes.push([Recipe.Socket.Weapon, "Thresher", Roll.Eth]); // Socket ethereal Thresher
//Config.Recipes.push([Recipe.Socket.Weapon, "Cryptic Axe", Roll.Eth]); // Socket ethereal Cryptic Axe
//Config.Recipes.push([Recipe.Socket.Armor, "Sacred Armor", Roll.Eth]); // Socket ethereal Sacred Armor
//Config.Recipes.push([Recipe.Socket.Armor, "Archon Plate", Roll.Eth]); // Socket ethereal Archon Plate

//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Heavy Gloves", Roll.NonEth]); // Upgrade Bloodfist to Exceptional
//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Light Gauntlets", Roll.NonEth]); // Upgrade Magefist to Exceptional
//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Sharkskin Gloves", Roll.NonEth]); // Upgrade Bloodfist or Grave Palm to Elite
//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Battle Gauntlets", Roll.NonEth]); // Upgrade Magefist or Lavagout to Elite
//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "War Boots", Roll.NonEth]); // Upgrade Gore Rider to Elite

/* Runeword config. All recipes are available in Templates/Runewords.txt
* Keep lines follow pickit format and any given runeword is tested vs ALL lines so you don't need to repeat them
*/
Config.MakeRunewords = false; // Set to true to enable runeword making/rerolling

//Config.Runewords.push([Runeword.Insight, "Thresher"]); // Make Insight Thresher
//Config.Runewords.push([Runeword.Insight, "Cryptic Axe"]); // Make Insight Cryptic Axe

//Config.KeepRunewords.push("[type] == polearm # [meditationaura] == 17");

//Config.Runewords.push([Runeword.Spirit, "Monarch"]); // Make Spirit Monarch
//Config.Runewords.push([Runeword.Spirit, "Sacred Targe"]); // Make Spirit Sacred Targe

//Config.KeepRunewords.push("[type] == shield || [type] == auricshields # [fcr] == 35");

// Public game options

// If Config.Leader is set, the bot will only accept invites from leader. If Config.PublicMode is not 0, Baal and Diablo script will open Town Portals.
Config.PublicMode = 1; // 1 = invite and accept, 2 = accept only, 3 = invite only, 0 = disable
// Party message settings. Each setting represents an array of messages that will be randomly chosen.
// $name, $level, $class and $killer are replaced by the player's name, level, class and killer
Config.Greetings = []; // Example: ["Hello, $name (level $level $class)"]
Config.DeathMessages = []; // Example: ["Watch out for that $killer, $name!"]
Config.Congratulations = []; // Example: ["Congrats on level $level, $name!"]
Config.ShitList = false; // Blacklist hostile players so they don't get invited to party.
Config.UnpartyShitlisted = false; // Leave party if someone invited a blacklisted player.

// General config
Config.AutoMap = true; // Set to true to open automap at the beginning of the game.
Config.LastMessage = ""; // Message or array of messages to say at the end of the run. Use $nextgame to say next game - "Next game: $nextgame" (works with lead entry point)
Config.MinGameTime = 60; // Min game time in seconds. Bot will TP to town and stay in game if the run is completed before.
Config.MaxGameTime = 0; // Maximum game time in seconds. Quit game when limit is reached.
Config.TeleSwitch = false; // Switch to slot II when teleporting more than 1 node.
Config.OpenChests = true; // Open chests. Controls key buying.
Config.MiniShopBot = true; // Scan items in NPC shops.
Config.PacketShopping = false; // Use packets to shop. Improves shopping speed.
Config.TownCheck = false; // Go to town if out of potions
Config.LogExperience = false; // Print experience statistics in the manager.
Config.PingQuit = [{Ping: 0, Duration: 0}]; // Quit if ping is over the given value for over the given time period in seconds.

// Shrine Scanner - scan for shrines while moving.
// Put the shrine types in order of priority (from highest to lowest). For a list of types, see sdk/shrines.txt
Config.ScanShrines = [];

// MF Switch
Config.MFSwitchPercent = 0; // Boss life % to switch weapons at. Set to 0 to disable.
Config.MFSwitch = 0; // MF weapon slot: 0 = slot I, 1 = slot II

// Fastmod config
Config.FCR = 0; // 0 - disable, 1 to 255 - set value of faster cast rate
Config.FHR = 0; // 0 - disable, 1 to 255 - set value of faster hit recovery
Config.FBR = 0; // 0 - disable, 1 to 255 - set value of faster block recovery
Config.IAS = 0; // 0 - disable, 1 to 255 - set value of increased attack speed
Config.PacketCasting = 0; // 0 = disable, 1 = packet teleport, 2 = full packet casting.
Config.WaypointMenu = true;

// Anti-hostile config
Config.AntiHostile = false; // Enable anti-hostile
Config.HostileAction = 0; // 0 - quit immediately, 1 - quit when hostile player is sighted, 2 - attack hostile
Config.TownOnHostile = false; // Go to town instead of quitting when HostileAction is 0 or 1
Config.RandomPrecast = false; // Anti-PK measure, only supported in Baal and BaalHelper and BaalAssisstant at the moment.
Config.ViperCheck = false; // Quit if revived Tomb Vipers are sighted

// DClone config
Config.StopOnDClone = true; // Go to town and idle as soon as Diablo walks the Earth
Config.SoJWaitTime = 5; // Time in minutes to wait for another SoJ sale before leaving game. 0 = disabled
Config.KillDclone = false; // Go to Palace Cellar 3 and try to kill Diablo Clone. Pointless if you already have Annihilus.
Config.DCloneQuit = false; // 1 = quit when Diablo walks, 2 = quit on soj sales, 0 = disabled

// Monster skip config
// Skip immune monsters. Possible options: "fire", "cold", "lightning", "poison", "physical", "magic".
// You can combine multiple resists with "and", for example - "fire and cold", "physical and cold and poison"
Config.SkipImmune = [];
// Skip enchanted monsters. Possible options: "extra strong", "extra fast", "cursed", "magic resistant", "fire enchanted", "lightning enchanted", "cold enchanted", "mana burn", "teleportation", "spectral hit", "stone skin", "multiple shots".
// You can combine multiple enchantments with "and", for example - "cursed and extra fast", "mana burn and extra strong and lightning enchanted"
Config.SkipEnchant = [];
// Skip monsters with auras. Possible options: "fanaticism", "might", "holy fire", "blessed aim", "holy freeze", "holy shock". Conviction is bugged, don't use it.
Config.SkipAura = [];
// Uncomment the following line to always attempt to kill these bosses despite immunities and mods
//Config.SkipException = [getLocaleString(2851), getLocaleString(2852), getLocaleString(2853)]; // vizier, de seis, infector

/* Attack config
* To disable an attack, set it to -1
* Skills MUST be POSITIVE numbers. For reference see
*/
Config.AttackSkill[0] = -1; // Preattack skill.
Config.AttackSkill[1] = 245; // Primary skill to bosses.
Config.AttackSkill[2] = -1; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
Config.AttackSkill[3] = 245; // Primary skill to others.
Config.AttackSkill[4] = -1; // Primary untimed skill to others. Keep at -1 if Config.AttackSkill[3] is untimed skill.
Config.AttackSkill[5] = -1; // Secondary skill if monster is immune to primary.
Config.AttackSkill[6] = -1; // Secondary untimed skill if monster is immune to primary untimed.

// Low mana skills - these will be used if main skills can't be cast.
Config.LowManaSkill[0] = -1; // Timed low mana skill.
Config.LowManaSkill[1] = -1; // Untimed low mana skill.

/* Advanced Attack config. Allows custom skills to be used on custom monsters.
* Format: "Monster Name": [timed skill id, untimed skill id]
* Multiple entries are separated by commas
*/
Config.CustomAttack = {
//"Monster Name": [-1, -1]
};

Config.BossPriority = false; // Set to true to attack Unique/SuperUnique monsters first when clearing
Config.ClearType = 0xF; // Monster spectype to kill in level clear scripts (ie. Mausoleum). 0xF = skip normal, 0x7 = champions/bosses, 0 = all
Config.TeleStomp = false; // Use merc to attack bosses if they're immune to attacks, but not to physical damage

// Wereform setup. Make sure you read Templates/Attacks.txt for attack skill format.
Config.Wereform = false; // 0 / false - don't shapeshift, 1 / "Werewolf" - change to werewolf, 2 / "Werebear" - change to werebear

// Class specific config
Config.SummonRaven = false;
Config.SummonAnimal = "Grizzly"; // 0 = disabled, 1 or "Spirit Wolf" = summon spirit wolf, 2 or "Dire Wolf" = summon dire wolf, 3 or "Grizzly" = summon grizzly
Config.SummonSpirit = "Oak Sage"; // 0 = disabled, 1 / "Oak Sage", 2 / "Heart of Wolverine", 3 / "Spirit of Barbs"
Config.SummonVine = "Poison Creeper"; // 0 = disabled, 1 / "Poison Creeper", 2 / "Carrion Vine", 3 / "Solar Creeper"


// AutoBuild System ( See /d2bs/kolbot/libs/config/Builds/README.txt for instructions )
Config.AutoBuild.Enabled = false; // This will enable or disable the AutoBuild system

Config.AutoBuild.Template = "BuildName"; // The name of the build associated with an existing
// template filename located in libs/config/Builds/

Config.AutoBuild.Verbose = true; // Allows script to print messages in console
Config.AutoBuild.DebugMode = true; // Debug mode prints a little more information to console and
// logs activity to /logs/AutoBuild.CharacterName._MM_DD_YYYY.log
// It automatically enables Config.AutoBuild.Verbose
}
keksnuss is offline  
Old 12/21/2018, 17:28   #6
 
elite*gold: 0
Join Date: Sep 2008
Posts: 4
Received Thanks: 0
so hier noch mal bekomme das alles nicht so hin sorry =) ich versuche es eigentlich auch immer alles alleine aber da weis ich nicht weiter


also Leeder soll meine sorc keksnussss werden d2 fehnster narme keksnuss

leecher soll der druid werden narme druidkeks fehnster narme keks1

Code:
// Sorceress config file

/* Brief instructions:
 * Notepad++ is HIGHLY recommended to use for editing these files. Visit http://notepad-plus-plus.org/
 * To comment out something, put // in front of that line
 * !!!Never comment out something you're not sure about, set it to false or disable as noted in description if you don't want to use it.
 * true and false are case sensitive. Good: Config.SomeVar = true; Bad: Config.SomeVar = True;
 */

function LoadConfig() {
	/* Sequence config
	 * Set to true if you want to run it, set to false if not.
	 * If you want to change the order of the scripts, just change the order of their lines by using cut and paste.
	 */

	// User addon script. Read the description in libs/bots/UserAddon.js
	Scripts.UserAddon = false; // !!!YOU MUST SET THIS TO FALSE IF YOU WANT TO RUN BOSS/AREA SCRIPTS!!!

	// Battle orders script - Use this for 2+ characters (for example BO barb + sorc)
	Scripts.BattleOrders = false;
		Config.BattleOrders.Mode = 0; // 0 = give BO, 1 = get BO
		Config.BattleOrders.Wait = false; // Idle until the player that received BO leaves.
		Config.BattleOrders.Getters = []; // List of players to wait for before casting Battle Orders (mode 0). All players must be in the same area as the BOer.

	// Team MF system
	Config.MFLeader = false; // Set to true if you have one or more MFHelpers. Opens TP and gives commands when doing normal MF runs.

	// Boss/area scripts

	// *** act 1 ***
	Scripts.Corpsefire = false;
		Config.Corpsefire.ClearDen = false;
	Scripts.Mausoleum = false;
		Config.Mausoleum.KillBloodRaven = false;
		Config.Mausoleum.ClearCrypt = false;
	Scripts.Rakanishu = false;
		Config.Rakanishu.KillGriswold = false;
	Scripts.UndergroundPassage = false;
	Scripts.Coldcrow = false;
	Scripts.Tristram = false;
		Config.Tristram.PortalLeech = false; // Set to true to open a portal for leechers.
	Scripts.Pit = false;
		Config.Pit.ClearPit1 = false;
	Scripts.Treehead = false;
	Scripts.Smith = false;
	Scripts.BoneAsh = false;
	Scripts.Countess = true;
		Config.Countess.KillGhosts = false;
	Scripts.Andariel = false;
	Scripts.Cows = false;

	
	// *** act 2 ***
	Scripts.Radament = false;
	Scripts.Coldworm = false;
		Config.Coldworm.KillBeetleburst = false;
		Config.Coldworm.ClearMaggotLair = false; // Clear all 3 levels
	Scripts.AncientTunnels = false;
		Config.AncientTunnels.OpenChest = false; // Open special chest in Lost City
		Config.AncientTunnels.KillDarkElder = false;
	Scripts.Summoner = false;
		Config.Summoner.FireEye = false;
	Scripts.Tombs = false;
	Scripts.Duriel = false;

	// *** act 3 ***
	Scripts.Stormtree = false;
	Scripts.KurastTemples = false;
	Scripts.Icehawk = false;
	Scripts.Endugu = false;
	Scripts.Travincal = false;
		Config.Travincal.PortalLeech = false; // Set to true to open a portal for leechers.
	Scripts.Mephisto = false;
		Config.Mephisto.MoatTrick = false;
		Config.Mephisto.KillCouncil = false;
		Config.Mephisto.TakeRedPortal = true;

	// *** act 4 ***
	Scripts.OuterSteppes = false;
	Scripts.Izual = false;
	Scripts.Hephasto = false;
	Scripts.Vizier = false; // Intended for classic sorc, kills Vizier only.
	Scripts.FastDiablo = false;
	Scripts.Diablo = true;
		Config.Diablo.Entrance = true; // Start from entrance
		Config.Diablo.SealWarning = "Leave the seals alone!";
		Config.Diablo.EntranceTP = "Entrance TP up";
		Config.Diablo.StarTP = "Star TP up";
		Config.Diablo.DiabloMsg = "Diablo";
	Scripts.SealLeader = false; // Clear a safe spot around seals and invite leechers in. Leechers should run SealLeecher script. Don't run with Diablo or FastDiablo.

	// *** act 5 ***
	Scripts.Pindleskin = false;
		Config.Pindleskin.UseWaypoint = false;
		Config.Pindleskin.KillNihlathak = true;
		Config.Pindleskin.ViperQuit = false; // End script if Tomb Vipers are found.
	Scripts.Nihlathak = false;
		Config.Nihlathak.ViperQuit = false; // End script if Tomb Vipers are found.
	Scripts.Eldritch = false;
		Config.Eldritch.OpenChest = true;
		Config.Eldritch.KillShenk = true;
		Config.Eldritch.KillDacFarren = true;
	Scripts.Eyeback = false;
	Scripts.SharpTooth = false;
	Scripts.ThreshSocket = false;
	Scripts.Abaddon = false;
	Scripts.Frozenstein = false;
		Config.Frozenstein.ClearFrozenRiver = true;
	Scripts.Bonesaw = false;
		Config.Bonesaw.ClearDrifterCavern = false;
	Scripts.Snapchip = false;
		Config.Snapchip.ClearIcyCellar = true;
	Scripts.Worldstone = false;
	Scripts.Baal = true;
		Config.Baal.HotTPMessage = "Hot TP!";
		Config.Baal.SafeTPMessage = "Safe TP!";
		Config.Baal.BaalMessage = "Baal! channel Keksnuss next Game";
		Config.Baal.SoulQuit = false; // End script if Souls (Undead Soul Killers) are found.
		Config.Baal.DollQuit = false; // End script if Dolls (Undead Stigyan Dolls) are found.
		Config.Baal.KillBaal = true; // Kill Baal. Leaves game after wave 5 if false.

	/* ### leeching section ###
	* Unless stated otherwise, leader's character name isn't needed on order to run.
	* Don't use more scripts of the same type! (Run AutoBaal OR BaalHelper, not both)
	*/

	Config.Leader = ""; // Leader's ingame character name. Leave blank to try auto-detection (works in AutoBaal, Wakka, MFHelper)
	Config.QuitList = [""]; // List of character names to quit with. Example: Config.QuitList = ["MySorc", "MyDin"];
	Config.QuitListMode = 0; // 0 = use character names; 1 = use profile names (all profiles must run on the same computer).

	Scripts.TristramLeech = false; // Enters Tristram, attempts to stay close to the leader and will try and help kill.
	Scripts.TravincalLeech = false; // Enters portal at back of Travincal.
		Config.TravincalLeech.Helper = true; // If set to true the character will teleport to the stairs and help attack.
	Scripts.MFHelper = false; // Run the same MF run as the MFLeader. Leader must have Config.MFLeader = true
	Scripts.Wakka = false; // Walking chaos leecher with auto leader assignment, stays at safe distance from the leader
	Scripts.SealLeecher = false; // Enter safe portals to Chaos. Leader should run SealLeader.
	Scripts.DiabloHelper = false; // Chaos helper, kills monsters and doesn't open seals on its own.
		Config.DiabloHelper.Wait = 120; // Seconds to wait for a runner to be in Chaos. If Config.Leader is set, it will wait only for the leader.
		Config.DiabloHelper.Entrance = true; // Start from entrance. Set to false to start from star.
		Config.DiabloHelper.SkipTP = false; // Don't wait for town portal and directly head to chaos. It will clear monsters around chaos entrance and wait for the runner.
		Config.DiabloHelper.SkipIfBaal = false; // End script if there are party members in a Baal run.
	Scripts.AutoBaal = false; // Baal leecher with auto leader assignment
		Config.AutoBaal.FindShrine = false; // false = disabled, 1 = search after hot tp message, 2 = search as soon as leader is found
		Config.AutoBaal.LeechSpot = [15115, 5050]; // X, Y coords of Throne Room leech spot
		Config.AutoBaal.LongRangeSupport = false; // Cast long distance skills from a safe spot
	Scripts.BaalHelper = false;
		Config.BaalHelper.Wait = 120; // Seconds to wait for a runner to be in Throne
		Config.BaalHelper.KillNihlathak = false; // Kill Nihlathak before going to Throne
		Config.BaalHelper.FastChaos = false; // Kill Diablo before going to Throne
		Config.BaalHelper.DollQuit = false;  // End script if Dolls (Undead Soul Killers) are found.
		Config.BaalHelper.KillBaal = true; // Kill Baal. If set to false, you must configure Config.QuitList or the bot will wait indefinitely.
		Config.BaalHelper.SkipTP = false; // Don't wait for a TP, go to WSK3 and wait for someone to go to throne. Anti PK measure.
	Scripts.Follower = false; // Script that follows a manually played leader around like a merc. For a list of commands, see Follower.js

	// *** special scripts ***
	Scripts.WPGetter = false; // Get missing waypoints
	Scripts.GetKeys = false;  // Hunt for T/H/D keys
	Scripts.OrgTorch = false;
		Config.OrgTorch.MakeTorch = true; // Convert organ sets to torches
		Config.OrgTorch.WaitForKeys = true; // Enable Torch System to get keys from other profiles. See libs/TorchSystem.js for more info
		Config.OrgTorch.WaitTimeout = 15; // Time in minutes to wait for keys before moving on
		Config.OrgTorch.UseSalvation = true; // Use Salvation aura on Mephisto (if possible)
		Config.OrgTorch.GetFade = false; // Get fade by standing in a fire. You MUST have Last Wish or Treachery on your character being worn.
	Scripts.Rusher = false; // Rush bot. For a list of commands, see Rusher.js
		Config.Rusher.WaitPlayerCount = 0; // Wait until game has a certain number of players (0 - don't wait, 8 - wait for full game).
		Config.Rusher.Radament = false; // Do Radament quest.
		Config.Rusher.LamEsen = false; // Do Lam Esen quest.
		Config.Rusher.Izual = false; // Do Izual quest.
		Config.Rusher.Shenk = false; // Do Shenk quest.
		Config.Rusher.Anya = false; // Do Anya quest.
		Config.Rusher.LastRun = ""; // End rush after this run. List of runs: http://pastebin.com/Uez3nZ6g
	Scripts.Rushee = false; // Automatic rushee, works with Rusher. Set Rusher's character name as Config.Leader
		Config.Rushee.Quester = false; // Enter portals and get quest items.
		Config.Rushee.Bumper = false; // Do Ancients and Baal. Minimum levels: 20 - norm, 40 - nightmare
	Scripts.CrushTele = false; // classic rush teleporter. go to area of interest and press "-" numpad key
	Scripts.Questing = false; // solves missing quests (skill/stat+shenk)
	Scripts.Gamble = false; // Gambling system, other characters will mule gold into your game so you can gamble infinitely. See Gambling.js
	Scripts.Crafting = false; // Crafting system, other characters will mule crafting ingredients. See CraftingSystem.js
	Scripts.GhostBusters = false; // Kill ghosts in most areas that contain them
	Scripts.Enchant = false;
		Config.Enchant.Triggers = ["chant", "cows", "wps"]; // Chat commands for enchant, cow level and waypoint giving
		Config.Enchant.GetLeg = false; // Get Wirt's Leg from Tristram. If set to false, it will check for the leg in town.
		Config.Enchant.AutoChant = false; // Automatically enchant nearby players and their minions
		Config.Enchant.GameLength = 20; // Game length in minutes
	Scripts.IPHunter = false;
		Config.IPHunter.IPList = []; // List of IPs to look for. example: [165, 201, 64]
		Config.IPHunter.GameLength = 3; // Number of minutes to stay in game if ip wasn't found
	Scripts.KillDclone = false; // Kill Diablo Clone by using Arcane Sanctuary waypoint. Diablo needs to walk the Earth in the game.
	Scripts.ShopBot = false; // Shopbot script. Automatically uses shopbot.nip and ignores other pickits.
		// Supported NPCs: Akara, Charsi, Gheed, Elzix, Fara, Drognan, Ormus, Asheara, Hratli, Jamella, Halbu, Anya. Multiple NPCs are also supported, example: ["Elzix", "Fara"]
		// Use common sense when combining NPCs. Shopping in different acts will probably lead to bugs.
		Config.ShopBot.ShopNPC = "Anya";
		// Put item classid numbers or names to scan (remember to put quotes around names). Leave blank to scan ALL items. See libs/config/templates/ShopBot.txt
		Config.ShopBot.ScanIDs = [];
		Config.ShopBot.CycleDelay = 0; // Delay between shopping cycles in milliseconds, might help with crashes.
		Config.ShopBot.QuitOnMatch = false; // Leave game as soon as an item is shopped.
	Scripts.ChestMania = false; // Open chests in configured areas. See sdk/areas.txt
		Config.ChestMania.Act1 = [13, 14, 15, 16, 18, 19]; // List of act 1 areas to open chests in
		Config.ChestMania.Act2 = [55, 59, 65, 66, 67, 68, 69, 70, 71, 72]; // List of act 2 areas to open chests in
		Config.ChestMania.Act3 = [79, 80, 81, 92, 93, 84, 85, 90]; // List of act 3 areas to open chests in
		Config.ChestMania.Act4 = []; // List of act 4 areas to open chests in
		Config.ChestMania.Act5 = [115, 116, 119, 125, 126, 127]; // List of act 5 areas to open chests in
	Scripts.ClearAnyArea = false; // Clear any area. Uses Config.ClearType to determine which type of monsters to kill.
		Config.ClearAnyArea.AreaList = []; // List of area ids to clear. See sdk/areas.txt

	// *** Guest scripts ***

	// Baal Assistant by YourGreatestMember
	Scripts.BaalAssistant = false; // Used to leech or help in baal runs.
		Config.BaalAssistant.Wait = 120; // Seconds to wait for a runner to be in the throne / portal wait / safe TP wait / hot TP wait...
		Config.BaalAssistant.KillNihlathak = false; // Kill Nihlathak before going to Throne
		Config.BaalAssistant.FastChaos = false; // Kill Diablo before going to Throne
		Config.BaalAssistant.Helper = true; // Set to true to help attack, set false to to leech.
		Config.BaalAssistant.GetShrine = false; // Set to true to get a experience shrine at the start of the run.
		Config.BaalAssistant.GetShrineWaitForHotTP = false; // Set to true to get a experience shrine after leader shouts the hot tp message as defined in Config.BaalAssistant.HotTPMessage
		Config.BaalAssistant.SkipTP = false; // Set to true to enable the helper to skip the TP and teleport down to the throne room.
		Config.BaalAssistant.WaitForSafeTP = false; // Set to true to wait for a safe TP message (defined in SafeTPMessage)
		Config.BaalAssistant.DollQuit = false; // Quit on dolls. (Hardcore players?)
		Config.BaalAssistant.SoulQuit = false; // Quit on Souls. (Hardcore players?)
		Config.BaalAssistant.KillBaal = true; // Set to true to kill baal, if you set to false you MUST configure Config.QuitList or Config.BaalAssistant.NextGameMessage or the bot will wait indefinitely. 
		Config.BaalAssistant.HotTPMessage = ["Hot"]; // Configure safe TP messages.
		Config.BaalAssistant.SafeTPMessage = ["Safe", "Clear"]; // Configure safe TP messages.
		Config.BaalAssistant.BaalMessage = ["Baal"]; // Configure baal messages, this is a precautionary measure.
		Config.BaalAssistant.NextGameMessage = ["Next Game", "Next", "New Game"];	// Next Game message, this is a precautionary quit command, Reccomended setting up: Config.QuitList

	// Town settings
	Config.HealHP = 50; // Go to a healer if under designated percent of life.
	Config.HealMP = 0; // Go to a healer if under designated percent of mana.
	Config.HealStatus = false; // Go to a healer if poisoned or cursed
	Config.UseMerc = true; // Use merc. This is ignored and always false in d2classic.
	Config.MercWatch = false; // Instant merc revive during battle.

	// Potion settings
	Config.UseHP = 75; // Drink a healing potion if life is under designated percent.
	Config.UseRejuvHP = 40;  // Drink a rejuvenation potion if life is under designated percent.
	Config.UseMP = 30; // Drink a mana potion if mana is under designated percent.
	Config.UseRejuvMP = 0; // Drink a rejuvenation potion if mana is under designated percent.
	Config.UseMercHP = 75; // Give a healing potion to your merc if his/her life is under designated percent.
	Config.UseMercRejuv = 0; // Give a rejuvenation potion to your merc if his/her life is under designated percent.
	Config.HPBuffer = 0; // Number of healing potions to keep in inventory.
	Config.MPBuffer = 0; // Number of mana potions to keep in inventory.
	Config.RejuvBuffer = 0; // Number of rejuvenation potions to keep in inventory.

	// Chicken settings
	Config.LifeChicken = 30; // Exit game if life is less or equal to designated percent.
	Config.ManaChicken = 0; // Exit game if mana is less or equal to designated percent.
	Config.MercChicken = 0; // Exit game if merc's life is less or equal to designated percent.
	Config.TownHP = 50; // Go to town if life is under designated percent.
	Config.TownMP = 10; // Go to town if mana is under designated percent.

	/* Inventory lock configuration. !!!READ CAREFULLY!!!
	 * 0 = item is locked and won't be moved. If item occupies more than one slot, ALL of those slots must be set to 0 to lock it in place.
	 * Put 0s where your torch, annihilus and everything else you want to KEEP is.
	 * 1 = item is unlocked and will be dropped, stashed or sold.
	 * If you don't change the default values, the bot won't stash items.
	 */
	Config.Inventory[0] = [0,0,0,0,0,0,0,1,1,1];
	Config.Inventory[1] = [0,0,0,0,0,0,0,1,1,1];
	Config.Inventory[2] = [0,0,0,0,0,0,0,1,1,1];
	Config.Inventory[3] = [0,0,0,1,1,1,1,1,1,1];

	Config.StashGold = 100000; // Minimum amount of gold to stash.

	/* Potion types for belt columns from left to right.
	 * Rejuvenation potions must always be rightmost.
	 * Supported potions - Healing ("hp"), Mana ("mp") and Rejuvenation ("rv")
	 */
	Config.BeltColumn[0] = "hp";
	Config.BeltColumn[1] = "mp";
	Config.BeltColumn[2] = "mp";
	Config.BeltColumn[3] = "rv";

	/* Minimum amount of potions. If we have less, go to vendor to purchase more.
	 * Set rejuvenation columns to 0, because they can't be bought.
	 */
	Config.MinColumn[0] = 3;
	Config.MinColumn[1] = 3;
	Config.MinColumn[2] = 0;
	Config.MinColumn[3] = 0;

	// Pickit config. Default folder is kolbot/pickit.
	Config.PickitFiles.push("kolton.nip");
	Config.PickitFiles.push("LLD.nip");
	Config.PickRange = 40; // Pick radius
	Config.FastPick = true; // Check and pick items between attacks

	// Additional item info log settings. All info goes to \logs\ItemLog.txt
	Config.ItemInfo = false; // Log stashed, skipped (due to no space) or sold items.
	Config.ItemInfoQuality = []; // The quality of sold items to log. See NTItemAlias.dbl for values. Example: Config.ItemInfoQuality = [6, 7, 8];

	// Item identification settings
	Config.CainID.Enable = false; // Identify items at Cain
	Config.CainID.MinGold = 2500000; // Minimum gold (stash + character) to have in order to use Cain.
	Config.CainID.MinUnids = 3; // Minimum number of unid items in order to use Cain.
	Config.FieldID = false; // Identify items in the field instead of going to town.
	Config.DroppedItemsAnnounce.Enable = false;	// Announce Dropped Items to in-game newbs
	Config.DroppedItemsAnnounce.Quality = []; // Quality of item to announce. See NTItemAlias.dbl for values. Example: Config.DroppedItemsAnnounce.Quality = [6, 7, 8];

	// Manager Item Log Screen
	Config.ShowLowRunes = true; // show/hide low runes (El ÷ Dol) on the item log screen
	Config.ShowMiddleRunes = true; // show/hide middle runes (Hel ÷ Mal) on the item log screen
	Config.ShowHighRunes = true; // show/hide high runes (Ist ÷ Zod) on the item log screen
	Config.ShowLowGems = true; // show/hide low gems (chipped, flawed, normal) on the item log screen
	Config.ShowHighGems = true; // show/hide high gems (flawless, perfect) on the item log screen
	Config.ShowCubingInfo = true; // show/hide the cubing messages on console and item log screen

	// Repair settings
	Config.CubeRepair = false; // Repair weapons with Ort and armor with Ral rune. Don't use it if you don't understand the risk of losing items.
	Config.RepairPercent = 40; // Durability percent of any equipped item that will trigger repairs.

	// Gambling config
	Config.Gamble = false;
	Config.GambleGoldStart = 1000000;
	Config.GambleGoldStop = 500000;

	// List of item names or classids for gambling. Check libs/NTItemAlias.dbl file for other item classids.
	Config.GambleItems.push("Amulet");
	Config.GambleItems.push("Ring");
	Config.GambleItems.push("Circlet");
	Config.GambleItems.push("Coronet");

	/* Cubing config. All recipe names are available in Templates/Cubing.txt. For item names/classids check NTItemAlias.dbl
	 * The format is Config.Recipes.push([recipe_name, item_name_or_classid, etherealness]). Etherealness is optional and only applies to some recipes.
	 */
	Config.Cubing = true; // Set to true to enable cubing.

	// Ingredients for the following recipes will be auto-picked, for classids check libs/NTItemAlias.dbl

	//Config.Recipes.push([Recipe.Gem, "Flawless Amethyst"]); // Make Perfect Amethyst
	//Config.Recipes.push([Recipe.Gem, "Flawless Topaz"]); // Make Perfect Topaz
	//Config.Recipes.push([Recipe.Gem, "Flawless Sapphire"]); // Make Perfect Sapphire
	//Config.Recipes.push([Recipe.Gem, "Flawless Emerald"]); // Make Perfect Emerald
	//Config.Recipes.push([Recipe.Gem, "Flawless Ruby"]); // Make Perfect Ruby
	//Config.Recipes.push([Recipe.Gem, "Flawless Diamond"]); // Make Perfect Diamond
	//Config.Recipes.push([Recipe.Gem, "Flawless Skull"]); // Make Perfect Skull

	//Config.Recipes.push([Recipe.Token]); // Make Token of Absolution

	Config.Recipes.push([Recipe.Rune, "Pul Rune"]); // Upgrade Pul to Um
	Config.Recipes.push([Recipe.Rune, "Um Rune"]); // Upgrade Um to Mal
	Config.Recipes.push([Recipe.Rune, "Mal Rune"]); // Upgrade Mal to Ist
	Config.Recipes.push([Recipe.Rune, "Ist Rune"]); // Upgrade Ist to Gul
	Config.Recipes.push([Recipe.Rune, "Gul Rune"]); // Upgrade Gul to Vex

	//Config.Recipes.push([Recipe.Caster.Amulet]); // Craft Caster Amulet
	//Config.Recipes.push([Recipe.Blood.Ring]); // Craft Blood Ring
	//Config.Recipes.push([Recipe.Blood.Helm, "Armet"]); // Craft Blood Armet
	//Config.Recipes.push([Recipe.HitPower.Gloves, "Vambraces"]); // Craft Hit Power Vambraces

	// The gems not used by other recipes will be used for magic item rerolling.

	//Config.Recipes.push([Recipe.Reroll.Magic, "Diadem"]); // Reroll magic Diadem
	//Config.Recipes.push([Recipe.Reroll.Magic, "Grand Charm"]); // Reroll magic Grand Charm (ilvl 91+)

	//Config.Recipes.push([Recipe.Reroll.Rare, "Diadem"]); // Reroll rare Diadem

	/* Base item for the following recipes must be in pickit. The rest of the ingredients will be auto-picked.
	 * Use Roll.Eth, Roll.NonEth or Roll.All to determine what kind of base item to roll - ethereal, non-ethereal or all.
	 */
	//Config.Recipes.push([Recipe.Socket.Weapon, "Thresher", Roll.Eth]); // Socket ethereal Thresher
	//Config.Recipes.push([Recipe.Socket.Weapon, "Cryptic Axe", Roll.Eth]); // Socket ethereal Cryptic Axe
	//Config.Recipes.push([Recipe.Socket.Armor, "Sacred Armor", Roll.Eth]); // Socket ethereal Sacred Armor
	//Config.Recipes.push([Recipe.Socket.Armor, "Archon Plate", Roll.Eth]); // Socket ethereal Archon Plate

	//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Heavy Gloves", Roll.NonEth]); // Upgrade Bloodfist to Exceptional
	//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Light Gauntlets", Roll.NonEth]); // Upgrade Magefist to Exceptional
	//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Sharkskin Gloves", Roll.NonEth]); // Upgrade Bloodfist or Grave Palm to Elite
	//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Battle Gauntlets", Roll.NonEth]); // Upgrade Magefist or Lavagout to Elite
	//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "War Boots", Roll.NonEth]); // Upgrade Gore Rider to Elite

	/* Runeword config. All recipes are available in Templates/Runewords.txt
	 * Keep lines follow pickit format and any given runeword is tested vs ALL lines so you don't need to repeat them
	 */
	Config.MakeRunewords = true; // Set to true to enable runeword making/rerolling

	Config.Runewords.push([Runeword.Insight, "Thresher"]); // Make Insight Thresher
	//Config.Runewords.push([Runeword.Insight, "Cryptic Axe"]); // Make Insight Cryptic Axe

	//Config.KeepRunewords.push("[type] == polearm # [meditationaura] == 17");

	Config.Runewords.push([Runeword.Spirit, "Monarch"]); // Make Spirit Monarch
	//Config.Runewords.push([Runeword.Spirit, "Sacred Targe"]); // Make Spirit Sacred Targe

	//Config.KeepRunewords.push("[type] == shield || [type] == auricshields # [fcr] == 35");

	// Public game options

	// If Config.Leader is set, the bot will only accept invites from leader. If Config.PublicMode is not 0, Baal and Diablo script will open Town Portals.
	Config.PublicMode = 1; // 1 = invite and accept, 2 = accept only, 3 = invite only, 0 = disable
	// Party message settings. Each setting represents an array of messages that will be randomly chosen.
	// $name, $level, $class and $killer are replaced by the player's name, level, class and killer
	Config.Greetings = []; // Example: ["Hello, $name (level $level $class)"]
	Config.DeathMessages = []; // Example: ["Watch out for that $killer, $name!"]
	Config.Congratulations = []; // Example: ["Congrats on level $level, $name!"]
	Config.ShitList = true; // Blacklist hostile players so they don't get invited to party.
	Config.UnpartyShitlisted = true; // Leave party if someone invited a blacklisted player.

	// General config
	Config.AutoMap = true; // Set to true to open automap at the beginning of the game.
	Config.LastMessage = ""; // Message or array of messages to say at the end of the run. Use $nextgame to say next game - "Next game: $nextgame" (works with lead entry point)
	Config.MinGameTime = 60; // Min game time in seconds. Bot will TP to town and stay in game if the run is completed before.
	Config.MaxGameTime = 30000; // Maximum game time in seconds. Quit game when limit is reached.
	Config.TeleSwitch = false; // Switch to slot II when teleporting more than 1 node.
	Config.OpenChests = true; // Open chests. Controls key buying.
	Config.MiniShopBot = true; // Scan items in NPC shops.
	Config.PacketShopping = false; // Use packets to shop. Improves shopping speed.
	Config.TownCheck = true; // Go to town if out of potions
	Config.LogExperience = true; // Print experience statistics in the manager.
	Config.PingQuit = [{Ping: 0, Duration: 0}]; // Quit if ping is over the given value for over the given time period in seconds.

	// Shrine Scanner - scan for shrines while moving.
	// Put the shrine types in order of priority (from highest to lowest). For a list of types, see sdk/shrines.txt
	Config.ScanShrines = [15];

	// MF Switch
	Config.MFSwitchPercent = 0; // Boss life % to switch weapons at. Set to 0 to disable.
	Config.MFSwitch = 0; // MF weapon slot: 0 = slot I, 1 = slot II

	// Speedup config. Full packet casting is not recommended for melee skills.
	Config.FCR = 0; // 0 - disable, 1 to 255 - set value of Faster Cast Rate.
	Config.FHR = 0; // 0 - disable, 1 to 255 - set value of Faster Hit Recovery.
	Config.FBR = 0; // 0 - disable, 1 to 255 - set value of Faster Block Recovery.
	Config.IAS = 0; // 0 - disable, 1 to 255 - set value of Increased Attack Speed.
	Config.PacketCasting = 0; // 0 = disable, 1 = packet teleport, 2 = full packet casting.
	Config.WaypointMenu = true;

	// Anti-hostile config
	Config.AntiHostile = false; // Enable anti-hostile.
	Config.HostileAction = 0; // 0 - quit immediately, 1 - quit when hostile player is sighted, 2 - attack hostile.
	Config.TownOnHostile = false; // Go to town instead of quitting when HostileAction is 0 or 1.
	Config.RandomPrecast = false; // Anti-PK measure, only supported in Baal and BaalHelper and BaalAssisstant at the moment.
	Config.ViperCheck = false; // Quit if revived Tomb Vipers are sighted.

	// DClone config
	Config.StopOnDClone = true; // Go to town and idle as soon as Diablo walks the Earth
	Config.SoJWaitTime = 5; // Time in minutes to wait for another SoJ sale before leaving game. 0 = disabled
	Config.KillDclone = false; // Go to Palace Cellar 3 and try to kill Diablo Clone. Pointless if you already have Annihilus.
	Config.DCloneQuit = false; // 1 = quit when Diablo walks, 2 = quit on soj sales, 0 = disabled

	// Monster skip config
	// Skip immune monsters. Possible options: "fire", "cold", "lightning", "poison", "physical", "magic".
	// You can combine multiple resists with "and", for example - "fire and cold", "physical and cold and poison"
	Config.SkipImmune = [];
	// Skip enchanted monsters. Possible options: "extra strong", "extra fast", "cursed", "magic resistant", "fire enchanted", "lightning enchanted", "cold enchanted", "mana burn", "teleportation", "spectral hit", "stone skin", "multiple shots".
	// You can combine multiple enchantments with "and", for example - "cursed and extra fast", "mana burn and extra strong and lightning enchanted"
	Config.SkipEnchant = [];
	// Skip monsters with auras. Possible options: "fanaticism", "might", "holy fire", "blessed aim", "holy freeze", "holy shock". Conviction is bugged, don't use it.
	Config.SkipAura = [];
	// Uncomment the following line to always attempt to kill these bosses despite immunities and mods
	//Config.SkipException = [getLocaleString(2851), getLocaleString(2852), getLocaleString(2853)]; // vizier, de seis, infector

	/* Attack config
	 * To disable an attack, set it to -1
	 * Skills MUST be POSITIVE numbers. For reference see http://pastebin.com/baShRwWM
	 */
	Config.AttackSkill[0] = -1; // Preattack skill.
	Config.AttackSkill[1] = 49; // Primary skill to bosses.
	Config.AttackSkill[2] = -1; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
	Config.AttackSkill[3] = 49; // Primary skill to others.
	Config.AttackSkill[4] = -1; // Primary untimed skill to others. Keep at -1 if Config.AttackSkill[3] is untimed skill.
	Config.AttackSkill[5] = 56; // Secondary skill if monster is immune to primary.
	Config.AttackSkill[6] = -1; // Secondary untimed skill if monster is immune to primary untimed.

	// Low mana skills - these will be used if main skills can't be cast.
	Config.LowManaSkill[0] = -1; // Timed low mana skill.
	Config.LowManaSkill[1] = -1; // Untimed low mana skill.

	/* Advanced Attack config. Allows custom skills to be used on custom monsters.
	 *	Format: "Monster Name": [timed skill id, untimed skill id]
	 *	Example: "Baal": [38, -1] to use charged bolt on Baal
	 *	Multiple entries are separated by commas
	 */
	Config.CustomAttack = {
		//"Monster Name": [-1, -1]
	};

	Config.Dodge = true; // Move away from monsters that get too close. Don't use with short-ranged attacks like Poison Dagger.
	Config.DodgeRange = 10; // Distance to keep from monsters.
	Config.DodgeHP = 100; // Dodge only if HP percent is less than or equal to Config.DodgeHP. 100 = always dodge.
	Config.BossPriority = false; // Set to true to attack Unique/SuperUnique monsters first when clearing
	Config.ClearType = 0xF; // Monster spectype to kill in level clear scripts (ie. Mausoleum). 0xF = skip normal, 0x7 = champions/bosses, 0 = all
	Config.TeleStomp = false; // Use merc to attack bosses if they're immune to attacks, but not to physical damage

	// Wereform setup. Make sure you read Templates/Attacks.txt for attack skill format.
	Config.Wereform = false; // 0 / false - don't shapeshift, 1 / "Werewolf" - change to werewolf, 2 / "Werebear" - change to werebear

	// Class specific config
	Config.CastStatic = 60; // Cast static until the target is at designated life percent. 100 = disabled.
	Config.StaticList = []; // List of monster NAMES or CLASSIDS to static. Example: Config.StaticList = ["Andariel", 243];


	// AutoBuild System ( See /d2bs/kolbot/libs/config/Builds/README.txt for instructions )
	Config.AutoBuild.Enabled = false;			//	This will enable or disable the AutoBuild system

	Config.AutoBuild.Template = "BuildName";	//	The name of the build associated with an existing 
												//	template filename located in libs/config/Builds/

	Config.AutoBuild.Verbose = true;			//	Allows script to print messages in console
	Config.AutoBuild.DebugMode = true;			//	Debug mode prints a little more information to console and 
												//	logs activity to /logs/AutoBuild.CharacterName._MM_DD_YYYY.log
												//	It automatically enables Config.AutoBuild.Verbose
}
hier der druide


Code:
// Druid config file

/* Brief instructions:
 * Notepad++ is HIGHLY recommended to use for editing these files. Visit http://notepad-plus-plus.org/
 * To comment out something, put // in front of that line
 * !!!Never comment out something you're not sure about, set it to false or disable as noted in description if you don't want to use it.
 * true and false are case sensitive. Good: Config.SomeVar = true; Bad: Config.SomeVar = True;
 */

function LoadConfig() {
	/* Sequence config
	 * Set to true if you want to run it, set to false if not.
	 * If you want to change the order of the scripts, just change the order of their lines by using cut and paste.
	 */

	// User addon script. Read the description in libs/bots/UserAddon.js
	Scripts.UserAddon = false; // !!!YOU MUST SET THIS TO FALSE IF YOU WANT TO RUN BOSS/AREA SCRIPTS!!!

	// Battle orders script - Use this for 2+ characters (for example BO barb + sorc)
	Scripts.BattleOrders = false;
		Config.BattleOrders.Mode = 0; // 0 = give BO, 1 = get BO
		Config.BattleOrders.Wait = false; // Idle until the player that received BO leaves.
		Config.BattleOrders.Getters = []; // List of players to wait for before casting Battle Orders (mode 0). All players must be in the same area as the BOer.

	// Team MF system
	Config.MFLeader = false; // Set to true if you have one or more MFHelpers. Opens TP and gives commands when doing normal MF runs.

	// Boss/area scripts

	// *** act 1 ***
	Scripts.Corpsefire = false;
		Config.Corpsefire.ClearDen = false;
	Scripts.Mausoleum = false;
		Config.Mausoleum.KillBloodRaven = false;
		Config.Mausoleum.ClearCrypt = false;
	Scripts.Rakanishu = false;
		Config.Rakanishu.KillGriswold = true;
	Scripts.UndergroundPassage = false;
	Scripts.Coldcrow = false;
	Scripts.Tristram = false;
		Config.Tristram.PortalLeech = false; // Set to true to open a portal for leechers.
	Scripts.Pit = false;
		Config.Pit.ClearPit1 = true;
	Scripts.Treehead = false;
	Scripts.Smith = false;
	Scripts.BoneAsh = false;
	Scripts.Countess = false;
		Config.Countess.KillGhosts = false;
	Scripts.Andariel = false;
	Scripts.Cows = false;

	// *** act 2 ***
	Scripts.Radament = false;
	Scripts.Coldworm = false;
		Config.Coldworm.KillBeetleburst = false;
		Config.Coldworm.ClearMaggotLair = false; // Clear all 3 levels
	Scripts.AncientTunnels = false;
		Config.AncientTunnels.OpenChest = false; // Open special chest in Lost City
		Config.AncientTunnels.KillDarkElder = false;
	Scripts.Summoner = false;
		Config.Summoner.FireEye = false;
	Scripts.Tombs = false;
	Scripts.Duriel = false;

	// *** act 3 ***
	Scripts.Stormtree = false;
	Scripts.KurastTemples = false;
	Scripts.Icehawk = false;
	Scripts.Endugu = false;
	Scripts.Travincal = false;
		Config.Travincal.PortalLeech = false; // Set to true to open a portal for leechers.
	Scripts.Mephisto = false;
		Config.Mephisto.MoatTrick = false;
		Config.Mephisto.KillCouncil = false;
		Config.Mephisto.TakeRedPortal = true;

	// *** act 4 ***
	Scripts.OuterSteppes = false;
	Scripts.Izual = false;
	Scripts.Hephasto = false;
	Scripts.Vizier = false; // Intended for classic sorc, kills Vizier only.
	Scripts.FastDiablo = false;
	Scripts.Diablo = false;
		Config.Diablo.Entrance = true; // Start from entrance
		Config.Diablo.SealWarning = "Leave the seals alone!";
		Config.Diablo.EntranceTP = "Entrance TP up";
		Config.Diablo.StarTP = "Star TP up";
		Config.Diablo.DiabloMsg = "Diablo";
	Scripts.SealLeader = false; // Clear a safe spot around seals and invite leechers in. Leechers should run SealLeecher script. Don't run with Diablo or FastDiablo.

	// *** act 5 ***
	Scripts.Pindleskin = false;
		Config.Pindleskin.UseWaypoint = false;
		Config.Pindleskin.KillNihlathak = true;
		Config.Pindleskin.ViperQuit = false; // End script if Tomb Vipers are found.
	Scripts.Nihlathak = false;
		Config.Nihlathak.ViperQuit = false; // End script if Tomb Vipers are found.
	Scripts.Eldritch = false;
		Config.Eldritch.OpenChest = true;
		Config.Eldritch.KillShenk = true;
		Config.Eldritch.KillDacFarren = true;
	Scripts.Eyeback = false;
	Scripts.SharpTooth = false;
	Scripts.ThreshSocket = false;
	Scripts.Abaddon = false;
	Scripts.Frozenstein = false;
		Config.Frozenstein.ClearFrozenRiver = true;
	Scripts.Bonesaw = false;
		Config.Bonesaw.ClearDrifterCavern = false;
	Scripts.Snapchip = false;
		Config.Snapchip.ClearIcyCellar = true;
	Scripts.Worldstone = false;
	Scripts.Baal = false;
		Config.Baal.HotTPMessage = "Hot TP!";
		Config.Baal.SafeTPMessage = "Safe TP!";
		Config.Baal.BaalMessage = "Baal!";
		Config.Baal.SoulQuit = false; // End script if Souls (Undead Soul Killers) are found.
		Config.Baal.DollQuit = false; // End script if Dolls (Undead Stigyan Dolls) are found.
		Config.Baal.KillBaal = true; // Kill Baal. Leaves game after wave 5 if false.

	/* ### leeching section ###
	* Unless stated otherwise, leader's character name isn't needed on order to run.
	* Don't use more scripts of the same type! (Run AutoBaal OR BaalHelper, not both)
	*/

	Config.Leader = "keksnussss"; // Leader's ingame character name. Leave blank to try auto-detection (works in AutoBaal, Wakka, MFHelper)
	Config.QuitList = [""]; // List of character names to quit with. Example: Config.QuitList = ["MySorc", "MyDin"];
	Config.QuitListMode = 0; // 0 = use character names; 1 = use profile names (all profiles must run on the same computer).

	Scripts.TristramLeech = false; // Enters Tristram, attempts to stay close to the leader and will try and help kill.
	Scripts.TravincalLeech = false; // Enters portal at back of Travincal.
		Config.TravincalLeech.Helper = true; // If set to true the character will teleport to the stairs and help attack.
	Scripts.MFHelper = false; // Run the same MF run as the MFLeader. Leader must have Config.MFLeader = true
	Scripts.Wakka = false; // Walking chaos leecher with auto leader assignment, stays at safe distance from the leader
	Scripts.SealLeecher = true; // Enter safe portals to Chaos. Leader should run SealLeader.
	Scripts.DiabloHelper = true; // Chaos helper, kills monsters and doesn't open seals on its own.
		Config.DiabloHelper.Wait = 720; // Seconds to wait for a runner to be in Chaos. If Config.Leader is set, it will wait only for the leader.
		Config.DiabloHelper.Entrance = true; // Start from entrance. Set to false to start from star.
		Config.DiabloHelper.SkipTP = false; // Don't wait for town portal and directly head to chaos. It will clear monsters around chaos entrance and wait for the runner.
		Config.DiabloHelper.SkipIfBaal = false; // End script if there are party members in a Baal run.
	Scripts.AutoBaal = false; // Baal leecher with auto leader assignment
		Config.AutoBaal.FindShrine = false; // false = disabled, 1 = search after hot tp message, 2 = search as soon as leader is found
		Config.AutoBaal.LeechSpot = [15115, 5050]; // X, Y coords of Throne Room leech spot
		Config.AutoBaal.LongRangeSupport = false; // Cast long distance skills from a safe spot
	Scripts.BaalHelper = true;
		Config.BaalHelper.Wait = 360; // Seconds to wait for a runner to be in Throne
		Config.BaalHelper.KillNihlathak = false; // Kill Nihlathak before going to Throne
		Config.BaalHelper.FastChaos = false; // Kill Diablo before going to Throne
		Config.BaalHelper.DollQuit = true;  // End script if Dolls (Undead Soul Killers) are found.
		Config.BaalHelper.KillBaal = true; // Kill Baal. If set to false, you must configure Config.QuitList or the bot will wait indefinitely.
		Config.BaalHelper.SkipTP = false; // Don't wait for a TP, go to WSK3 and wait for someone to go to throne. Anti PK measure.
	Scripts.Follower = false; // Script that follows a manually played leader around like a merc. For a list of commands, see Follower.js

	// *** special scripts ***
	Scripts.WPGetter = false; // Get missing waypoints
	Scripts.GetKeys = false;  // Hunt for T/H/D keys
	Scripts.OrgTorch = false;
		Config.OrgTorch.MakeTorch = true; // Convert organ sets to torches
		Config.OrgTorch.WaitForKeys = true; // Enable Torch System to get keys from other profiles. See libs/TorchSystem.js for more info
		Config.OrgTorch.WaitTimeout = 15; // Time in minutes to wait for keys before moving on
		Config.OrgTorch.UseSalvation = true; // Use Salvation aura on Mephisto (if possible)
		Config.OrgTorch.GetFade = false; // Get fade by standing in a fire. You MUST have Last Wish or Treachery on your character being worn.
	Scripts.Rusher = false; // Rush bot. For a list of commands, see Rusher.js
		Config.Rusher.WaitPlayerCount = 0; // Wait until game has a certain number of players (0 - don't wait, 8 - wait for full game).
		Config.Rusher.Radament = false; // Do Radament quest.
		Config.Rusher.LamEsen = false; // Do Lam Esen quest.
		Config.Rusher.Izual = false; // Do Izual quest.
		Config.Rusher.Shenk = false; // Do Shenk quest.
		Config.Rusher.Anya = false; // Do Anya quest.
		Config.Rusher.LastRun = ""; // End rush after this run. List of runs: http://pastebin.com/Uez3nZ6g
	Scripts.Rushee = false; // Automatic rushee, works with Rusher. Set Rusher's character name as Config.Leader
		Config.Rushee.Quester = false; // Enter portals and get quest items.
		Config.Rushee.Bumper = false; // Do Ancients and Baal. Minimum levels: 20 - norm, 40 - nightmare
	Scripts.CrushTele = false; // classic rush teleporter. go to area of interest and press "-" numpad key
	Scripts.Questing = false; // solves missing quests (skill/stat+shenk)
	Scripts.Gamble = false; // Gambling system, other characters will mule gold into your game so you can gamble infinitely. See Gambling.js
	Scripts.Crafting = false; // Crafting system, other characters will mule crafting ingredients. See CraftingSystem.js
	Scripts.GhostBusters = false; // Kill ghosts in most areas that contain them
	Scripts.Enchant = false;
		Config.Enchant.Triggers = ["chant", "cows", "wps"]; // Chat commands for enchant, cow level and waypoint giving
		Config.Enchant.GetLeg = false; // Get Wirt's Leg from Tristram. If set to false, it will check for the leg in town.
		Config.Enchant.AutoChant = false; // Automatically enchant nearby players and their minions
		Config.Enchant.GameLength = 20; // Game length in minutes
	Scripts.IPHunter = false;
		Config.IPHunter.IPList = []; // List of IPs to look for. example: [165, 201, 64]
		Config.IPHunter.GameLength = 3; // Number of minutes to stay in game if ip wasn't found
	Scripts.KillDclone = false; // Kill Diablo Clone by using Arcane Sanctuary waypoint. Diablo needs to walk the Earth in the game.
	Scripts.ShopBot = false; // Shopbot script. Automatically uses shopbot.nip and ignores other pickits.
		// Supported NPCs: Akara, Charsi, Gheed, Elzix, Fara, Drognan, Ormus, Asheara, Hratli, Jamella, Halbu, Anya. Multiple NPCs are also supported, example: ["Elzix", "Fara"]
		// Use common sense when combining NPCs. Shopping in different acts will probably lead to bugs.
		Config.ShopBot.ShopNPC = "Anya";
		// Put item classid numbers or names to scan (remember to put quotes around names). Leave blank to scan ALL items. See libs/config/templates/ShopBot.txt
		Config.ShopBot.ScanIDs = [];
		Config.ShopBot.CycleDelay = 0; // Delay between shopping cycles in milliseconds, might help with crashes.
		Config.ShopBot.QuitOnMatch = false; // Leave game as soon as an item is shopped.
	Scripts.ChestMania = false; // Open chests in configured areas. See sdk/areas.txt
		Config.ChestMania.Act1 = [13, 14, 15, 16, 18, 19]; // List of act 1 areas to open chests in
		Config.ChestMania.Act2 = [55, 59, 65, 66, 67, 68, 69, 70, 71, 72]; // List of act 2 areas to open chests in
		Config.ChestMania.Act3 = [79, 80, 81, 92, 93, 84, 85, 90]; // List of act 3 areas to open chests in
		Config.ChestMania.Act4 = []; // List of act 4 areas to open chests in
		Config.ChestMania.Act5 = [115, 116, 119, 125, 126, 127]; // List of act 5 areas to open chests in
	Scripts.ClearAnyArea = false; // Clear any area. Uses Config.ClearType to determine which type of monsters to kill.
		Config.ClearAnyArea.AreaList = []; // List of area ids to clear. See sdk/areas.txt

	// *** Guest scripts ***

	// Baal Assistant by YourGreatestMember
	Scripts.BaalAssistant = false; // Used to leech or help in baal runs.
		Config.BaalAssistant.Wait = 120; // Seconds to wait for a runner to be in the throne / portal wait / safe TP wait / hot TP wait...
		Config.BaalAssistant.KillNihlathak = false; // Kill Nihlathak before going to Throne
		Config.BaalAssistant.FastChaos = false; // Kill Diablo before going to Throne
		Config.BaalAssistant.Helper = true; // Set to true to help attack, set false to to leech.
		Config.BaalAssistant.GetShrine = false; // Set to true to get a experience shrine at the start of the run.
		Config.BaalAssistant.GetShrineWaitForHotTP = false; // Set to true to get a experience shrine after leader shouts the hot tp message as defined in Config.BaalAssistant.HotTPMessage
		Config.BaalAssistant.SkipTP = false; // Set to true to enable the helper to skip the TP and teleport down to the throne room.
		Config.BaalAssistant.WaitForSafeTP = false; // Set to true to wait for a safe TP message (defined in SafeTPMessage)
		Config.BaalAssistant.DollQuit = false; // Quit on dolls. (Hardcore players?)
		Config.BaalAssistant.SoulQuit = false; // Quit on Souls. (Hardcore players?)
		Config.BaalAssistant.KillBaal = true; // Set to true to kill baal, if you set to false you MUST configure Config.QuitList or Config.BaalAssistant.NextGameMessage or the bot will wait indefinitely. 
		Config.BaalAssistant.HotTPMessage = ["Hot"]; // Configure safe TP messages.
		Config.BaalAssistant.SafeTPMessage = ["Safe", "Clear"]; // Configure safe TP messages.
		Config.BaalAssistant.BaalMessage = ["Baal"]; // Configure baal messages, this is a precautionary measure.
		Config.BaalAssistant.NextGameMessage = ["Next Game", "Next", "New Game"];	// Next Game message, this is a precautionary quit command, Reccomended setting up: Config.QuitList

	// Town settings
	Config.HealHP = 50; // Go to a healer if under designated percent of life.
	Config.HealMP = 0; // Go to a healer if under designated percent of mana.
	Config.HealStatus = false; // Go to a healer if poisoned or cursed
	Config.UseMerc = true; // Use merc. This is ignored and always false in d2classic.
	Config.MercWatch = false; // Instant merc revive during battle.

	// Potion settings
	Config.UseHP = 75; // Drink a healing potion if life is under designated percent.
	Config.UseRejuvHP = 40;  // Drink a rejuvenation potion if life is under designated percent.
	Config.UseMP = 30; // Drink a mana potion if mana is under designated percent.
	Config.UseRejuvMP = 0; // Drink a rejuvenation potion if mana is under designated percent.
	Config.UseMercHP = 75; // Give a healing potion to your merc if his/her life is under designated percent.
	Config.UseMercRejuv = 0; // Give a rejuvenation potion to your merc if his/her life is under designated percent.
	Config.HPBuffer = 0; // Number of healing potions to keep in inventory.
	Config.MPBuffer = 0; // Number of mana potions to keep in inventory.
	Config.RejuvBuffer = 0; // Number of rejuvenation potions to keep in inventory.

	// Chicken settings
	Config.LifeChicken = 30; // Exit game if life is less or equal to designated percent.
	Config.ManaChicken = 0; // Exit game if mana is less or equal to designated percent.
	Config.MercChicken = 0; // Exit game if merc's life is less or equal to designated percent.
	Config.TownHP = 40; // Go to town if life is under designated percent.
	Config.TownMP = 5; // Go to town if mana is under designated percent.

	/* Inventory lock configuration. !!!READ CAREFULLY!!!
	 * 0 = item is locked and won't be moved. If item occupies more than one slot, ALL of those slots must be set to 0 to lock it in place.
	 * Put 0s where your torch, annihilus and everything else you want to KEEP is.
	 * 1 = item is unlocked and will be dropped, stashed or sold.
	 * If you don't change the default values, the bot won't stash items.
	 */
	Config.Inventory[0] = [0,0,0,0,0,1,1,1,1,1];
	Config.Inventory[1] = [0,0,0,0,0,1,1,1,1,1];
	Config.Inventory[2] = [0,0,0,0,0,1,1,1,1,1];
	Config.Inventory[3] = [0,0,0,0,0,1,1,1,1,1];

	Config.StashGold = 100000; // Minimum amount of gold to stash.

	/* Potion types for belt columns from left to right.
	 * Rejuvenation potions must always be rightmost.
	 * Supported potions - Healing ("hp"), Mana ("mp") and Rejuvenation ("rv")
	 */
	Config.BeltColumn[0] = "hp";
	Config.BeltColumn[1] = "mp";
	Config.BeltColumn[2] = "mp";
	Config.BeltColumn[3] = "rv";

	/* Minimum amount of potions. If we have less, go to vendor to purchase more.
	 * Set rejuvenation columns to 0, because they can't be bought.
	 */
	Config.MinColumn[0] = 3;
	Config.MinColumn[1] = 3;
	Config.MinColumn[2] = 0;
	Config.MinColumn[3] = 0;

	// Pickit config. Default folder is kolbot/pickit.
	Config.PickitFiles.push("kolton.nip");
	Config.PickitFiles.push("LLD.nip");
	Config.PickRange = 40; // Pick radius
	Config.FastPick = false; // Check and pick items between attacks

	// Additional item info log settings. All info goes to \logs\ItemLog.txt
	Config.ItemInfo = false; // Log stashed, skipped (due to no space) or sold items.
	Config.ItemInfoQuality = []; // The quality of sold items to log. See NTItemAlias.dbl for values. Example: Config.ItemInfoQuality = [6, 7, 8];

	// Item identification settings
	Config.CainID.Enable = false; // Identify items at Cain
	Config.CainID.MinGold = 2500000; // Minimum gold (stash + character) to have in order to use Cain.
	Config.CainID.MinUnids = 3; // Minimum number of unid items in order to use Cain.
	Config.FieldID = false; // Identify items in the field instead of going to town.
	Config.DroppedItemsAnnounce.Enable = false;	// Announce Dropped Items to in-game newbs
	Config.DroppedItemsAnnounce.Quality = []; // Quality of item to announce. See NTItemAlias.dbl for values. Example: Config.DroppedItemsAnnounce.Quality = [6, 7, 8];

	// Manager Item Log Screen
	Config.ShowLowRunes = true; // show/hide low runes (El ÷ Dol) on the item log screen
	Config.ShowMiddleRunes = true; // show/hide middle runes (Hel ÷ Mal) on the item log screen
	Config.ShowHighRunes = true; // show/hide high runes (Ist ÷ Zod) on the item log screen
	Config.ShowLowGems = true; // show/hide low gems (chipped, flawed, normal) on the item log screen
	Config.ShowHighGems = true; // show/hide high gems (flawless, perfect) on the item log screen
	Config.ShowCubingInfo = true; // show/hide the cubing messages on console and item log screen

	// Repair settings
	Config.CubeRepair = false; // Repair weapons with Ort and armor with Ral rune. Don't use it if you don't understand the risk of losing items.
	Config.RepairPercent = 40; // Durability percent of any equipped item that will trigger repairs.

	// Gambling config
	Config.Gamble = false;
	Config.GambleGoldStart = 1000000;
	Config.GambleGoldStop = 500000;

	// List of item names or classids for gambling. Check libs/NTItemAlias.dbl file for other item classids.
	Config.GambleItems.push("Amulet");
	Config.GambleItems.push("Ring");
	Config.GambleItems.push("Circlet");
	Config.GambleItems.push("Coronet");

	/* Cubing config. All recipe names are available in Templates/Cubing.txt. For item names/classids check NTItemAlias.dbl
	 * The format is Config.Recipes.push([recipe_name, item_name_or_classid, etherealness]). Etherealness is optional and only applies to some recipes.
	 */
	Config.Cubing = true; // Set to true to enable cubing.

	// Ingredients for the following recipes will be auto-picked, for classids check libs/NTItemAlias.dbl

	Config.Recipes.push([Recipe.Gem, "Flawless Amethyst"]); // Make Perfect Amethyst
	Config.Recipes.push([Recipe.Gem, "Flawless Topaz"]); // Make Perfect Topaz
	Config.Recipes.push([Recipe.Gem, "Flawless Sapphire"]); // Make Perfect Sapphire
	Config.Recipes.push([Recipe.Gem, "Flawless Emerald"]); // Make Perfect Emerald
	Config.Recipes.push([Recipe.Gem, "Flawless Ruby"]); // Make Perfect Ruby
	Config.Recipes.push([Recipe.Gem, "Flawless Diamond"]); // Make Perfect Diamond
	Config.Recipes.push([Recipe.Gem, "Flawless Skull"]); // Make Perfect Skull

	//Config.Recipes.push([Recipe.Token]); // Make Token of Absolution

	Config.Recipes.push([Recipe.Rune, "El Rune"]); // Upgrade El to Eld
	Config.Recipes.push([Recipe.Rune, "Eld Rune"]); // Upgrade Eld to Tir
	Config.Recipes.push([Recipe.Rune, "Tir Rune"]); // Upgrade Tir to Nef
	Config.Recipes.push([Recipe.Rune, "Nef Rune"]); // Upgrade Nef to Eth
	Config.Recipes.push([Recipe.Rune, "Eth Rune"]); // Upgrade Eth to Ith
	Config.Recipes.push([Recipe.Rune, "Ith Rune"]); // Upgrade Ith to tal
	Config.Recipes.push([Recipe.Rune, "Tal Rune"]); // Upgrade Tal to Ral
	Config.Recipes.push([Recipe.Rune, "Ral Rune"]); // Upgrade Ral to Ort
    Config.Recipes.push([Recipe.Rune, "Ort Rune"]); // Upgrade Ort to Thul
	Config.Recipes.push([Recipe.Rune, "Thul Rune"]); // Upgrade Thul to Amn
	Config.Recipes.push([Recipe.Rune, "Amn Rune"]); // Upgrade Amn to Sol
	Config.Recipes.push([Recipe.Rune, "Sol Rune"]); // Upgrade Sol to Shael
	Config.Recipes.push([Recipe.Rune, "Shael Rune"]); // Upgrade Shael to Dol
	Config.Recipes.push([Recipe.Rune, "Dol Rune"]); // Upgrade Dol to Hel
	Config.Recipes.push([Recipe.Rune, "Hel Rune"]); // Upgrade Hel to Io
	Config.Recipes.push([Recipe.Rune, "Io Rune"]); // Upgrade Io to Lum
	Config.Recipes.push([Recipe.Rune, "Lum Rune"]); // Upgrade Lum to Ko
	Config.Recipes.push([Recipe.Rune, "Ko Rune"]); // Upgrade Ko to Fal
	Config.Recipes.push([Recipe.Rune, "Fal Rune"]); // Upgrade Fal to Lem
    Config.Recipes.push([Recipe.Rune, "Lem Rune"]); // Upgrade Lem to pul
	Config.Recipes.push([Recipe.Rune, "Pul Rune"]); // Upgrade Pul to Um
	Config.Recipes.push([Recipe.Rune, "Um Rune"]); // Upgrade Um to Mal
	Config.Recipes.push([Recipe.Rune, "Mal Rune"]); // Upgrade Mal to Ist
	Config.Recipes.push([Recipe.Rune, "Ist Rune"]); // Upgrade Ist to Gul
	Config.Recipes.push([Recipe.Rune, "Gul Rune"]); // Upgrade Gul to Vex

	//Config.Recipes.push([Recipe.Caster.Amulet]); // Craft Caster Amulet
	//Config.Recipes.push([Recipe.Blood.Ring]); // Craft Blood Ring
	//Config.Recipes.push([Recipe.Blood.Helm, "Armet"]); // Craft Blood Armet
	//Config.Recipes.push([Recipe.HitPower.Gloves, "Vambraces"]); // Craft Hit Power Vambraces

	// The gems not used by other recipes will be used for magic item rerolling.

	//Config.Recipes.push([Recipe.Reroll.Magic, "Diadem"]); // Reroll magic Diadem
	//Config.Recipes.push([Recipe.Reroll.Magic, "Grand Charm"]); // Reroll magic Grand Charm (ilvl 91+)

	//Config.Recipes.push([Recipe.Reroll.Rare, "Diadem"]); // Reroll rare Diadem

	/* Base item for the following recipes must be in pickit. The rest of the ingredients will be auto-picked.
	 * Use Roll.Eth, Roll.NonEth or Roll.All to determine what kind of base item to roll - ethereal, non-ethereal or all.
	 */
	//Config.Recipes.push([Recipe.Socket.Weapon, "Thresher", Roll.Eth]); // Socket ethereal Thresher
	//Config.Recipes.push([Recipe.Socket.Weapon, "Cryptic Axe", Roll.Eth]); // Socket ethereal Cryptic Axe
	//Config.Recipes.push([Recipe.Socket.Armor, "Sacred Armor", Roll.Eth]); // Socket ethereal Sacred Armor
	//Config.Recipes.push([Recipe.Socket.Armor, "Archon Plate", Roll.Eth]); // Socket ethereal Archon Plate

	//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Heavy Gloves", Roll.NonEth]); // Upgrade Bloodfist to Exceptional
	//Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, "Light Gauntlets", Roll.NonEth]); // Upgrade Magefist to Exceptional
	//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Sharkskin Gloves", Roll.NonEth]); // Upgrade Bloodfist or Grave Palm to Elite
	//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "Battle Gauntlets", Roll.NonEth]); // Upgrade Magefist or Lavagout to Elite
	//Config.Recipes.push([Recipe.Unique.Armor.ToElite, "War Boots", Roll.NonEth]); // Upgrade Gore Rider to Elite

	/* Runeword config. All recipes are available in Templates/Runewords.txt
	 * Keep lines follow pickit format and any given runeword is tested vs ALL lines so you don't need to repeat them
	 */
	Config.MakeRunewords = false; // Set to true to enable runeword making/rerolling

	//Config.Runewords.push([Runeword.Insight, "Thresher"]); // Make Insight Thresher
	//Config.Runewords.push([Runeword.Insight, "Cryptic Axe"]); // Make Insight Cryptic Axe

	//Config.KeepRunewords.push("[type] == polearm # [meditationaura] == 17");

	//Config.Runewords.push([Runeword.Spirit, "Monarch"]); // Make Spirit Monarch
	//Config.Runewords.push([Runeword.Spirit, "Sacred Targe"]); // Make Spirit Sacred Targe

	//Config.KeepRunewords.push("[type] == shield || [type] == auricshields # [fcr] == 35");

	// Public game options

	// If Config.Leader is set, the bot will only accept invites from leader. If Config.PublicMode is not 0, Baal and Diablo script will open Town Portals.
	Config.PublicMode = 1; // 1 = invite and accept, 2 = accept only, 3 = invite only, 0 = disable
	// Party message settings. Each setting represents an array of messages that will be randomly chosen.
	// $name, $level, $class and $killer are replaced by the player's name, level, class and killer
	Config.Greetings = []; // Example: ["Hello, $name (level $level $class)"]
	Config.DeathMessages = []; // Example: ["Watch out for that $killer, $name!"]
	Config.Congratulations = []; // Example: ["Congrats on level $level, $name!"]
	Config.ShitList = false; // Blacklist hostile players so they don't get invited to party.
	Config.UnpartyShitlisted = false; // Leave party if someone invited a blacklisted player.

	// General config
	Config.AutoMap = true; // Set to true to open automap at the beginning of the game.
	Config.LastMessage = ""; // Message or array of messages to say at the end of the run. Use $nextgame to say next game - "Next game: $nextgame" (works with lead entry point)
	Config.MinGameTime = 60; // Min game time in seconds. Bot will TP to town and stay in game if the run is completed before.
	Config.MaxGameTime = 0; // Maximum game time in seconds. Quit game when limit is reached.
	Config.TeleSwitch = false; // Switch to slot II when teleporting more than 1 node.
	Config.OpenChests = true; // Open chests. Controls key buying.
	Config.MiniShopBot = true; // Scan items in NPC shops.
	Config.PacketShopping = false; // Use packets to shop. Improves shopping speed.
	Config.TownCheck = false; // Go to town if out of potions
	Config.LogExperience = false; // Print experience statistics in the manager.
	Config.PingQuit = [{Ping: 0, Duration: 0}]; // Quit if ping is over the given value for over the given time period in seconds.

	// Shrine Scanner - scan for shrines while moving.
	// Put the shrine types in order of priority (from highest to lowest). For a list of types, see sdk/shrines.txt
	Config.ScanShrines = [];

	// MF Switch
	Config.MFSwitchPercent = 0; // Boss life % to switch weapons at. Set to 0 to disable.
	Config.MFSwitch = 0; // MF weapon slot: 0 = slot I, 1 = slot II

	// Fastmod config
	Config.FCR = 0; // 0 - disable, 1 to 255 - set value of faster cast rate 
	Config.FHR = 0; // 0 - disable, 1 to 255 - set value of faster hit recovery 
	Config.FBR = 0; // 0 - disable, 1 to 255 - set value of faster block recovery 
	Config.IAS = 0; // 0 - disable, 1 to 255 - set value of increased attack speed 
	Config.PacketCasting = 0; // 0 = disable, 1 = packet teleport, 2 = full packet casting.
	Config.WaypointMenu = true;

	// Anti-hostile config
	Config.AntiHostile = false; // Enable anti-hostile
	Config.HostileAction = 0; // 0 - quit immediately, 1 - quit when hostile player is sighted, 2 - attack hostile
	Config.TownOnHostile = false; // Go to town instead of quitting when HostileAction is 0 or 1
	Config.RandomPrecast = false; // Anti-PK measure, only supported in Baal and BaalHelper and BaalAssisstant at the moment.
	Config.ViperCheck = false; // Quit if revived Tomb Vipers are sighted

	// DClone config
	Config.StopOnDClone = true; // Go to town and idle as soon as Diablo walks the Earth
	Config.SoJWaitTime = 5; // Time in minutes to wait for another SoJ sale before leaving game. 0 = disabled
	Config.KillDclone = false; // Go to Palace Cellar 3 and try to kill Diablo Clone. Pointless if you already have Annihilus.
	Config.DCloneQuit = false; // 1 = quit when Diablo walks, 2 = quit on soj sales, 0 = disabled

	// Monster skip config
	// Skip immune monsters. Possible options: "fire", "cold", "lightning", "poison", "physical", "magic".
	// You can combine multiple resists with "and", for example - "fire and cold", "physical and cold and poison"
	Config.SkipImmune = [];
	// Skip enchanted monsters. Possible options: "extra strong", "extra fast", "cursed", "magic resistant", "fire enchanted", "lightning enchanted", "cold enchanted", "mana burn", "teleportation", "spectral hit", "stone skin", "multiple shots".
	// You can combine multiple enchantments with "and", for example - "cursed and extra fast", "mana burn and extra strong and lightning enchanted"
	Config.SkipEnchant = [];
	// Skip monsters with auras. Possible options: "fanaticism", "might", "holy fire", "blessed aim", "holy freeze", "holy shock". Conviction is bugged, don't use it.
	Config.SkipAura = [];
	// Uncomment the following line to always attempt to kill these bosses despite immunities and mods
	//Config.SkipException = [getLocaleString(2851), getLocaleString(2852), getLocaleString(2853)]; // vizier, de seis, infector

	/* Attack config
	 * To disable an attack, set it to -1
	 * Skills MUST be POSITIVE numbers. For reference see http://pastebin.com/baShRwWM
	 */
	Config.AttackSkill[0] = -1; // Preattack skill.
	Config.AttackSkill[1] = 245; // Primary skill to bosses.
	Config.AttackSkill[2] = -1; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
	Config.AttackSkill[3] = 245; // Primary skill to others.
	Config.AttackSkill[4] = -1; // Primary untimed skill to others. Keep at -1 if Config.AttackSkill[3] is untimed skill.
	Config.AttackSkill[5] = -1; // Secondary skill if monster is immune to primary.
	Config.AttackSkill[6] = -1; // Secondary untimed skill if monster is immune to primary untimed.

	// Low mana skills - these will be used if main skills can't be cast.
	Config.LowManaSkill[0] = -1; // Timed low mana skill.
	Config.LowManaSkill[1] = -1; // Untimed low mana skill.

	/* Advanced Attack config. Allows custom skills to be used on custom monsters.
	 *	Format: "Monster Name": [timed skill id, untimed skill id]
	 *	Multiple entries are separated by commas
	 */
	Config.CustomAttack = {
		//"Monster Name": [-1, -1]
	};

	Config.BossPriority = false; // Set to true to attack Unique/SuperUnique monsters first when clearing
	Config.ClearType = 0xF; // Monster spectype to kill in level clear scripts (ie. Mausoleum). 0xF = skip normal, 0x7 = champions/bosses, 0 = all
	Config.TeleStomp = false; // Use merc to attack bosses if they're immune to attacks, but not to physical damage

	// Wereform setup. Make sure you read Templates/Attacks.txt for attack skill format.
	Config.Wereform = false; // 0 / false - don't shapeshift, 1 / "Werewolf" - change to werewolf, 2 / "Werebear" - change to werebear

	// Class specific config
	Config.SummonRaven = false;
	Config.SummonAnimal = "Grizzly"; // 0 = disabled, 1 or "Spirit Wolf" = summon spirit wolf, 2 or "Dire Wolf" = summon dire wolf, 3 or "Grizzly" = summon grizzly
	Config.SummonSpirit = "Oak Sage"; // 0 = disabled, 1 / "Oak Sage", 2 / "Heart of Wolverine", 3 / "Spirit of Barbs"
	Config.SummonVine = "Poison Creeper"; // 0 = disabled, 1 / "Poison Creeper", 2 / "Carrion Vine", 3 / "Solar Creeper"


	// AutoBuild System ( See /d2bs/kolbot/libs/config/Builds/README.txt for instructions )
	Config.AutoBuild.Enabled = false;			//	This will enable or disable the AutoBuild system

	Config.AutoBuild.Template = "BuildName";	//	The name of the build associated with an existing 
												//	template filename located in libs/config/Builds/

	Config.AutoBuild.Verbose = true;			//	Allows script to print messages in console
	Config.AutoBuild.DebugMode = true;			//	Debug mode prints a little more information to console and 
												//	logs activity to /logs/AutoBuild.CharacterName._MM_DD_YYYY.log
												//	It automatically enables Config.AutoBuild.Verbose
}

hier die follower


Code:
var StarterConfig = {
	JoinChannel: "KOLBOT", // Name of the channel to join
	FirstJoinMessage: "i'm leecher", // Message to say when first joining a channel, usually ".login"
	ChatActionsDelay: 2, // Seconds to wait in lobby before entering a channel

	JoinRetryDelay: 5, // Time in seconds to wait before next join attempt
	SwitchKeyDelay: 5, // Seconds to wait before switching a used/banned key or after realm down

	CrashDelay: 5, // Seconds to wait after a d2 window crash
	RealmDownDelay: 3, // Minutes to wait after getting Realm Down message
	UnableToConnectDelay: 5, // Minutes to wait after Unable To Connect message
	CDKeyInUseDelay: 5, // Minutes to wait before connecting again if CD-Key is in use. SwitchKeys overrides this!
	ConnectingTimeout: 20, // Seconds to wait before cancelling the 'Connecting...' screen
	PleaseWaitTimeout: 30, // Seconds to wait before cancelling the 'Please Wait...' screen
	WaitInLineTimeout: 60, // Seconds to wait before cancelling the 'Waiting in Line...' screen
	GameDoesNotExistTimeout: 30 // Seconds to wait before cancelling the 'Game does not exist.' screen
};

/* Join game settings
	Format: "leader's profile": ["leecher 1 profile", "leecher 2 profile", ...]
	If you want everyone to join the same leader, use "leader's profile": ["all"]
	NOTE: Use PROFILE names (profile matches window title), NOT character/account names
	leader:leecher groups need to be divided by a comma
	example:
		var JoinSettings = {
			"leecher1: ["leecher2", "follow2"],
			"lead2": ["follow3", "follow4"]
		};
*/

var JoinSettings = {
	"keksnuss": ["keks1"]
};

// Advanced config - you don't have to edit this unless you need some of the features provided
var AdvancedConfig = {
	/* Features: Override join delay for each profile

	* Format *:
		"keks1": {JoinDelay: 552}
		"keks": {JoinDelay: 552}

	* Example * (don't edit this - it's just an example):
		"keksnussss": {JoinDelay: 3},
		"keksnuss": {JoinDelay: 6}
	*/

	// Put your lines under this one. Multiple entries are separated by commas. No comma after the last one.

};



// No touchy!
include("json2.js");
include("OOG.js");
include("automule.js");
include("gambling.js");
include("craftingsystem.js");
include("torchsystem.js");
include("common/misc.js");

var i, j, gameInfo, joinInfo, gameStart, ingame, handle,
	firstLogin, chatActionsDone, lastGameTick, connectFail,
	gameCount = DataFile.getStats().runs + 1,
	lastGameStatus = "ready",
	leader = "keksnuss",
	lastGame = [303];

if (!FileTools.exists("data/" + me.profile + ".json")) {
	DataFile.create();
}

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

	while (!me.ingame && getLocation() === location && endtime > getTickCount()) {
		delay(500);
	}

	return (getLocation() !== location);
}

function updateCount() {
	D2Bot.updateCount();
	delay(1000);
	ControlAction.click(6, 264, 366, 272, 35);

	try {
		login(me.profile);
	} catch (e) {

	}

	delay(1000);
	ControlAction.click(6, 33, 572, 128, 35);
}

function ScriptMsgEvent(msg) {
	switch (msg) {
	case "mule":
		AutoMule.check = true;

		break;
	case "muleTorch":
		AutoMule.torchCheck = true;

		break;
	case "torch":
		TorchSystem.check = true;

		break;
	case "crafting":
		CraftingSystem.check = true;

		break;
	case "getMuleMode":
		if (AutoMule.torchAnniCheck === 2) {
			scriptBroadcast("2");
		} else if (AutoMule.torchAnniCheck === 1) {
			scriptBroadcast("1");
		} else if (AutoMule.check) {
			scriptBroadcast("0");
		}

		break;
	}
}

function ReceiveCopyData(mode, msg) {
	var obj;

	switch (msg) {
	case "Handle":
		handle = mode;

		break;
	}

	switch (mode) {
	case 1: // JoinInfo
		//print("Got Join Info");

		joinInfo = JSON.parse(msg);

		break;
	case 2: // Game info
		print("Recieved Game Info");

		gameInfo = JSON.parse(msg);

		break;
	case 3: // Game request
		// Don't let others join mule/torch/key/gold drop game
		if (AutoMule.inGame || Gambling.inGame || TorchSystem.inGame || CraftingSystem.inGame) {
			break;
		}

		if (gameInfo) {
			obj = JSON.parse(msg);

			D2Bot.joinMe(obj.profile, me.gamename || "", "", me.gamepassword || "", me.gameReady ? "yes" : "no");
		}

		break;
	case 4:
		// Heartbeat ping
		if (msg === "pingreq") {
			sendCopyData(null, me.windowtitle, 4, "pingrep");
		}

		break;
	}
}

function timer(tick) {
	if (!tick) {
		return "";
	}

	var min, sec;

	min = Math.floor((getTickCount() - tick) / 60000).toString();

	if (min <= 9) {
		min = "0" + min;
	}

	sec = (Math.floor((getTickCount() - tick) / 1000) % 60).toString();

	if (sec <= 9) {
		sec = "0" + sec;
	}

	return " (" + min + ":" + sec + ")";
}

function main() {
	debugLog(me.profile);
	addEventListener('copydata', ReceiveCopyData);
	addEventListener('scriptmsg', ScriptMsgEvent);

	while (!handle) {
		delay(100);
	}

	DataFile.updateStats("handle", handle);
	D2Bot.init();
	load("tools/heartbeat.js");

	while (!gameInfo) {
		D2Bot.requestGameInfo();
		delay(500);
	}

	if (gameInfo.error) {
		//D2Bot.retrieve();
		delay(200);

		if (!!DataFile.getStats().debugInfo) {
			gameInfo.crashInfo = DataFile.getStats().debugInfo;

			D2Bot.printToConsole("Crash Info: Script: " + JSON.parse(gameInfo.crashInfo).currScript + " Area: " + JSON.parse(gameInfo.crashInfo).area, 10);
		}

		/*if (gameInfo.crashInfo) {
			D2Bot.printToConsole("Crash Info: Script: " + gameInfo.crashInfo.currScript + " Area: " + gameInfo.crashInfo.area + (gameInfo.crashInfo.hasOwnProperty("lastAction") ? " " + gameInfo.crashInfo.lastAction : ""), 10);
		}*/

		ControlAction.timeoutDelay("Crash Delay", StarterConfig.CrashDelay * 1e3);
		D2Bot.updateRuns();
	}

	//D2Bot.store(JSON.stringify({currScript: "none", area: "out of game"}));
	DataFile.updateStats("debugInfo", JSON.stringify({currScript: "none", area: "out of game"}));

	while (true) {
		while (me.ingame) { // returns true before actually in game so we can't only use this check
			if (me.gameReady) { // returns false when switching acts so we can't use while
				if (!ingame) {
					print("\xFFc4Updating Status");
					//D2Bot.updateStatus("Game: " + me.gamename);

					lastGameStatus = "ingame";
					ingame = true;
					gameStart = getTickCount();

					DataFile.updateStats("runs", gameCount);
				}

				D2Bot.updateStatus("Game: " + me.gamename + timer(gameStart));
			}

			delay(1000);
		}

		locationAction();
		delay(1000);
	}
}

function joinCheck(leader) {
	D2Bot.requestGame(leader);
	delay(500);

	//print(leader + " " + joinInfo.inGame + " " + lastGame.toSource() + " " + joinInfo.gameName);

	if (!joinInfo.inGame || (lastGame.length && lastGame.indexOf(joinInfo.gameName) === -1)) {
		D2Bot.printToConsole("Game is finished. Stopping join delay.");

		return true;
	}

	return false;
}

function locationAction() {
	if (me.ingame) {
		return;
	}

	var i, string, text, location;

	location = getLocation();

MainSwitch:
	switch (location) {
	case 0:
		break;
	case 1:	// Lobby
		D2Bot.updateStatus("Lobby");

		if (!firstLogin) {
			firstLogin = true;
		}

		if (StarterConfig.JoinChannel !== "") {
			ControlAction.click(6, 27, 480, 120, 20);

			break;
		}

		if (ingame) {
			if (AutoMule.outOfGameCheck() || TorchSystem.outOfGameCheck() || Gambling.outOfGameCheck() || CraftingSystem.outOfGameCheck()) {
				break;
			}

			print("updating runs");
			D2Bot.updateRuns();

			lastGameTick = getTickCount();
			gameCount += 1;
			lastGameStatus = "ready";
			ingame = false;
		}

		if (!ControlAction.click(6, 652, 469, 120, 20)) { // Join
			break;
		}

		if (!locationTimeout(5000, location)) { // in case join button gets bugged
			if (!ControlAction.click(6, 533, 469, 120, 20)) { // Create
				break;
			}

			if (!ControlAction.click(6, 652, 469, 120, 20)) { // Join
				break;
			}
		}

		break;
	case 2: // Waiting In Line
		D2Bot.updateStatus("Waiting...");
		locationTimeout(StarterConfig.WaitInLineTimeout * 1e3, location);
		ControlAction.click(6, 433, 433, 96, 32);

		break;
	case 3: // Lobby Chat
		D2Bot.updateStatus("Lobby Chat");

		if (ingame) {
			if (AutoMule.outOfGameCheck() || TorchSystem.outOfGameCheck() || Gambling.outOfGameCheck() || CraftingSystem.outOfGameCheck()) {
				break;
			}

			print("updating runs");
			D2Bot.updateRuns();

			lastGameTick = getTickCount();
			gameCount += 1;
			lastGameStatus = "ready";
			ingame = false;
		}

		if (!chatActionsDone) {
			chatActionsDone = true;

			ControlAction.timeoutDelay("Chat delay", StarterConfig.ChatActionsDelay * 1e3);
			say("/j " + StarterConfig.JoinChannel);
			delay(1000);

			if (StarterConfig.FirstJoinMessage !== "") {
				say(StarterConfig.FirstJoinMessage);
				delay(500);
			}
		}

		if (!ControlAction.click(6, 652, 469, 120, 20)) { // Join
			break;
		}

		if (!locationTimeout(5000, location)) { // in case join button gets bugged
			if (!ControlAction.click(6, 533, 469, 120, 20)) { // Create
				break;
			}

			if (!ControlAction.click(6, 652, 469, 120, 20)) { // Join
				break;
			}
		}

		break;
	case 4: // Create Game
		break;
	case 5: // Join Game
		D2Bot.updateStatus("Join Game");

		if (!leader) {
			leader = [];

			for (i in JoinSettings) {
				if (JoinSettings.hasOwnProperty(i) && typeof i === "string") {
					for (j = 0; j < JoinSettings[i].length; j += 1) {
						if (JoinSettings[i][j] === me.profile || JoinSettings[i][j] === "all") {
							leader.push(i);
						}
					}
				}
			}
		}

		if (!leader || !leader.length) {
			break;
		}

JoinLoop2:
		for (i = 0; i < 5; i += 1) {
			for (j = 0; j < leader.length; j += 1) {
				joinInfo = false;

				D2Bot.requestGame(leader[j]);
				delay(100);

				if (joinInfo && joinInfo.gameName !== "" && (lastGame.indexOf(joinInfo.gameName) === -1 || lastGameStatus === "pending")) {
					ControlAction.setText(1, 606, 148, 155, 20, joinInfo.gamePass);
					ControlAction.setText(1, 432, 148, 155, 20, joinInfo.gameName);

					if (lastGameStatus === "pending" || (gameInfo.error && DataFile.getStats().gameName === joinInfo.gameName)) {
						D2Bot.printToConsole("Failed to join game");
						ControlAction.timeoutDelay("Join Delay", StarterConfig.JoinRetryDelay * 1000, joinCheck, leader[j]);
						D2Bot.updateRuns();
						D2Bot.requestGame(leader[j]);
						delay(200);

						if (!joinInfo.inGame) {
							lastGameStatus = "ready";

							break;
						}
					}

					if (!joinInfo.inGame) {
						continue;
					}

					// Don't join immediately after previous game to avoid FTJ
					if (getTickCount() - lastGameTick < 5000) {
						ControlAction.timeoutDelay("Game Delay", (lastGameTick - getTickCount() + 5000));
					}

					print("joining game " + joinInfo.gameName);

					if (typeof AdvancedConfig[me.profile] === "object" && typeof AdvancedConfig[me.profile].JoinDelay === "number") {
						ControlAction.timeoutDelay("Custom Join Delay", AdvancedConfig[me.profile].JoinDelay * 1e3);
					}

					me.blockMouse = true;

					DataFile.updateStats("gameName", joinInfo.gameName);
					ControlAction.click(6, 594, 433, 172, 32);

					me.blockMouse = false;

					lastGame.push(joinInfo.gameName);

					if (lastGame.length > leader.length) { // Might need a fixed number. Right now it stores 1 game per leader.
						lastGame.shift();
					}

					lastGameStatus = "pending";

					locationTimeout(15000, location);

					break JoinLoop2;
				}
			}
		}

		break;
	case 6: // Ladder
		break;
	case 7: // Channel List
		break;
	case 8: // Main Menu
	case 9: // Login
	case 12: // Character Select
	case 18: // D2 Splash
		// Single Player screen fix
		if (getLocation() === 12 && !getControl(4, 626, 100, 151, 44)) {
			ControlAction.click(6, 33, 572, 128, 35);

			break;
		}

		if (firstLogin && getLocation() === 9) { // multiple realm botting fix in case of R/D or disconnect
			ControlAction.click(6, 33, 572, 128, 35);
		}

		D2Bot.updateStatus("Logging In");

		try {
			login(me.profile);
		} catch (e) {
			print(e + " " + getLocation());
		}

		break;
	case 10: // Login Error
		string = "";
		text = ControlAction.getText(4, 199, 377, 402, 140);

		if (text) {
			for (i = 0; i < text.length; i += 1) {
				string += text[i];

				if (i !== text.length - 1) {
					string += " ";
				}
			}

			switch (string) {
			case getLocaleString(5207):
				D2Bot.updateStatus("Invalid Password");
				D2Bot.printToConsole("Invalid Password");

				break;
			case getLocaleString(5208):
				D2Bot.updateStatus("Invalid Account");
				D2Bot.printToConsole("Invalid Account");

				break;
			case getLocaleString(5202): // cd key intended for another product
			case getLocaleString(10915): // lod key intended for another product
				D2Bot.updateStatus("Invalid CDKey");
				D2Bot.printToConsole("Invalid CDKey: " + gameInfo.mpq, 6);
				D2Bot.CDKeyDisabled();

				if (gameInfo.switchKeys) {
					ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
					D2Bot.restart(true);
				} else {
					D2Bot.stop();
				}

				break;
			case getLocaleString(5199):
				D2Bot.updateStatus("Disabled CDKey");
				D2Bot.printToConsole("Disabled CDKey: " + gameInfo.mpq, 6);
				D2Bot.CDKeyDisabled();

				if (gameInfo.switchKeys) {
					ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
					D2Bot.restart(true);
				} else {
					D2Bot.stop();
				}

				break;
			case getLocaleString(10913):
				D2Bot.updateStatus("Disabled LoD CDKey");
				D2Bot.printToConsole("Disabled LoD CDKey: " + gameInfo.mpq, 6);
				D2Bot.CDKeyDisabled();

				if (gameInfo.switchKeys) {
					ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
					D2Bot.restart(true);
				} else {
					D2Bot.stop();
				}

				break;
			case getLocaleString(5347):
				D2Bot.updateStatus("Disconnected");
				D2Bot.printToConsole("Disconnected");
				ControlAction.click(6, 335, 412, 128, 35);

				break MainSwitch;
			default:
				D2Bot.updateStatus("Login Error");
				D2Bot.printToConsole("Login Error - " + string);

				if (gameInfo.switchKeys) {
					ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
					D2Bot.restart(true);
				} else {
					D2Bot.stop();
				}

				break;
			}
		}

		ControlAction.click(6, 335, 412, 128, 35);

		while (true) {
			delay(1000);
		}

		break;
	case 11: // Unable To Connect
		D2Bot.updateStatus("Unable To Connect");

		if (connectFail) {
			ControlAction.timeoutDelay("Unable to Connect", StarterConfig.UnableToConnectDelay * 6e4);

			connectFail = false;
		} else {
			connectFail = true;
		}

		if (!ControlAction.click(6, 335, 450, 128, 35)) {
			break;
		}

		break;
	case 13: // Realm Down - Character Select screen
		D2Bot.updateStatus("Realm Down");
		delay(1000);

		if (!ControlAction.click(6, 33, 572, 128, 35)) {
			break;
		}

		updateCount();
		ControlAction.timeoutDelay("Realm Down", StarterConfig.RealmDownDelay * 6e4);
		D2Bot.CDKeyRD();

		if (gameInfo.switchKeys && !gameInfo.rdBlocker) {
			D2Bot.printToConsole("Realm Down - Changing CD-Key");
			ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
			D2Bot.restart(true);
		} else {
			D2Bot.printToConsole("Realm Down - Restart");
			D2Bot.restart();
		}

		break;
	case 14: // Character Select - Disconnected
		D2Bot.updateStatus("Disconnected");
		delay(500);
		ControlAction.click(6, 351, 337, 96, 32);

		break;
	case 16: // Character Select - Please Wait popup
		if (!locationTimeout(StarterConfig.PleaseWaitTimeout * 1e3, location)) {
			ControlAction.click(6, 351, 337, 96, 32);
		}

		break;
	case 17: // Lobby - Lost Connection - just click okay, since we're toast anyway
		delay(1000);
		ControlAction.click(6, 351, 337, 96, 32);

		break;
	case 19: // Login - Cdkey In Use
		D2Bot.printToConsole(gameInfo.mpq + " is in use by " + ControlAction.getText(4, 158, 310, 485, 40), 6);
		D2Bot.CDKeyInUse();

		if (gameInfo.switchKeys) {
			ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
			D2Bot.restart(true);
		} else {
			ControlAction.timeoutDelay("CD-Key in use", StarterConfig.CDKeyInUseDelay * 6e4);
			ControlAction.click(6, 335, 450, 128, 35);
		}

		break;
	case 20: // Single Player - Select Difficulty
		break;
	case 21: // Main Menu - Connecting
		if (!locationTimeout(StarterConfig.ConnectingTimeout * 1e3, location)) {
			ControlAction.click(6, 330, 416, 128, 35);
		}

		break;
	case 22: // Login - Invalid Cdkey (classic or xpac)
		text = ControlAction.getText(4, 162, 270, 477, 50);
		string = "";

		if (text) {
			for (i = 0; i < text.length; i += 1) {
				string += text[i];

				if (i !== text.length - 1) {
					string += " ";
				}
			}
		}

		switch (string) {
		case getLocaleString(10914):
			D2Bot.printToConsole(gameInfo.mpq + " LoD key in use by " + ControlAction.getText(4, 158, 310, 485, 40), 6);
			D2Bot.CDKeyInUse();

			if (gameInfo.switchKeys) {
				ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
				D2Bot.restart(true);
			} else {
				ControlAction.click(6, 335, 450, 128, 35);
				ControlAction.timeoutDelay("LoD key in use", StarterConfig.CDKeyInUseDelay * 6e4);
			}

			break;
		default:
			if (gameInfo.switchKeys) {
				D2Bot.printToConsole("Invalid CD-Key");
				ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
				D2Bot.restart(true);
			} else {
				ControlAction.click(6, 335, 450, 128, 35);
				ControlAction.timeoutDelay("Invalid CD-Key", StarterConfig.CDKeyInUseDelay * 6e4);
			}

			break;
		}

		break;
	case 23: // Character Select - Connecting
	case 42: // Empty character screen
		string = "";
		text = ControlAction.getText(4, 45, 318, 531, 140);

		if (text) {
			for (i = 0; i < text.length; i += 1) {
				string += text[i];

				if (i !== text.length - 1) {
					string += " ";
				}
			}

			if (string === getLocaleString(11161)) { // CDKey disabled from realm play
				D2Bot.updateStatus("Realm Disabled CDKey");
				D2Bot.printToConsole("Realm Disabled CDKey: " + gameInfo.mpq, 6);
				D2Bot.CDKeyDisabled();

				if (gameInfo.switchKeys) {
					ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
					D2Bot.restart(true);
				} else {
					D2Bot.stop();
				}
			}
		}

		if (!locationTimeout(StarterConfig.ConnectingTimeout * 1e3, location)) {
			ControlAction.click(6, 33, 572, 128, 35);

			if (gameInfo.rdBlocker) {
				D2Bot.restart();
			}
		}

		break;
	case 24: // Server Down - not much to do but wait..
		break;
	case 25: // Lobby - Please Wait
		if (!locationTimeout(StarterConfig.PleaseWaitTimeout * 1e3, location)) {
			ControlAction.click(6, 351, 337, 96, 32);
		}

		break;
	case 26: // Lobby - Game Name Exists
		break;
	case 27: // Gateway Select
		ControlAction.click(6, 436, 538, 96, 32);

		break;
	case 28: // Lobby - Game Does Not Exist
		D2Bot.printToConsole("Game doesn't exist");

		if (gameInfo.rdBlocker) {
			D2Bot.printToConsole(gameInfo.mpq + " is probably flagged.", 6);

			if (gameInfo.switchKeys) {
				ControlAction.timeoutDelay("Key switch delay", StarterConfig.SwitchKeyDelay * 1000);
				D2Bot.restart(true);
			}
		} else {
			locationTimeout(StarterConfig.GameDoesNotExistTimeout * 1e3, location);
		}

		lastGameStatus = "ready";

		break;
	case 38: // Game is full
		D2Bot.printToConsole("Game is full");
		ControlAction.click(6, 652, 469, 120, 20);
		lastGame.push(joinInfo.gameName);

		lastGameStatus = "ready";

		break;
	default:
		if (location !== undefined) {
			D2Bot.printToConsole("Unhandled location " + location);
			//takeScreenshot();
			delay(500);
			D2Bot.restart();
		}

		break;
	}
}

ich sage danke
keksnuss is offline  
Old 12/22/2018, 12:30   #7
 
elite*gold: 0
Join Date: May 2013
Posts: 29
Received Thanks: 1
guten tag was für ein bot ist das
jin kazuya is offline  
Reply


Similar Threads Similar Threads
Kolbot Follower
11/05/2018 - Diablo 2 - 1 Replies
Nabend zusammen, und zwar komme ich da grad nicht weiter. :/ Mein Follower folgt mir zwar (Soso) allerdings nur mit dem Teleport skill und auch nur wenn ich NICHT in der Stadt bin, das nervige daran ist halt dass wenn Ihr Mana auf 0 Sinkt sie aufhört mir zu folgen stattdessen wartet bis sie wieder genug Mana fürn Teleport skill hat, sonst steht sie permanent vorm TP Spot, wisst ihr was ich in den Skripts einstellen muss dass sie mir ständig folgt auch zu Fuß? Mein nächstes Problem geht...
O fg - need kolbot specific Kolbot installation
11/09/2016 - Diablo 2 Trading - 0 Replies
Hi guys, im looking for a guy, who has a full kolbot bot with selfleveling settings ( need to have perf settings on kolbot for selfleveling - all scripts have to be complete and full ) Im ready to pay good fg for this = but need to be done good. I dont want to get some errors during selfeleveling. pm me here or on private message for more info Thanks
[D2BS Kolbot] Mehrere Leader games für einen Follower möglich?
04/29/2016 - Diablo 2 Programming - 0 Replies
Moin zusammen, ist es möglich mit mehreren leadern spiele zu erstell und diese mit einem follower nach und nach abzustottern? z.B. 5 bo barbs machen games, shoppen, BO´en wenn ein nec reinkommt, der dann gamblen wird. sobald der nec das spiel verlässt erstellt barb#1 ein neues spiel. der nec betritt dann das spiel von barb#2 usw. usw. bin leider vor nächstem wochenende nicht zuhause um das selbst zu testen und plane da was. wäre nett wenn dass mal einer testen könnte bzw. irgendwelche...
[VERKAUFE] ECHTE Instagram Follower! [SUCHE] e*gold | 100 Follower für 50 e*gold!
10/20/2013 - elite*gold Trading - 7 Replies
http://4.bp.blogspot.com/-VPhpRyqOCHg/UAE-DBqlIkI/ AAAAAAAAEcs/M06Xv4luQFI/s1600/InstagramLogo.png Ich verkaufe euch hier Instagram Follower. Preise: Follower | Preis 50 | 25 e*gold 100 | 50 e*gold 150 | 75 e*gold
[S]50 Twitter Follower/Account mit 50 Follower|Oder user die mir hier folge[B] e*gold
11/15/2012 - elite*gold Trading - 8 Replies
Hallo, ich suche jemand der mir etwa 50 Twitter Follower oder einen Account mit etwa 50 Followern machen kann/geben und das wenn es geht billig :D Bei Interresse hier im Topic melden oder per PN. Suche auch leute die sich mehrmals Acc machn und dann bei mir folgen!



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


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.