try to make one for hell, more beneficial i think
Trade Feedbacks
Hello! here's a simple script to farm the first boss on act4, Iskatu, as barbarian, can be adapted to other classes too if you edit a bit. Worked fine all the night at 1920x1080 resolution Fullscreen Windowed on normal difficult, it's still decent exp till level 50 and you can use it on hell too if your gear allows it!
Almost all the sleep timers are random, and the clicks on buttons are random also. It won't loot since this tool is mainly for leveling
Any suggestion to improve the bot tell me and I'll add it, I'm still noob at autoit
What it does?
Run to the quest giver
Skip dialog
Accept quest
Run into the portal
Skip cinematic
Kill boss
Move a bit for gold
TP to town, leave
Select quest again and repeat
What do you need to setup?
Installed AutoIt of course
Select Act4 Quest1: Fall of the High Heavens
You need to start the bot inside the game!
You may need to change the sleep timers to make it work on your pc and your character movement speed, my mov speed was 7% so I suggest to get a boots with mov at least
You just need this skills:
Slot1: War Cry - Charge!
Slot2: Revenge - Vengeance is Mine
Slot3: Ignore Pain
Slot4: Earthquake - Giant's Stride
Hotkeys
Start the bot: HOME
Close the bot: End
You can adapt the bot for Monks using this skill setup ( Thanks Sempra ):
New V1.2
- IMPORTANT: The bot needs to start inside the game
- Added timer+runs on tooltip
- Adjusted some sleep timers to be faster
Code:;Iskatu barbarian Farm ;Required Skills: ;Slot1: War Cry - Charge! ;Slot3: Ignore Pain ;Slot2: Revenge - Vengeance is Mine ;Slot4: Earthquake - Giant's Stride ;Edition by Aikeelu, credits for the original to: K!ngp!n@Blizzhackers $yellow = "FFE500" ; yellow color code it detects @ pixel 1520x40, tweak this if it's not detecting correctly $red = "DB0000" ; red color code $NeedRepair = False $go = True Global $Paused, $run Global $StartTime = TimerInit() Global $Hours = 0, $Minutes = 0, $Seconds = 0 HotKeySet("{HOME}", "TogglePause") HotKeySet("{END}", "Terminate") While 1 Sleep(500) ToolTip("Press 'HOME' to start 'END' to exit", 0, 0) WEnd Func UpdateTooltip () $text = "[Runs: " & $run & " Runtime " $seconds = Int(TimerDiff($StartTime) / 1000) if $seconds > 59 Then $minutes = Int($seconds / 60) $seconds = $seconds - $minutes * 60 EndIf if $minutes > 59 Then $hours = Int($minutes / 60) $minutes = $minutes - $hours * 60 EndIf $text &= $hours & "h " & $minutes & "m]" Tooltip($text & " Running - 'HOME' to pause. 'END' to exit.", 0, 0) EndFunc Func TogglePause() $Paused = NOT $Paused While $Paused $run +=1 UpdateTooltip() Call("CheckRepair") If $NeedRepair Then Send("t") sleep(Random( 7200, 8000, 1 )) MouseClick("left", 1176, 950) ;begin movement towards merchant sleep(Random( 2000, 2500, 1 )) MouseClick("left", 1785, 1020) ;moves near merchant sleep(Random( 2200, 2500, 1 )) MouseClick("left", 1407, 637) ;NPC Merchant sleep(Random( 1200, 1500, 1 )) MouseClick("left", 521, 506) ;button to open up repair menu sleep(Random( 400, 600, 1 )) MouseClick("left", 260, 595) ;button to pay for repairs sleep(Random( 800, 1200, 1 )) Send("{ESCAPE}") ;closes repair tab sleep(Random( 600, 900, 1 ))) Send("{ESCAPE}") ;menu sleep(Random( 400, 600, 1 )) MouseClick("left", 956,579) ;button to leave game sleep(Random( 4900, 5600, 1 )) MouseClick("left", 230, 416) ;button to resume game from main menu sleep(Random( 7000, 7600, 1 )) EndIf Call("CheckRepair") sleep(Random( 800, 1200, 1 )) MouseClick("left", 1550, 900) ; go backwards to initialize position sleep(Random( 2000, 3000, 1 )) MouseClick("left",115,55) ; first click Sleep(Random( 4500, 5500, 1 )) MouseClick("left",150,145) ; second click Sleep(Random( 4700, 5700, 1 )) MouseClick("left",810,260,1) ; third click sleep(Random( 1900, 2100, 1 )) ; cancel Tyreal's dialog send("{SPACE}") sleep(Random( 300, 700, 1 )) send("{SPACE}") ; cancel Imperius' dialog sleep(Random( 300, 700, 1 )) send("{SPACE}") sleep(Random( 3000, 5000, 1 )) MouseClick("left",1000,430,1) ; click on tyreal sleep(Random( 400, 800, 1 )) ; cancel Tyreal's popup dialog send("{ESCAPE}") sleep(Random( 300, 600, 1 )) send("{ESCAPE}") sleep(Random( 500, 700, 1 )) MouseClick("left",524, 295) sleep(Random( 1000, 1200, 1 )) MouseClick("left",918,296,1) ; click on the portal sleep(Random( 2300, 3300, 1 )) send("{ESCAPE}") ; cancel cinematic sleep(Random( 300, 500, 1 )) MouseClick("left",Random(850,910,1),Random(350,377,1)) ; click 'Ok' sleep(Random( 700, 1200, 1 )) If PixelGetColor(1578,111) = 16634255 Then ; in options menu. Portal must have failed send("{ESCAPE}") sleep(1000) send("{ESCAPE}") sleep(2000) MouseClick("left", 926, 244) ; click portal again sleep(4000) send("{ESCAPE}") ; cancel cinematic sleep(1000) MouseClick("left",Random(850,910,1),Random(350,377,1)) ; click 'Ok' sleep(1000) endif sleep(Random( 4500, 5700, 1 )) ; combat send("2") MouseMove(992, 592, 1) ; moves cursor a bit sleep(Random( 300, 600, 1 )) Send("{SHIFTDOWN}") sleep(Random( 80, 200, 1 )) MouseDown("left") ; Cleave or Frenzy sleep(Random( 1000, 2000, 1 )) send("1") sleep(Random( 500, 1500, 1 )) send("2") sleep(Random( 500, 1500, 1 )) send("4") sleep(Random( 20, 120, 1 )) send("4") sleep(Random( 20, 120, 1 )) send("4") sleep(Random( 20, 120, 1 )) send("4") sleep(Random( 1000, 2000, 1 )) send("3") sleep(Random( 100, 500, 1 )) send("{2}") sleep(Random( 1000, 3000, 1 )) send("{2}") sleep(Random( 2000, 3000, 1 )) send("2") sleep(Random( 1000, 2000, 1 )) MouseUp("left") send("{2}") sleep(Random( 2000, 3000, 1 )) Send("{SHIFTUP}") send("{2}") sleep(Random( 2000, 3000, 1 )) send("{2}") sleep(Random( 2000, 3000, 1 )) send("{2}") MouseClick("middle", 990, 650) ; move a little bit to pick up gold sleep(Random( 500, 799, 1 )) MouseClick("middle", 1131, 244) sleep(Random( 1000, 2300, 1 )) ; wait to ensure quest completes send("t") sleep(Random( 7200, 7900, 1 )) send("{ESCAPE}") sleep(Random( 500, 1200, 1 )) MouseClick("left",Random(800,1110,1),Random(560,590,1)) ; click 'leave game' sleep(Random( 6500, 7500, 1 )) MouseClick("left",Random(70,390,1),Random(465,510,1)) ; click 'change quest' sleep(Random( 500, 1500, 1 )) MouseClick("left",Random(375,790,1),Random(595,635,1)) ; click 'Fall of the High Heavens' quest sleep(Random( 500, 1500, 1 )) MouseClick("left",Random(1040,1365,1),Random(840,885,1)) ; click 'Select Quest' sleep(Random( 500, 1500, 1 )) MouseClick("left",Random(755,940,1),Random(610,650,1)) ; click 'Ok' Sleep(Random( 1000, 2000, 1 )) MouseClick("left",Random(78,385,1),Random(398,437,1)) ; click 'resume game' Sleep(Random( 7000, 9000, 1 )) WEnd EndFunc Func Terminate() Exit 0 EndFunc Func CheckRepair() $Repair = PixelGetColor(1520, 40) ;Searches the location of armor indicator If Hex($Repair, 6) == $yellow OR Hex($Repair, 6) == $red Then ;Checks if the pixel is yellow or red, and starts the repair loop $NeedRepair = True Else $NeedRepair = False EndIf EndFunc
Credits for the original script to K!ngp!n@Blizzhackers
Last edited by Aikeelu; 07-13-2012 at 08:25 PM.
try to make one for hell, more beneficial i think
Trade Feedbacks
You can use it aswell on hell, nightmare or even Inferno, but ofc you'll need decent gear to tank and kill him
Since nightmare gives less exp than normal, I used it on normal till 50, will test on hell when i gear up a bit
Confirmed 100% workingThis should work in all levels subject to your gear.
I'm just re-writing this script for you so it will working 99% of the time in background mode and allow you to continue using things like firefox and watch youtube videos while the bot is running![]()
This is where I go to, So far it is able to get from the charector screen right up to clicking on Tyreal for his quest.
It seems to be failing on clicking Tyreal though, if anyone has any ideas please feel free to play:
The main changes to the code are moving it from Send to ControlClick and ControlSend which
Code:#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;Iskatu barbarian Farm ;Required Skills: ;Slot1: War Cry - Charge! ;Slot2: Revenge - Vengeance is Mine ;Slot4: Earthquake - Giant's Stride ;Edition by Aikeelu, credits for the original to: K!ngp!n@Blizzhackers ;Background Mode by Falkor - http://www.ownedcore.com/forums/members/646262-falkor.html Global $Paused, $WinTitle ='Diablo III' HotKeySet("{HOME}", "TogglePause") HotKeySet("{END}", "Terminate") While 1 Sleep(500) ToolTip("Not Running Hit 'HOME' to start/pause 'END' to force end!", 0, 0) WEnd Func TogglePause() $Paused = NOT $Paused While $Paused ToolTip("Running!", 0, 0) Sleep(Random( 2000, 4000, 1 )) ControlClick($WinTitle, "", "", "left", 1, Random(78,385,1), Random(398,437,1)) ; click 'resume game' Sleep(Random( 4000, 6000, 1 )) ControlClick($WinTitle, "", "", "left", 1, 1550, 900) ; go backwards to initialize position sleep(Random( 2000, 3000, 1 )) ControlClick($WinTitle, "", "", "left", 1, 115, 55) ; first click Sleep(Random( 4500, 5500, 1 )) ControlClick($WinTitle, "", "", "left", 1, 150, 145) ; second click Sleep(Random( 4700, 5700, 1 )) ControlClick($WinTitle, "", "", "left", 1, 810, 260) ; third click sleep(3000) ; cancel Tyreal's dialog ControlSend($WinTitle, "", "", "{SPACE}") sleep(Random( 400, 900, 1 )) ControlSend($WinTitle, "", "", "{SPACE}") ; cancel Imperius' dialog sleep(Random( 400, 800, 1 )) ControlSend($WinTitle, "", "", "{SPACE}") sleep(Random( 3000, 5000, 1 )) ControlClick($WinTitle, "", "", "left", 1, 1020, 371) ; click on tyreal sleep(Random( 800, 1200, 1 )) ControlSend($WinTitle, "", "", "{ESCAPE}") ; cancel Tyreal's 1st popup dialog sleep(Random( 400, 700, 1 )) ControlSend($WinTitle, "", "", "{ESCAPE}") ; cancel Tyreal's 2nd popup dialog sleep(Random( 500, 700, 1 )) ControlClick($WinTitle, "", "", "left", 1, 467, 147) ; move/click on the portal sleep(Random( 2500, 3500, 1 )) ControlSend($WinTitle, "", "", "{ESCAPE}") ; cancel cinematic sleep(Random( 400, 600, 1 )) ControlClick($WinTitle, "", "", "left", 1, Random(850,910,1), Random(350,377,1)) ; click 'Ok' sleep(Random( 700, 1200, 1 )) If PixelGetColor(1578,111) = 16634255 Then ; in options menu. Portal must have failed ControlSend($WinTitle, "", "", "{ESCAPE}") sleep(1000) ControlSend($WinTitle, "", "", "{ESCAPE}") sleep(2000) ControlClick($WinTitle, "", "", "left", 1, 926, 244) ; click portal again sleep(4000) ControlSend($WinTitle, "", "", "{ESCAPE}") ; cancel cinematic sleep(1000) ControlClick($WinTitle, "", "", "left", 1, Random(850,910,1), Random(350,377,1)) ; click 'Ok' sleep(1000) endif sleep(Random( 4500, 5700, 1 )) ; combat ControlSend($WinTitle, "", "", "2") sleep(Random( 1000, 2000, 1 )) ControlSend($WinTitle, "", "", "2") sleep(Random( 1000, 2000, 1 )) ControlSend($WinTitle, "", "", "{1}") sleep(Random( 1000, 3000, 1 )) ControlSend($WinTitle, "", "", "{4}") sleep(Random( 2000, 3000, 1 )) ControlSend($WinTitle, "", "", "2") sleep(Random( 1000, 2000, 1 )) ControlSend($WinTitle, "", "", "{2}") ; use big AE DMG spell for Iskatu sleep(Random( 2000, 3000, 1 )) ControlSend($WinTitle, "", "", "{2}") sleep(Random( 2000, 3000, 1 )) ControlSend($WinTitle, "", "", "{2}") sleep(Random( 2000, 3000, 1 )) ControlSend($WinTitle, "", "", "{2}") ControlClick($WinTitle, "", "", "left", 1, 990, 650) ; move a little bit to pick up gold sleep(Random( 3000, 5000, 1 )) ; wait to ensure quest completes ControlSend($WinTitle, "", "", "t") sleep(Random( 7200, 7900, 1 )) ControlSend($WinTitle, "", "", "{ESCAPE}") sleep(Random( 1000, 2000, 1 )) MouseClick("left",Random(800,1110,1),Random(560,590,1)) ; click 'leave game' sleep(Random( 6500, 7500, 1 )) MouseClick("left",Random(70,390,1),Random(465,510,1)) ; click 'change quest' sleep(Random( 1500, 2500, 1 )) MouseClick("left",Random(375,790,1),Random(595,635,1)) ; click 'Fall of the High Heavens' quest sleep(Random( 1500, 2500, 1 )) MouseClick("left",Random(1040,1365,1),Random(840,885,1)) ; click 'Select Quest' sleep(Random( 1500, 2500, 1 )) MouseClick("left",Random(755,940,1),Random(610,650,1)) ; click 'Ok' WEnd EndFunc Func Terminate() Exit 0 EndFunc
Trade Feedbacks
I'll test it falkor, coming back in a few minutesthanks for this, didnt know it was possible to run in background!
EDIT: kk, tested and getting the same problem, can't click on tyrael even changing coords. I guess it's because the mouse need to highlight Tyrael to make him clickable, isnt 100% sure but it might be cause of this
Last edited by Aikeelu; 06-22-2012 at 06:26 PM.
the script some times minimizes the game... others it gets bugged... Just a couple of times it works.
Thanks for this, did a few tweaks and it is working on my side 1080p resolution.
Code:#Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;Iskatu barbarian Farm ;Required Skills: ;Slot1: War Cry - Charge! ;Slot2: Revenge - Vengeance is Mine ;Slot3: Wrath of the Berserker ;Slot4: Earthquake - Giant's Stride ;Edition by Aikeelu, credits for the original to: K!ngp!n@Blizzhackers ;Background Mode by Falkor - http://www.ownedcore.com/forums/members/646262-falkor.html Global $Paused, $WinTitle ='Diablo III' HotKeySet("{HOME}", "TogglePause") HotKeySet("{END}", "Terminate") While 1 Sleep(500) ToolTip("Not Running Hit 'HOME' to start/pause 'END' to force end!", 0, 0) WEnd Func TogglePause() $Paused = NOT $Paused While $Paused ToolTip("Running!", 0, 0) Sleep(Random( 2000, 2500, 1 )) MouseClick("left",Random(78,385,1),Random(398,437,1)) ; click 'resume game' Sleep(Random( 8000, 9000, 1 )) MouseClick("left", 1550, 900) ; go backwards to initialize position Sleep(Random( 1000, 1500, 1 )) MouseClick("left",115,55) ; first click Sleep(Random( 3800, 4500, 1 )) MouseClick("left",150,145) ; second click Sleep(Random( 3700, 4000, 1 )) MouseClick("left",810,260,1) ; third click Sleep(Random( 19500, 20000, 1 )) MouseClick("left",1000,430,1) Sleep(Random( 1000, 1300, 1 )) ControlSend($WinTitle, "", "", "{ESCAPE}") ; cancel Tyreal's 1st popup dialog Sleep(Random( 400, 700, 1 )) ControlSend($WinTitle, "", "", "{ESCAPE}") ; cancel Tyreal's 2nd popup dialog Sleep(Random( 500, 700, 1 )) MouseClick("left",524, 295) Sleep(Random( 900, 1200, 1 )) MouseClick("left",918,296,1) ; click on the portal Sleep(Random( 3900, 4000, 1 )) ControlSend($WinTitle, "", "", "{ESCAPE}") ; cancel cinematic Sleep(Random( 400, 600, 1 )) ControlClick($WinTitle, "", "", "left", 1, Random(850,910,1), Random(350,377,1)) ; click 'Ok' sleep(Random( 3000, 4000, 1 )) ControlSend($WinTitle, "", "", "1") sleep(Random( 5000, 5500, 1 )) ; combat ControlSend($WinTitle, "", "", "2") sleep(Random( 2000, 2500, 1 )) ControlSend($WinTitle, "", "", "2") sleep(Random( 1500, 2000, 1 )) ControlSend($WinTitle, "", "", "4") sleep(Random( 1000, 1200, 1 )) ControlSend($WinTitle, "", "", "3") sleep(Random( 1600, 1800, 1 )) ControlSend($WinTitle, "", "", "2") sleep(Random( 2000, 2100, 1 )) MouseClick("left",990, 650) ; move a little bit to pick up gold sleep(Random( 8000, 8200, 1 )) ; wait to ensure quest completes ControlSend($WinTitle, "", "", "t") sleep(Random( 7000, 7500, 1 )) ControlSend($WinTitle, "", "", "{ESCAPE}") sleep(Random( 1000, 2000, 1 )) MouseClick("left",Random(800,1110,1),Random(560,590,1)) ; click 'leave game' sleep(Random( 4500, 5000, 1 )) MouseClick("left",Random(70,390,1),Random(465,510,1)) ; click 'change quest' sleep(Random( 1500, 2000, 1 )) MouseClick("left",Random(375,790,1),Random(535,555,1)) ; click 'Fall of the High Heavens' quest sleep(Random( 1500, 2000, 1 )) MouseClick("left",Random(1040,1365,1),Random(840,885,1)) ; click 'Select Quest' sleep(Random( 1500, 2000, 1 )) MouseClick("left",Random(755,940,1),Random(610,650,1)) ; click 'Ok' WEnd EndFunc Func Terminate() Exit 0 EndFunc
Your version does not I'm affraid do anything more then the original posters one does, In fact it takes longer because you removed some of the key skipping parts.
The version I've been working on is to expand the original posters further in order to work in background mode 100%.
Trade Feedbacks
Aww :/ anyway this commands might be really useful for other bots not using npcs, thanks sir (:
i think mine is getting bugged cause the lag dont know... how can i change the time that it clicks on tyrael and enter iskatu ??? Is there a way to slow the seconds?
Another thing: is there a way to use it in full screen windowed mode?
Thanks
Bookmarks