Giter VIP home page Giter VIP logo

autosmurf's People

Contributors

evanshsu avatar mf022 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autosmurf's Issues

Countess on norm difficulty

I would like the bot to do some countess runs on normal difficulty cause of rune drops and great exp the way down. This can be also be a combination after Tristruns to get more exp until the tristLvl is reached.
Can you add it please? Thanks

Nightmare, 4 of them are mf, one stay in a5

So as tittle say, 2 sos, barb pal, making a mf. (60/70lvl) necro stay in a5 and do nothing... All quest's are the same. From a1 norm to a5 nightmare, all be good. Waiting for boo and more. But now 4 of them makes mf run (Andy mef.....) but nec only stay in a5... What is wrong?

Switches to MF mode, does nothing

The bot worked great until A5 nightmare mode, where it switched to mf mode, does nothing and sits in town for 2 minutes before closing the game

Full Crashing every ~2nd or 3rd game

For whatever reason, I'm having some issues with the autosmurf leader profile. It works great on initial launch, but for whatever reasons, it seems to crash the second or third time it gets to the waiting queue to get into a game.

There's no error message or anything, it goes from

4/07/20 22:01:08] D2BS 11340: Creating Game: memedream51
[04/07/20 22:01:10] D2BS 11340: D2BS Shutdown complete.

It always waits just fine after I start it, but will always crash on game creation after leaving a game and making a new one 1-2 times. It completely stops the profile and never restarts it, so I keep having to manually restart it. The followers are not affected. I think I've narrowed it down to something in the d2botlead, because even when I ran the profile on a different account with a different char config, it stil had that crash every 2 or 3 games.

FWIW, I have seen some errors pop up:

[04/07/20 22:18:35] D2BS 14084: [Strict Warning] Code(162) File(c:\users\xxxx\desktop\kolbot\d2bs\kolbot\libs\common\storage.js:125) reference to undefined property item.sizex
Line: (null)
[ÿc9Strict Warningÿc0 (162)] File(kolbot\libs\common\storage.js:125) reference to undefined property item.sizex

and

control not found 6 433 433 location null

But I don't think that is causing the intermittent crashes.

Thinking it might have something to do with the randomizer of ms wait times, but not sure.

Unexpected character error on line 5620 in AutoSmurf.js

