d2qol 1.4.1 - Quality of Life Utility

Discuss Median XL!
User avatar
ryunp
Thunder Beetle
54 | 23
Common Love Badge
Earned over 20 cookies
Common Patron Badge
Patreon Contributor
Image

Median XL's end-game requires highly repetitive crafting mechanics. Working with the cube slowly eats away at game time, but can also cause physical stress on the wrists and fingers. These actions are perfect target for automation since the behavior is simple and well defined. This was designed foremost as a crafting aid utility, but it easily extends out to normal gameplay.

The scope of functionality is very simple which allows support for all resolutions. This utility does nothing more than click on command in locations you have specified. There is no memory peeking, no automated gameplay logic, no cheating mechanics. The 'Actions' currently provided all aim to save wrist movement and finger usage. Very handy when both precision and quantity are needed, such as buying oils or reallocating stat points.

[Download v1.4.1] [Github]

► Features
► GUI Preview
► Bugs and Feedback
► Changelog
Edited by ryunp 2 days.
User avatar
Mord0r_
Pit Knight
112 | 4
ryunp wrote:This is a little tool I built and feel it may be helpful to others.

https://github.com/ryunp/d2qol

The github page has some pictures and GIFs to showcase the functionality.

Diablo II is old. The interface is old. Carpal Tunnel is real. This AutoHotKey program provides assistance for common tasks.

The goal is to replace the small, tedious, repetitive clicking sequences.

Many gameplay activities are based on RNG, requiring huge amounts repitition. Despite being 'braindead' activities, the compounding nature adds up quickly.


There is room for expansion on the concept. It's extremely simple, as previous versions I attempted would blow up into building a full on framework of sorts.

If Marco approves/approved of this nice!
User avatar
ryunp
Thunder Beetle
54 | 23
Common Love Badge
Earned over 20 cookies
Common Patron Badge
Patreon Contributor
I've updated the post to give a better sense of what the heck this thing is.
User avatar
Quirinus
Amazon Warrior
1631 | 150
Common Posting Badge
Posted over 1.000 messages
Common Popularity Badge
Has a thread with over 10.000 views
Great Love Badge
Earned over 100 cookies
Common Supporter Badge
Donated 1 time
Great Contribution Badge
Is an active forum collaborator / developer
btw I've already done something similar a long time ago on the old forum, you can check it out here to see if you can find something useful in it (it's in AutoIt3 tho):
http://www.medianxl.com/t5397-d2-move-item-v0-74

I don't have time to continue developing and fixing the few bugs on my script, or by contributing on the github project of your script, so it's nice to see someone doing something similar. coding/scripting stuff like that is so fun though. xD

Random comments on my script:
► Show Spoiler


@mordor: there's no problem using it on realm, since it's like d2clicker, and we allow that.

I'll move this thread to general discussion.
"but if it's simple it's not that hard" - Quirinus 2017
"small things like this are not a big deal" - Quirinus 2017
User avatar
hellgrind
Heretic
423 | 17
And what if your qube is full ? it will be dropped on ground or your script will crash ?
User avatar
Segolia
Ice Clan
588 | 38
Common Popularity Badge
Has a thread with over 10.000 views
Common Love Badge
Earned over 20 cookies
Common Guide Badge
Created a complete character guide
hellgrind wrote:And what if your qube is full ? it will be dropped on ground or your script will crash ?


Most likely not. I assume his script doesen't check to see if the cube is full. From the looks of it, the scripts simply moves your mouse to certain points on the screen to perform the actions that you request. The only thing it checks for is where your cube is, which is defined by you.
DeaTh
Pit Knight
117 | 5
Quirinus wrote:btw I've already done something similar a long time ago on the old forum, you can check it out here to see if you can find something useful in it (it's in AutoIt3 tho):
http://www.medianxl.com/t5397-d2-move-item-v0-74

Can you reupload this file? Links are broken.
User avatar
Quirinus
Amazon Warrior
1631 | 150
Common Posting Badge
Posted over 1.000 messages
Common Popularity Badge
Has a thread with over 10.000 views
Great Love Badge
Earned over 100 cookies
Common Supporter Badge
Donated 1 time
Great Contribution Badge
Is an active forum collaborator / developer
"but if it's simple it's not that hard" - Quirinus 2017
"small things like this are not a big deal" - Quirinus 2017
User avatar
ryunp
Thunder Beetle
54 | 23
Common Love Badge
Earned over 20 cookies
Common Patron Badge
Patreon Contributor
hellgrind wrote:And what if your qube is full ? it will be dropped on ground or your script will crash ?


It will attempt to place in the cube. Since the cube it full, it won't go into the cube and stay 'picked up'.

Segolia wrote:
hellgrind wrote:And what if your qube is full ? it will be dropped on ground or your script will crash ?


Most likely not. I assume his script doesen't check to see if the cube is full. From the looks of it, the scripts simply moves your mouse to certain points on the screen to perform the actions that you request. The only thing it checks for is where your cube is, which is defined by you.


Indeed. This simply performs a small sequence of mouse moves and clicks. There is no conditional logic that acts on game state.

I've tried building more complex versions that deal with detecting game state (without memory reading) but my architecture would spiral out of control.

This may not be super useful for most gameplay, but there is many times where a ton of cube usage is needed, and this simple utility makes a huge difference.

Quirinus wrote:I'll move this thread to general discussion.


Thanks, wasn't sure where to put it. Saw other AHK/AI threads and didn't want to overrun the larger thread categories. And yeah, definitely fun stuff. Your program is pretty slick, looks like lots of work put in there. Impressive you managed all the responsibilities without total collapse :)
DeaTh
Pit Knight
117 | 5

Quirinus, could you tell me about settings related to the ping? I can't set up script to work with ladder latency (around 140-200ms)
I tried change settings MouseClickDelay/MouseClickDownDelay and sleep_click but this has no effect :(