Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Diablo 2
You last visited: Today at 06:01

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

Advertisement



D2Bot# mit Kolbot RELEASE - Ein neuer Bot für D2BS

Discussion on D2Bot# mit Kolbot RELEASE - Ein neuer Bot für D2BS within the Diablo 2 forum part of the Other Online Games category.

Reply
 
Old 07/02/2019, 18:08   #6151
 
elite*gold: 0
Join Date: Jan 2014
Posts: 61
Received Thanks: 7
Quote:
Originally Posted by ioezkilic90 View Post
Danke dir Horst für deine Hilfe, ich habe die Skills gefunden =)

etwas anderes beschäftigt mich jedoch auch =S, ich schaffe es nicht einen Charakter mit meinem Bot laufen zu lassen damit der einfach nur leeched. Hat da jemand eine Schritt für Schritt Anweisung für dummies oder eine Kopie von euren Einstellungen?

P.s. Ioezkilic90 ist mein Konto.

Grüsse
Entsprechendes Leech script in der char konfig auf true setzen, leader setzen und im profile entry script auf follow.
Horst_ is offline  
Old 07/08/2019, 14:08   #6152
 
elite*gold: 0
Join Date: Sep 2012
Posts: 14
Received Thanks: 0
Attacke Fehler Meldung

Hallo Leute,
der Bot startet, dann diese fehler Meldung : Bad attack-Dont expect your bot to attack. was habe ich verkehrt gemacht- wo ist der fehler ? bitte um eine nachricht.

// 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 = true;
Config.Mausoleum.ClearCrypt = true;
Scripts.Rakanishu = false;
Config.Rakanishu.KillGriswold = true;
Scripts.UndergroundPassage = false;
Scripts.Coldcrow = false;
Scripts.Tristram = false;
Config.Tristram.WalkClear = false; // Disable teleport while clearing to protect leechers
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 = true;
Config.Countess.KillGhosts = true;
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.WalkClear = false; // Disable teleport while clearing to protect leechers
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!";
Config.Baal.SoulQuit = false; // End script if Souls (Burning Souls) are found.
Config.Baal.DollQuit = false; // End script if Dolls (Undead Soul Killers) 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 = true; // Get Wirt's Leg from Tristram. If set to false, it will check for the leg in town.
Config.Enchant.AutoChant = true; // 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: [NPC.Elzix, NPC.Fara]
// Use common sense when combining NPCs. Shopping in different acts will probably lead to bugs.
Config.ShopBot.ShopNPC = NPC.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 = true; // Go to a healer if poisoned or cursed
Config.UseMerc = true; // Use merc. This is ignored and always false in d2classic.
Config.MercWatch = true; // 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 = 0; // Go to town if life is under designated percent.
Config.TownMP = 0; // 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] = [1,1,1,1,1,0,0,0,0,0];
Config.Inventory[1] = [1,1,1,1,1,0,0,0,0,0];
Config.Inventory[2] = [1,1,1,1,1,0,0,0,0,0];
Config.Inventory[3] = [1,1,1,1,1,0,0,0,0,0];

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] = "hp";
Config.BeltColumn[3] = "mp";

/* 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.PickitFiles.push("classic.nip");
Config.PickitFiles.push("Key.nip");
Config.PickitFiles.push("magic_rare.nip");
Config.PickitFiles.push("normal.nip");
Config.PickitFiles.push("set.nip");
Config.PickitFiles.push("unique.nip");
Config.PickitFiles.push("craft.nip");
//Config.PickitFiles.push("follower.nip");
//Config.PickitFiles.push("shopbot.nip");

Config.PickRange = 60; // Pick radius
Config.FastPick = false; // Check and pick items between attacks

/* Advanced automule settings
* Trigger - Having an item that is on the list will initiate muling. Useful if you want to mule something immediately upon finding.
* Force - Items listed here will be muled even if they are ingredients for cubing.
* Exclude - Items listed here will be ignored and will not be muled. Items on Trigger or Force lists are prioritized over this list.
*
* List can either be set as string in pickit format and/or as number referring to item classids. Each entries are separated by commas.
* Example :
* Config.AutoMule.Trigger = [639, 640, "[type] == ring && [quality] == unique # [maxmana] == 20"];
* This will initiate muling when your character finds Ber, Jah, or SOJ.
* Config.AutoMule.Force = [561, 566, 571, 576, 581, 586, 601];
* This will mule perfect gems/skull during muling.
* Config.AutoMule.Exclude = ["[name] >= talrune && [name] <= solrune", "[name] >= 654 && [name] <= 657"];
* This will exclude muling of runes from tal through sol, and any essences.
*/
Config.AutoMule.Trigger = [];
Config.AutoMule.Force = [];
Config.AutoMule.Exclude = [];

