NEW VERSION, read changes at bottom.
So, plenty of people have been hit with the recent bans, and many think that the games per hour and length of botting campaigns have something to do with being caught. I'm sure that there are plenty of factors that make you look like a bot, but here's something I cooked up to help add a little bit of playerishness to your script. I offer no guarantees to whether or not you will be banned for botting, so use this as you see fit.
There are two parts to this script. First is the patch to your existing script to give it a "SafePause" feature, which lets you hit a key and the script will stop at an appropriate point, rather than just wherever it happens to be in your run. Put this in your script, preferably toward the top to make sure the variable gets declared before use:
Code:
;*** CATCH PAUSE FROM BOT CONTROLLER ***
HotKeySet("-", "ToggleSafePause")
Local $safePauseTriggered = False
Func ToggleSafePause()
$safePauseTriggered = Not $safePauseTriggered
If $safePauseTriggered Then
ToolTip("PAUSING at next safe area...", 0, 0)
Else
ToolTip("")
EndIf
EndFunc
Func SafePause()
If $safePauseTriggered = True Then
$safePauseTriggered = False
TogglePause()
EndIf
EndFunc
;******
Then, somewhere in your run, you need to put this line:
If you're doing a Sarkoth bot, a logical place might be after leaving the game to call it at the main menu, or maybe after calling town portal. I haven't used any scripts here except LATM's DH script, but if you're using that one, you could just put it at the very beginning of the run loop, like this (use CTRL-F to search your script)
Code:
Func RestartRun()
Call("SafePause")
If ($Go) Then
You could even put it in multiple places in the code, it will just do the first one it comes across.
What this does is make it so that hitting the hotkey (the 'minus' key in this case) will tell your bot to pause the next time it gets to the SafePause spot. If you change your mind, hit the key again and it will cancel, or just manually unpause your bot after it pauses.
On to the next step. Get this paste and make an AU3 file: [AutoIt] Random Breaks for AutoIt Script - Pastebin.com
The settings I think are pretty self explanatory. It can do short breaks and long breaks, and is fully customizable. By default it will take a 5-10 minute break every 30-45 minutes, and a long break every 4-6 hours for 40-120 minutes. You can make it whatever you want, including a set schedule by narrowing the randomness of the timing. I can't even speculate as to what is a good schedule to put your bot on, I am merely providing the tools. You can also turn on or off the short or long breaks with the 'enable' variables.
You can also customize the keys used. I set this one up for use with LATM's bot, using the pause key to UNPAUSE the bot, and the minus key to trigger the SafePause. F11 will kill the controller script.
You can choose to enable or disable the GUI, depending on what you want. Either way, the keyboard shortcuts will work. You can also choose to enable logging, which is probably smart if you're going without the GUI.
And.. that's it. Pretty simple, just follow the instructions and don't be afraid to edit your scripts, or this one, whatever suits your needs. I know I'm posting in Diablo bots, but it should work with anything that can handle a keypress. If you encounter any bugs or suggestions, please post them here. Happy botting!
VERSION HISTORY:
1.0 - Initial release
1.1 - Added a functional GUI, logging, and fixed a bug preventing resetting the short timer. Only the script in pastebin has changed, no need to update your bot.