Run counter for Diablo 2, created by oskros#1889 with ongoing development since August 2019.
You can find a video where the application is described in detail here: https://youtu.be/IV3H3pt6YDE
NB: Working on Windows 7 and Windows 10 (I have not tested on any other OS, but probably it wouldn't work)
-
To run on your computer, go to releases (https://github.com/oskros/MF_run_counter/releases) and download the .exe file from the latest release.
-
Place the .exe file in your preferred folder (don't place it in a folder that requires admin rights to write to)
-
You might be prompted by Windows not recognizing the application publisher (I am not going to pay 100$ a year for Windows to recognize me lol). Simply click "more info" and then "Run anyway" when Windows asks. See pictures below
-
You can make the application trusted by following the steps suggested here: https://www.windowscentral.com/how-disable-smartscreen-trusted-app-windows-10
-
The first time you run the .exe file, a config file is created in the same directory as the .exe, named "mf_config.ini", which can be edited in Notepad. While you can edit settings directly in the config file, I would recommend doing it from within the application. At first run, there is also a "Profiles" folder created, which stores save files for each of your created profiles.
You can active automode in Options -> Automode. There are two types of automode
-
Advanced: Uses memory reading of the D2 "Game.exe" process to read from your client when you are in-game. When you enter a game, it will start a new run, and when you exit a game it will stop the run - Only recommended on single player, as it could be deemed cheating on multiplayer servers.
Advanced automode is patch specific, and is currently supported for 1.13c, 1.13d, 1.14b, 1.14c and 1.14d. It also works together with D2SE. -
Simple: Monitors the "latest change time" of your character save file. Your character is saved every time you exit a game, and thus a new run can be started - Unfortunately, there is no way to stop a run with this method and also it has two drawbacks:
2.a) The game autosaves every 5 minutes, thus you cannot have runs longer than 5 min.
2.b) The game autosaves every time you die
To set-up automode, enter the game path to your character save folder and click 'Apply'. Also make sure the character name specified in your profile is exactly the same as your in-game name, otherwise the automode will fail to start.
You are able to customize hotkeys for each of the commands in the application. The hotkeys are system wide, so you do not need to place focus on the application to use them. However, this means that while the application is open, it overrides any other program using this specific hotkey.
It is possible to disable a command from having a hotkey by choosing "NO_BIND"
There are 2 hidden hotkeys: CTRL+SHIFT+PgDn and CTRL+SHIFT+PgUp for switching between tabs in the app (eg. if you wanna confirm the drop you just added is in fact saved)
Start a new run by using the assigned hotkey (default ALT+Q). In case a run is already active, this button will end it and start a new run. End the run by using the assigned hotkey (default ALT+W). In case of mistakes, the previous run can be deleted using the assigned hotkey (default CTRL+DEL) If the user desires, the current run timer can be reset using the assigned hotkey (default ALT+R).
You add a drop to the current run (or previous run if no run is currently active) by using the assigned hotkey (default ALT+A). It will then be listed in the "Drops" list for the run where it was found. When adding a drop, the application will try and autocomplete the name of the drop using a full library of all available sets, uniques and runes. In case a drop was added by mistake, it can be deleted by highlighting it and clicking the "Delete selection" button under the "Drops" tab, or by pressing the Delete button on your keyboard while the drop is highlighted (this hotkey is not system wide).
In the profile tab it is possible to create a separate run profile for each character and run type (eg. Chaos, Cows, Meph, etc.). In the profile tab you can view each saved session in the archive browser, where it is also possible to save the results to a .txt file or copy to clipboard. Profile data is saved as a .json under the "Profiles" folder that is created the first time you run the program.
In the grail tab you can track your progress in completing the d2 holy grail of collecting all items (and runes). Every time you add a new item that hasn't been found before, you will get a pop-up asking if you wish to add it to your grail! Then it will appear in your found items with a "(*)" in front of the name, to indicate it was a grailer.
You can sync the grail progress made in the run counter with d2-holy-grail.herokuapp.com - Both in terms of syncing the run counter with the webpage, and also upload any progress back to the webpage again!
In order to view your grail progress there is both a "Grail controller" view, which is similar to the one found on herokuapp, but also an "Item table" view, where you see all items in a table with tons of information about each item.
You can also sync your local grail with already found items. Unfortunately, it is not possible to sync with any items added in your profiles prior to MF Run Counter v.1.2.0, sorry!
The session timer will run while Diablo is open. It will pause when Diablo is closed.
In case you need to take a break from the computer, the counter can be paused by using the assigned hotkey (default CTRL+Space). This will pause both the run timer (if a run is active) and the session timer.
The current session is saved automatically every 30 seconds (to prevent data loss in case of crashes) and also saved automatically when you close the app. You can click the "Archive session" button to reset the session and archive the session results to the profile. In the archive browser, it is possible to save a session or the full profile history to a .txt or .csv file, or copy to clipboard - Example of the .txt file is included below.
*Statistics*
Character name: Tsssch
Run type: Andy
Game mode: Single Player
Total session time: 00:24:20:0
Total run time: 00:23:10:0
Average run time: 00:00:34:7
Fastest run time: 00:00:23:1
Number of runs: 40
Time spent in runs: 95.21%
*Collected drops*
Run 2 --- Atma's Scarab
Run 6 --- Raven Frost 151/18
*Run times*
Run 1: 00:00:23:1
Run 2: 00:00:42:0 --- Atma's Scarab
Run 3: 00:00:25:0
Run 4: 00:00:32:1
Run 5: 00:00:32:3
Run 6: 00:00:26:7 --- Raven Frost 151/18
Window can be dragged on the Diablo 2 banner. Window position is saved in the config file, such that it opens where you closed it.
The program automatically checks if a new version is available on start-up, providing a link to the release pages where you can download it. This features can be disabled under Options->General
Three different themes for the application have been created, which the user can choose between under Options
In the Options tab you can turn on or off specific features in the application, and change the colour theme