09:30:13 (Bot-001) Error in AutoSmurf (autosmurf.js #5620) JSON.parse: unexpected character (Area: 40, Ping:78, Game: XXXXXX)

I keep getting this error every now and then. From watching the bot it appears to do this when it goes to buy/sell from an NPC.

Any suggestions? I am using the most recent files provided.

Sharing gold with leader

How would I configure autosmurf to share gold with the leader in the case they run out of gold and can't afford to buy pots or teleport and just repeatedly die?

Bots stall then make new game

All 4 boys in at nm continously join game and stall out for 2 mins or so and exis game and make new one to repeat the process again was working fine getting them leveled up to 63 so far until this

Script error 222 bobarb undefined

Hi!

Can't wait to get this working, Brand new SVN version of Kolbot copied all the files over from autosmurf, configs setup as the guide/darc YouTube also.

They all join the game as expected but it stops with the error:

[Strict Warning (162)] File(kolbot\default.dbj:166) reference to undefined property Config.BoBarbHelper
[Error(222)] File(kolbotdefault.dbj:166) TypeError:Config.BoBarbHelper is undefined

Looking through the files all seems to be there and looking at the current version?

Thanks

Smurfs sometimes not attacking

Hi,
I just set up a team of 5 (Sorc, Barb, 3 x Pala).
When watching the smurfs play, I see them not attacking a lot of times. They basically just stand close to monsters doing nothing.
Usually, they're on full mana, there's noting in the way or similar.
They mostly wait until the mercs killed the mobs. This is not always the case tho.
I'm using the standard config.
Any idea what setting could have an influence on this?

Thanks in advance

Barbarian Auto Equip Stuck in Loop

When my barbarian finds a shield (while he has a 2-Handed weapon equipped) will then equip the shield. Which un-equips the 2-Hander then it equips the 2-Hander, un-equipping the shield and continues doing this in a loop. Any suggestions? I am using all the most recent files.

Bo barb issue

  1. Can i run this bot if i dont have a bo barb in my team and just the sorc?
  2. Why a bo barb in the team?

stuck

[08:35:59] Error in AutoSmurf (pather.js line 562): moveToPreset: Couldn't find preset unit - id 738
Stack: default.dbj line 174, Loader.init lines:15-18, Loader.loadScripts line:124, AutoSmurf line:5833, Autosmurf line 2510, Pather.moveToPreset

3 toons, all level 7.

all have the same wps up until dark wood, and are on the second quest for blood raven

they start by porting to cold plains, walk up until the burial grounds (dont even kill blood raven) and make a tp, then leader goes to dark forest, barb and second sorc stay at the top in cold plains/burial grounds.

How to use autosmurf for 8 bots

Hi guys,

i have tried using 4 bots in 1 computer using autosmurf and successfully go to hell difficulty.
Im now thinking how to configure 8 bots running together in 1 game...
i have 2 computer, 2 different ips. Can anyone guide me through?

first computer, 4 bots with the leader as sorceress.
2nd computer, 4 bots all followers. But how do i make them join? is it through d2botchannel? haven tried it

Some questions

Hi, how can i make them to do some mf runs before going for the quest? for example the bot is going to kill diablo but before i want them to go andy, countess, tunnels for example, the countess runs would make it easier because the farm of runes for the low level runewords

Team stands at town wp

My team of 4 joins game, parties up. Leader goes to town wp, looks like it is looking for a wp, and the followers do the same. Than just sit at the wp, and nothing.

I'm sure this is a simple fix, but I've went over everything several times.

Autosmurf Act 2 Tomb

Hi all,

I have a problem when all char make tombrun (level 22-23)
My sorc alway chicken in tombrun.
Sometime the others char are far from her .

They do tomb run for 3 hours and no avance ...

Anyone have solution for this problem ?
I see in Attack.js but don't know waht i need to change

Thanks for your time

Line:17 error (Config.AutoSmurf)

I don't understand what I'm doing wrong..Does it with all 3 profiles/chars and can't get them to party up to start walking and fighting

Scripts.AutoSmurf = true;
	Config.AutoSmurf.TeamSize = 3;
	Config.AutoSmurf.TeleportingSorc = "GeMiNiGrL"; // your leader sorceress charname.
	Config.AutoSmurf.BoBarb = "GeMiNiBRuTe"; // boBarb charname
	Config.AutoSmurf.OtherChars = ["GeMiNiBRuTe", "GeMiNiNoaH"]; // all team charnames, excluding the leader and boBarb
	Config.AutoSmurf.AllTeamProfiles = ["GrL","BRuTe","NoaH"]; // the whole team PROFILE names

Using with Classic D2

So I enjoy playing classic D2 more then LoD and been many many years since I've using bots for leveling, back when uber skeletons were op for lvling :D

I got everything set up but the bots keep progressing farther while under leveled and under geared. Is it possible to edit the level requirements of progressing and instead stay in normal / nightmare cs for longer?

connection interrupted when doing cave or blood raven quest

Hey guys,

I have set everything accoring to your guide and it worked until Den Quest after that everytime I get connection interrupted first on Cave (so I lower the cavelvl so it goes to Blood Raven) and then on Blood Raven. No error on console or log:

[12/10/19 23:35:45] D2BS 8964: BloodRaven
[12/10/19 23:35:48] D2BS 8964: Script default.dbj ended
[12/10/19 23:35:48] D2BS 8964: Script tools\autobuildthread.js ended
[12/10/19 23:35:48] D2BS 8964: Script tools\party.js ended
[12/10/19 23:35:48] D2BS 8964: Script tools\toolsthread.js ended
[12/10/19 23:35:48] D2BS 8964: Script tools\townchicken.js ended

can anyone point what could be the issue here

Thanks for the support

Team never moves past normal difficulty

My whole team is around level 70 (all at least 66) and still only doing normal difficulty diablo and baal runs, and will not switch to nightmare for leveling. I have not changed the level req's in autosmurf.js, they are still the same as below. I have tried searching through the code to find where the "me.diff" variable is set, but I can't figure out how it is supposed to increase on it's own. Is there anyway to force them to run nightmare games? It takes them ages to level up in normal mode and it's way too easy for them.

// -------- Normal Difficulty -------------
var caveLvl = 7,
	tristLvl = 16,
	tombsLvl = 26,
	mephLvl = 26,
	diaLvl = 30,
	baalLvl = 48,
// -------- Nightmare Difficulty ----------
	mephLvlnm = 48,
	diaLvlnm = 54,
	mfLvlnm = 66,
	baalLvlnm = 77,
// ---------- Hell Difficulty --------------
	mephLvlhell = 77,
	diaLvlhell = 79,
	mfLvlhell = 86,

Nightmare MF doesn't end when bots are 77ups

Is there any other condition that kill the Nightmare Baal?
mfLvlnm = 66,
baalLvlnm = 77,
I don't modify autosmurf.js.
Bots start MFnm over lv77.
Now my bots are 78, but they don't kill nm baal.

Follower left behind

When I'm in act 2, say my leader and another character got the dry hills way point, but one of the smurfs had not quite gotten there before the team left. When it joins the next game the characters are stuck because the follower goes the exit of act 2, while the other ones take the waypoint of dry hills an they "wait" for each other until they time out.

How do I make them all go to the lowest part each game? that way my characters aren't getting separated and stuck?

My team of 4 keeps on making game at nightmare and stalls for 3 mins

hi guys, i need some help.

My bot of 4 autosmurf, is currently at around lvl 60s. Now they are at a5 nightmare, and all they do is make a game, and stall for around 3 minutes, then they go to lobby, and this whole thing restart again.

So what i did is, i added script for them to run diablo and baal every game. So now they are running diablo and baal... now they are already at level 75, 76, 75,74.

My question is, when will they start killing baal and move on to hell? can anyone guide me? im very new to this.

Sorc stops at Waypoint and doesn't move

I've set up the files for a team of 3
Sorc
Barb
Paladin

They join the game and team up just fine but the sorc just stops forever after checking the waypoint.

Edit:

Both Profile Names and Character names are case-sensitive and i made some very silly mistakes in the config files, which led to some weird behavior. If anyone encounters an issue like this, check the names you real good. lol

so what happened ,anyone can help me plz?

I played with smurf by 3 team mem was ok , but add to 5 member which will be wrong; error information can be seen as follow :
QQ截图20200706130820
so could some one help me solving this thanks

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

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
}

Stalling 180 Leaving no Error

At nm mf routine the start of it all chars level 55-58 Auto Smuf Gets set to False by another program it says and its sits and stalls for 180 secs then new games and repeat if i set to true again one run then this happens

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.