Unoptimized Version: Version 1.1d
If you are having pixelsearch issues, please use this script instead of 2.1c
NEW: Recommended Version 2.2b Optimized
IMPORTANT: Must have Mythic Health Potion in your Pot Slot. It uses this in one of the pixelsearch functions. I have not tested this with any other potion.
Just to avoid confusion, I think splitting the threads was a good idea. It looks like most people prefer not's script but I wanted to make a spot just in case anyone was looking for information on or access to my alternative script.
Features:
Looting - Including inventory management (dumping whites and blues when grabbing rares/legendaries) and gem pickup.
Enhanced Run Time - Runs significantly faster that the original Mackus' script and the current version runs faster than previous scripts by me.
Repair - Bot repairs on a timed basis. This can be changed as desired.
Death Detection - This is actually kind of a misnomer. Instead of the popular method of detecting if you are dead and then extending the logout timer, my script will detect if you are ALIVE, and then shorten the timer. This means that if the pixelsearch fails, it will not throw off the timing of your runs because the script will default to the "safe" leave timer just in case you died.
Window Closing - To Increase Reliability
More Accurate Cellar Door Detection - The bot tries 4 different mouse locations for the cellar door in case you end up out of place slightly.
Leave/Resume Detection - Bot can intelligently detect if the game has unloaded or loaded and begins the next loop immediately upon doing so. This saves time and avoids bot errors due to lag.
NEW OPTIMIZED VERSION
Changelog 2.2b
* Simplified the color codes into variables so they're much easier to find and update for other users.
* Couple random under the hood changes.
Changelog 2.2a
* Stack Return optimizations
Changelog 2.2
*Made the FindItem() func check if your inventory is full. If it is, it stops looking for blue items. If it is, and it finds a rare, legendary, or set item, it will drop a white or blue and then pick up the legendary / set. Saves on run time.
*Added full commenting so it makes it easier for others to dive into the script's logic and make changes where they need to.
Changelog 2.1h
* Improved script looping. Maybe some other changes I don't remember.
Changelog 2.1g
* Timer and ItemSearch() improvements.
Changelog 2.1f
* Fixed a stupid mistake </3
Changelog 2.1e
* Made the "backup" leave and resume loops more reliable.
* Enabled Magic Finding. With inventory management you won't miss a rare or legendary if your inventory fills up so this shouldn't cause any problems.
* Fixed a weird bug if loot detection wasn't working properly it would crash the script.
INSTRUCTIONS
Must be 1920x1080 resolution. Requests for other resolutions will probably not be fulfilled. It MIGHT be updated at some point to 16:9 compatibility. Must be WINDOWED FULLSCREEN.
Mouse 1:Mark of Death - Grim Reaper
Mouse 2: Elemental Arrow - Ball Lightning
Mouse 3: Must be bound to "move" in game
1: Caltrops - Torturous Grounds
2: Smokescreen - Lingering Fog
3: Preperation - Whatever rune
4: Companion - Ferrets
Passives: Hot Pursuit, Tactical Advantage, Whatever you want as the third one.
Equipment: Stack Gold Find, 10% or higher movespeed boots required.
You MUST start the bot from the proper checkpoint. Select the quest to explore Adria's Cellar in Act 1. DO NOT GO TO THE CELLAR. Instead, go to the old ruins waypoint and head west. You will receive a checkpoint there. Leave the game and restart the game. THEN start the bot. DO NOT START THE BOT FROM THE MAIN MENU. START FROM INSIDE THE GAME
IF YOUR PIXELSEARCH is not working properly, please go back and triple check all your settings. It seems most of these errors are being solved by folks consulting the original post and making sure they have the correct settings. Otherwise, you may need to use the Window Tool for autoit to replace the hex color codes in the script. I will not be doing this for you. I made the script as accurate as I could for my own PC, with a few modifications to hopefully increase compatibility for others. This is the best I can do... your PC is subject to it's own settings and I cannot standardize those for you or give you anything beyond basic troubleshooting advice.
Things NOT to Ask For
* Creating a version that is not 16:9. I don't have time to make a custom script for each of your personal resolution constraints. Quite frankly, it would take you like 10 minutes max to edit the coordinates yourself to work with the groundwork laid already for all other functionality.
* Creating a version for a class other than DH: I do not have any other classes to use to test the function for you. Once again, it shouldn't take long for you to edit the script to work with wizard or witch doctor at least. I didn't know anything about AutoIt scripting and very, very little about any programming language prior to creating my script.
For Those of you having the "esc over and over" error, find this piece of code
Replace it with this piece
Func LeaveGame()
Call("CheckWindow") ; see if I have achievements / escape menu open and if I do, close them
Send("{ESCAPE}") ;opens menu
Sleep(1000)
$Pixel3 = PixelSearch(665,400,690,425,0xC5803E, ; Did I open escape menu properly?
If Not @error Then ; yes, click to leave
MouseClick("left", Round(956 * $x_ratio),Round(579 * $y_ratio)) ;button to leave game
Sleep(3000)
Call("CheckResume")
Else ; can't find leave button, lets try again
Call("LeaveGame")
EndIF
Return
EndFunc
Func LeaveGame()
Call("CheckWindow") ; see if I have achievements / escape menu open and if I do, close them
Send("{ESCAPE}") ;opens menu
Sleep(1000)
MouseClick("left", Round(956 * $x_ratio),Round(579 * $y_ratio)) ;button to leave game
Sleep(3000)
Call("CheckResume")
Return
EndFunc