// 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 = true; // 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.LogKeys = false; // Log keys on item viewer
Config.LogOrgans = true; // Log organs on item viewer
Config.LogLowRunes = false; // Log low runes (El - Dol) on item viewer
Config.LogMiddleRunes = false; // Log middle runes (Hel - Mal) on item viewer
Config.LogHighRunes = true; // Log high runes (Ist - Zod) on item viewer
Config.LogLowGems = false; // Log low gems (chipped, flawed, normal) on item viewer
Config.LogHighGems = false; // Log high gems (flawless, perfect) on item viewer
Config.SkipLogging = []; // Custom log skip list. Set as three digit item code or classid. Example: ["tes", "ceh", 656, 657] will ignore logging of essences.
Config.ShowCubingInfo = true; // Show cubing messages on console

// 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 = false; // 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 = false; // Set to true to enable runeword making/rerolling

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

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

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

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

// Public game options

// If LocalChat is enabled, chat can be sent via 'sendCopyData' instead of BNET
// To allow 'say' to use BNET, use 'say("msg", true)', the 2nd parameter will force BNET
// LocalChat messages will only be visible on clients running on the same PC
Config.LocalChat.Enabled = false; // enable the LocalChat system
Config.LocalChat.Toggle = false; // optional, set to KEY value to toggle through modes 0, 1, 2
Config.LocalChat.Mode = 0; // 0 = disabled, 1 = chat from 'say' (recommended), 2 = all chat (for manual play)
// 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 = ["Hello, $name (level $level $class)"]; // Example: ["Hello, $name (level $level $class)"]
Config.DeathMessages = ["Watch out for that $killer, $name !"]; // Example: ["Watch out for that $killer, $name!"]
Config.Congratulations = ["Congrats on level $level, $name !"]; // Example: ["Congrats on level $level, $name!"]
Config.ShitList = true; // 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 = "Next game: $nextgame"; // 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 secondary (non-primary) slot when teleporting more than 5 nodes.
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 = 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 = [];

// MF Switch
Config.MFSwitchPercent = 0; // Boss life % to switch to secondary weapon slot. Set to 0 to disable.

// Primary Slot - Bot will try to determine primary slot if not used (non-cta slot that's not empty)
Config.PrimarySlot = -1; // Set to use specific weapon slot as primary weapon slot: -1 = disabled, 0 = slot I, 1 = slot II

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

// Anti-hostile config
Config.AntiHostile = true; // 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 = true; // 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 = true; // 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] = 64; // Preattack skill.
Config.AttackSkill[1] = 64; // Primary skill to bosses.
Config.AttackSkill[2] = 47; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
Config.AttackSkill[3] = 64; // Primary skill to others.
Config.AttackSkill[4] = 47; // Primary untimed skill to others. Keep at -1 if Config.AttackSkill[3] is untimed skill.
Config.AttackSkill[5] = 0; // Secondary skill if monster is immune to primary.
Config.AttackSkill[6] = 55; // 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]50
};

Config.Dodge = true; // Move away from monsters that get too close. Don't use with short-ranged attacks like Poison Dagger.
Config.DodgeRange = 15; // Distance to keep from monsters.
Config.DodgeHP = 70; // Dodge only if HP percent is less than or equal to Config.DodgeHP. 100 = always dodge.
Config.BossPriority = true; // 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];

/* AutoSkill builds character based on array defined by the user and it replaces AutoBuild's skill system.
* AutoSkill will automatically spend skill points and it can also allocate any prerequisite skills as required.
*
* Format: Config.AutoSkill.Build = [[skillID, count, satisfy], [skillID, count, satisfy], ... [skillID, count, satisfy]];
* skill - skill id number (see /sdk/skills.txt)
* count - maximum number of skill points to allocate for that skill
* satisfy - boolean value to stop(true) or continue(false) further allocation until count is met. Defaults to true if not specified.
*
* See libs/config/Templates/AutoSkillExampleBuilds.txt for Config.AutoSkill.Build examples.
*/
Config.AutoSkill.Enabled = false; // Enable or disable AutoSkill system
Config.AutoSkill.Save = 0; // Number of skill points that will not be spent and saved
Config.AutoSkill.Build = [];

/* AutoStat builds character based on array defined by the user and this will replace AutoBuild's stat system.
* AutoStat will stat Build array order. You may want to stat strength or dexterity first to meet item requirements.
*
* Format: Config.AutoStat.Build = [[statType, stat], [statType, stat], ... [statType, stat]];
* statType - defined as string, or as corresponding stat integer. "strength" or 0, "dexterity" or 2, "vitality" or 3, "energy" or 1
* stat - set to an integer value, and it will spend stat points until it reaches desired *hard stat value (*+stats from items are ignored).
* You can also set stat to string value "all", and it will spend all the remaining points.
* Dexterity can be set to "block" and it will stat dexterity up the the desired block value specified in arguemnt (ignored in classic).
*
* See libs/config/Templates/AutoStatExampleBuilds.txt for Config.AutoStat.Build examples.
*/
Config.AutoStat.Enabled = false; // Enable or disable AutoStat system
Config.AutoStat.Save = 0; // Number stat points that will not be spent and saved.
Config.AutoStat.BlockChance = 0; // An integer value set to desired block chance. This is ignored in classic.
Config.AutoStat.UseBulk = true; // Set true to spend multiple stat points at once (up to 100), or false to spend singe point at a time.
Config.AutoStat.Build = [];

