Diablo II Resurrected
AHK script

Diablo 2 Resurrected is a remastered version of the well-known PC game: Diablo 2 Lords of Destruction. The hack and slash ARPG game is a masterpiece from every aspect, including game mechanics, story, graphics, itemization, and last but not least, the music. In my humble opinion, the music of Diablo 2 is almost as good as the Heroes of Might and Magic series has ( HoMM3 ). Since I love both Diablo 2 and AutoHotkey I decided to add some QOL ( quality of life ) improvements to the game.

I suggest watching the following video in full screen for a better understanding

RPAWR-cosmetic-divider

divider bar

Some changes, core features:

  • customizable overlay GUI ingame that tracks your MF runs
  • you are able to add to the log the items you find manually
  • automatically creates new games
  • autoselect waypoints you define in your MF run ( e.g. d2.run := [ “Travincial”, “Catacombs Level 2”, ]
  • autocast CTA ( after waypoint and or timed-out CTA buff )
  • auto set players setting in single player ( offline ) mode ( you can bind this setting after the waypoint )
  • mouse over item identifying with a hotkey ( Left Alt + Mouse4 by default )
  • better screenshot tool
  • tooltip, displays cool messages from D2 ( “Stay awhile and listen.”, “Ah, welcome back, my friend.” )
  • save / overwrite config files
  • quick cast on a hotkey

RPAWR-cosmetic-divider

divider bar

About the project

I decided to replay Diablo 2 LOD Plugy ( this means solo [ self-found ] mode ) last summer, that year when Covid started. Since I use AutoHotkey on a daily basis I wanted to create an AHK script for D2. I quickly realized this is a fun project and makes the game even more fun.

The first thing I wanted to solve was to automate some mundane tasks, like identifying the items you pick up or throw every unidentified item into your stash from the inventory. This way I saved a lot of time which yields more valuable items / hour.

Then when you play solo mode and if you have a good LK map, then you will start to hate the original GUI, because every time you need to create a new game you have to click at least a few times. Solved.

Then you want to optimize your time while you are playing. This means you track your runs with a stopwatch on your phone. (: This was the part when I realized this project will be more complex than I thought.

AutoHotkey allows me to do image searches rapidly on the screen so this way I am able to track the time. This means I can track my MF ( magic find ) runs. Unfortunately, this feature is not included in the original game.

The positive effect of the MF run tracker = more efficient MF run?

For me it’s really hard to do just some MF runs because I need a DAMN GOAL! After a few runs, I quickly exhausting. Fortunately, it turned out if I add some achievements-like system to the game, I won’t get bored very soon. ( faster runs, do 500 Andi runs, etc. )

The displayed stats on the GUI help to achieve my goals and my MF runs are more efficient than it was before. Yepp, this is very important when you do MF runs in Diablo2. If you kill fast, you will get good items. The tracker just helps to keep an eye on your pace basically.

A strong character with decent kill speed and fast runs will help you find more items. Of course, more MF is just a cherry on the top, but if you will lose time during your runs you will kill fewer monsters and this will yield fewer found items.

The first script was created to the standard Diablo 2 Lod ( v 1.13 ) but later I hooked on a D2 mod. This mod is the Project Diablo 2. I rewrote the script for this mod and finished a lot of ideas at that time.

Then, of course, I wanted to port it to the latest official release, the D2 Resurrected. Just for a quick note, since this version is almost identical to the original one, I ported the script to D2R in just a few hours.

When it’s finished I would like to share it publicly and the current status is still relatively far from the first stable release. If you know AHK and you like D2 and this project, then you can write an e-mail or just dm me somewhere. Some testers would be good at some point.

divider bar
AutoHotkey, AHK editors - which one should i use?
divider bar

The Magic Find log with item names

This is just an example how the log file looks like.

7 3.92 Town
7 7.36 1/4 Lower Kurast|7
7 7.05 2/4 Dry Hills|5
7 6.33 3/4 Durance Of Hate Level 2|3
7 5.05 4/4 Catacombs Level 2|7
7 29.70 02-10-21 20:42:08 Vikrama End of run

9 5.14 Town
9 249.11 1/3 Catacombs Level 2|1
9 230.17 2/3 Lost City|1
9 113.55 3/3 Harrogath|1
9 597.97 03-10-21 21:59:14 Vikrama Tal belt End of run

You see two MF run records from the log file.

The first is the 7. run in the log.
The MF run sequence started with the town, this part lasted for 3,92 s. ( seconds )
The first zone lasted for 7,36 s, in players 7 settings.
In the second zone, you spent 7,05 s in Dry Hills in players 5 settings.
Durance of Hate Level 2 was only 6,33 s in players 3.
The last in the sequence is Andy it was only 5,05 s.
The last line refers to the whole run with a timestamp and your character name.
Currently, the found item is only displayed at the end of the record. ( see the second example )

Forget Plugin - DIY

RPAWR-cosmetic-divider

If you are interested in saving yourself a lot of time, check AHK.

Autohotkey is an automation tool, easy to learn, powerful!

You can check my favorite editors here.