Skip to content

Kolbot Character config

drDentist edited this page Feb 3, 2014 · 108 revisions

##Basic Start##

Your Character config file can be found in *\d2bs\kolbot\libs\config*
To edit file use notepad++

Notepad

###NOTE: To set up everything correctly you need to understand two simple commands used to configure!!!###

  • first is true or false (case sensitive)
    example
    Scripts.Coldcrow = false; DISABLED
    Scripts.BoneAsh = true; ENABLED
  • second is to comment out something, to do it put // in front of that line
    example
    //Config.Recipes.push([Recipe.Gem, 560]); // perfect amethyst DISABLED
    Config.Recipes.push([Recipe.Gem, 565]); // perfect topaz ENABLED

Character config file already contains lot's of explanations, please read them carefuly.
By default script UserAddon.js is enabled. It's for manual play.

  • Allows you to see more information about items, NPCs and players by placing the cursor over them.
  • Shows item level, items in sockets, classid, code and magic item prefix/suffix numbers.
  • Shows monster's classid, HP percent and resistances.
  • Shows other players' gear.

To start botting you need to disable script UserAddon.js, to do it change line 17 to false. Now you can start boss/area scripts
Scripts.UserAddon = false;

To run other scripts change them to true, read carefully all notes and follow instructions.

##Boss/Area Leader/Leecher Script Settings## As you probaly already noticed some scripts can be done with leader and leecher or even more leechers.
This very useful option gives you many possibilities how to run your bot.
For magic finding team (MF) you can use MF Leader/Helper or scripts with leader leecher option like for example Tristram, Travincal. All leechers option you can find in leeching section. To set it up properly your leader runs for example
Scripts.Tristram = true;
Config.Tristram.PortalLeech = true; // Set to true to open a portal for leechers.

For leecher you skip to leeching section and set
Scripts.TristramLeech = true;

If u want your character to finish game when other character exits you have to set Quit.List
Example:
Config.QuitList = ["MySorc", "MyDin"]; (case sensitive)

!!! Note !!! that MySorc and MyDin are Character's names not Profile's names!

##Special Scripts## In special scripts section you can find additonal scripts with extra features like:

  • WPGetter
  • OrgTorch
  • Rusher
  • CrushTele
  • Questing
  • Gamble
  • GhostBusters
  • Enchant
  • IPHunter
  • ShopBot
  • ChestMania

Take a closer look and check what you like. Remember that inside of each script you can find additional information. All scripts are stored in d2bs\kolbot\libs\bots. Here you can read more about Gambling System

##Guest scripts##

Here is a place for scripts that you can add on your own. Who knows, maybe you can do some awesome script for us and share it!!

##Town Potion Settings## Town and Potion settings are easy to figure out, just read carefuly notes. ##Chicken## Next very important part of your settings is Chicken that prevents your character from death. Under designated percent of life your player will exit game. Be careful lowest settings can be painful for your experience (XP) in hell, because chicken it's not always 100% safe due to many circumstances like poor servers,low life of character, etc.

##Inventory##

Config.Inventory[0] = [1,1,0,0,0,0,0,0,0,0];
Config.Inventory[1] = [1,1,0,0,0,0,0,0,0,0];
Config.Inventory[2] = [1,1,0,0,0,0,0,0,0,0];
Config.Inventory[3] = [1,1,0,0,0,0,0,0,0,0];  
  • 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.

Potion types for belt columns from left to right. Rejuvenation potions must always be rightmost. Supported potions are Healing ("hp"), Mana ("mp") and Rejuvenation ("rv") example:

Config.BeltColumn[0] = "hp";
Config.BeltColumn[1] = "mp";
Config.BeltColumn[2] = "rv";
Config.BeltColumn[3] = "rv";

You can set minimum amount of potions. If we have less, bot goes to vendor to purchase more. Set rejuvenation columns to 0, because they can't be bought! eaxample:

Config.MinColumn[0] = 3;
Config.MinColumn[1] = 3;
Config.MinColumn[2] = 0;
Config.MinColumn[3] = 0;