// 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
}
vielen Dank im voraus grüsse
emil123456 is offline  
Old 07/11/2019, 17:02   #6153
 
elite*gold: 0
Join Date: Apr 2013
Posts: 1
Received Thanks: 0
/* Attack config
* To disable an attack, set it to -1
* Skills MUST be POSITIVE numbers. For reference see
*/
Config.AttackSkill[0] = 64; // Preattack skill.
Config.AttackSkill[1] = 64; // Primary skill to bosses.
Config.AttackSkill[2] = 47; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
Config.AttackSkill[3] = 64; // Primary skill to others.
Config.AttackSkill[4] = 47; // 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] = 55; // Secondary untimed skill if monster is immune to primary untimed.



ich schätze mal da bei sklill 5 * To disable an attack, set it to -1
GreenAngel is offline  
Old 07/14/2019, 14:57   #6154
 
elite*gold: 0
Join Date: Mar 2010
Posts: 6
Received Thanks: 2
huhu,

hab mal wieder mit d2 angefangen.
könnte mir jemand helfen wie man des bot in diesem Launcher richtig einrichtet?
(hab eine mf Sorc und will bisschen akt3 meppl farmen damit)

(aktuell wenn ich das BotProgramm starte, wird zwar diablo2 gestartet, aber er will sich nicht einloggen?)


würd mich über hilfe freuen
Alkinger is offline  
Old 07/15/2019, 18:57   #6155
 
Northern Light's Avatar
 
elite*gold: 0
Join Date: Oct 2011
Posts: 688
Received Thanks: 130
Quote:
Originally Posted by Alkinger View Post
huhu,

hab mal wieder mit d2 angefangen.
könnte mir jemand helfen wie man des bot in diesem Launcher richtig einrichtet?
(hab eine mf Sorc und will bisschen akt3 meppl farmen damit)

(aktuell wenn ich das BotProgramm starte, wird zwar diablo2 gestartet, aber er will sich nicht einloggen?)


würd mich über hilfe freuen
hast du Entry Script D2BotLead.dbj?
Northern Light is offline  
Old 07/16/2019, 16:44   #6156
 
elite*gold: 0
Join Date: Mar 2014
Posts: 9
Received Thanks: 1
Hallo Ich habe dass Problem dass mein follow nicht ins game joint er bleib in der lobby und macht nichts ich hab schon viel rumprobiert und mich auch durch viele foren gelesen aber bis jetzt einfach nichts gefunden was hilft.ich hefte hier mal die leader follower cofigs und die followconfig an sich an ich hoffe es ist jemand da der helfen kann vielen dank schon mal im vorraus.


Leader: charname AufDieBacken profilname pala
Code:
// Paladin config file

/* Brief instructions:
 * Notepad++ is HIGHLY recommended to use for editing these files. Visit [url]http://notepad-plus-plus.org/[/url]
 * 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.WalkClear = false; // Disable teleport while clearing to protect leechers
		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 = true;
		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.ChestMania = false; // Open chests in configured areas. See sdk/areas.txt
		Config.ChestMania.Act3 = [79,]; // List of act 3 areas to open chests in
	Scripts.Travincal = false;
		Config.Travincal.PortalLeech = false; // Set to true to open a portal for leechers.
	Scripts.Mephisto = true;
		Config.ChestMania.Act3 = [90,]; // List of act 3 areas to open chests in
		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.WalkClear = false; // Disable teleport while clearing to protect leechers
		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 = true;
		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!";
		Config.Baal.SoulQuit = false; // End script if Souls (Burning Souls) are found.
		Config.Baal.DollQuit = false; // End script if Dolls (Undead Soul Killers) 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: [url]http://pastebin.com/Uez3nZ6g[/url]
	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: [NPC.Elzix, NPC.Fara]
		// Use common sense when combining NPCs. Shopping in different acts will probably lead to bugs.
		Config.ShopBot.ShopNPC = NPC.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.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 = 0; // Go to town if life is under designated percent.
	Config.TownMP = 0; // 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,1,1,1,1,1,1,1];
	Config.Inventory[1] = [0,0,0,1,1,1,1,1,1,1];
	Config.Inventory[2] = [0,0,0,1,1,1,1,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] = "rv";
	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("kolten.nip");
	Config.PickRange = 40; // Pick radius
	Config.FastPick = false; // Check and pick items between attacks

	/* Advanced automule settings
	 * Trigger - Having an item that is on the list will initiate muling. Useful if you want to mule something immediately upon finding.
	 * Force - Items listed here will be muled even if they are ingredients for cubing.
	 * Exclude - Items listed here will be ignored and will not be muled. Items on Trigger or Force lists are prioritized over this list.
	 *
	 * List can either be set as string in pickit format and/or as number referring to item classids. Each entries are separated by commas.
	 * Example :
	 *  Config.AutoMule.Trigger = [639, 640, "[type] == ring && [quality] == unique # [maxmana] == 20"];
	 *  	This will initiate muling when your character finds Ber, Jah, or SOJ.
	 *  Config.AutoMule.Force = [561, 566, 571, 576, 581, 586, 601];
	 *  	This will mule perfect gems/skull during muling.
	 *  Config.AutoMule.Exclude = ["[name] >= talrune && [name] <= solrune", "[name] >= 654 && [name] <= 657"];
	 *  	This will exclude muling of runes from tal through sol, and any essences.
	 */
	Config.AutoMule.Trigger = [];
	Config.AutoMule.Force = [];
	Config.AutoMule.Exclude = [];

	// 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.LogKeys = false; // Log keys on item viewer
	Config.LogOrgans = true; // Log organs on item viewer
	Config.LogLowRunes = false; // Log low runes (El - Dol) on item viewer
	Config.LogMiddleRunes = false; // Log middle runes (Hel - Mal) on item viewer
	Config.LogHighRunes = true; // Log high runes (Ist - Zod) on item viewer
	Config.LogLowGems = false; // Log low gems (chipped, flawed, normal) on item viewer
	Config.LogHighGems = false; // Log high gems (flawless, perfect) on item viewer
	Config.SkipLogging = []; // Custom log skip list. Set as three digit item code or classid. Example: ["tes", "ceh", 656, 657] will ignore logging of essences.
	Config.ShowCubingInfo = true; // Show cubing messages on console

	// 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 = false; // 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 = false; // Set to true to enable runeword making/rerolling

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

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

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

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

	// Public game options

	// If LocalChat is enabled, chat can be sent via 'sendCopyData' instead of BNET
	// To allow 'say' to use BNET, use 'say("msg", true)', the 2nd parameter will force BNET
	// LocalChat messages will only be visible on clients running on the same PC
	Config.LocalChat.Enabled = false; // enable the LocalChat system
	Config.LocalChat.Toggle = false; // optional, set to KEY value to toggle through modes 0, 1, 2
	Config.LocalChat.Mode = 0; // 0 = disabled, 1 = chat from 'say' (recommended), 2 = all chat (for manual play)
	// 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 = false; // 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 secondary (non-primary) slot when teleporting more than 5 nodes.
	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 to non-primiary weapon slot. Set to 0 to disable.

	// Primary Slot - Bot will try to determine primary slot if not used (non-cta slot that's not empty)
	Config.PrimarySlot = -1; // Set to use specific weapon slot as primary weapon slot: -1 = disabled, 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 [url]http://pastebin.com/baShRwWM[/url]
	 */
	Config.AttackSkill[0] = -1; // Preattack skill.
	Config.AttackSkill[1] = 112; // Primary skill to bosses.
	Config.AttackSkill[2] = 113; // Primary aura to bosses
	Config.AttackSkill[3] = 112; // Primary skill to others.
	Config.AttackSkill[4] = 113; // Primary aura to others.
	Config.AttackSkill[5] = -1; // Secondary skill if monster is immune to primary.
	Config.AttackSkill[6] = -1; // Secondary aura.

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

	/* Advanced Attack config. Allows custom skills to be used on custom monsters.
	 *	Format: "Monster Name": [attack skill id, aura 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

	// 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.AvoidDolls = false; // Try to attack dolls from a greater distance with hammerdins.
	Config.Vigor = true; // Swith to Vigor when running
	Config.Charge = true; // Use Charge when running
	Config.Redemption = [50, 50]; // Switch to Redemption after clearing an area if under designated life or mana. Format: [lifepercent, manapercent]

	/* AutoSkill builds character based on array defined by the user and it replaces AutoBuild's skill system.
	 * AutoSkill will automatically spend skill points and it can also allocate any prerequisite skills as required.
	 *
	 * Format: Config.AutoSkill.Build = [[skillID, count, satisfy], [skillID, count, satisfy], ... [skillID, count, satisfy]];
	 *	skill - skill id number (see /sdk/skills.txt)
	 *	count - maximum number of skill points to allocate for that skill
	 *	satisfy - boolean value to stop(true) or continue(false) further allocation until count is met. Defaults to true if not specified.
	 *
	 *	See libs/config/Templates/AutoSkillExampleBuilds.txt for Config.AutoSkill.Build examples.
	 */
	Config.AutoSkill.Enabled = false; // Enable or disable AutoSkill system
	Config.AutoSkill.Save = 0; // Number of skill points that will not be spent and saved
	Config.AutoSkill.Build = [];

	/* AutoStat builds character based on array defined by the user and this will replace AutoBuild's stat system.
	 * AutoStat will stat Build array order. You may want to stat strength or dexterity first to meet item requirements.
	 *
	 * Format: Config.AutoStat.Build = [[statType, stat], [statType, stat], ... [statType, stat]];
	 *	statType - defined as string, or as corresponding stat integer. "strength" or 0, "dexterity" or 2, "vitality" or 3, "energy" or 1
	 *	stat - set to an integer value, and it will spend stat points until it reaches desired *hard stat value (*+stats from items are ignored).
	 *	You can also set stat to string value "all", and it will spend all the remaining points.
	 *	Dexterity can be set to "block" and it will stat dexterity up the the desired block value specified in arguemnt (ignored in classic).
	 *
	 *	See libs/config/Templates/AutoStatExampleBuilds.txt for Config.AutoStat.Build examples.
	 */
	Config.AutoStat.Enabled = false; // Enable or disable AutoStat system
	Config.AutoStat.Save = 0; // Number stat points that will not be spent and saved.
	Config.AutoStat.BlockChance = 0; // An integer value set to desired block chance. This is ignored in classic.
	Config.AutoStat.UseBulk = true; // Set true to spend multiple stat points at once (up to 100), or false to spend singe point at a time.
	Config.AutoStat.Build = [];

	// 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




Follower : charname Euratrix profilname clown
Code:
// Sorceress config file

/* Brief instructions:
 * Notepad++ is HIGHLY recommended to use for editing these files. Visit [url]http://notepad-plus-plus.org/[/url]
 * 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 = true;
		Config.Mausoleum.ClearCrypt = false;
	Scripts.Rakanishu = false;
		Config.Rakanishu.KillGriswold = true;
	Scripts.UndergroundPassage = false;
	Scripts.Coldcrow = false;
	Scripts.Tristram = false;
		Config.Tristram.WalkClear = false; // Disable teleport while clearing to protect leechers
		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 = false;
		Config.Countess.KillGhosts = true;
	Scripts.Andariel = true;
	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 = true;
		Config.AncientTunnels.OpenChest = true; // Open special chest in Lost City
		Config.AncientTunnels.KillDarkElder = false;
	Scripts.Summoner = false;
		Config.Summoner.FireEye = false;
	Scripts.Tombs = false;
	Scripts.Duriel = true;

	// *** act 3 ***
	Scripts.Stormtree = false;
	Scripts.KurastTemples = false;
	Scripts.Icehawk = false;
	Scripts.Endugu = false;	
	Scripts.ChestMania = true; // Open chests in configured areas. See sdk/areas.txt
		Config.ChestMania.Act3 = [79,]; // List of act 3 areas to open chests in
	Scripts.Travincal = true;
		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.WalkClear = false; // Disable teleport while clearing to protect leechers
		Config.Diablo.Entrance = false; // 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 = true;
		Config.Pindleskin.UseWaypoint = false;
		Config.Pindleskin.KillNihlathak = false;
		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 = false;
		Config.Eldritch.KillShenk = false;
		Config.Eldritch.KillDacFarren = false;
	Scripts.Eyeback = false;
	Scripts.SharpTooth = false;
	Scripts.ThreshSocket = false;
	Scripts.Abaddon = false;
	Scripts.Frozenstein = false;
		Config.Frozenstein.ClearFrozenRiver = false;
	Scripts.Bonesaw = false;
		Config.Bonesaw.ClearDrifterCavern = false;
	Scripts.Snapchip = false;
		Config.Snapchip.ClearIcyCellar = false;
	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 (Burning Souls) are found.
		Config.Baal.DollQuit = false; // End script if Dolls (Undead Soul Killers) are found.
		Config.Baal.KillBaal = false; // 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 = "AufDieBacken"; // 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 = 1; // 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 = 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 = 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: [url]http://pastebin.com/Uez3nZ6g[/url]
	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 = true; // 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: [NPC.Elzix, NPC.Fara]
		// Use common sense when combining NPCs. Shopping in different acts will probably lead to bugs.
		Config.ShopBot.ShopNPC = NPC.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.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 = true; // Instant merc revive during battle.

	// Potion settings
	Config.UseHP = 75; // Drink a healing potion if life is under designated percent.
	Config.UseRejuvHP = 50;  // 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 = 0; // Go to town if life is under designated percent.
	Config.TownMP = 0; // 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,1,1,1,1,1,1,1,1];
	Config.Inventory[1] = [0,0,1,1,1,1,1,1,1,1];
	Config.Inventory[2] = [0,0,1,1,1,1,1,1,1,1];
	Config.Inventory[3] = [0,0,0,1,1,1,1,1,1,1];

	Config.StashGold = 50000; // 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] = "rv";
	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("kolten.nip");
	Config.PickRange = 40; // Pick radius
	Config.FastPick = false; // Check and pick items between attacks

	/* Advanced automule settings
	 * Trigger - Having an item that is on the list will initiate muling. Useful if you want to mule something immediately upon finding.
	 * Force - Items listed here will be muled even if they are ingredients for cubing.
	 * Exclude - Items listed here will be ignored and will not be muled. Items on Trigger or Force lists are prioritized over this list.
	 *
	 * List can either be set as string in pickit format and/or as number referring to item classids. Each entries are separated by commas.
	 * Example :
	 *  Config.AutoMule.Trigger = [639, 640, "[type] == ring && [quality] == unique # [maxmana] == 20"];
	 *  	This will initiate muling when your character finds Ber, Jah, or SOJ.
	 *  Config.AutoMule.Force = [561, 566, 571, 576, 581, 586, 601];
	 *  	This will mule perfect gems/skull during muling.
	 *  Config.AutoMule.Exclude = ["[name] >= talrune && [name] <= solrune", "[name] >= 654 && [name] <= 657"];
	 *  	This will exclude muling of runes from tal through sol, and any essences.
	 */
	Config.AutoMule.Trigger = [];
	Config.AutoMule.Force = [];
	Config.AutoMule.Exclude = [];

	// 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.LogKeys = false; // Log keys on item viewer
	Config.LogOrgans = true; // Log organs on item viewer
	Config.LogLowRunes = false; // Log low runes (El - Dol) on item viewer
	Config.LogMiddleRunes = true; // Log middle runes (Hel - Mal) on item viewer
	Config.LogHighRunes = true; // Log high runes (Ist - Zod) on item viewer
	Config.LogLowGems = false; // Log low gems (chipped, flawed, normal) on item viewer
	Config.LogHighGems = false; // Log high gems (flawless, perfect) on item viewer
	Config.SkipLogging = []; // Custom log skip list. Set as three digit item code or classid. Example: ["tes", "ceh", 656, 657] will ignore logging of essences.
	Config.ShowCubingInfo = true; // Show cubing messages on console

	// 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 = false; // 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 = false; // Set to true to enable runeword making/rerolling

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

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

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

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

	// Public game options

	// If LocalChat is enabled, chat can be sent via 'sendCopyData' instead of BNET
	// To allow 'say' to use BNET, use 'say("msg", true)', the 2nd parameter will force BNET
	// LocalChat messages will only be visible on clients running on the same PC
	Config.LocalChat.Enabled = false; // enable the LocalChat system
	Config.LocalChat.Toggle = false; // optional, set to KEY value to toggle through modes 0, 1, 2
	Config.LocalChat.Mode = 0; // 0 = disabled, 1 = chat from 'say' (recommended), 2 = all chat (for manual play)
	// 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 = false; // 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 secondary (non-primary) slot when teleporting more than 5 nodes.
	Config.OpenChests = false; // 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 to secondary weapon slot. Set to 0 to disable.

	// Primary Slot - Bot will try to determine primary slot if not used (non-cta slot that's not empty)
	Config.PrimarySlot = -1; // Set to use specific weapon slot as primary weapon slot: -1 = disabled, 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 [url]http://pastebin.com/baShRwWM[/url]
	 */
	Config.AttackSkill[0] = 42; // Preattack skill.
	Config.AttackSkill[1] = 59; // Primary skill to bosses.
	Config.AttackSkill[2] = 59; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
	Config.AttackSkill[3] = 59; // Primary skill to others.
	Config.AttackSkill[4] = 59; // 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]
	 *	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 = 15; // 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];

	/* AutoSkill builds character based on array defined by the user and it replaces AutoBuild's skill system.
	 * AutoSkill will automatically spend skill points and it can also allocate any prerequisite skills as required.
	 *
	 * Format: Config.AutoSkill.Build = [[skillID, count, satisfy], [skillID, count, satisfy], ... [skillID, count, satisfy]];
	 *	skill - skill id number (see /sdk/skills.txt)
	 *	count - maximum number of skill points to allocate for that skill
	 *	satisfy - boolean value to stop(true) or continue(false) further allocation until count is met. Defaults to true if not specified.
	 *
	 *	See libs/config/Templates/AutoSkillExampleBuilds.txt for Config.AutoSkill.Build examples.
	 */
	Config.AutoSkill.Enabled = false; // Enable or disable AutoSkill system
	Config.AutoSkill.Save = 0; // Number of skill points that will not be spent and saved
	Config.AutoSkill.Build = [];

	/* AutoStat builds character based on array defined by the user and this will replace AutoBuild's stat system.
	 * AutoStat will stat Build array order. You may want to stat strength or dexterity first to meet item requirements.
	 *
	 * Format: Config.AutoStat.Build = [[statType, stat], [statType, stat], ... [statType, stat]];
	 *	statType - defined as string, or as corresponding stat integer. "strength" or 0, "dexterity" or 2, "vitality" or 3, "energy" or 1
	 *	stat - set to an integer value, and it will spend stat points until it reaches desired *hard stat value (*+stats from items are ignored).
	 *	You can also set stat to string value "all", and it will spend all the remaining points.
	 *	Dexterity can be set to "block" and it will stat dexterity up the the desired block value specified in arguemnt (ignored in classic).
	 *
	 *	See libs/config/Templates/AutoStatExampleBuilds.txt for Config.AutoStat.Build examples.
	 */
	Config.AutoStat.Enabled = false; // Enable or disable AutoStat system
	Config.AutoStat.Save = 0; // Number stat points that will not be spent and saved.
	Config.AutoStat.BlockChance = 0; // An integer value set to desired block chance. This is ignored in classic.
	Config.AutoStat.UseBulk = true; // Set true to spend multiple stat points at once (up to 100), or false to spend singe point at a time.
	Config.AutoStat.Build = [];

	// 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





