GkevinOD

Variable fix

Jan 18th, 2015
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 9.36 KB | None | 0 0
  1. Func atkAlgorithmBarch() ;Attack Algorithm for Barch
  2.     While 1
  3.         Local $Barb = -1, $Arch = -1, $CC = -1
  4.         Global $King = -1, $Queen = -1
  5.         For $i = 0 To 6
  6.             If $atkTroops[$i][0] = "Barbarian" Then
  7.                 $Barb = $i
  8.             ElseIf $atkTroops[$i][0] = "Archer" Then
  9.                 $Arch = $i
  10.             ElseIf $atkTroops[$i][0] = "Clan Castle" Then
  11.                 $CC = $i
  12.             ElseIf $atkTroops[$i][0] = "King" Then
  13.                 $King = $i
  14.             ElseIf $atkTroops[$i][0] = "Queen" Then
  15.                 $Queen = $i
  16.             EndIf
  17.         Next
  18.  
  19.         If _Sleep(500) Then ExitLoop
  20.         Switch $deploySettings
  21.             Case 0 ;Two sides ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  22.                 SetLog("~Attacking in two sides...")
  23.                 If _Sleep(1000) Then ExitLoop
  24.                 If Not $Barb = -1 Then Local $numBarbPerSpot = Ceiling((($atkTroops[$Barb][1] / 2) / 5) / 2)
  25.                 If Not $Arch = -1 Then Local $numArchPerSpot = Ceiling((($atkTroops[$Arch][1] / 2) / 5) / 2)
  26.  
  27.                 If Not $Barb = -1 Then
  28.                     SetLog("Dropping first wave of Barbarians")
  29.                     For $i = 0 To 4 ;Drop first round of Barbarians
  30.                         Click(68 + (72 * $Barb), 595) ;Select Troop
  31.                         If _Sleep(100) Then ExitLoop (2)
  32.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numBarbPerSpot, 1)
  33.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numBarbPerSpot, 1)
  34.                     Next
  35.                 EndIf
  36.  
  37.                 If _Sleep(1000) Then ExitLoop
  38.  
  39.                 If Not $Arch = -1 Then
  40.                     SetLog("Dropping first wave of Archers")
  41.                     For $i = 0 To 4 ;Drop first round of Archers
  42.                         Click(68 + (72 * $Arch), 595) ;Select Troop
  43.                         If _Sleep(100) Then ExitLoop (2)
  44.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numArchPerSpot, 1)
  45.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numArchPerSpot, 1)
  46.                     Next
  47.                 EndIf
  48.  
  49.                 If _Sleep(2000) Then ExitLoop ;-------------------------------------------
  50.  
  51.                 If Not $Barb = -1 Then
  52.                     SetLog("Dropping second wave of Barbarians")
  53.                     For $i = 0 To 4 ;Drop second round of Barbarians
  54.                         Click(68 + (72 * $Barb), 595) ;Select Troop
  55.                         If _Sleep(100) Then ExitLoop (2)
  56.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numBarbPerSpot, 1)
  57.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numBarbPerSpot, 1)
  58.                     Next
  59.                 EndIf
  60.  
  61.                 If _Sleep(1000) Then ExitLoop
  62.  
  63.                 If Not $Arch = -1 Then
  64.                     SetLog("Dropping second wave of Archers")
  65.                     For $i = 0 To 4 ;Drop second round of Archers
  66.                         Click(68 + (72 * $Arch), 595) ;Select Troop
  67.                         If _Sleep(100) Then ExitLoop (2)
  68.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numArchPerSpot, 1)
  69.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numArchPerSpot, 1)
  70.                     Next
  71.                 EndIf
  72.  
  73.                 dropHeroes($TopLeft[3][0], $TopLeft[3][1], $King, $Queen)
  74.                 If _Sleep(1000) Then ExitLoop
  75.                 If $CC <> -1 Then dropCC($TopLeft[3][0], $TopLeft[3][1], $CC)
  76.             Case 1 ;Three sides ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  77.                 SetLog("~Attacking in three sides...")
  78.                 If _Sleep(1000) Then ExitLoop
  79.                 If Not $Barb = -1 Then Local $numBarbPerSpot = Ceiling((($atkTroops[$Barb][1] / 3) / 5) / 2)
  80.                 If Not $Arch = -1 Then Local $numArchPerSpot = Ceiling((($atkTroops[$Arch][1] / 3) / 5) / 2)
  81.  
  82.                 If Not $Barb = -1 Then
  83.                     SetLog("Dropping first wave of Barbarians")
  84.                     For $i = 0 To 4 ;Drop first round of Barbarians
  85.                         Click(68 + (72 * $Barb), 595) ;Select Troop
  86.                         If _Sleep(100) Then ExitLoop (2)
  87.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numBarbPerSpot, 1)
  88.                         Click($TopRight[$i][0], $TopRight[$i][1], $numBarbPerSpot, 1)
  89.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numBarbPerSpot, 1)
  90.                     Next
  91.                 EndIf
  92.  
  93.                 If _Sleep(1000) Then ExitLoop
  94.  
  95.                 If Not $Arch = -1 Then
  96.                     SetLog("Dropping first wave of Archers")
  97.                     For $i = 0 To 4 ;Drop first round of Archers
  98.                         Click(68 + (72 * $Arch), 595) ;Select Troop
  99.                         If _Sleep(100) Then ExitLoop (2)
  100.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numArchPerSpot, 1)
  101.                         Click($TopRight[$i][0], $TopRight[$i][1], $numArchPerSpot, 1)
  102.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numArchPerSpot, 1)
  103.                     Next
  104.                 EndIf
  105.  
  106.                 If _Sleep(2000) Then ExitLoop ;-------------------------------------------
  107.  
  108.                 If Not $Barb = -1 Then
  109.                     SetLog("Dropping second wave of Barbarians")
  110.                     For $i = 0 To 4 ;Drop second round of Barbarians
  111.                         Click(68 + (72 * $Barb), 595) ;Select Troop
  112.                         If _Sleep(100) Then ExitLoop (2)
  113.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numBarbPerSpot, 1)
  114.                         Click($TopRight[$i][0], $TopRight[$i][1], $numBarbPerSpot, 1)
  115.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numBarbPerSpot, 1)
  116.                     Next
  117.                 EndIf
  118.  
  119.                 If _Sleep(1000) Then ExitLoop
  120.  
  121.                 If Not $Arch = -1 Then
  122.                     SetLog("Dropping second wave of Archers")
  123.                     For $i = 0 To 4 ;Drop second round of Archers
  124.                         Click(68 + (72 * $Arch), 595) ;Select Troop
  125.                         If _Sleep(100) Then ExitLoop (2)
  126.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numArchPerSpot, 1)
  127.                         Click($TopRight[$i][0], $TopRight[$i][1], $numArchPerSpot, 1)
  128.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numArchPerSpot, 1)
  129.                     Next
  130.                 EndIf
  131.  
  132.                 dropHeroes($TopRight[3][0], $TopRight[3][1], $King, $Queen)
  133.                 If _Sleep(1000) Then ExitLoop
  134.                 If $CC <> -1 Then dropCC($TopRight[3][0], $TopRight[3][1], $CC)
  135.             Case 2 ;Four sides ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  136.                 SetLog("~Attacking in all sides...")
  137.                 If _Sleep(1000) Then ExitLoop
  138.                 If Not $Barb = -1 Then Local $numBarbPerSpot = Ceiling((($atkTroops[$Barb][1] / 4) / 5) / 2)
  139.                 If Not $Arch = -1 Then Local $numArchPerSpot = Ceiling((($atkTroops[$Arch][1] / 4) / 5) / 2)
  140.  
  141.                 If Not $Barb = -1 Then
  142.                     SetLog("Dropping first wave of Barbarians")
  143.                     For $i = 0 To 4 ;Drop first round of Barbarians
  144.                         Click(68 + (72 * $Barb), 595) ;Select Troop
  145.                         If _Sleep(100) Then ExitLoop (2)
  146.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numBarbPerSpot, 1)
  147.                         Click($TopRight[$i][0], $TopRight[$i][1], $numBarbPerSpot, 1)
  148.                         Click($BottomLeft[$i][0], $BottomLeft[$i][1], $numBarbPerSpot, 1)
  149.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numBarbPerSpot, 1)
  150.                     Next
  151.                 EndIf
  152.  
  153.                 If _Sleep(1000) Then ExitLoop
  154.  
  155.                 If Not $Arch = -1 Then
  156.                     SetLog("Dropping first wave of Archers")
  157.                     For $i = 0 To 4 ;Drop first round of Archers
  158.                         Click(68 + (72 * $Arch), 595) ;Select Troop
  159.                         If _Sleep(100) Then ExitLoop (2)
  160.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numArchPerSpot, 1)
  161.                         Click($TopRight[$i][0], $TopRight[$i][1], $numArchPerSpot, 1)
  162.                         Click($BottomLeft[$i][0], $BottomLeft[$i][1], $numArchPerSpot, 1)
  163.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numArchPerSpot, 1)
  164.                     Next
  165.                 EndIf
  166.  
  167.                 If _Sleep(2000) Then ExitLoop ;-------------------------------------------
  168.  
  169.                 If Not $Barb = -1 Then
  170.                     SetLog("Dropping second wave of Barbarians")
  171.                     For $i = 0 To 4 ;Drop second round of Barbarians
  172.                         Click(68 + (72 * $Barb), 595) ;Select Troop
  173.                         If _Sleep(100) Then ExitLoop (2)
  174.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numBarbPerSpot, 1)
  175.                         Click($TopRight[$i][0], $TopRight[$i][1], $numBarbPerSpot, 1)
  176.                         Click($BottomLeft[$i][0], $BottomLeft[$i][1], $numBarbPerSpot, 1)
  177.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numBarbPerSpot, 1)
  178.                     Next
  179.                 EndIf
  180.  
  181.                 If _Sleep(1000) Then ExitLoop
  182.  
  183.                 If Not $Arch = -1 Then
  184.                     SetLog("Dropping second wave of Archers")
  185.                     For $i = 0 To 4 ;Drop second round of Archers
  186.                         Click(68 + (72 * $Arch), 595) ;Select Troop
  187.                         If _Sleep(100) Then ExitLoop (2)
  188.                         Click($TopLeft[$i][0], $TopLeft[$i][1], $numArchPerSpot, 1)
  189.                         Click($TopRight[$i][0], $TopRight[$i][1], $numArchPerSpot, 1)
  190.                         Click($BottomLeft[$i][0], $BottomLeft[$i][1], $numArchPerSpot, 1)
  191.                         Click($BottomRight[$i][0], $BottomRight[$i][1], $numArchPerSpot, 1)
  192.                     Next
  193.                 EndIf
  194.  
  195.                 dropHeroes($BottomLeft[3][0], $BottomLeft[3][1], $King, $Queen)
  196.                 If _Sleep(1000) Then ExitLoop
  197.                 If $CC <> -1 Then dropCC($BottomLeft[3][0], $BottomLeft[3][1], $CC)
  198.         EndSwitch
  199.  
  200.         If _Sleep(100) Then ExitLoop
  201.         SetLog("Dropping left over troops")
  202.         If Not $Barb = -1 Then $atkTroops[$Barb][1] = Number(getNormal(40 + (72 * $Barb), 565))
  203.         If Not $Arch = -1 Then $atkTroops[$Arch][1] = Number(getNormal(40 + (72 * $Arch), 565))
  204.  
  205.         If Not $Barb = -1 Then
  206.             While $atkTroops[$Barb][1] <> 0
  207.                 Click(68 + (72 * $Barb), 595)
  208.                 Click($TopLeft[3][0], $TopLeft[3][1], $atkTroops[$Barb][1], 1)
  209.  
  210.                 $atkTroops[$Barb][1] = Number(getNormal(40 + (72 * $Barb), 565))
  211.             WEnd
  212.         EndIf
  213.  
  214.         If _Sleep(1000) Then ExitLoop
  215.  
  216.         If Not $Arch = -1 Then
  217.             While $atkTroops[$Arch][1] <> 0
  218.                 Click(68 + (72 * $Arch), 595)
  219.                 Click($TopLeft[3][0], $TopLeft[3][1], $atkTroops[$Arch][1], 1)
  220.  
  221.                 $atkTroops[$Arch][1] = Number(getNormal(40 + (72 * $Arch), 565))
  222.             WEnd
  223.         EndIf
  224.  
  225.         If _Sleep(100) Then ExitLoop
  226.  
  227.         ;Activate KQ's power
  228.         If $checkKPower <> -1 Or $checkQPower <> -1 Then
  229.             SetLog("Waiting " & $delayActivateKQ / 1000 & " seconds before activating King/Queen")
  230.             _Sleep($delayActivateKQ)
  231.             If $checkKPower <> -1 Then
  232.                 SetLog("Activate King's power")
  233.                 Click(68 + (72 * $checkKPower), 595)
  234.             EndIf
  235.             If $checkQPower <> -1 Then
  236.                 SetLog("Activate Queen's power")
  237.                 Click(68 + (72 * $checkQPower), 595)
  238.             EndIf
  239.         EndIf
  240.  
  241.         SetLog("~Finished Attacking, waiting to finish")
  242.         ExitLoop
  243.     WEnd
  244. EndFunc   ;==>atkAlgorithmBarch
Advertisement
Add Comment
Please, Sign In to add comment