##Pickit## All pickit files are stored in d2bs/kolbot/pickit/ There are several files to choose, you can also create and add your own or just edit these files.

  • classic.nip
  • follower.nip
  • gold.nip
  • keyorg.nip
  • kolton.nip
  • LLD.nip
  • pots.nip
  • shopbot.nip
  • test.nip

Additional information about Pickit

##Item Identification Settings## If you don't want to use Id Tome you can always try with Cain to id your items.
Config.CainID.Enable = true; // Identify items at Cain

Other option is to identify your drop at field.To activitate it just enable this script.
Config.FieldID = true; // Identify items in the field instead of going to town.

##Gambling Config## Gamble is a source of awesome items worth of tryin after lvl 88 (classic).
To enable script make it true.
Config.Gamble = true;
You have to set amount of gold when your bot starts to gamble and when it should stop.
Your start amount of gold is stash and character.
Now decide what you want to gamble and activate it.
Config.GambleItems.push(520); // Amulet ENABLED
//Config.GambleItems.push(522); // Ring DISABLED

for more items check libs/NTItemAlias.dbl
Don't set stop gold amount to low if you use MiniShopBot can fail buy.
Gambling can be used a Gambling System. More info about Gambling System

##Cubing Config## All recipes are available in d2bs\kolbot\libs\config\Templates\Cubing.txt.
To enable script make it true.
Config.Cubing =true; // Set to true to enable cubing.

For example if u want to collect perfects skulls change
//Config.Recipes.push([Recipe.Gem, 600]); // perfect skull to

Config.Recipes.push([Recipe.Gem, 600]); // perfect skull

All ingredients will be auto-picked, for classids check d2bs\kolbot\libs\NTItemAlias.dbl

##Runeword Config##

To enable script make it true.
Config.MakeRunewords = true; // Set to true to enable runeword making/rerolling

All recipes are available in d2bs\kolbot\libs\config\Templates\Runewords.txt.
!!!NOTE!!! enhanced damage and enhanced defense on runewords are broken in the core right now
Keep lines follow pickit format and any given runeword is tested vs ALL lines so you don't need to repeat them.

##General Config## Here you can set if you want to invite to party, accept invitation or ignore and play alone.
Config.PublicMode = 0; // 1 = invite, 2 = accept, 0 = disable. If Config.Leader is set, the bot will only accept invites from leader.

To blacklist hostile players so they don't get invited to party you have to enable script.
Config.ShitList = true;

Default minimum time of game is set to 60 seconds. You can change it to what you want by changing number of seconds. The max game time is set to infinity, to force your bot to leave game after desired number of seconds changed 0 to what you like. example: to finish game after 2 minutes = 120 seconds
Config.MaxGameTime = 120;
Here you can also configure your ping settings in two ways example:
Config.PingQuit = [{Ping: 600, Duration: 10}, {Ping: 1500, Duration: 0}];

First condition is that bot will quit if your ping will be higher than 600 for 10 seconds, second condition is that will quit when ping is higher then 1500.
Rest of settings are self-explanatory

##Shrine Scanner## Shrine Scanner scans for shrines while moving. Put the shrine types in order of priority (from highest to lowest). For a list of types, see d2bs\kolbot\sdk\Shrines.txt.
example:
Config.ScanShrines = [15,12,13,]; where

  • 12 skill shrine
  • 13 mana recharge shrine (end of Config.ScanShrines - lowest priority)
  • 15 experience shrine (begining of Config.ScanShrines - highest priority)

##MF Switch## When you want to swap a weapon for MF you have to set on what Boss life % to switch weapons at. Set to 0 to disable. You have also to set a MF weapon slot.

