I work as a software engineer so I was intrigued upon learning about the botting community. I started working on a private bot using AutoIt last Saturday and I got working extremely well last Tuesday. I ran it for 2 days straight for stress testing and I got ban hammered by Blizzard today. Being greedy hurts but I had fun coding it. Anyhow, I don't want my code to go to waste so I am sharing it to this community. I will try to answer questions about my code but I can't support all of them completely as I have moved on from this game - I am not buying another license.
Credits to Unknowned (here in Ownedcore) and for having such an awesome API that I used as a baseline for my code. I edited some of it to remove the memory writes and rely purely on mouse clicks. Also, I used Pillpher's code (in Blizzhackers) to implement the tooltip - credits to you as well. Also, I got this idea from using Swarn's bot (after watching it for a few rounds, I understood its logic so I decided to reverse engineer it). I also shamelessly grabbed contributor's code from various people in this forum. I can't name you all but you know who you are if you look at my code - thanks to you all!!
Use this bot at your own risk. I made 350k GPH doing arreat core and if anyone is interested, I can also share my logic (which I was going to implement before I got banned) for pathing the "random generated" Rakkis crossing bridge. This bridge offers a potential 500k gph so I wanted that to be my next project.
With that said, Ruffbot is attached to this post. Happy Botting people!!!!
DISCLAIMER: this is an alpha version of my farming bot. It contains various
random bugs and unexepected random behavior. I have documented the ones that
I am aware of.This bot only works on 800 x 600 resolution to save on computer
resources and allows you to run the bot in several virtual machines running
Diablo 3. Also this only works for Demon Hunters (and maybe Wizards and Witch Doctors) right now.
################################################################################
# Features
################################################################################
* Automatically detects whether you are in the menu and starts the game for you
* Goes through Arreat core and teleports to town afterwards
* Attacks enemies only when they are encountered
* Uses hatred dump skill to attack enemies if hatred is available otherwise it uses hatred generation skill
* Spams first two abilities (Spells 1 and 2) every few seconds
* Uses Spell 3 at the begining of run
* Uses Spell 4 every 120 seconds
* Automatically finds chests and loots them
* Automatically loots gold around you
* Automatically repairs items in town if they are needed to be repaired
* Sleeps a random amount of milliseconds while in the menu to combat D3's game limit reached
* Contains a mini console log that shows you random run statistics and game events
################################################################################
# Setup Steps
################################################################################
1. Backup your My Documents\Diablo III\D3Prefs.txt file. This will save your existing video settings.
2. Replace My Documents\Diablo III\D3Prefs.txt with the included D3Prefs_ruffbot.txt. This will convert
your video to 800 x 600 with baseline graphics settings (no antialiasing, no effects, no shadows) .
3. Rename My Documents\Diablo III\D3Prefs_ruffbot.txt to My Documents\Diablo III\D3Prefs.txt
4. Open Diablo 3 and bind the Move command to "Middle". (Edit the Move command then click the Middle mouse button!).
5. Start the Heart of the Sin > Kill Azmodan quest and trigger checkpoint right in front of Azmodan's lair
6. Set up your skills as follows:
Left Click: Any Hatred Generation skill (I use Hungering Arrow > Puncturing Arrow)
Right Click: Any Hatred Dump skill (I use Multishot > Fire at Will)
Skill 1: Any Spammable skill (I use Preparation > Punishment to keep Hatred Up)
Skill 2: Any Spammable skill (I use Rain of Vengeance > Dark Cloud for Massive AOE)
Skill 3: Any Active Self Buff (I use Companion > Ferrets, + 10% gold find? yes please!!!)
Skill 4: Chakram > Shuriken cloud (right now it's hard coded to spam this spell every 120 seconds also it provides
some enemy pain while moving around to loot gold and chests, phasebeast blinks right next to you = dead)
Passive 1: Vengeance (you can choose not to use this but right now I have hard coded 150 to be the Hatred total amount,
so there could be some minor issues with the logic on using hatred dump skill or hatred generation skill if
you don't use Vengeance. Also it keeps your Hatred up most of the time)
Passive 2: Anything (I use Archery)
Passive 3: Anything (I use Steady Aim)
7. Exit to menu.
################################################################################
# User Guide
################################################################################
1. Either go to the Main Menu with the Resume Game or click the Resume Game and chill out in the checkpoint zone.
2. Run ruffbot.au3 (need Auto It installed)
Here are the hotkeys I programmed:
Home: To toggle Start/Pause the bot.
End: To stop the bot.
### Debugging hotkeys (don't press them while bot is running) :
### Delete: Generates a dump of all objects around you plus some random files
### PageUp: Loot chests around you.
### Insert: Generates a new waypoint file based on how you move. Press Insert again to stop generating the waypoint file
3. Start the bot by pressing the Home key either on the Menu screen (with Resume game) or in Arreat Core near the checkpoint.
4. That's it! Press the End key to stop the bot or the Home key again to pause the bot.
################################################################################
# Known Bugs
################################################################################
Symptoms: Sometimes after user presses End (to Quit the bot) character keeps moving on the Diablo screen.
Cause: The middle mouse button is bound as the move key in the bot.
Fix: Press the middle mouse button in the game.
Symptoms: Program won't quit after pressing End
Cause: Unknown!
Fix: Use Ctrl + Alt + Escape to open Task Manager, then kill the Autoit Process