Advertisement
Guest User

test

a guest
Dec 22nd, 2014
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.83 KB | None | 0 0
  1. #RequireAdmin
  2. #include <StaticConstants.au3>
  3. #include <ButtonConstants.au3>
  4. #include <ComboConstants.au3>
  5. #include <GuiComboBox.au3>
  6. #include <GUIConstantsEx.au3>
  7. #include <EditConstants.au3>
  8. #include <WindowsConstants.au3>
  9. #include <TrayConstants.au3>
  10. #include <Misc.au3>
  11. #include "GkevinOD.au3"
  12.  
  13. Opt ("GUIOnEventMode", 1)
  14. Opt ("MouseClickDelay", 10)
  15. Opt ("MouseClickDownDelay", 10)
  16. Opt ("MouseCoordMode", 0)
  17. Opt ('PixelCoordMode', 0)
  18.  
  19. GUIRegisterMsg($WM_COMMAND, "GUIControl")
  20. GUIRegisterMsg($WM_SYSCOMMAND, "GUIControl")
  21.  
  22. Global $Title = "BlueStacks App Player"
  23. Global $HWnD = WinGetHandle (WinGetTitle($Title))
  24. WinActivate ($HWnD)
  25.  
  26. $BlueStacks_XY = WinGetPos($HWnD, "")
  27. $x_default = $BlueStacks_XY [0] + 52
  28. $y_default = $BlueStacks_XY [1] + 93
  29.  
  30. Global $RunState = False, $KeepAlive = False, $FullArmy = False
  31. Global $Gold, $Elixir, $Dark, $Trophy, $MinGold = 80000, $MinElixir = 80000, $MinDark = 0, $MinTrophy = 0, $SearchMode = 1, $SearchCheck = 0
  32.  
  33. Global $Attack = 0xF0E5D6, $FindAMatch = 0xF8E0A7
  34. Global $Config = @ScriptDir & "\config.ini"
  35. Global $Left = 50.23, $Top = 67.5, $Right = 613.95, $Bottom = 431.67
  36. Global $BSsize = WinGetClientSize($hWnd)
  37. Global $x_ratio = $BSsize[0]/800, $y_ratio = $BSsize[1]/600
  38.  
  39. Global $Troop[5][2] = [[60*$x_ratio,505*$y_ratio],[130*$x_ratio,505*$y_ratio],[200*$x_ratio,505*$y_ratio],[265*$x_ratio,505*$y_ratio],[372*$x_ratio,505*$y_ratio]]
  40. Global $Barbarian[2] = [0,0], $Archer[2] = [0,0], $Golbin[2] =[0,0], $Giant[2] = [0,0]
  41. Global $B1Pos[2] = [0,0], $B2Pos[2] = [0,0], $B3Pos[2] = [0,0], $B4Pos[2] = [0,0]
  42. Global $B1Troop, $B2Troop, $B3Troop, $B4Troop
  43.  
  44. Global $UpLeft[5][2] = [[350*$x_ratio,51*$y_ratio],[230*$x_ratio,100*$y_ratio],[186*$x_ratio,160*$y_ratio],[144*$x_ratio,187*$y_ratio],[125*$x_ratio,200*$y_ratio]]
  45. Global $UpRight[5][2] = [[460*$x_ratio,62*$y_ratio],[520*$x_ratio,97*$y_ratio],[570*$x_ratio,134*$y_ratio],[647*$x_ratio,186*$y_ratio],[692*$x_ratio,211*$y_ratio]]
  46. Global $LowLeft[5][2] = [[77*$x_ratio, 306*$y_ratio],[130*$x_ratio,353*$y_ratio],[181*$x_ratio,395*$y_ratio],[214*$x_ratio,415*$y_ratio],[250*$x_ratio,442*$y_ratio]]
  47. Global $LowRight[5][2] = [[734*$x_ratio,290*$y_ratio],[685*$x_ratio,318*$y_ratio],[630*$x_ratio,350*$y_ratio],[600*$x_ratio,369*$y_ratio],[535*$x_ratio,425*$y_ratio]]
  48.  
  49.  
  50.  
  51. #Region ##### GUI #####
  52. $BotGUI = GUICreate("Clash of Clans Bot", 330, 500)
  53. GUICtrlSetFont(-1, 10, 800, 0, "Calibri")
  54. GUISetOnEvent($GUI_EVENT_CLOSE, "Terminate")
  55. $Button = GUICtrlCreateButton("START", 10, 450, 310, 40)
  56. GUICtrlSetOnEvent(-1, "Start")
  57. $LBButton = GUICtrlCreateButton("Locate Barrack", 10, 380, 99, 30)
  58. GUICtrlSetOnEvent(-1, "LB")
  59. $TrButton = GUICtrlCreateButton("Train", 116, 380, 99, 30)
  60. GUICtrlSetOnEvent(-1, "Tr")
  61. $AtkButton = GUICtrlCreateButton("Attack", 222, 380, 99, 30)
  62. GUICtrlSetOnEvent(-1, "Atk")
  63. $VSButton = GUICtrlCreateButton("Village Search", 10, 415, 151, 30)
  64. GUICtrlSetOnEvent(-1, "SearchFunction")
  65. $DTButton = GUICtrlCreateButton("Drop Troop", 169, 415, 151, 30)
  66. GUICtrlSetOnEvent(-1, "DrpTrp")
  67. ;$KAButton = GUICtrlCreateButton("Keep Alive: OFF", 30, 110, 100, 20)
  68. ;GUICtrlSetOnEvent(-1, "KeepAlive")
  69. ;$SearchOption = GUICtrlCreateCombo("G.E", 45, 10, 70, 17, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
  70. ;GUICtrlSetData(-1, "G/E|G.E.D|G.E.D.T")
  71. $MeetAll = GUICtrlCreateCheckbox("Meet all conditions", 25, 15, 140, 17)
  72. GUICtrlSetState(-1, $GUI_CHECKED)
  73. GUICtrlCreateLabel("(G)", 15, 41, 15, 17)
  74. $MinGoldInput = GUICtrlCreateInput("", 32, 39, 45, 21, $ES_NUMBER)
  75. GUICtrlSetLimit(-1, 6)
  76. GUICtrlSetData(-1, $MinGold)
  77. GUICtrlCreateLabel("(E)", 15, 66, 15, 17)
  78. $MinElixirInput = GUICtrlCreateInput("", 32, 63, 45, 21, $ES_NUMBER)
  79. GUICtrlSetLimit(-1, 6)
  80. GUICtrlSetData(-1, $MinElixir)
  81. GUICtrlCreateLabel("(D)", 85, 41, 15, 17)
  82. $MinDarkInput = GUICtrlCreateInput("", 102, 39, 45, 21, $ES_NUMBER)
  83. GUICtrlSetLimit(-1, 4)
  84. GUICtrlSetData(-1, $MinDark)
  85. GUICtrlCreateLabel("(T)", 85, 66, 15, 17)
  86. $MinTrophyInput = GUICtrlCreateInput("", 102, 63, 45, 21, $ES_NUMBER)
  87. GUICtrlSetLimit(-1, 6)
  88. GUICtrlSetData(-1, $MinTrophy)
  89. $Barrack01 = GUICtrlCreateCombo("Barrack 01", 167, 39, 70, 30, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
  90. GUICtrlSetData(-1, "Barbarian|Archer|Goblin|Giant")
  91. _GUICtrlComboBox_SelectString(-1, "Archer")
  92. $Barrack02 = GUICtrlCreateCombo("Barrack 02", 167, 63, 70, 30, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
  93. GUICtrlSetData(-1, "Barbarian|Archer|Goblin|Giant")
  94. _GUICtrlComboBox_SelectString(-1, "Archer")
  95. $Barrack03 = GUICtrlCreateCombo("Barrack 03", 240, 39, 70, 30, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
  96. GUICtrlSetData(-1, "Barbarian|Archer|Goblin|Giant")
  97. _GUICtrlComboBox_SelectString(-1, "Barbarian")
  98. $Barrack04 = GUICtrlCreateCombo("Barrack 04", 240, 63, 70, 30, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
  99. GUICtrlSetData(-1, "Barbarian|Archer|Goblin|Giant")
  100. _GUICtrlComboBox_SelectString(-1, "Barbarian")
  101. $Results = GUICtrlCreateEdit("", 10, 94, 310, 276, BitOR($SS_SUNKEN,$ES_READONLY, $SS_LEFT))
  102. ;$Results = GUICtrlCreateList("", 20, 140, 260, 225, BitOR($SS_SUNKEN,$ES_READONLY, $SS_LEFT, $WS_VSCROLL))
  103. GUISetState(@SW_SHOW)
  104. WinSetOnTop($BotGUI,"",1)
  105. #EndRegion ##### GUI #####
  106.  
  107. While 1
  108. $Msg = GUIGetMsg()
  109. WEnd
  110.  
  111. Func GUIControl($hWind, $iMsg, $wParam, $lParam)
  112. Local $nNotifyCode = BitShift($wParam, 16)
  113. Local $nID = BitAND($wParam, 0x0000FFFF)
  114. Local $hCtrl = $lParam
  115. #forceref $hWind, $iMsg, $wParam, $lParam
  116. Switch $iMsg
  117. Case 273
  118. Switch $nID
  119. Case $Button
  120. ClearBox()
  121. $RunState = Not $RunState
  122. If $RunState = True Then
  123. GUICtrlSetData($Button,"STOP")
  124. GUICtrlSetData($Results, "Bot Started.." & @CRLF, -1)
  125. ElseIf $RunState = False Then
  126. GUICtrlSetData($Button,"START")
  127. GUICtrlSetData($Results, "Bot Stopped" & @CRLF, -1)
  128. EndIf
  129. Case $LBButton
  130. GUICtrlSetData($LBButton,"Locating...")
  131. GUICtrlSetData($Results, "Bot Started.." & @CRLF, -1)
  132. Case $TrButton
  133. GUICtrlSetData($TrButton,"Training...")
  134. GUICtrlSetData($Results, "Bot Started.." & @CRLF, -1)
  135. Case $AtkButton
  136. GUICtrlSetData($AtkButton,"Attacking...")
  137. GUICtrlSetData($Results, "Bot Started.." & @CRLF, -1)
  138. Case $VSButton
  139. GUICtrlSetData($VSButton,"Searching...")
  140. GUICtrlSetData($Results, "Bot Started.." & @CRLF, -1)
  141. Case $DTButton
  142. GUICtrlSetData($DTButton,"Dropping...")
  143. ;GUICtrlSetData($Results, "Bot Started.." & @CRLF, -1)
  144. #cs
  145. Case $KAButton
  146. $KeepAlive = Not $KeepAlive
  147. If $KeepAlive = True Then
  148. GUICtrlSetData($KAButton,"Keep Alive: ON")
  149. ElseIf $KeepAlive = False Then
  150. GUICtrlSetData($KAButton,"Keep Alive: OFF")
  151. EndIf
  152. #ce
  153. EndSwitch
  154. Case 274
  155. Switch $wParam
  156. Case 0xf060
  157. Exit
  158. EndSwitch
  159. EndSwitch
  160. Return $GUI_RUNDEFMSG
  161. EndFunc
  162.  
  163. Func Start()
  164. While 1
  165. If $RunState = False Then
  166. ExitLoop
  167. EndIf
  168. MainScreen() ;Check if main screen
  169. If $RunState = False Then
  170. ExitLoop
  171. EndIf
  172. GetInput() ;Read user's input
  173. If $RunState = False Then
  174. ExitLoop
  175. EndIf
  176. ZoomOut()
  177. If $RunState = False Then
  178. ExitLoop
  179. EndIf
  180. LocateBarrack() ;If barrack not located, ask user to manually click on barrack to locate position
  181. If $RunState = False Then
  182. ExitLoop
  183. EndIf
  184. If $RunState = False Then
  185. ExitLoop
  186. EndIf
  187. Train() ;Locate Barrack, Train Barrack
  188. If $RunState = False Then
  189. ExitLoop
  190. EndIf
  191. ClearBox()
  192. While Not $FullArmy
  193. Idle()
  194. WEnd
  195. If $RunState = False Then
  196. ExitLoop
  197. EndIf
  198. Attack() ;Prepare Attack, Read Value, Compute Value, Compare Value, Search Village, Drop Troop, Return Home
  199. WEnd
  200. EndFunc
  201.  
  202. Func GetInput()
  203. GUICtrlSetData($Results, "Func GetInput" & @CRLF, -1)
  204. $B1Troop = GUICtrlRead($Barrack01)
  205. $B2Troop = GUICtrlRead($Barrack02)
  206. $B3Troop = GUICtrlRead($Barrack03)
  207. $B4Troop = GUICtrlRead($Barrack04)
  208. $MinGold = Number(GUICtrlRead($MinGoldInput))
  209. $MinElixir = Number(GUICtrlRead($MinElixirInput))
  210. If GUICtrlRead($MeetAll) = $GUI_CHECKED Then
  211. $SearchMode = 2
  212. Else
  213. $SearchMode = 1
  214. EndIf
  215. $B1Pos[0] = IniRead($Config, "Barrack 01", "X", "0")
  216. $B1Pos[1] = IniRead($Config, "Barrack 01", "Y", "0")
  217. $B2Pos[0] = IniRead($Config, "Barrack 02", "X", "0")
  218. $B2Pos[1] = IniRead($Config, "Barrack 02", "Y", "0")
  219. $B3Pos[0] = IniRead($Config, "Barrack 03", "X", "0")
  220. $B3Pos[1] = IniRead($Config, "Barrack 03", "Y", "0")
  221. $B4Pos[0] = IniRead($Config, "Barrack 04", "X", "0")
  222. $B4Pos[1] = IniRead($Config, "Barrack 04", "Y", "0")
  223. If $B1Pos[0]*$B2Pos[0]*$B3Pos[0]*$B4Pos[0] <> 0 Then
  224. GUICtrlSetData($Results, "Barracks' position loaded successfully" & @CRLF, -1)
  225. GUICtrlSetData($Results, "Barrack 01: " & $B1Pos[0] & ", " & $B1Pos[1] & @CRLF, -1)
  226. GUICtrlSetData($Results, "Barrack 02: " & $B2Pos[0] & ", " & $B2Pos[1] & @CRLF, -1)
  227. GUICtrlSetData($Results, "Barrack 03: " & $B3Pos[0] & ", " & $B3Pos[1] & @CRLF, -1)
  228. GUICtrlSetData($Results, "Barrack 04: " & $B4Pos[0] & ", " & $B4Pos[1] & @CRLF, -1)
  229. EndIf
  230. EndFunc
  231.  
  232. #Region ##### TRAIN #####
  233. Func LocateBarrack()
  234. Local $ClickCheck, $LocateCheck = 0
  235. While 1
  236. While 1
  237. If $RunState = False Then
  238. ExitLoop(2)
  239. EndIf
  240. If $B1Pos[0] = 0 Then
  241. $ClickCheck = MsgBox(6+262144, "Locate first barrack", "Click Continue then click on your first barrack. Cancel if not available. Try again to start over.", 0, $BotGUI)
  242. If $ClickCheck = 11 Then
  243. WinActivate ($HWnD)
  244. FindPos($B1Pos)
  245. IniWrite ($Config, "Barrack 01", "X", $B1Pos[0])
  246. IniWrite ($Config, "Barrack 01", "Y", $B1Pos[1])
  247. ElseIf $ClickCheck = 10 Then
  248. $B1Pos[0] = 0
  249. $B2Pos[0] = 0
  250. $B3Pos[0] = 0
  251. $B4Pos[0] = 0
  252. ExitLoop
  253. EndIf
  254. Sleep(500)
  255. EndIf
  256. If $RunState = False Then
  257. ExitLoop(2)
  258. EndIf
  259. If $B2Pos[0] = 0 Then
  260. $ClickCheck = MsgBox(6+262144, "Locate second barrack", "Click Continue then click on you second barrack. Cancel if not available. Try again to start over.", 0, $BotGUI)
  261. If $ClickCheck = 11 Then
  262. WinActivate ($HWnD)
  263. FindPos($B2Pos)
  264. IniWrite ($Config, "Barrack 02", "X", $B2Pos[0])
  265. IniWrite ($Config, "Barrack 02", "Y", $B2Pos[1])
  266. ElseIf $ClickCheck = 10 Then
  267. $B1Pos[0] = 0
  268. $B2Pos[0] = 0
  269. $B3Pos[0] = 0
  270. $B4Pos[0] = 0
  271. ExitLoop
  272. EndIf
  273. Sleep(500)
  274. EndIf
  275. If $RunState = False Then
  276. ExitLoop(2)
  277. EndIf
  278. If $B3Pos[0] = 0 Then
  279. $ClickCheck = MsgBox(6+262144, "Locate third barrack", "Click Continue then click on your third barrack. Cancel if not available. Try again to start over.", 0, $BotGUI)
  280. If $ClickCheck = 11 Then
  281. WinActivate ($HWnD)
  282. FindPos($B3Pos)
  283. IniWrite ($Config, "Barrack 03", "X", $B3Pos[0])
  284. IniWrite ($Config, "Barrack 03", "Y", $B3Pos[1])
  285. ElseIf $ClickCheck = 10 Then
  286. $B1Pos[0] = 0
  287. $B2Pos[0] = 0
  288. $B3Pos[0] = 0
  289. $B4Pos[0] = 0
  290. ExitLoop
  291. EndIf
  292. Sleep(500)
  293. EndIf
  294. If $RunState = False Then
  295. ExitLoop(2)
  296. EndIf
  297. If $B4Pos[0] = 0 Then
  298. $ClickCheck = MsgBox(6+262144, "Locate fourth barrack", "Click Continue then click on your fourth barrack. Cancel if not available. Try again to start over.", 0, $BotGUI)
  299. If $ClickCheck = 11 Then
  300. WinActivate ($HWnD)
  301. FindPos($B4Pos)
  302. IniWrite ($Config, "Barrack 04", "X", $B4Pos[0])
  303. IniWrite ($Config, "Barrack 04", "Y", $B4Pos[1])
  304. ElseIf $ClickCheck = 10 Then
  305. $B1Pos[0] = 0
  306. $B2Pos[0] = 0
  307. $B3Pos[0] = 0
  308. $B4Pos[0] = 0
  309. ExitLoop
  310. EndIf
  311. Sleep(500)
  312. EndIf
  313. ExitLoop(2)
  314. WEnd
  315. WEnd
  316. EndFunc
  317.  
  318. Func TrainBarrack($x, $y, $z)
  319. While 1
  320. If $RunState = False Then
  321. ExitLoop
  322. EndIf
  323. ControlClick ($HWnD, "","", "left", "1", $x, $y)
  324. Sleep(1000)
  325. ControlClick ($HWnD, "","", "left", "1", 560*$x_ratio, 490*$y_ratio)
  326. Sleep(1000)
  327. $Pixel = PixelGetColor(351*$x_ratio, 455*$y_ratio, $HWnD)
  328. If $Pixel = 13645880 OR $Pixel = 13645881 OR $Pixel = 13645888 OR $Pixel = 13645889 OR $Pixel = 13645890 OR $Pixel = 13645891 Then
  329. $FullArmy = True
  330. EndIf
  331. Select
  332. Case $z = "Barbarian"
  333. For $i = 1 To 65 Step 1
  334. ControlClick ($HWnD, "","", "left", "1", 220*$x_ratio, 270*$y_ratio)
  335. If $RunState = False Then
  336. ExitLoop
  337. EndIf
  338. Sleep(50)
  339. Next
  340. Case $z = "Archer"
  341. For $i = 1 To 65 Step 1
  342. ControlClick ($HWnD, "","", "left", "1", 310*$x_ratio, 270*$y_ratio)
  343. If $RunState = False Then
  344. ExitLoop
  345. EndIf
  346. Sleep(50)
  347. Next
  348. Case $z = "Goblin"
  349. For $i = 1 To 65 Step 1
  350. ControlClick ($HWnD, "","", "left", "1", 490*$x_ratio, 270*$y_ratio)
  351. If $RunState = False Then
  352. ExitLoop
  353. EndIf
  354. Sleep(50)
  355. Next
  356. Case $z = "Giant"
  357. For $i = 1 To 15 Step 1
  358. ControlClick ($HWnD, "","", "left", "1", 400*$x_ratio, 270*$y_ratio)
  359. If $RunState = False Then
  360. ExitLoop
  361. EndIf
  362. Sleep(50)
  363. Next
  364. EndSelect
  365. If $RunState = False Then
  366. ExitLoop
  367. EndIf
  368. Sleep(1000)
  369. ControlClick ($HWnD, "","", "left", "1", 656*$x_ratio, 113*$y_ratio)
  370. Sleep(1000)
  371. ExitLoop
  372. WEnd
  373. EndFunc
  374.  
  375. Func Train()
  376. GUICtrlSetData($Results,"Begin Training" & @CRLF, -1)
  377. $FullArmy = False
  378. If $B1Pos[0] <> 0 Then
  379. TrainBarrack($B1Pos[0],$B1Pos[1],$B1Troop)
  380. EndIf
  381. If $B2Pos[0] <> 0 Then
  382. TrainBarrack($B2Pos[0],$B2Pos[1],$B2Troop)
  383. EndIf
  384. If $B3Pos[0] <> 0 Then
  385. TrainBarrack($B3Pos[0],$B3Pos[1],$B3Troop)
  386. EndIf
  387. If $B4Pos[0] <> 0 Then
  388. TrainBarrack($B4Pos[0],$B4Pos[1],$B4Troop)
  389. EndIf
  390. If $FullArmy Then
  391. GUICtrlSetData($Results, "Army Full" & @CRLF, -1)
  392. EndIf
  393. GUICtrlSetData($Results, "Training Complete" & @CRLF, -1)
  394. EndFunc
  395. #EndRegion ##### TRAIN #####
  396.  
  397. #Region ##### ATTACK #####
  398. Func Attack()
  399. While 1
  400. If $RunState = False Then
  401. ExitLoop
  402. EndIf
  403. AssignTroop()
  404. If $RunState = False Then
  405. ExitLoop
  406. EndIf
  407. PrepareAttack()
  408. If $RunState = False Then
  409. ExitLoop
  410. EndIf
  411. GUICtrlSetData($Results, "Attack started. Begin searching.." & @CRLF, -1)
  412. VillageSearch()
  413. If $RunState = False Then
  414. ExitLoop
  415. EndIf
  416. Sleep(5000)
  417. DropTroop()
  418. If $RunState = False Then
  419. ExitLoop
  420. EndIf
  421. ReturnHome()
  422. ExitLoop
  423. WEnd
  424. EndFunc
  425.  
  426. Func PrepareAttack()
  427. While 1
  428. If $RunState = False Then
  429. ExitLoop
  430. EndIf
  431. ControlClick ($HWnD, "","", "left", "1", 50*$x_ratio, 500*$y_ratio) ;Click Attack
  432. If $RunState = False Then
  433. ExitLoop
  434. EndIf
  435. Sleep(2000)
  436. ControlClick ($HWnD, "","", "left", "1", 190*$x_ratio, 420*$y_ratio) ;Click Find a Match
  437. If $RunState = False Then
  438. ExitLoop
  439. EndIf
  440. Sleep(2000)
  441. ControlClick ($HWnD, "","", "left", "1", 470*$x_ratio, 330*$y_ratio) ;Click Break Shield
  442. ExitLoop
  443. WEnd
  444. EndFunc
  445.  
  446. Func CheckSearch()
  447. GUICtrlSetData($Results, "Func CheckSearch" & @CRLF, -1)
  448. Sleep(2000)
  449. $GoldCheck = ""
  450. While $GoldCheck = ""
  451. $GoldCheck = getGold($x_default, $y_default)
  452. If $GoldCheck = "" Then
  453. $GoldCheck = getGold($x_default+1, $y_default+1)
  454. EndIf
  455. Sleep(200)
  456. If $RunState = False Then
  457. ExitLoop
  458. EndIf
  459. WEnd
  460. ;GUICtrlSetData($Results, "Finish check" & @CRLF, -1)
  461. EndFunc
  462.  
  463. Func VillageSearch()
  464. GUICtrlSetData($Results, "Func VillageSearch" & @CRLF, -1)
  465. While 1
  466. Global $SearchCount = 0
  467. If $RunState = False Then
  468. ExitLoop
  469. EndIf
  470. CheckSearch()
  471. If $RunState = False Then
  472. ExitLoop
  473. EndIf
  474. ReadValue()
  475. If $RunState = False Then
  476. ExitLoop
  477. EndIf
  478. CompareValue()
  479. If $RunState = False Then
  480. ExitLoop
  481. EndIf
  482. While $SearchCheck = 0
  483. If $RunState = False Then
  484. ExitLoop
  485. EndIf
  486. ControlClick ($HWnD, "","", "left", "1", 715*$x_ratio, 405*$y_ratio) ;Click Next
  487. If $RunState = False Then
  488. ExitLoop
  489. EndIf
  490. CheckSearch()
  491. If $RunState = False Then
  492. ExitLoop
  493. EndIf
  494. ReadValue()
  495. If $RunState = False Then
  496. ExitLoop
  497. EndIf
  498. CompareValue()
  499. If $RunState = False Then
  500. ExitLoop
  501. EndIf
  502. WEnd
  503. If $RunState = False Then
  504. ExitLoop
  505. EndIf
  506. GUICtrlSetData($Results, "Enemy Found!" & @CRLF, -1)
  507. ;TrayTip ("Enemy Found!","Requirement met: Gold: " & $Gold & ". Elixir: " & $Elixir, 0, $TIP_ICONASTERISK)
  508. ExitLoop
  509. WEnd
  510. EndFunc
  511.  
  512. Func CheckTroop($a)
  513. If $B1Troop = $a Or $B2Troop = $a Or $B3Troop = $a Or $B4Troop = $a Then
  514. Return True
  515. Else
  516. Return False
  517. EndIf
  518. EndFunc
  519.  
  520. Func AssignTroop()
  521. If CheckTroop("Barbarian") Then
  522. $Barbarian[0] = $Troop[0][0]
  523. $Barbarian[1] = $Troop[0][1]
  524. If CheckTroop("Archer") Then
  525. $Archer[0] = $Troop[1][0]
  526. $Archer[1] = $Troop[1][1]
  527. If CheckTroop("Goblin") Then
  528. $Goblin[0] = $Troop[2][0]
  529. $Goblin[1] = $Troop[2][1]
  530. If CheckTroop("Giant") Then
  531. $Giant[0] = $Troop[3][0]
  532. $Giant[1] = $Troop[3][1]
  533. ;MsgBox(0,"","Barbarian, Archer, Goblin, Giant")
  534. EndIf
  535. ElseIf CheckTroop("Giant") Then
  536. $Giant[0] = $Troop[2][0]
  537. $Giant[1] = $Troop[2][1]
  538. ;MsgBox(0,"","Barbarian, Archer, Giant")
  539. EndIf
  540. ElseIf CheckTroop("Goblin") Then
  541. $Goblin[0] = $Troop[1][0]
  542. $Goblin[1] = $Troop[1][1]
  543. If CheckTroop("Giant") Then
  544. $Giant[0] = $Troop[2][0]
  545. $Giant[1] = $Troop[2][1]
  546. ;MsgBox(0,"","Barbarian, Goblin, Giant")
  547. EndIf
  548. ElseIf CheckTroop("Giant") Then
  549. $Giant[0] = $Troop[1][0]
  550. $Giant[1] = $Troop[1][1]
  551. ;MsgBox(0,"","Barbarian, Giant")
  552. EndIf
  553. ElseIf CheckTroop("Archer") Then
  554. $Archer[0] = $Troop[0][0]
  555. $Archer[1] = $Troop[0][1]
  556. If CheckTroop("Goblin") Then
  557. $Goblin[0] = $Troop[1][0]
  558. $Goblin[1] = $Troop[1][1]
  559. If CheckTroop("Giant") Then
  560. $Giant[0] = $Troop[2][0]
  561. $Giant[1] = $Troop[2][1]
  562. ;MsgBox(0,"","Archer, Goblin, Giant")
  563. EndIf
  564. ElseIf CheckTroop("Giant") Then
  565. $Giant[0] = $Troop[1][0]
  566. $Giant[1] = $Troop[1][1]
  567. ;MsgBox(0,"","Archer, Giant")
  568. EndIf
  569. ElseIf CheckTroop("Goblin") Then
  570. $Goblin[0] = $Troop[0][0]
  571. $Goblin[1] = $Troop[0][1]
  572. If CheckTroop("Giant") Then
  573. $Giant[0] = $Troop[1][0]
  574. $Giant[1] = $Troop[1][1]
  575. ;MsgBox(0,"","Goblin, Giant")
  576. EndIf
  577. ElseIf CheckTroop("Giant") Then
  578. $Giant[0] = $Troop[0][0]
  579. $Giant[1] = $Troop[0][1]
  580. ;MsgBox(0,"","Giant")
  581. EndIf
  582. EndFunc
  583.  
  584. Func DropTroop()
  585. While 1
  586. GUICtrlSetData($Results, "Start to drop troops" & @CRLF, -1)
  587. If $RunState = False Then
  588. ExitLoop
  589. EndIf
  590. DropSingle("Giant",$UpLeft)
  591. If $RunState = False Then
  592. ExitLoop
  593. EndIf
  594. DropSingle("Barbarian", $UpLeft)
  595. If $RunState = False Then
  596. ExitLoop
  597. EndIf
  598. DropSingle("Archer", $UpLeft)
  599. If $RunState = False Then
  600. ExitLoop
  601. EndIf
  602. DropSingle("Giant",$UpRight)
  603. If $RunState = False Then
  604. ExitLoop
  605. EndIf
  606. DropSingle("Barbarian", $UpRight)
  607. If $RunState = False Then
  608. ExitLoop
  609. EndIf
  610. DropSingle("Archer", $UpRight)
  611. If $RunState = False Then
  612. ExitLoop
  613. EndIf
  614. DropSingle("Barbarian", $UpLeft)
  615. If $RunState = False Then
  616. ExitLoop
  617. EndIf
  618. DropSingle("Archer", $UpLeft)
  619. If $RunState = False Then
  620. ExitLoop
  621. EndIf
  622. GUICtrlSetData($Results, "Finish dropping troops. Waiting for battle end." & @CRLF, -1)
  623. ExitLoop
  624. WEnd
  625. EndFunc
  626.  
  627. Func DropSingle($T, $W)
  628. While 1
  629. If $RunState = False Then
  630. ExitLoop
  631. EndIf
  632. If CheckTroop($T) Then
  633. Select
  634. Case $T = "Giant"
  635. ControlClick ($HWnD, "","", "left", "1", $Giant[0], $Giant[1])
  636. Sleep(300)
  637. For $i = 1 to 5 Step 1
  638. ControlClick ($HWnD, "","", "left", "1", $W[$i][0], $W[$i][1])
  639. Sleep(100)
  640. Next
  641. Sleep(3000)
  642. If $RunState = False Then
  643. ExitLoop
  644. EndIf
  645. Case $T = "Barbarian"
  646. ControlClick ($HWnD, "","", "left", "1", $Barbarian[0], $Barbarian[1])
  647. Sleep(300)
  648. For $x = 0 to 7 Step 1
  649. For $i = 0 to 4 Step 1
  650. ControlClick ($HWnD, "","", "left", "1", $W[$i][0], $W[$i][1])
  651. Sleep(100)
  652. Next
  653. Next
  654. Sleep(1000)
  655. If $RunState = False Then
  656. ExitLoop
  657. EndIf
  658. Case $T = "Archer"
  659. ControlClick ($HWnD, "","", "left", "1", $Archer[0], $Archer[1])
  660. Sleep(300)
  661. For $x = 0 to 7 Step 1
  662. For $i = 0 to 4 Step 1
  663. ControlClick ($HWnD, "","", "left", "1", $W[$i][0], $W[$i][1])
  664. Sleep(100)
  665. Next
  666. Next
  667. Sleep(1000)
  668. If $RunState = False Then
  669. ExitLoop
  670. EndIf
  671. Case $T = "Goblin"
  672. ControlClick ($HWnD, "","", "left", "1", $Goblin[0], $Goblin[1])
  673. Sleep(300)
  674. For $x = 0 to 7 Step 1
  675. For $i = 0 to 4 Step 1
  676. ControlClick ($HWnD, "","", "left", "1", $W[$i][0], $W[$i][1])
  677. Sleep(100)
  678. Next
  679. Next
  680. Sleep(300)
  681. EndSelect
  682. EndIf
  683. ExitLoop
  684. WEnd
  685. EndFunc
  686.  
  687. Func DropCombo($W)
  688. While 1
  689. If $RunState = False Then
  690. ExitLoop
  691. EndIf
  692. If CheckTroop("Giant") Then
  693. ControlClick ($HWnD, "","", "left", "1", $Giant[0], $Giant[1])
  694. Sleep(500)
  695. For $i = 1 to 5 Step 1
  696. ControlClick ($HWnD, "","", "left", "1", $W[$i][0], $W[$i][1])
  697. Sleep(500)
  698. Next
  699. Sleep(2000)
  700. EndIf
  701. If $RunState = False Then
  702. ExitLoop
  703. EndIf
  704. If CheckTroop("Barbarian") Then
  705. ControlClick ($HWnD, "","", "left", "1", $Barbarian[0], $Barbarian[1])
  706. Sleep(300)
  707. For $x = 0 to 7 Step 1
  708. For $i = 0 to 4 Step 1
  709. ControlClick ($HWnD, "","", "left", "1", $W[$i][0], $W[$i][1])
  710. Sleep(100)
  711. Next
  712. Next
  713. Sleep(500)
  714. EndIf
  715. If $RunState = False Then
  716. ExitLoop
  717. EndIf
  718. If CheckTroop("Archer") Then
  719. ControlClick ($HWnD, "","", "left", "1", $Archer[0], $Archer[1])
  720. Sleep(300)
  721. For $x = 0 to 7 Step 1
  722. For $i = 0 to 4 Step 1
  723. ControlClick ($HWnD, "","", "left", "1", $W[$i][0], $W[$i][1])
  724. Sleep(100)
  725. Next
  726. Next
  727. Sleep(500)
  728. EndIf
  729. If $RunState = False Then
  730. ExitLoop
  731. EndIf
  732. If CheckTroop("Goblin") Then
  733. ControlClick ($HWnD, "","", "left", "1", $Goblin[0], $Goblin[1])
  734. Sleep(300)
  735. For $x = 0 to 7 Step 1
  736. For $i = 0 to 4 Step 1
  737. ControlClick ($HWnD, "","", "left", "1", $W[$i][0], $W[$i][1])
  738. Sleep(100)
  739. Next
  740. Next
  741. Sleep(500)
  742. EndIf
  743. ExitLoop
  744. WEnd
  745. EndFunc
  746.  
  747. Func ReadValue()
  748. GUICtrlSetData($Results, "Func ReadValue" & @CRLF, -1)
  749. While 1
  750. If $RunState = False Then
  751. ExitLoop
  752. EndIf
  753. If Mod($SearchCount,20) = 0 Then
  754. ClearBox()
  755. EndIf
  756. If getDarkElixir($x_default+1, $y_default+58) <> "" & getDarkElixir($x_default, $y_default+57) <> "" Then
  757. $Gold = getGold($x_default+1, $y_default+1)
  758. If $Gold = "" Then
  759. $Gold = getGold($x_default, $y_default)
  760. EndIf
  761. $Elixir = getElixir($x_default+1, $y_default + 30)
  762. If $Elixir = "" Then
  763. $Elixir = getElixir($x_default, $y_default + 29)
  764. EndIf
  765. $Dark = getDarkElixir($x_default+1, $y_default + 58)
  766. If $Dark = "" Then
  767. $Dark = getDarkElixir($x_default, $y_default + 57)
  768. EndIf
  769. $Trophy = getTrophy($x_default+1, $y_default + 91)
  770. If $Trophy = "" Then
  771. $Trophy = getTrophy($x_default, $y_default + 90)
  772. EndIf
  773. GUICtrlSetData($Results, "(" & $SearchCount+1 & ") [G]: " & $Gold & Tab($Gold,12) & "[E]: " & $Elixir & Tab($Elixir,12) & "[D]: " & $Dark & Tab($Dark,12) & "[T]: " & $Trophy & @CRLF, -1)
  774. Else
  775. $Gold = getGold($x_default+1, $y_default+1)
  776. If $Gold = "" Then
  777. $Gold = getGold($x_default, $y_default)
  778. EndIf
  779. $Elixir = getElixir($x_default+1, $y_default + 30)
  780. If $Elixir = "" Then
  781. $Elixir = getElixir($x_default, $y_default + 29)
  782. EndIf
  783. $Trophy = getTrophy($x_default+1, $y_default + 62)
  784. If $Trophy = "" Then
  785. $Trophy = getTrophy($x_default+1, $y_default + 60)
  786. EndIf
  787. If $Trophy = "" Then
  788. $Trophy = getTrophy($x_default, $y_default + 61)
  789. EndIf
  790. If $Trophy = "" Then
  791. $Trophy = getTrophy($x_default, $y_default + 59)
  792. EndIf
  793. GUICtrlSetData($Results, "(" & $SearchCount+1 & ") [G]: " & $Gold & Tab($Gold,12) & "[E]: " & $Elixir & Tab($Elixir,12) & "[D]: 0" & Tab($Dark,12) & "[T]: " & $Trophy & @CRLF, -1)
  794. EndIf
  795. $SearchCount += 1 ; Counter for number of searches
  796. ExitLoop
  797. WEnd
  798. EndFunc
  799.  
  800. Func CompareValue()
  801. GUICtrlSetData($Results, "Func CompareValue" & @CRLF, -1)
  802. If $Gold >= $MinGold Then
  803. If $Elixir >= $MinElixir Then
  804. ;MsgBox(0, "Gold & Elixir Check", "Gold: " & $Gold & @CR & "Elixir: " & $Elixir & @CR & "Requirement met.")
  805. Select
  806. Case $SearchMode = 1
  807. $SearchCheck = 1
  808. Case $SearchMode = 2
  809. $SearchCheck = 1
  810. Case Else
  811. $SearchCheck = 0
  812. EndSelect
  813. Else
  814. ;MsgBox(0, "Gold & Elixir Check", "Gold: " & $Gold & @CR & "Elixir: " & $Elixir & @CR & "Not enough " & $MinElixir & " Elixir.")
  815. Select
  816. Case $SearchMode = 1
  817. $SearchCheck = 1
  818. Case $SearchMode = 2
  819. $SearchCheck = 0
  820. Case Else
  821. $SearchCheck = 0
  822. EndSelect
  823. EndIf
  824. Else
  825. If $Elixir >= $MinElixir Then
  826. ;MsgBox(0, "Gold & Elixir Check", "Gold: " & $Gold & @CR & "Elixir: " & $Elixir & @CR & "Not enough " & $MinGold & " Gold.")
  827. Select
  828. Case $SearchMode = 1
  829. $SearchCheck = 1
  830. Case $SearchMode = 2
  831. $SearchCheck = 0
  832. Case Else
  833. $SearchCheck = 0
  834. EndSelect
  835. Else
  836. ;MsgBox(0, "Gold & Elixir Check", "Gold: " & $Gold & @CR & "Elixir: " & $Elixir & @CR & "Not enough " & $MinGold & " Gold and " & $MinElixir & " Elixir." )
  837. Select
  838. Case $SearchMode = 1
  839. $SearchCheck = 0
  840. Case $SearchMode = 2
  841. $SearchCheck = 0
  842. Case Else
  843. $SearchCheck = 0
  844. EndSelect
  845. EndIf
  846. EndIf
  847. EndFunc
  848. #EndRegion ##### ATTACK #####
  849.  
  850. #Region ##### MINI FUNCTION #####
  851.  
  852. #cs
  853. Func MainScreen()
  854. While 1
  855. If $RunState = False Then
  856. ExitLoop
  857. EndIf
  858. GUICtrlSetData($Results, "Waiting for Clash of Clans to load..." & @CRLF, -1)
  859. $Pixel = PixelGetColor(630*$x_ratio, 390*$y_ratio, $HWnD)
  860. If Hex($Pixel,6) = 282828 Or $Pixel = 2962704 Then
  861. ControlClick ($HWnD, "","", "left", "1", 293*$x_ratio, 329*$y_ratio)
  862. If $RunState = False Then
  863. ExitLoop
  864. EndIf
  865. Sleep(5000)
  866. EndIf
  867. $Pixel = PixelSearch(0,0,900,700,0xF8ED90,0,1,$HWnD)
  868. If IsArray($Pixel) Then
  869. ControlClick ($HWnD, "","", "left", "1", 400*$x_ratio, 450*$y_ratio)
  870. If $RunState = False Then
  871. ExitLoop
  872. EndIf
  873. Sleep(5000)
  874. EndIf
  875. $Pixel = PixelSearch(0,0,900,700,$Attack,0,1,$HWnD)
  876. While Not IsArray($Pixel)
  877. $Pixel = PixelSearch(0,0,900,700,$Attack,0,1,$HWnD)
  878. If $RunState = False Then
  879. ExitLoop
  880. EndIf
  881. Sleep(200)
  882. WEnd
  883. GUICtrlSetData($Results, "In main screen" & @CRLF, -1)
  884. ExitLoop
  885. WEnd
  886. EndFunc
  887. #ce
  888. Func CheckScreenChange($a, $b, $c, $d)
  889. $Pixel = PixelChecksum($a*$BSsize[0],$b*$BSsize[1], $c*$BSsize[0], $d*$BSsize[1], 2, $hWnD)
  890. Sleep(500)
  891. $Pixel1 = PixelChecksum($a*$BSsize[0],$b*$BSsize[1], $c*$BSsize[0], $d*$BSsize[1], 2, $hWnD)
  892. If $Pixel = $Pixel1 Then
  893. Return False
  894. Else
  895. Return True
  896. EndIf
  897. EndFunc
  898.  
  899. Func MainScreen()
  900. If Not CheckScreenChange(0.25, 0.25, 0.75, 0.75) Then
  901. ControlClick ($HWnD, "","", "left", "1", 293*$x_ratio, 329*$y_ratio)
  902. ControlClick ($HWnD, "","", "left", "1", 400*$x_ratio, 408*$y_ratio)
  903. GUICtrlSetData($Results, "Waiting for Clash of Clans to load..." & @CRLF, -1)
  904. Sleep(6000)
  905. EndIf
  906. While Not CheckScreenChange(0.25, 0.25, 0.75, 0.75)
  907. Sleep(1000)
  908. WEnd
  909. If Not CheckScreenChange(0.25, 0.25, 0.75, 0.75) Then
  910. ControlClick ($HWnD, "","", "left", "1", 400*$x_ratio, 408*$y_ratio)
  911. EndIf
  912. While Not CheckScreenChange(0.25, 0.25, 0.75, 0.75)
  913. Sleep(1000)
  914. WEnd
  915. GUICtrlSetData($Results, "In Main Screen" & @CRLF, -1)
  916. EndFunc
  917.  
  918. Func Idle()
  919. While Not $FullArmy
  920. If $RunState = False Then
  921. ExitLoop
  922. EndIf
  923. Train()
  924. If $RunState = False OR $FullArmy Then
  925. ExitLoop
  926. EndIf
  927. Sleep(30000)
  928. WEnd
  929. EndFunc
  930.  
  931. Func ReturnHome()
  932. #cs
  933. While CheckScreenChange(0.25, 0.9, 0.75, 0.95)
  934. Sleep(1000)
  935. WEnd
  936. GUICtrlSetData($Results, "Return Home" & @CRLF, -1)
  937. ControlClick ($HWnD, "","", "left", "1", 400*$x_ratio, 450*$y_ratio)
  938. #ce
  939. While 1
  940. While GoldChange()
  941. Sleep(1000)
  942. If $RunState = False Then
  943. ExitLoop
  944. EndIf
  945. WEnd
  946. If $RunState = False Then
  947. ExitLoop
  948. EndIf
  949. ControlClick ($HWnD, "","", "left", "1", 70*$x_ratio, 454*$y_ratio)
  950. Sleep(1000)
  951. ControlClick ($HWnD, "","", "left", "1", 482*$x_ratio, 350*$y_ratio)
  952. Sleep(1000)
  953. ControlClick ($HWnD, "","", "left", "1", 400*$x_ratio, 450*$y_ratio)
  954. GUICtrlSetData($Results, "Return Home" & @CRLF, -1)
  955. Sleep(4000)
  956. ExitLoop
  957. WEnd
  958. EndFunc
  959.  
  960. Func GoldChange()
  961. While 1
  962. $Gold1 = Number(getGold($x_default, $y_default))
  963. If $Gold1 < 100 Then
  964. $Gold1 = Number(getGold($x_default, $y_default+1))
  965. EndIf
  966. Sleep(30000)
  967. If $RunState = False Then
  968. ExitLoop
  969. EndIf
  970. $Gold2 = Number(getGold($x_default, $y_default))
  971. If $Gold2 < 100 Then
  972. $Gold2 = Number(getGold($x_default, $y_default+1))
  973. EndIf
  974. If $Gold1 = $Gold2 Then
  975. Return False
  976. Else
  977. Return True
  978. GUICtrlSetData($Results, "Gold change detected. Waiting." & @CRLF, -1)
  979. EndIf
  980. ExitLoop
  981. WEnd
  982. EndFunc
  983.  
  984.  
  985. Func ZoomOut()
  986. GUICtrlSetData($Results, "Zoom Out" & @CRLF, -1)
  987. While 1
  988. For $i = 1 To 30 Step 1
  989. ControlSend($HWnD, "", "", "{DOWN}", 0)
  990. If $RunState = False Then
  991. ExitLoop
  992. EndIf
  993. Sleep(500)
  994. Next
  995. ExitLoop
  996. WEnd
  997. EndFunc
  998.  
  999.  
  1000. Func Button($hex)
  1001. $Count = 0
  1002. $Pixel = PixelSearch(0,0,900,700,$hex,0,1,$HWnD) ;Attack! button
  1003. While Not IsArray($Pixel) And $Count < 5
  1004. $Pixel = PixelSearch(0,0,900,700,$hex,0,1,$HWnD) ;Attack! button
  1005. Sleep(200)
  1006. $Count += 1
  1007. WEnd
  1008. If $Count < 5 Then
  1009. ControlClick ($HWnD, "","", "left", "1", $Pixel[0], $Pixel[1])
  1010. EndIf
  1011. Sleep(1000)
  1012. EndFunc
  1013.  
  1014. Func Terminate()
  1015. Exit
  1016. EndFunc
  1017.  
  1018. Func FindPos(ByRef $Pos)
  1019. Opt ("MouseCoordMode", 2)
  1020. Local $x = 1
  1021. While $x = 1
  1022. If _IsPressed("01") Then
  1023. $Pos = MouseGetPos()
  1024. $x = 0
  1025. EndIf
  1026. WEnd
  1027. Opt ("MouseCoordMode", 0)
  1028. EndFunc
  1029.  
  1030. Func ClearBox()
  1031. GUICtrlDelete($Results)
  1032. $Results = GUICtrlCreateEdit("", 10, 94, 310, 276, BitOR($SS_SUNKEN,$ES_READONLY, $SS_LEFT))
  1033. EndFunc
  1034.  
  1035. Func LB()
  1036. ClearBox()
  1037. GUICtrlSetData($Results,"Bot Started.." & @CRLF, -1)
  1038. $RunState = True
  1039. GUICtrlSetData($Button,"STOP")
  1040. MainScreen()
  1041. ZoomOut()
  1042. $B1Pos[0] = 0
  1043. $B2Pos[0] = 0
  1044. $B3Pos[0] = 0
  1045. $B4Pos[0] = 0
  1046. LocateBarrack()
  1047. GUICtrlSetData($LBButton,"Locate Barracks")
  1048. GUICtrlSetData($Results, "Barracks located" & @CRLF, -1)
  1049. GUICtrlSetData($Results, "Barrack 01: " & $B1Pos[0] & ", " & $B1Pos[1] & @CRLF, -1)
  1050. GUICtrlSetData($Results, "Barrack 02: " & $B2Pos[0] & ", " & $B2Pos[1] & @CRLF, -1)
  1051. GUICtrlSetData($Results, "Barrack 03: " & $B3Pos[0] & ", " & $B3Pos[1] & @CRLF, -1)
  1052. GUICtrlSetData($Results, "Barrack 04: " & $B4Pos[0] & ", " & $B4Pos[1] & @CRLF, -1)
  1053. $RunState = False
  1054. GUICtrlSetData($Button,"START")
  1055. EndFunc
  1056.  
  1057. Func Tr()
  1058. ClearBox()
  1059. GUICtrlSetData($Results,"Bot Started.." & @CRLF, -1)
  1060. $RunState = True
  1061. GUICtrlSetData($Button,"STOP")
  1062. MainScreen()
  1063. GetInput()
  1064. ZoomOut()
  1065. Train()
  1066. $RunState = False
  1067. GUICtrlSetData($TrButton, "Train")
  1068. GUICtrlSetData($Button,"STOP")
  1069. EndFunc
  1070.  
  1071. Func Atk()
  1072. ClearBox()
  1073. GUICtrlSetData($Results,"Bot Started.." & @CRLF, -1)
  1074. $RunState = True
  1075. GUICtrlSetData($Button,"STOP")
  1076. MainScreen()
  1077. GetInput()
  1078. ZoomOut()
  1079. Attack()
  1080. GUICtrlSetData($AtkButton, "Attack")
  1081. $RunState = False
  1082. GUICtrlSetData($Button,"START")
  1083. EndFunc
  1084.  
  1085. Func SearchFunction()
  1086. ClearBox()
  1087. GUICtrlSetData($Results,"Bot Started.." & @CRLF, -1)
  1088. $RunState = True
  1089. GUICtrlSetData($Button,"STOP")
  1090. GetInput()
  1091. ClearBox()
  1092. ControlClick ($HWnD, "","", "left", "1", 715*$x_ratio, 405*$y_ratio) ;Click Next
  1093. VillageSearch()
  1094. GUICtrlSetData($VSButton, "Village Search")
  1095. $RunState = False
  1096. GUICtrlSetData($Button,"START")
  1097. EndFunc
  1098.  
  1099. Func DrpTrp()
  1100. ClearBox()
  1101. GUICtrlSetData($Results,"Bot Started.." & @CRLF, -1)
  1102. $RunState = True
  1103. GUICtrlSetData($Button,"STOP")
  1104. GetInput()
  1105. AssignTroop()
  1106. DropTroop()
  1107. ReturnHome()
  1108. GUICtrlSetData($DTButton, "Drop Troop")
  1109. $RunState = False
  1110. GUICtrlSetData($Button,"START")
  1111. EndFunc
  1112.  
  1113. Func KeepAlive()
  1114. While $KeepAlive = True
  1115. ControlSend($HWnD, "", "", "{DOWN}", 0)
  1116. Sleep(10000)
  1117. If $KeepAlive = False Then
  1118. ExitLoop
  1119. EndIf
  1120. WEnd
  1121. EndFunc
  1122.  
  1123. Func Tab($a, $b)
  1124. $Tab = ""
  1125. For $i = StringLen($a) to $b Step 1
  1126. $Tab &= " "
  1127. Next
  1128. Return $Tab
  1129. EndFunc
  1130.  
  1131. #cs
  1132. Func Pause()
  1133. $Paused = NOT $Paused
  1134. While $Paused
  1135. Sleep(100)
  1136. TrayTip("Script Paused","SHIFT+1 to Unpause", 0, $TIP_ICONASTERISK)
  1137. WEnd
  1138. EndFunc
  1139.  
  1140. Func Restart()
  1141. ControlClick ($HWnD, "","", "left", "1", 125, 575)
  1142. Sleep(2000)
  1143. ControlClick ($HWnD, "","", "left", "1", 125, 577)
  1144. Sleep(2000)
  1145. ControlClick ($HWnD, "","", "left", "1", 205, 575)
  1146. Sleep(2000)
  1147. MouseClickDrag("left", 700, 300, 700, 120)
  1148. Sleep(2000)
  1149. ControlClick ($HWnD, "","", "left", "1", 290, 160)
  1150. Sleep(50000)
  1151. EndFunc
  1152.  
  1153. Func Initiate()
  1154. ControlClick ($HWnD, "","", "left", "1", 290, 150) ;Click BlueStacks
  1155. Sleep(60000)
  1156. ZoomOut()
  1157. Sleep(10000)
  1158. EndFunc
  1159. #ce
  1160. #EndRegion ##### MINI FUNCTION ######
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement