blizzhackers / autosmurf

Dark-f version of JeanMax/Autosmurf
19 stars 21 forks source link

My Barb wont work just says (i am not assigned a role in my config file) #35

Closed Ftwsword closed 3 years ago

Ftwsword commented 3 years ago

This is my Sorc file:

// Sorceress config file

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

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

    Scripts.AutoSmurf = true;
        Config.AutoSmurf.TeamSize = 2;
        Config.AutoSmurf.TeleportingSorc = "NarberalGamma"; // your leader sorceress charname.
        Config.AutoSmurf.BoBarb = "SEBASS"; // boBarb charname
        Config.AutoSmurf.OtherChars = ["CdE", "DeF"]; // all team charnames, excluding the leader and boBarb
        Config.AutoSmurf.AllTeamProfiles = ["NarberalGamma","SEBASS","As3","As4"]; // the whole team PROFILE names

    Config.AutoEquip = true;
    Config.LowGold = 100000;

    // Leeching section
    Config.Leader = "NarberalGamma"; // Leader's ingame character name. Leave blank to try auto-detection (works in AutoBaal, Wakka, MFHelper)
    Config.QuitList = ["SEBASS", "As3", "As4"]; // 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).
    Config.QuitListDelay = [3, 5]; // Quit the game with random delay in case of using Config.QuitList. Example: Config.QuitListDelay = [1, 10]; will exit with random delay between 1 and 10 seconds.

    // Town settings
    Config.HealHP = 90; // Go to a healer if under designated percent of life.
    Config.HealMP = 70; // 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 = false; // 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 = 20; // Drink a mana potion if mana is under designated percent.
    Config.UseRejuvMP = 1; // Drink a rejuvenation potion if mana is under designated percent.
    Config.UseMercHP = 0; // 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 = 4; // Number of healing potions to keep in inventory.
    Config.MPBuffer = 8; // Number of mana potions to keep in inventory.
    Config.RejuvBuffer = 4; // 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 = 35; // 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,1,1,1,1,1];
    Config.Inventory[1] = [1,1,1,1,1,1,1,1,1,1];
    Config.Inventory[2] = [1,1,1,1,1,1,1,1,1,1];
    Config.Inventory[3] = [1,1,1,1,1,1,1,1,1,1];

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

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

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

    // Pickit config. Default folder is kolbot/pickit.
    //-----usual-------- 
    Config.PickitFiles.push("autosmurf/charms.nip");
    Config.PickitFiles.push("autosmurf/magic.nip");
    Config.PickitFiles.push("autosmurf/rare.nip");
    Config.PickitFiles.push("autosmurf/runes.nip");
    Config.PickitFiles.push("autosmurf/runeword.nip");
    Config.PickitFiles.push("autosmurf/set.nip");
    Config.PickitFiles.push("autosmurf/unique.nip");    
    Config.PickitFiles.push("autosmurf/sell.nip");
    Config.PickitFiles.push("autosmurf/merc.nip");
    //-----special--------
    Config.PickitFiles.push("autosmurf/sorceress.xpac.nip");
    //Config.PickitFiles.push("autosmurf/paladin.xpac.nip");
    //Config.PickitFiles.push("autosmurf/barbarian.xpac.nip");
    Config.PickitFiles.push("autosmurf/white1.nip");
    //Config.PickitFiles.push("autosmurf/white2.nip"); // advance white1.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 = true; // 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 = 80; // Durability percent of any equipped item that will trigger repairs.

    // Gambling config
    Config.Gamble = true;
    Config.GambleGoldStart = 3000000;
    Config.GambleGoldStop = 500000;

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

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

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

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

    //Config.Recipes.push([Recipe.Gem, 578]); // ruby
    //Config.Recipes.push([Recipe.Gem, 579]); // flawless ruby
    //Config.Recipes.push([Recipe.Gem, 583]); // diamond
    //Config.Recipes.push([Recipe.Gem, 584]); // flawless diamond

    //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, 424]); // Craft Blood Armet
    //Config.Recipes.push([Recipe.HitPower.Gloves, 452]); // Craft Hit Power Vambraces

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

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

    //Config.Recipes.push([Recipe.Reroll.Rare, 421]); // 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, "crypticaxe", Roll.Eth]); // Socket ethereal Cryptic Axe
    Config.Recipes.push([Recipe.Socket.Weapon, "greatpoleaxe", Roll.Eth]); // Socket ethereal GP
    Config.Recipes.push([Recipe.Socket.Weapon, "giantthresher", Roll.Eth]); // Socket ethereal GT
    Config.Recipes.push([Recipe.Socket.Weapon, "colossusvoulge", Roll.Eth]); // Socket ethereal CS
    Config.Recipes.push([Recipe.Socket.Armor, "duskShroud", Roll.Eth]); 
    Config.Recipes.push([Recipe.Socket.Armor, "greathauberk", Roll.Eth]); 
    Config.Recipes.push([Recipe.Socket.Armor, "archonPlate", Roll.Eth]); 

    //Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, 335, Roll.NonEth]); // Upgrade Bloodfist to Exceptional
    //Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, 337, Roll.NonEth]); // Upgrade Magefist to Exceptional
    //Config.Recipes.push([Recipe.Unique.Armor.ToElite, 381, Roll.NonEth]); // Upgrade Bloodfist or Grave Palm to Elite
    //Config.Recipes.push([Recipe.Unique.Armor.ToElite, 383, Roll.NonEth]); // Upgrade Magefist or Lavagout to Elite
    //Config.Recipes.push([Recipe.Unique.Armor.ToElite, 389, Roll.NonEth]); // Upgrade Gore Rider to Elite

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

    //insight
    Config.Runewords.push([Runeword.Insight, "poleaxe"]);
    Config.Runewords.push([Runeword.Insight, "halberd"]);
    Config.Runewords.push([Runeword.Insight, "bill"]);
    Config.Runewords.push([Runeword.Insight, "battlescythe"]);
    Config.Runewords.push([Runeword.Insight, "partizan"]);
    Config.Runewords.push([Runeword.Insight, "becdecorbin"]);
    Config.Runewords.push([Runeword.Insight, "thresher"]);
    Config.Runewords.push([Runeword.Insight, "crypticaxe"]);
    Config.Runewords.push([Runeword.Insight, "greatpoleaxe"]);
    Config.Runewords.push([Runeword.Insight, "colossusvoulge"]);

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

    //smoke
    Config.Runewords.push([Runeword.Smoke, "lightplate"]);
    Config.Runewords.push([Runeword.Smoke, "ghostarmor"]);
    Config.Runewords.push([Runeword.Smoke, "serpentskinarmor"]);
    Config.Runewords.push([Runeword.Smoke, "demonhidearmor"]);
    Config.Runewords.push([Runeword.Smoke, "cuirass"]);
    Config.Runewords.push([Runeword.Smoke, "mageplate"]);
    Config.Runewords.push([Runeword.Smoke, "duskShroud"]);
    Config.Runewords.push([Runeword.Smoke, "wyrmhide"]);
    Config.Runewords.push([Runeword.Smoke, "scarabHusk"]);
    Config.Runewords.push([Runeword.Smoke, "wireFleece"]);
    Config.Runewords.push([Runeword.Smoke, "greatHauberk"]);
    Config.Runewords.push([Runeword.Smoke, "boneweave"]);
    Config.Runewords.push([Runeword.Smoke, "balrogSkin"]);
    Config.Runewords.push([Runeword.Smoke, "archonPlate"]);

    Config.KeepRunewords.push("[type] == armor # [FireResist] == 50 && [LightResist] == 50 "); 

    //AncientsPledge
    Config.Runewords.push([Runeword.AncientsPledge, "kiteshield"]);
    Config.Runewords.push([Runeword.AncientsPledge, "largeshield"]);
    Config.Runewords.push([Runeword.AncientsPledge, "boneshield"]);
    Config.Runewords.push([Runeword.AncientsPledge, "targe"]);
    Config.Runewords.push([Runeword.AncientsPledge, "rondache"]);
    Config.Runewords.push([Runeword.AncientsPledge, "aerinshield"]);
    Config.Runewords.push([Runeword.AncientsPledge, "crownshield"]);
    Config.Runewords.push([Runeword.AncientsPledge, "royalshield"]);

    Config.KeepRunewords.push("[type] == shield # [FireResist] >= 40 && [LightResist] >= 40 ");

    //Lore
    Config.Runewords.push([Runeword.Lore, "cap"]);
    Config.Runewords.push([Runeword.Lore, "skullcap"]);
    Config.Runewords.push([Runeword.Lore, "crown"]);
    Config.Runewords.push([Runeword.Lore, "mask"]);
    Config.Runewords.push([Runeword.Lore, "bonehelm"]);
    Config.Runewords.push([Runeword.Lore, "warhat"]);
    Config.Runewords.push([Runeword.Lore, "grimhelm"]);
    Config.Runewords.push([Runeword.Lore, "GrandCrown"]);
    Config.Runewords.push([Runeword.Lore, "Demonhead"]);
    Config.Runewords.push([Runeword.Lore, "BoneVisage"]);

    Config.KeepRunewords.push("[type] == helm # [LightResist] >= 25");

    //Spirit Sword
    Config.Runewords.push([Runeword.Spirit, "broadsword"]);
    Config.Runewords.push([Runeword.Spirit, "crystalSword"]);

    Config.KeepRunewords.push("[type] == sword # [itemallskills] == 2");

    //Spirit Shield
    Config.Runewords.push([Runeword.Spirit, "targe"]);
    Config.Runewords.push([Runeword.Spirit, "rondache"]);
    Config.Runewords.push([Runeword.Spirit, "heraldicshield"]);
    Config.Runewords.push([Runeword.Spirit, "aerinshield"]);
    Config.Runewords.push([Runeword.Spirit, "crownshield"]);
    Config.Runewords.push([Runeword.Spirit, "akarantarge"]);
    Config.Runewords.push([Runeword.Spirit, "akaranrondache"]);
    Config.Runewords.push([Runeword.Spirit, "protectorshield"]);
    Config.Runewords.push([Runeword.Spirit, "gildedshield"]);
    Config.Runewords.push([Runeword.Spirit, "royalshield"]);
    Config.Runewords.push([Runeword.Spirit, "Monarch"]);
    Config.Runewords.push([Runeword.Spirit, "SacredTarge"]);
    Config.Runewords.push([Runeword.Spirit, "sacredrondache"]);
    Config.Runewords.push([Runeword.Spirit, "kurastshield"]);
    Config.Runewords.push([Runeword.Spirit, "zakarumshield"]);
    Config.Runewords.push([Runeword.Spirit, "vortexshield"]);

    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 = true; // enable the LocalChat system
    Config.LocalChat.Toggle = false; // optional, set to KEY value to toggle through modes 0, 1, 2
    Config.LocalChat.Mode = 2; // 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.
    // If set on true, it simply parties.
    Config.PublicMode = 1; // 1 = invite and accept, 2 = accept only, 3 = invite only, 0 = disable
    // Party message settings. Each setting represents an array of messages that will be randomly chosen.
    // $name, $level, $class and $killer are replaced by the player's name, level, class and killer
    Config.Greetings = []; // Example: ["Hello, $name (level $level $class)"]
    Config.DeathMessages = []; // Example: ["Watch out for that $killer, $name!"]
    Config.Congratulations = []; // Example: ["Congrats on level $level, $name!"]
    Config.ShitList = false; // Blacklist hostile players so they don't get invited to party.
    Config.UnpartyShitlisted = false; // Leave party if someone invited a blacklisted player.

    // General config
    Config.AutoMap = true; // Set to true to open automap at the beginning of the game.
    Config.LastMessage = ""; // Message or array of messages to say at the end of the run. Use $nextgame to say next game - "Next game: $nextgame" (works with lead entry point)
    Config.MinGameTime = 180; // Min game time in seconds. Bot will TP to town and stay in game if the run is completed before.
    Config.MaxGameTime = 2400; // 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 = false; // Scan items in NPC shops.
    Config.PacketShopping = true; // Use packets to shop. Improves shopping speed.
    Config.TownCheck = true; // Go to town if out of potions
    Config.LogExperience = true; // Print experience statistics in the manager.
    Config.PingQuit = [{Ping: 0, Duration: 0}]; // Quit if ping is over the given value for over the given time period in seconds.
    Config.Silence = false; // Make the bot not say a word. Do not use in combination with LocalChat

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

    // MF Switch
    Config.MFSwitchPercent = 0; // Boss life % to switch to non-primary 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 = 255; // 0 - disable, 1 to 255 - set value of faster cast rate
    Config.FHR = 255; // 0 - disable, 1 to 255 - set value of faster hit recovery
    Config.FBR = 255; // 0 - disable, 1 to 255 - set value of faster block recovery
    Config.IAS = 255; // 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 = 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 = false; // 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 ...\kolbot\sdk\skills.txt
     */
    Config.AttackSkill[0] = -1; // Preattack skill.
    Config.AttackSkill[1] = 0; // Primary skill to bosses.
    Config.AttackSkill[2] = 0; // Primary untimed skill to bosses. Keep at -1 if Config.AttackSkill[1] is untimed skill.
    Config.AttackSkill[3] = 0; // Primary skill to others.
    Config.AttackSkill[4] = 0; // 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.NoTele = false; // Restrict char from teleporting. Useful for low level/low mana chars
    Config.Dodge = true; // Move away from monsters that get too close. Don't use with short-ranged attacks like Poison Dagger.
    Config.DodgeRange = 10; // Distance to keep from monsters.
    Config.DodgeHP = 100; // Dodge only if HP percent is less than or equal to Config.DodgeHP. 100 = always dodge.
    Config.BossPriority = true; // Set to true to attack Unique/SuperUnique monsters first when clearing
    Config.ClearType = 0; // 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 = 100; // Cast static until the target is at designated life percent. 100 = disabled.
    Config.StaticList = ["Griswold", /*"Gargoyle Trap", */"Andariel", "Duriel", "Mephisto", "Izual", "Diablo"]; // 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 = true;            //  This will enable or disable the AutoBuild system

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

    Config.AutoBuild.Verbose = false;           //  Allows script to print messages in console
    Config.AutoBuild.DebugMode = false;         //  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
}

This is my Barbs file:

// Barbarian config file

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

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

    Scripts.AutoSmurf = true;
        Config.AutoSmurf.TeamSize = 2;
        Config.AutoSmurf.TeleportingSorc = "NarberalGamma"; // your leader sorceress charname.
        Config.AutoSmurf.BoBarb = "SEBASS"; // boBarb charname
        Config.AutoSmurf.OtherChars = ["CdE", "DeF"]; // all team charnames, excluding the leader and boBarb
        Config.AutoSmurf.AllTeamProfiles = ["NarberalGamma","SEBASS","As3","As4"]; // the whole team PROFILE names

    Config.AutoEquip = true;
    Config.LowGold = 100000;

    // Leeching section
    Config.Leader = "NarberalGamma"; // Leader's ingame character name. Leave blank to try auto-detection (works in AutoBaal, Wakka, MFHelper)
    Config.QuitList = ["NarberalGamma"]; // 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).
    Config.QuitListDelay = [3, 5]; // Quit the game with random delay in case of using Config.QuitList. Example: Config.QuitListDelay = [1, 10]; will exit with random delay between 1 and 10 seconds.

    // Town settings
    Config.HealHP = 80; // Go to a healer if under designated percent of life.
    Config.HealMP = 70; // 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 = false; // Instant merc revive during battle.

    // Potion settings
    Config.UseHP = 80; // Drink a healing potion if life is under designated percent.
    Config.UseRejuvHP = 65; // Drink a rejuvenation potion if life is under designated percent.
    Config.UseMP = 20; // Drink a mana potion if mana is under designated percent.
    Config.UseRejuvMP = 1; // Drink a rejuvenation potion if mana is under designated percent.
    Config.UseMercHP = 40; // 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 = 4; // Number of healing potions to keep in inventory.
    Config.MPBuffer = 8; // Number of mana potions to keep in inventory.
    Config.RejuvBuffer = 4; // 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 = 35; // 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,1,1,1,1,1];
    Config.Inventory[1] = [1,1,1,1,1,1,1,1,1,1];
    Config.Inventory[2] = [1,1,1,1,1,1,1,1,1,1];
    Config.Inventory[3] = [1,1,1,1,1,1,1,1,1,1];

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

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

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

    // Pickit config. Default folder is kolbot/pickit.
    //-----usual-------- 
    Config.PickitFiles.push("autosmurf/charms.nip");
    Config.PickitFiles.push("autosmurf/magic.nip");
    Config.PickitFiles.push("autosmurf/rare.nip");
    Config.PickitFiles.push("autosmurf/runes.nip");
    Config.PickitFiles.push("autosmurf/runeword.nip");
    Config.PickitFiles.push("autosmurf/set.nip");
    Config.PickitFiles.push("autosmurf/unique.nip");    
    Config.PickitFiles.push("autosmurf/sell.nip");
    Config.PickitFiles.push("autosmurf/merc.nip");
    //-----special--------
    //Config.PickitFiles.push("autosmurf/sorceress.xpac.nip");
    //Config.PickitFiles.push("autosmurf/paladin.xpac.nip");
    Config.PickitFiles.push("autosmurf/barbarian.xpac.nip");
    Config.PickitFiles.push("autosmurf/white1.nip");
    //Config.PickitFiles.push("autosmurf/white2.nip"); // advance white1.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 = true; // 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 = 80; // Durability percent of any equipped item that will trigger repairs.

    // Gambling config
    Config.Gamble = true;
    Config.GambleGoldStart = 3000000;
    Config.GambleGoldStop = 500000;

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

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

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

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

    //Config.Recipes.push([Recipe.Gem, 578]); // ruby
    //Config.Recipes.push([Recipe.Gem, 579]); // flawless ruby
    //Config.Recipes.push([Recipe.Gem, 583]); // diamond
    //Config.Recipes.push([Recipe.Gem, 584]); // flawless diamond

    //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, 424]); // Craft Blood Armet
    //Config.Recipes.push([Recipe.HitPower.Gloves, 452]); // Craft Hit Power Vambraces

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

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

    //Config.Recipes.push([Recipe.Reroll.Rare, 421]); // 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, "crypticaxe", Roll.Eth]); // Socket ethereal Cryptic Axe
    Config.Recipes.push([Recipe.Socket.Weapon, "greatpoleaxe", Roll.Eth]); // Socket ethereal GP
    Config.Recipes.push([Recipe.Socket.Weapon, "giantthresher", Roll.Eth]); // Socket ethereal GT
    Config.Recipes.push([Recipe.Socket.Weapon, "colossusvoulge", Roll.Eth]); // Socket ethereal CS
    Config.Recipes.push([Recipe.Socket.Armor, "duskShroud", Roll.Eth]); 
    Config.Recipes.push([Recipe.Socket.Armor, "greathauberk", Roll.Eth]); 
    Config.Recipes.push([Recipe.Socket.Armor, "archonPlate", Roll.Eth]); 

    //Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, 335, Roll.NonEth]); // Upgrade Bloodfist to Exceptional
    //Config.Recipes.push([Recipe.Unique.Armor.ToExceptional, 337, Roll.NonEth]); // Upgrade Magefist to Exceptional
    //Config.Recipes.push([Recipe.Unique.Armor.ToElite, 381, Roll.NonEth]); // Upgrade Bloodfist or Grave Palm to Elite
    //Config.Recipes.push([Recipe.Unique.Armor.ToElite, 383, Roll.NonEth]); // Upgrade Magefist or Lavagout to Elite
    //Config.Recipes.push([Recipe.Unique.Armor.ToElite, 389, Roll.NonEth]); // Upgrade Gore Rider to Elite

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

    //insight
    Config.Runewords.push([Runeword.Insight, "poleaxe"]);
    Config.Runewords.push([Runeword.Insight, "halberd"]);
    Config.Runewords.push([Runeword.Insight, "bill"]);
    Config.Runewords.push([Runeword.Insight, "battlescythe"]);
    Config.Runewords.push([Runeword.Insight, "partizan"]);
    Config.Runewords.push([Runeword.Insight, "becdecorbin"]);
    Config.Runewords.push([Runeword.Insight, "thresher"]);
    Config.Runewords.push([Runeword.Insight, "crypticaxe"]);
    Config.Runewords.push([Runeword.Insight, "greatpoleaxe"]);
    Config.Runewords.push([Runeword.Insight, "colossusvoulge"]);

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

    //smoke
    Config.Runewords.push([Runeword.Smoke, "lightplate"]);
    Config.Runewords.push([Runeword.Smoke, "ghostarmor"]);
    Config.Runewords.push([Runeword.Smoke, "serpentskinarmor"]);
    Config.Runewords.push([Runeword.Smoke, "demonhidearmor"]);
    Config.Runewords.push([Runeword.Smoke, "cuirass"]);
    Config.Runewords.push([Runeword.Smoke, "mageplate"]);
    Config.Runewords.push([Runeword.Smoke, "duskShroud"]);
    Config.Runewords.push([Runeword.Smoke, "wyrmhide"]);
    Config.Runewords.push([Runeword.Smoke, "scarabHusk"]);
    Config.Runewords.push([Runeword.Smoke, "wireFleece"]);
    Config.Runewords.push([Runeword.Smoke, "greatHauberk"]);
    Config.Runewords.push([Runeword.Smoke, "boneweave"]);
    Config.Runewords.push([Runeword.Smoke, "balrogSkin"]);
    Config.Runewords.push([Runeword.Smoke, "archonPlate"]);

    Config.KeepRunewords.push("[type] == armor # [FireResist] == 50 && [LightResist] == 50 "); 

    //AncientsPledge
    Config.Runewords.push([Runeword.AncientsPledge, "kiteshield"]);
    Config.Runewords.push([Runeword.AncientsPledge, "largeshield"]);
    Config.Runewords.push([Runeword.AncientsPledge, "boneshield"]);
    Config.Runewords.push([Runeword.AncientsPledge, "targe"]);
    Config.Runewords.push([Runeword.AncientsPledge, "rondache"]);
    Config.Runewords.push([Runeword.AncientsPledge, "aerinshield"]);
    Config.Runewords.push([Runeword.AncientsPledge, "crownshield"]);
    Config.Runewords.push([Runeword.AncientsPledge, "royalshield"]);

    Config.KeepRunewords.push("[type] == shield # [FireResist] >= 40 && [LightResist] >= 40 ");

    //Lore
    Config.Runewords.push([Runeword.Lore, "cap"]);
    Config.Runewords.push([Runeword.Lore, "skullcap"]);
    Config.Runewords.push([Runeword.Lore, "crown"]);
    Config.Runewords.push([Runeword.Lore, "mask"]);
    Config.Runewords.push([Runeword.Lore, "bonehelm"]);
    Config.Runewords.push([Runeword.Lore, "warhat"]);
    Config.Runewords.push([Runeword.Lore, "grimhelm"]);
    Config.Runewords.push([Runeword.Lore, "GrandCrown"]);
    Config.Runewords.push([Runeword.Lore, "Demonhead"]);
    Config.Runewords.push([Runeword.Lore, "BoneVisage"]);

    Config.KeepRunewords.push("[type] == helm # [LightResist] >= 25");

    //Spirit Sword
    Config.Runewords.push([Runeword.Spirit, "broadsword"]);
    Config.Runewords.push([Runeword.Spirit, "crystalSword"]);

    Config.KeepRunewords.push("[type] == sword # [itemallskills] == 2");

    //Spirit Shield
    Config.Runewords.push([Runeword.Spirit, "targe"]);
    Config.Runewords.push([Runeword.Spirit, "rondache"]);
    Config.Runewords.push([Runeword.Spirit, "heraldicshield"]);
    Config.Runewords.push([Runeword.Spirit, "aerinshield"]);
    Config.Runewords.push([Runeword.Spirit, "crownshield"]);
    Config.Runewords.push([Runeword.Spirit, "akarantarge"]);
    Config.Runewords.push([Runeword.Spirit, "akaranrondache"]);
    Config.Runewords.push([Runeword.Spirit, "protectorshield"]);
    Config.Runewords.push([Runeword.Spirit, "gildedshield"]);
    Config.Runewords.push([Runeword.Spirit, "royalshield"]);
    Config.Runewords.push([Runeword.Spirit, "Monarch"]);
    Config.Runewords.push([Runeword.Spirit, "SacredTarge"]);
    Config.Runewords.push([Runeword.Spirit, "sacredrondache"]);
    Config.Runewords.push([Runeword.Spirit, "kurastshield"]);
    Config.Runewords.push([Runeword.Spirit, "zakarumshield"]);
    Config.Runewords.push([Runeword.Spirit, "vortexshield"]);

    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 = true; // enable the LocalChat system
    Config.LocalChat.Toggle = false; // optional, set to KEY value to toggle through modes 0, 1, 2
    Config.LocalChat.Mode = 2; // 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.
    // If set on true, it simply parties.
    Config.PublicMode = 2; // 1 = invite and accept, 2 = accept only, 3 = invite only, 0 = disable
    // Party message settings. Each setting represents an array of messages that will be randomly chosen.
    // $name, $level, $class and $killer are replaced by the player's name, level, class and killer
    Config.Greetings = []; // Example: ["Hello, $name (level $level $class)"]
    Config.DeathMessages = []; // Example: ["Watch out for that $killer, $name!"]
    Config.Congratulations = []; // Example: ["Congrats on level $level, $name!"]
    Config.ShitList = false; // Blacklist hostile players so they don't get invited to party.
    Config.UnpartyShitlisted = false; // Leave party if someone invited a blacklisted player.

    // General config
    Config.AutoMap = true; // Set to true to open automap at the beginning of the game.
    Config.LastMessage = ""; // Message or array of messages to say at the end of the run. Use $nextgame to say next game - "Next game: $nextgame" (works with lead entry point)
    Config.MinGameTime = 180; // Min game time in seconds. Bot will TP to town and stay in game if the run is completed before.
    Config.MaxGameTime = 2400; // 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 = false; // Scan items in NPC shops.
    Config.PacketShopping = true; // Use packets to shop. Improves shopping speed.
    Config.TownCheck = true; // 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.
    Config.Silence = false; // Make the bot not say a word. Do not use in combination with LocalChat

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

    // MF Switch
    Config.MFSwitchPercent = 0; // Boss life % to switch to non-primary 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 = 255; // 0 - disable, 1 to 255 - set value of faster cast rate
    Config.FHR = 255; // 0 - disable, 1 to 255 - set value of faster hit recovery
    Config.FBR = 255; // 0 - disable, 1 to 255 - set value of faster block recovery
    Config.IAS = 255; // 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 = 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 = false; // 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 ...\kolbot\sdk\skills.txt
     */
    Config.AttackSkill[0] = -1; // Preattack skill.
    Config.AttackSkill[1] = 0; // Primary skill for bosses.
    Config.AttackSkill[2] = -1; // Backup/Immune skill for bosses.
    Config.AttackSkill[3] = 0; // Primary skill for others.
    Config.AttackSkill[4] = -1; // Backup/Immune skill for others.

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

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

    Config.BossPriority = true; // Set to true to attack Unique/SuperUnique monsters first when clearing
    Config.ClearType = 0; // 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.FindItem = false; // Use Find Item skill on corpses after clearing.
    Config.FindItemSwitch = false; // Switch to non-primary slot when using Find Item skills

    /* 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 = true;            //  This will enable or disable the AutoBuild system

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

    Config.AutoBuild.Verbose = false;           //  Allows script to print messages in console
    Config.AutoBuild.DebugMode = false;         //  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
}
mf022 commented 3 years ago

you should complete the config according https://github.com/blizzhackers/autosmurf#leader and https://github.com/blizzhackers/autosmurf#followers and your running autosmurf profiles.