##Fastmod Config## While warden is off it's safe to use fastmod or full packet casting. Here are some technical explanations about differences between them.(by Destroyer)

  • Fastmod is a player STAT spoofing method, basically when your items give you say 100 fcr, the server sends you (the d2 client) information saying hey you have 100 fcr so do animations such that they match the 100 fcr frame, by using packets we can spoof receiving this packet from the server and trick the diablo 2 client into believing that it can cast at some rate --- when it casts at a faster rate that information is again packets transmitted from diablo 2 to blizzard's servers -- however this still relies on the game's method of casting skills with animation frames.

  • Packet casting this bypasses all animation code in diablo 2, this directly sends to the blizzard server the information that the diablo 2 client is casting a skill the blizzard server does not strictly enforce your item stats and how fast you can attack, they rely on the animation delay to keep things in sync because of this, we can "spam" the cast packet and more than likely we will get more hits than normally with animation because the blizzard server allows the attack packets +- some threshold of what your gear should allow you to

Packet casting does not alter your player stats, packet casting bypasses diablo 2 client code to cast skills by directly sending the request to blizzard d2gs servers.

Fastmod does not bypass the animation code of diablo 2 client, it spoofs the incomming packets to the diablo 2 client so that the client thinks it has better mods than it actually has based on the gear its using

Some things that are contingent upon how effective fastmod or packet casting can be include but are not limited to your base stats, internet connection speed and internet latency (measured by ping) Using packet casting, it should technically cast as fast as possible by your connection, this means that fastmod would not affect you if you are using full packet casting.

Example of settings:

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. 

##Anti-hostile Config## In this section you can defend your bot against hostile players that want to kill you or ruin your game.
You enable script by setting to true.
Config.AntiHostile = true; // Enable anti-hostile
Now you have some possibilities depending on what you want like chicken to town, exit game or try to kill hostile player when spotted.

##DClone Config## Bot goes to Palace Cellar level 3 and kills Diablo Clone.

Config.StopOnDClone = true; // Go to town and idle as soon as Diablo walks the Earth
Config.SoJWaitTime = 5; // Time in minutes to wait for another SoJ sale before leaving game. 0 = disabled
Config.KillDclone = true; // Go to Palace Cellar 3 and try to kill Diablo Clone. Pointless if you already have Annihilus.

##Monster Skip Config# Here you can set what kind of monster you would like to skip.
For example if you play classic cold sorceress, you have to skip all cold immunes.
example:
Config.SkipImmune = ["cold"];
You can also skip monsters with "Aura" and "Enchant", with exactly similiar way like for "Immune".

##Attack Config## Attack patterns depends on your build and type of character.
You can find some example settings in d2bs\kolbot\libs\config\Templates\Attacks.txt.
If you would like to attack Unique/SuperUnique monsters first when clearing you have to change this script to true.
Config.BossPriority = true;

You can decide what kind of monster you want to attack by Clear.Type.
Config.ClearType = 0xF;

  • 0xF = skip normal,
  • 0x7 = champions/bosses,
  • 0 = all

