Guest User

ClickerHeroes Autoclicker + Abilities + Hero Leveling

a guest
Oct 20th, 2015
791
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Clicker Heroes AutoHotkey script
  2. ; Version: 0.1
  3. ; Date: 4/23/2015
  4. ; Author: Andrux51 (http://github.com/Andrux51)
  5. ;
  6. ; This script will auto-click the Clicker Heroes game window while attempting
  7. ; to collect all "clickables" (currently Easter Eggs) including the moving one.
  8. ; The clicks per second should average roughly 50 consistently.
  9. ; Other scripts may spike higher (I got as high as 90) but this is inconsistent.
  10. ;
  11. ; The script will not attempt to use skills, level characters, or anything else.
  12. ; These features may be added in the future but are not a priority for now.
  13. ;
  14. ; Instructions:
  15. ; - Run .ahk file
  16. ; - Make sure the Clicker Heroes game tab is visible in your browser
  17. ; - F7 will begin (and resume when paused) the clicker
  18. ; - F8 will pause the clicker
  19. ; - F9 will decrease the clicking timer so that you can buy abilities or w/e while not losing stacks.
  20. ; - F10 turns off timer
  21. ; - F11 levels 4th position hero
  22. ;
  23. ; The script should detect when the user leaves the CH tab of the browser and
  24. ; pause automatically. Hitting F7 again will resume.
  25. ;
  26.  
  27. #SingleInstance force ; if script is opened again, replace instance
  28. #Persistent ; script stays in memory until ExitApp is called or script crashes
  29.  
  30. global title := "- Clicker Heroes"
  31. global stop := false
  32. global timing
  33.  
  34. global w := 1136 ; Flash panel is 1136px wide with auto margin
  35. global leftMargin
  36. global h := 132 ; Logo takes up 132px from top of browser window
  37. global topMargin
  38.  
  39. ; We will get position of browser window with CH inside in a function below
  40. global chWidth
  41. global chHeight
  42. global chX
  43. global chY
  44.  
  45. ; F7 will begin/resume the auto-clicker
  46. F7::
  47.     slacktivate(145, 50, false)
  48.     return
  49.  
  50. F11::
  51.     slacktivate(145, 15, true)
  52.     return
  53.  
  54. ; F8 will pause the auto-clicker
  55. F8::
  56.     stop := true
  57.     return
  58.  
  59. ; F9 will allow for time to buy guys/skills etc without losing combo
  60. F9::
  61.     slacktivate(1000, 1, false)
  62.     return
  63.  
  64. ; F10 turns off timer
  65. f10::reload ; turns off timer
  66.  
  67. ; pass in milliseconds to adjust click speed
  68. ; pass in priority level for clickables
  69. ; ; higher number means more clicks on moving clickable, less for others
  70. slacktivate(milli, p, levelup) {
  71.     timing := milli
  72.     stop := false
  73.     SetMouseDelay 0
  74.     SetControlDelay 0
  75.  
  76.     ; We get the position and width/height of the browser window
  77.     getWindowAttributes()
  78.  
  79.     i = 0
  80.     ; Send clicks to CH while the script is active (press F8 to stop)
  81.     while(!stop) {
  82.         checkActiveWindow()
  83.        
  84.         ;Click
  85.         ; try to catch skill bonus clickable
  86.         ; high priority- this requires a lot of focused clicks
  87.         getSkillBonusClickable()
  88.  
  89.         ; low priority- other clickables are moderately rare
  90.         if(i > p) {
  91.             ; try to get other clickables
  92.             getClickables()
  93.             if(levelup) {
  94.                 levelGildedHero()
  95.             }
  96.             i = 0
  97.         }
  98.  
  99.         i++
  100.         Sleep %timing%
  101.     }
  102.  
  103.     return
  104. }
  105.  
  106. getWindowAttributes() {
  107.     SetTitleMatchMode 2 ; window title contains the string supplied
  108.  
  109.     ; Activate browser window that contains Clicker Heroes tab
  110.     ; Only if Clicker Heroes is the current tab
  111.     WinActivate %title%
  112.  
  113.     ; get position of browser window with CH inside
  114.     WinGetPos, chX, chY, chWidth, chHeight, %title%
  115.     leftMargin := (chWidth - w)/2
  116.     if(chHeight < 900) {
  117.         topMargin := h
  118.     } else {
  119.         topMargin := 0
  120.     }
  121.  
  122.     return
  123. }
  124.  
  125. checkActiveWindow() {
  126.     ; Stop looping if CH browser window is not active
  127.     ; This allows the user to click away without their mouse going ape
  128. ;    if not WinActive(title) {
  129. ;        stop := true
  130. ;        Exit 0
  131. ;    }
  132.  
  133.     return
  134. }
  135.  
  136. levelGildedHero() {
  137.     Send {q down}
  138.     ;ControlClick, % "x" leftMargin+140 " y" 500-topMargin, %title%,,, NA
  139.     ControlClick, % "x" leftMargin+140 " y" 780-topMargin, %title%,,, NA
  140.     Send {q up}
  141.     Send, {8}{3}{7}{5}{4}{1}{2}
  142. }
  143.  
  144. getSkillBonusClickable() {
  145.     checkActiveWindow()
  146.  
  147.     ; click in a sequential area to try to catch mobile clickable
  148.     ControlClick, % "x" leftMargin+780 " y" 340-topMargin, %title%,,, NA
  149.     ControlClick, % "x" leftMargin+800 " y" 340-topMargin, %title%,,, NA
  150.     ControlClick, % "x" leftMargin+880 " y" 340-topMargin, %title%,,, NA
  151.     ControlClick, % "x" leftMargin+900 " y" 340-topMargin, %title%,,, NA
  152.     ControlClick, % "x" leftMargin+980 " y" 340-topMargin, %title%,,, NA
  153.     ControlClick, % "x" leftMargin+1000 " y" 340-topMargin, %title%,,, NA
  154.  
  155.     return
  156. }
  157.  
  158. getClickables() {
  159.     checkActiveWindow()
  160.  
  161.     ; clickable positions
  162.     ControlClick, % "x" leftMargin+515 " y" 670-topMargin, %title%,,, NA
  163.     ControlClick, % "x" leftMargin+740 " y" 610-topMargin, %title%,,, NA
  164.     ControlClick, % "x" leftMargin+755 " y" 560-topMargin, %title%,,, NA
  165.     ControlClick, % "x" leftMargin+860 " y" 690-topMargin, %title%,,, NA
  166.     ControlClick, % "x" leftMargin+1000 " y" 635-topMargin, %title%,,, NA
  167.     ControlClick, % "x" leftMargin+1040 " y" 620-topMargin, %title%,,, NA
  168.  
  169.     return
  170. }
Advertisement
Add Comment
Please, Sign In to add comment