follow datei
Code:
var StarterConfig = {
	JoinChannel: "", // Name of the channel to join
	FirstJoinMessage: "", // 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: "pala": ["clown", "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 = {
			"pala": ["clown", "follow2"],
			"pala": ["clown", "follow4"]
		};
*/

var JoinSettings = {
	"pala": ["clown"]
};

// 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 *:
		"clown": {JoinDelay: 552}

	* Example * (don't edit this - it's just an example):
		"MyProfile1": {JoinDelay: 3},
		"MyProfile2": {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,
	loginRetry = 0,
	lastGameStatus = "ready",
	leader = "pala",
	lastGame = [];

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("ÿc4Updating 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, control, text, location;

	location = getLocation();

MainSwitch:
	switch (location) {
	case 0:
		ControlAction.click();

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

		me.blockKeys = false;
		loginRetry = 0;

		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) {
			if (getLocation() === 12 && loginRetry < 2) {
				if (loginRetry === 0) {
					// start from beginning of the char list
					sendKey(0x24);
				}

				control = getControl(4, 237, 457, 72, 93); // char on 1st column, 4th row

				if (control) {
					me.blockMouse = true;
					me.blockKeys = true;

					control.click();
					sendKey(0x28);
					sendKey(0x28);
					sendKey(0x28);
					sendKey(0x28);

					me.blockMouse = false;
				}

				loginRetry++;
			} else {
				me.blockKeys = false;
				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 hoffe jemand kann helfen ich weiß nicht mehr weiter
vielen dank.

oder vill kann jemand der nen duo laufen hat seine 3 dateien hochladen und ich editiere sie dann mit meinen namen gucken ob dass dann funktioniert
Hueppy is offline  
Old 07/16/2019, 19:12   #6157
 
Northern Light's Avatar
 
elite*gold: 0
Join Date: Oct 2011
Posts: 688
Received Thanks: 130
hast du mal

var JoinSettings = {
"pala": ["all"]
};

probiert?
und case sensitive ist beachtet?

mir erscheint es fast so als ob du evtl i.wo etwas verändert hast wo du nichts hättest verändern sollen. hast du mal einen fresh version versucht?
Northern Light is offline  
Thanks
1 User
Old 07/16/2019, 19:44   #6158
 
elite*gold: 0
Join Date: Mar 2014
Posts: 9
Received Thanks: 1
sry hab nicht so die ahnung davon was meinst du mit case sensetive ?? ne all hab ich noch nicht versucht
mach ich direkt mal

### bei all macht er dass selbe

ich werds mal fresh versuchen
danke schon mal für dein antworten

hab es neu aufgesetzt und neu eingestellt jetzt funktioniert alles
danke für deine hilfe !

gib es ne möglichkeit die nachricht We got a stray irgendwie zu löschen hab die aus der dia config rausgenommen aber irgendwie sagt er dass immernoch danke nochmal
Hueppy is offline  
Old 07/16/2019, 22:38   #6159
 
Northern Light's Avatar
 
elite*gold: 0
Join Date: Oct 2011
Posts: 688
Received Thanks: 130
Quote:
Originally Posted by Hueppy View Post
sry hab nicht so die ahnung davon was meinst du mit case sensetive ?? ne all hab ich noch nicht versucht
mach ich direkt mal

### bei all macht er dass selbe

ich werds mal fresh versuchen
danke schon mal für dein antworten

hab es neu aufgesetzt und neu eingestellt jetzt funktioniert alles
danke für deine hilfe !

gib es ne möglichkeit die nachricht We got a stray irgendwie zu löschen hab die aus der dia config rausgenommen aber irgendwie sagt er dass immernoch danke nochmal
freut mich,

Du hast es bereits aus
Line 418 in Diablo.js gelöscht?
Northern Light is offline  
Old 07/17/2019, 01:32   #6160
 
elite*gold: 0
Join Date: Mar 2014
Posts: 9
Received Thanks: 1
Quote:
Originally Posted by Northern Light View Post
freut mich,

Du hast es bereits aus
Line 418 in Diablo.js gelöscht?
ja hab ich danke :P hab soweit alles hinbekommen mit einer außnahme und zwar bekomme ich es nicht hin dass mein follow oder mein lead dass game verlässt wenn einer von beiden nen crash hat oder nen chicken mein lead macht einfach weiter und mein follow wartet in act 4 obwohl mein lead bis er nachgejoint ist schon in act 5 ist

würde gerne haben dass wenn einer nen cash oder nen chicken hat beide leaven und zusammen neu anfangen

geht dass irgendwie??

Vielen Dank nochmal für deine hilfe
Hueppy is offline  
Old 07/17/2019, 06:45   #6161
 
Northern Light's Avatar
 
elite*gold: 0
Join Date: Oct 2011
Posts: 688
Received Thanks: 130
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).


In deiner char.js line 126

da musst du jeweils den anderen adden.
Northern Light is offline  
Thanks
1 User
Old 07/17/2019, 22:54   #6162
 
elite*gold: 0
Join Date: Mar 2014
Posts: 9
Received Thanks: 1
hatte ich auch schon eingestellt bis mir aufgefallen ist dass ich 1 statt 0 angegeben hatte bei quitlistmode als ich es dann auf null hatte hat es auch sofort geklappt
vielen dank nochmal für deine kompetente und superschnelle hilfe daumen hoch <3
Hueppy is offline  
Old 07/24/2019, 21:48   #6163
 
elite*gold: 0
Join Date: Apr 2010
Posts: 254
Received Thanks: 15
Error in DiabloHelper (attack.js #298) Failed to kill Diablo (Area: 108, Ping:62, Game: blaa-15)

seit neuestem habe ich so eine Meldung. Jemand eine Idee? Ist eine Sorc, die gemeinsam mit nem Pala abräumt. Bei Baal kommt die Meldung auch. Attack,js, wie kolbot etc. alles aktuell
ruspd is offline  
Old 07/31/2019, 17:28   #6164
 
elite*gold: 0
Join Date: Jul 2016
Posts: 1
Received Thanks: 0
Kann mir jemand die Attackconfig für eine Frozen Orb/Fireball Sorc sagen?
suxx0rsuxx0r is offline  
Old 08/02/2019, 12:23   #6165
 
elite*gold: 0
Join Date: Dec 2013
Posts: 88
Received Thanks: 19
Quote:
Originally Posted by ruspd View Post
Error in DiabloHelper (attack.js #298) Failed to kill Diablo (Area: 108, Ping:62, Game: blaa-15)

seit neuestem habe ich so eine Meldung. Jemand eine Idee? Ist eine Sorc, die gemeinsam mit nem Pala abräumt. Bei Baal kommt die Meldung auch. Attack,js, wie kolbot etc. alles aktuell
Laufen die komplett zusammen oder machen was unterschiedliches und der eine kommt später erst dazu. Ich kenn die Meldung oftmals daher, das der Boss schon down ist und somit nicht mehr gefunden wird.
Killerratte1 is offline  
Reply


Similar Threads Similar Threads
Server mieten für D2Bot ?
05/27/2014 - Diablo 2 - 16 Replies
Hallo *epvp, ich kenn mich mit Servern wirklich NULL aus ... Kann mir jemand sagen, ob es möglich ist einen Server / VServer .. kp wo der unterschied ist :D:D:D. ... zu mieten und da nen Diablo bot (D2Etal) drauf laufen zu lassen ? So dass er 24/7 on ist ? Falls Ja ... Was wäre am Billigsten / Wo kommt der beste kosten/nutzen faktor raus und ist es schwer das alles einzustellen ? Ich bin für Jede Antwort dankbar!
[D2BS] Pickit Konverter D2NT -> D2BS nt-bot
10/30/2011 - Diablo 2 - 8 Replies
Gibts nen Konverter für die Pickit D2NT zum D2BS nt-bot?
[Release] D2BS 1.13
08/01/2010 - Diablo 2 - 69 Replies
Endlich ist es soweit. D2BS wurde für 1.13 angepasst, gesichert und nun released. Was ist D2BS? D2BS basiert auf dem alten D2JSP Bot (wer sich noch an den erinnert) und enthält sowohl die NTBot als auch die YAMB Skripte. Der Bot ist open source sprich mit den nötigen Kenntnissen könnt ihr alles an dem Bot verändern was ihr wollt. Im Prinzip nutzt ihr alle bereits D2BS, denn D2NT basiert auf gestohlenem D2BS Source Code. Gestohlen deshalb, weil D2BS einer Lizenz unterliegt die besagt,...
Neuer D2BS released!!
04/29/2010 - Diablo 2 Programming - 1 Replies
D2BS v1.3 - Release Thread Frohe Kunde leute! Der neue D2BS ist drausen! :) D2BS v1.3 - Release Thread



All times are GMT +2. The time now is 06:01.


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