Class specific config is additoinal option for class only

  • Amazon

      Config.LightningFuryDelay = 10; // Lightning fury interval in seconds. LF is treated as timed skill.
      Config.SummonValkyrie = true; // Summon Valkyrie  
    
  • Assassin

      Config.UseTraps = true; // Set to true to use traps
      Config.Traps = [271, 271, 271, 276, 276]; // Skill IDs for traps to be cast on all mosters except act bosses.
      Config.BossTraps = [271, 271, 271, 271, 271]; // Skill IDs for traps to be cast on act bosses.
      Config.SummonShadow = "Master"; // 0 = don't summon, 1 or "Warrior" = summon Shadow Warrior, 2 or "Master" = summon Shadow Master
      Config.UseFade = true; // Set to true to use Fade prebuff.
      Config.UseBoS = false; // Set to true to use Burst of Speed prebuff. TODO: Casting in town + UseFade compatibility
      Config.UseVenom = false; // Set to true to use Venom prebuff. Set to false if you don't have the skill and have Arachnid Mesh - it will cause connection drop otherwise.
      Config.UseCloakofShadows = true; // Set to true to use Cloak of Shadows while fighting. Useful for blinding regular monsters/minions.
    
  • Barbarian

      Config.BOSwitch = 0; // Precast weapon slot - 0 = slot I, 1 = slot II
      Config.FindItem = false; // Use Find Item skill on corpses after clearing.
      Config.FindItemSwitch = 0; // Find Item weapon slot - 0 = slot I, 1 = slot II
    
  • Druid

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

      Config.Curse[0] = 0; // Boss curse. Use skill number or set to 0 to disable.
      Config.Curse[1] = 0; // Other monsters curse. Use skill number or set to 0 to disable.
    
      Config.ExplodeCorpses = 0; // Explode corpses. Use skill number or 0 to disable. 74 = Corpse Explosion, 83 = Poison Explosion
      Config.Golem = "None"; // Golem. 0 or "None" = don't summon, 1 or "Clay" = Clay Golem, 2 or "Blood" = Blood Golem, 3 or "Fire" = Fire Golem
      Config.Skeletons = 0; // Number of skeletons to raise. Set to "max" to auto detect, set to 0 to disable.
      Config.SkeletonMages = 0; // Number of skeleton mages to raise. Set to "max" to auto detect, set to 0 to disable.
      Config.Revives = 0; // Number of revives to raise. Set to "max" to auto detect, set to 0 to disable.
      Config.PoisonNovaDelay = 2; // Delay between two Poison Novas in seconds.
      Config.ActiveSummon = false; // Raise dead between each attack. If false, it will raise after clearing a spot.
      Config.ReviveUnstackable = true; // Revive monsters that can move freely after you teleport.
      Config.IronGolemChicken = 30; // Exit game if Iron Golem's life is less or equal to designated percent.
    
  • Paladin

      Config.AvoidDolls = false; // Try to attack Soul Killers from a greater distance with hammerdins.
      Config.Vigor = true; // Swith to Vigor when running
      Config.Redemption = [50, 50]; // Switch to Redemption after clearing an area if under designated life or mana. Format: [lifepercent, manapercent]
    
  • Sorceress

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

Advanced options

Script-specific config override

Every option belonging to the Config object can be overridden for each individual script.
Format:

Scripts.SomeScript = {changed_properties};

true is replaced by an object containing the properties you wish to change. The properties are listed without "Config." in front of them.
For example, disabling dodge for Mephisto script would look like this:

Scripts.Mephisto = {Dodge: false};

Multiple properties can be changed like this:

Scripts.Mephisto = {Dodge: false, TownHP: 60, MFSwitchPercent: 25};

The changes will revert back when the script ends.

Character config filename options

There's several ways to name a character config file. List in order of priority (formats higher in the list will override lower ones):

  1. Custom Config (see below)
  2. Class.Profile.js - Profile matches D2Bot# profile. This makes it possible to assign different configs to the same character. Just make 2 profiles that use the same character and 2 character config in this format.
    Examples: Paladin.MFer.js, Paladin.Rusher.js
  3. Realm.Class.Charname.js - This is used when botting on multiple realms with same character name.
    Examples: Europe.Sorceress.MyChar.js, USEast.Sorceress.MyChar.js
  4. Class.Charname.js - This is the default format.
    Examples: Sorceress.MyChar.js, Druid.Sorceress.MyOtherChar.js
  5. Profile.js - Similar to 1 but without Class prefix. This is used for generic characters where class doesn't matter (Follower, Wakka, AutoBaal etc.).
    Examples: Follower1.js, Follower2.js

Custom Config

Custom Config allows you to specify which profile(s) will use which config file.
You can do this by editing _CustomConfig.js
The format is:

"Config_Filename_Without_Extension": ["array", "of", "profiles"]

This means we can make groups of profiles run from certain character configs. For example, ShopBot profiles don't need individual profiles, so we can do something like this:

"ShopConfig": ["Shopper1", "Shopper2", "Shopper3", "Shopper4"]

This will make all 4 profiles run off the same character config - ShopConfig.js
Multiple entries are separated by commas like so:

"ShopConfig": ["Shopper1", "Shopper2", "Shopper3", "Shopper4"],
"Leecher": ["Leech 1", "Leech 2", "Leech 3"]