Δ
Diablo II - 'Voidstone' - Patch 4.0.(Moved to 5.x version). Mar 12 2021 Released Mar 10, 2020 Hack 'n' Slash Hi all, So Diablo II Voidstone is at the end of its Alpha Phase, there is still some things to do, but it is getting there, really looking forward to. Diablo 2 Working Bot 2019 1. Diablo II is a RPG video game designed and distributed by Blizzard Entertainment for the PC. In the game, you create a player who travels through various towns and dungeons to combat the forces of evil. There are glitches in the game that allow you to create duplicates ('dupes') of items in both single-player.
Δ Diablo II mod: CMod (aka Lord of the Rings - because it's fun to collect rare rings) Download CMod.zip (77kb) (this is the one and only, and was built for patch 1.14d in mind). Download ZIP Launching GitHub Desktop. Update to 1.14d compatible binaries. (diablo 2 botting system) which contain 3 distinct components: D2BS. Diablo 2 Downloads. Here you will find useful downloads for Diablo 2 - Trainers, hero editor, diablo 2 item files, PlugY, Holy Grail folders and others as the time goes. You will not find any bots or hacks or dupes here. I respect the game hack free and I think the game would have been insanely good without the dupes, hacks or bots.
Diablo II mod: CMod (aka Lord of the Rings -- because it's fun to collect rare rings)Patch 1.14d (7th of June, 2016): implemented Blizzard Error & System Survey to aid troubleshootDiablo II.exe assertions/crashes.
Patch 1.14c (18th of May, 2016): nGlide wrapper now work?
Patch 1.14b (7th of April, 2016): -3dfx glide wrapper works?Capped frame rate at 200 (although single-player is still capped at 25)Minor gameplay fix: mercs can't become 'An Evil Force'
Patch 1.14a (10th of March, 2016): Windows 7/8.0/8.1/10 now work without XP mode
Characters now saved in C:UsersyourWindowsXP7810UsernameSaved GamesDiablo II
instead of C:whateverIdon'tCareanymoreContactMeAndIWillTellYou
Patch 1.13d (27th of October, 2011): Ignoring players in battle.net functionality has implemented afiltering file mechanism.
2 Major gameplay bugs fixed (duping & unintended aura stacking)
4 Minor gameplay bugs fixed (merc aura stacking, color coded game names,disconnection when watching cinematics, & game crash in windowed mode withsound disabled and playing a cinematic)
Patch 1.13c (23rd of March, 2010): Special bosses for the top 3% players.
4 major gameplay bugs fixed (duping, tppking, remote player disconnect,unintended aura stacking)
20+ other things have changed. However here are the highlights:
- game music doesn't stop when the Diablo II.exe window gains/loses focus.
- Barb's leap would lock if hit just before leaping.
- Den of Evil quest now gives Respecialization capabilities: that is, you get all of your stat/skill points back to completely redistribute!
- when Diablo II.exe is in windowed mode the window can now be maximized -- stretched.
- gold bank limit not bound by level.
- hardcore character creation has no requirements. It used to be that you had to defeat Normal difficulty with another character on your system to create a hardcore character (I'm 19-47% sure).
- Oblivion Knight's Iron Maiden curse, which was prominent in Act 4 normal if you're at all any type of melee strategist at any level, has been removed.
- added (?) -nosound Diablo II.exe option
- WW on Barb mana cost cut in half. Masteries with Barb critical strike increased by 10%. Werebear for druid's health increased by 25%, & 12 other skills (these being virtually meaningless) were changed aross Assassin, Paladin, Druid, Necro, & Sorc.
Patch 1.12 (17th of June, 2008)
Patch 1.10 (28th of October, 2003) implemented Synergy bonuses.
Implemented the World Event (which is virtually reserved for the top 2% best players on Battle.net)
Patch 1.0 (29th of June, 2000)
Refer to Blizzard Entertainment's Patch.txt (Diablo II'sChangeLog/Revision-History/Patch-Change-Information) that gets installed whenyou install Diablo II on your computer and update Diablo II with the latestpatch (in this case, 1.14d). This Patch.txt is located and called:
C:Program Files (x86)Diablo IIPatch.txt
Hello all
I was asked about the possibilities of a Bot or Hacks for “Project Diablo2” so I wanted to make a Guide so that all of you have the same Information and possibilities.
Honestly it still required and requires some experience with Kolbot, D2BS and JavaScript to get everything working so please dont expect to just download a file and start botting.
But if you follow the instructions below you will be able to bot with your PD2 Champs on the official PD2 Servers.
Goals:
Install fresh Diablo2 in english language
Make sure to patch that installation of D2 to 1.14D (By connecting to the battle.net or any other way)
Copy only the “patch_d2.mpq” from you PD2 installation into the directory of the fresh D2 1.14D
Get the Kolbot Version for Diablo 1.14D (E.g. By pulling from GitHub - blizzhackers/kolbot: d2bs: core + d2bot (noah) + kolbot libs (kolton) | cloned from https://github.com/kolton/d2bot-with-kolbot/)
In the configuration of Kolbot (execute D2Bot.exe) you have to create a Profile with the “Game.exe” of the of the D2 Version 1.14D directory as Game Path / Target. Also dont forget to add the Parameter “-w” and make the common Kolbot adjustments
To let Kolbot connect to the PD2 Realm (without editing the Realms choosable in Kolbot by default) you can edit the IP of the realms in the RegEdit under “ComputerHKEY_CURRENT_USERSoftwareBattle.netConfiguration”. Open the “Diablo II Battle.net gateways” entry and set the ip of the realms to “35.225.107.249”.
Adjustments on the D2BS Files:
D2BotLead.dbj: Add the following code after line 554. Where “gs 4” stands for the game description which is choosing the game server (europe) in PD2.
var gsControl = getControl(1,432,268,333,20);
if(gsControl)
{
gsControl.setText(“gs 4”);
}
Storage.js: Change the following lines to set the bigger storage sizes of PD2:
this.StashY = me.gametype 0 ? 4 : 8; => this.StashY = 15;
this.Inventory = new Container(“Inventory”, 10, 4, 3); => this.Inventory = new Container(“Inventory”, 10, 8, 3);
this.Stash = new Container(“Stash”, 6, this.StashY, 7); => this.Stash = new Container(“Stash”, 10, this.StashY, 7);
Class.Charname.js: To make use of the bigger inventory in PD2 we also have to adjust the config file for our character to something like this:
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.Inventory[4] = [0,0,0,0,0,0,0,0,0,0];
Config.Inventory[5] = [0,0,0,0,0,0,0,0,0,0];
Config.Inventory[6] = [0,0,0,0,0,0,0,0,0,0];
Config.Inventory[7] = [0,0,0,0,0,0,0,0,0,0];
If you also made the other “common” adjustments to Kolbot as in vanilla you should be able to run the bot with your PD2 Character on the PD2 Realm now.
Dont forget to add the new items into your PickSystem for maximum efficiency
Run Kolbot in 1.14D in manual Mode for Maphack and Pickit
There is an explanation on how to use Kolbots maphack and pickit in a manual mode here:
documentation/ManualPlay.md at master · blizzhackers/documentation · GitHub
If you follow these steps and make the adjusments within the Kolbot installation explained in Goal 1 you are able to play your PD2 character on the PD2 Realm in the vanilla Client. This has a few disadvantages compared to the launcher but I liked using that for leveling and baalruns.
Note: I made two Kolbot profiles linked to the same Diablo2 1.14D installation and two Class.Charname.js files. One for botting and one for manual play. So I only had to change the Class.Charname.js and the Kolbot profile to switch between botting and manual play.
Run D2BS with the PD2 Launcher for Maphack and Pickit
This is a bit more complicated. I try to make it short:
The “old” Version of D2BS 1.3.3 is working with the PD2 launcher. If you set this up you have to copy or rewrite the scripts you need to make use of D2BS. I did so and it took some time to got Pickit working.
But: D2BS 1.3.3 does not export the SendPacket() Method. Without this method the picking functionality is not as fast as in the later versions. So the manual mode of the new Kolbot is picking up faster than the pickit you can build with the old D2BS 1.3.3. If someone is still interested in this topic I can give some hints on how to build maphack and (slower)pickit for the PD2 launcher.
New Items:
To Pick up the new Items you have to add the new items to the Kolbot PickIt system.
In a first step you have to add the ids into the “NTItemAlias.dbl”. Honestly I was to lazy to look them up so I estimated the ids and until now I found stackable HighRunes, DC Components, WordlStoneShards and the other new stuff.
My approach is to add 100 ids for 100 new items and give them a unique name:
NTIPAliasClassID[“wss”] = 659; NTIPAliasClassID[“worldstoneshard”] = 659;
NTIPAliasClassID[“n00”] = 660; NTIPAliasClassID[“new00”] = 660;
NTIPAliasClassID[“n01”] = 661; NTIPAliasClassID[“new01”] = 661;
NTIPAliasClassID[“n02”] = 662; NTIPAliasClassID[“new02”] = 662;
NTIPAliasClassID[“n03”] = 663; NTIPAliasClassID[“new03”] = 663;
NTIPAliasClassID[“n04”] = 664; NTIPAliasClassID[“new04”] = 664;
NTIPAliasClassID[“n05”] = 665; NTIPAliasClassID[“new05”] = 665;
NTIPAliasClassID[“n06”] = 666; NTIPAliasClassID[“new06”] = 666;
NTIPAliasClassID[“n07”] = 667; NTIPAliasClassID[“new07”] = 667;
NTIPAliasClassID[“n08”] = 668; NTIPAliasClassID[“new08”] = 668;
NTIPAliasClassID[“n09”] = 669; NTIPAliasClassID[“new09”] = 669;
NTIPAliasClassID[“n10”] = 670; NTIPAliasClassID[“new10”] = 670;
NTIPAliasClassID[“n11”] = 671; NTIPAliasClassID[“new11”] = 671;
NTIPAliasClassID[“n12”] = 672; NTIPAliasClassID[“new12”] = 672;
NTIPAliasClassID[“n13”] = 673; NTIPAliasClassID[“new13”] = 673;
NTIPAliasClassID[“n14”] = 674; NTIPAliasClassID[“new14”] = 674;
NTIPAliasClassID[“n15”] = 675; NTIPAliasClassID[“new15”] = 675;
NTIPAliasClassID[“n16”] = 676; NTIPAliasClassID[“new16”] = 676;
NTIPAliasClassID[“n17”] = 677; NTIPAliasClassID[“new17”] = 677;
NTIPAliasClassID[“n18”] = 678; NTIPAliasClassID[“new18”] = 678;
NTIPAliasClassID[“n19”] = 679; NTIPAliasClassID[“new19”] = 679;
NTIPAliasClassID[“n20”] = 680; NTIPAliasClassID[“new20”] = 680;
NTIPAliasClassID[“n21”] = 681; NTIPAliasClassID[“new21”] = 681;
NTIPAliasClassID[“n22”] = 682; NTIPAliasClassID[“new22”] = 682;
NTIPAliasClassID[“n23”] = 683; NTIPAliasClassID[“new23”] = 683;
NTIPAliasClassID[“n24”] = 684; NTIPAliasClassID[“new24”] = 684;
NTIPAliasClassID[“n25”] = 685; NTIPAliasClassID[“new25”] = 685;
NTIPAliasClassID[“n26”] = 686; NTIPAliasClassID[“new26”] = 686;
NTIPAliasClassID[“n27”] = 687; NTIPAliasClassID[“new27”] = 687;
NTIPAliasClassID[“n28”] = 688; NTIPAliasClassID[“new28”] = 688;
NTIPAliasClassID[“n29”] = 689; NTIPAliasClassID[“new29”] = 689;
NTIPAliasClassID[“n30”] = 690; NTIPAliasClassID[“new30”] = 690;
NTIPAliasClassID[“n31”] = 691; NTIPAliasClassID[“new31”] = 691;
NTIPAliasClassID[“n32”] = 692; NTIPAliasClassID[“new32”] = 692;
NTIPAliasClassID[“n33”] = 693; NTIPAliasClassID[“new33”] = 693;
NTIPAliasClassID[“n34”] = 694; NTIPAliasClassID[“new34”] = 694;
NTIPAliasClassID[“n35”] = 695; NTIPAliasClassID[“new35”] = 695;
NTIPAliasClassID[“n36”] = 696; NTIPAliasClassID[“new36”] = 696;
NTIPAliasClassID[“n37”] = 697; NTIPAliasClassID[“new37”] = 697;
NTIPAliasClassID[“n38”] = 698; NTIPAliasClassID[“new38”] = 698;
NTIPAliasClassID[“n39”] = 699; NTIPAliasClassID[“new39”] = 699;
NTIPAliasClassID[“n40”] = 700; NTIPAliasClassID[“new40”] = 700;
NTIPAliasClassID[“n41”] = 701; NTIPAliasClassID[“new41”] = 701;
NTIPAliasClassID[“n42”] = 702; NTIPAliasClassID[“new42”] = 702;
NTIPAliasClassID[“n43”] = 703; NTIPAliasClassID[“new43”] = 703;
NTIPAliasClassID[“n44”] = 704; NTIPAliasClassID[“new44”] = 704;
NTIPAliasClassID[“n45”] = 705; NTIPAliasClassID[“new45”] = 705;
NTIPAliasClassID[“n46”] = 706; NTIPAliasClassID[“new46”] = 706;
NTIPAliasClassID[“n47”] = 707; NTIPAliasClassID[“new47”] = 707;
NTIPAliasClassID[“n48”] = 708; NTIPAliasClassID[“new48”] = 708;
NTIPAliasClassID[“n49”] = 709; NTIPAliasClassID[“new49”] = 709;
NTIPAliasClassID[“n50”] = 710; NTIPAliasClassID[“new50”] = 710;
NTIPAliasClassID[“n51”] = 711; NTIPAliasClassID[“new51”] = 711;
NTIPAliasClassID[“n52”] = 712; NTIPAliasClassID[“new52”] = 712;
NTIPAliasClassID[“n53”] = 713; NTIPAliasClassID[“new53”] = 713;
NTIPAliasClassID[“n54”] = 714; NTIPAliasClassID[“new54”] = 714;
NTIPAliasClassID[“n55”] = 715; NTIPAliasClassID[“new55”] = 715;
NTIPAliasClassID[“n56”] = 716; NTIPAliasClassID[“new56”] = 716;
NTIPAliasClassID[“n57”] = 717; NTIPAliasClassID[“new57”] = 717;
NTIPAliasClassID[“n58”] = 718; NTIPAliasClassID[“new58”] = 718;
NTIPAliasClassID[“n59”] = 719; NTIPAliasClassID[“new59”] = 719;
NTIPAliasClassID[“n60”] = 720; NTIPAliasClassID[“new60”] = 720;
NTIPAliasClassID[“n61”] = 721; NTIPAliasClassID[“new61”] = 721;
NTIPAliasClassID[“n62”] = 722; NTIPAliasClassID[“new62”] = 722;
NTIPAliasClassID[“n63”] = 723; NTIPAliasClassID[“new63”] = 723;
NTIPAliasClassID[“n64”] = 724; NTIPAliasClassID[“new64”] = 724;
NTIPAliasClassID[“n65”] = 725; NTIPAliasClassID[“new65”] = 725;
NTIPAliasClassID[“n66”] = 726; NTIPAliasClassID[“new66”] = 726;
NTIPAliasClassID[“n67”] = 727; NTIPAliasClassID[“new67”] = 727;
NTIPAliasClassID[“n68”] = 728; NTIPAliasClassID[“new68”] = 728;
NTIPAliasClassID[“n69”] = 729; NTIPAliasClassID[“new69”] = 729;
NTIPAliasClassID[“n70”] = 730; NTIPAliasClassID[“new70”] = 730;
NTIPAliasClassID[“n71”] = 731; NTIPAliasClassID[“new71”] = 731;
NTIPAliasClassID[“n72”] = 732; NTIPAliasClassID[“new72”] = 732;
NTIPAliasClassID[“n73”] = 733; NTIPAliasClassID[“new73”] = 733;
NTIPAliasClassID[“n74”] = 734; NTIPAliasClassID[“new74”] = 734;
NTIPAliasClassID[“n75”] = 735; NTIPAliasClassID[“new75”] = 735;
NTIPAliasClassID[“n76”] = 736; NTIPAliasClassID[“new76”] = 736;
NTIPAliasClassID[“n77”] = 737; NTIPAliasClassID[“new77”] = 737;
NTIPAliasClassID[“n78”] = 738; NTIPAliasClassID[“new78”] = 738;
NTIPAliasClassID[“n79”] = 739; NTIPAliasClassID[“new79”] = 739;
NTIPAliasClassID[“n80”] = 740; NTIPAliasClassID[“new80”] = 740;
NTIPAliasClassID[“n81”] = 741; NTIPAliasClassID[“new81”] = 741;
NTIPAliasClassID[“n82”] = 742; NTIPAliasClassID[“new82”] = 742;
NTIPAliasClassID[“n83”] = 743; NTIPAliasClassID[“new83”] = 743;
NTIPAliasClassID[“n84”] = 744; NTIPAliasClassID[“new84”] = 744;
NTIPAliasClassID[“n85”] = 745; NTIPAliasClassID[“new85”] = 745;
NTIPAliasClassID[“n86”] = 746; NTIPAliasClassID[“new86”] = 746;
NTIPAliasClassID[“n87”] = 747; NTIPAliasClassID[“new87”] = 747;
NTIPAliasClassID[“n88”] = 748; NTIPAliasClassID[“new88”] = 748;
NTIPAliasClassID[“n89”] = 749; NTIPAliasClassID[“new89”] = 749;
NTIPAliasClassID[“n90”] = 750; NTIPAliasClassID[“new90”] = 750;
NTIPAliasClassID[“n91”] = 751; NTIPAliasClassID[“new91”] = 751;
NTIPAliasClassID[“n92”] = 752; NTIPAliasClassID[“new92”] = 752;
NTIPAliasClassID[“n93”] = 753; NTIPAliasClassID[“new93”] = 753;
NTIPAliasClassID[“n94”] = 754; NTIPAliasClassID[“new94”] = 754;
NTIPAliasClassID[“n95”] = 755; NTIPAliasClassID[“new95”] = 755;
NTIPAliasClassID[“n96”] = 756; NTIPAliasClassID[“new96”] = 756;
NTIPAliasClassID[“n97”] = 757; NTIPAliasClassID[“new97”] = 757;
NTIPAliasClassID[“n98”] = 758; NTIPAliasClassID[“new98”] = 758;
NTIPAliasClassID[“n99”] = 759; NTIPAliasClassID[“new99”] = 759;
Afterwards one can add the relevant items to his .nip files so that the bot knows to pick them up.
Therefore I made a new “RunesAndNew.nip” and added the filename to my Class.Charname.js as it is done in vanilla Kolbot. The new .nip contains the names of the dummy entries as you can see here:
[name] worldstoneshard
[Name] new00
[Name] new01
[Name] new02
[Name] new03
[Name] new04
[Name] new05
[Name] new06
[Name] new07
[Name] new08
[Name] new09
[Name] new10
[Name] new11
[Name] new12
[Name] new13
[Name] new14
//[Name] new15 // Stapelbarer Makelloser Amethyst
[Name] new16
//[Name] new17 // Stapelbarer Makelloser Topas
[Name] new18
//[Name] new19 // Stapelbarer Makelloser Sapphir
[Name] new20
[Name] new21
[Name] new22
//[Name] new23 // Stapelbarer Makelloser Rubin
[Name] new24
//[Name] new25 // Stapelbarer Makelloser Diamant
[Name] new26
//[Name] new27 // Stapelbarer Makelloser Totenkopf
[Name] new28
//[Name] new29 // Stapelbare EL Rune
//[Name] new30 // Stapelbare ELd Rune
//[Name] new31 // Stapelbare Tir Rune
//[Name] new32 // Stapelbare Nef Rune
//[Name] new33 // Stapelbare ETH Rune
//[Name] new34 // Stapelbare Ith Rune
//[Name] new35 // Stapelbare Tal Rune
//[Name] new36 // Stapelbare Ral Rune
//[Name] new37 // Stapelbare Ort Rune
//[Name] new38 // Stapelbare THul Rune
//[Name] new39 // Stapelbare AMN Rune
//[Name] new40 // Stapelbare Sol Rune
//[Name] new41 // Stapelbare Shael Rune
//[Name] new42 // Stapelbare Dol Rune
[Name] new43
//[Name] new44 // Stapelbare IO Rune
[Name] new45
[Name] new46
[Name] new47
//[Name] new48 // Stapelbare Lem Rune
[Name] new49
[Name] new50
[Name] new51
[Name] new52
[Name] new53
[Name] new54
[Name] new55
[Name] new56
[Name] new57
[Name] new58
[Name] new59
[Name] new60
[Name] new61
[Name] new62
[Name] new63
[Name] new64
[Name] new65
[Name] new66
[Name] new67
[Name] new68
[Name] new69
[Name] new70
[Name] new71
[Name] new72
[Name] new73
[Name] new74
[Name] new75
[Name] new76
[Name] new77
[Name] new78
[Name] new79
[Name] new80
[Name] new81
[Name] new82
[Name] new83
[Name] new84
[Name] new85
[Name] new86
[Name] new87
[Name] new88
[Name] new89
[Name] new90
[Name] new91
[Name] new92
[Name] new93
[Name] new94
[Name] new95
[Name] new96
[Name] new97
[Name] new98
[Name] new99
Warden / Bot detection:
PD2 Is checking your activity. I do not have to discuss that (as done in the d3jsp.org forum)!
After a night of botting I got a private ingame message from a moderator who asked me a few questions and told me I was reported for being online for a long time. Hence I would strongly recommend not to exaggerate botting. A few (3-4) hours a day are more than enough to find the gear you need for your character and trade a bit.
A big Thanks goes to ' GosH' from d3jsp for the hint regarding the not existing version check of PD2
I wish you all a good quarantine and a healthy year.
Have a good time