Tool (CGB v3.1.8 MOD) HOTFIX WORKING AFTER UPDATE (FIXED CHECKFULLARMY+TRAIN)

Stato
Discussione chiusa ad ulteriori risposte.

Rizza

Utente Bronze
3 Luglio 2015
10
2
3
38
Ultima modifica:
MODALITÀ D'USO

1: Utilizzare la modalità "Barracks Mode" .... (La modalità con le truppe personalizzate non funziona)

2: Selezionare l'attacco in "Dead Bases"

Nota: Il Bot non riesce a leggere il valore minimo che andate ad impostare quindi attaccherà tutte le basi inattive

3: Aumenta il ritardo nella ricerca nella scheda "Misc"

Nota: È possibile utilizzare le unità Barbaro + Archer finché non verrà rilasciata la versione ufficiale (che sarà la 4.0)

DOWNLOAD

QUESTI SCRIPT VANNO MODIFICATI IN: \COCBot\functions\Village
APRIRE I FILE, CANCELLARE TUTTO QUELLO CHE C'è ALL'INTERNO ED INCOLLATE QUESTI


Script CheckFullArmy.au3

Codice:
;Checks if red pixel located in the popup baracks window is available
;moded by summoner
Func CheckFullArmy()
_CaptureRegion()
$Pixel = _ColorCheck(_GetPixelColor(157, 155), Hex(0x90C030, 6), 20)
if not $Pixel then
if _sleep(200) then return
_CaptureRegion()
if $Pixel = (_ColorCheck(_GetPixelColor(158, 154), Hex(0xE04448, 6), 20) Or Not _ColorCheck(_GetPixelColor(157, 155), Hex(0x90C030, 6), 20)) = True then
$fullArmy = False
endif
EndIf
If $Pixel = True Then
$fullArmy = True
ElseIf _GUICtrlComboBox_GetCurSel($cmbTroopComp) = 1 Then
$fullArmy = False
EndIf
EndFunc   ;==>CheckFullArmy[CODE]


Script Train.au3

Codice:
; Uses the location of manually set Barracks to train specified troops
; coded by HungLe from gamebot.org
;       moded by summoner
; Train the troops (Fill the barracks)
Func GetTrainPos($troopKind)
for $i=0 to Ubound($TroopName) - 1
if eval("e" & $TroopName[$i]) = $troopKind then
Return eval("Train" & $TroopName[$i])
endif
next
for $i=0 to Ubound($TroopDarkName) - 1
if eval("e" & $TroopDarkName[$i]) = $troopKind then
Return eval("Train" & $TroopDarkName[$i])
endif
next
SetLog("Don't know how to train the troop " & $troopKind & " yet")
Return 0
EndFunc
Func TrainIt($troopKind, $howMuch = 1, $iSleep = 400)
  _CaptureRegion()
  Local $pos = GetTrainPos($troopKind)
  If IsArray($pos) Then
If CheckPixel($pos) Then
ClickP($pos, $howMuch, $isldTrainITDelay)
;if _Sleep($iSleep) Then Return False
;Return True
EndIf
  EndIf
EndFunc
Func Train()
   If $OptTrophyMode = 1 Then
       $ArmyComp = $CurCamp
   EndIf
If _GUICtrlComboBox_GetCurSel($cmbTroopComp) <> 1 Then
checkArmyCamp()
EndIf

SetLog("Training Troops...", $COLOR_BLUE)

If _Sleep(100) Then Return

ClickP($TopLeftClient) ;Click Away

If _Sleep(100) Then Return

Click(37, 524) ;Click Train Troops button
$page = 1

If _Sleep(500) Then Return


if not $fullArmy then CheckFullArmy()  ;if armycamp not full, check full by barrack

Local $NextPos = _PixelSearch(749, 333, 787, 349, Hex(0xF08C40, 6), 5)
   Local $PrevPos = _PixelSearch(70, 336, 110, 351, Hex(0xF08C40, 6), 5)

$icount = 0
while not IsArray($NextPos)
If _Sleep(100) Then Return
$NextPos = _PixelSearch(749, 333, 787, 349, Hex(0xF08C40, 6), 5)
$PrevPos = _PixelSearch(70, 336, 110, 351, Hex(0xF08C40, 6), 5)
$icount += 1
if $icount = 20 then ExitLoop
wend

$icount = 0
while not IsArray($PrevPos)
If _Sleep(100) Then Return
$PrevPos = _PixelSearch(70, 336, 110, 351, Hex(0xF08C40, 6), 5)
$icount += 1
if $icount = 20 then ExitLoop
wend


if $isNormalBuild = "" then
for $i=0 to Ubound($TroopName) - 1
If GUICtrlRead(eval("txtNum" & $TroopName[$i])) <> "0" Then
$isNormalBuild = true
endif
next
endif
if $isNormalBuild = "" then
$isNormalBuild = false
endif

if $isDarkBuild = "" then
for $i=0 to Ubound($TroopDarkName) - 1
If GUICtrlRead(eval("txtNum" & $TroopDarkName[$i])) <> "0" Then
$isDarkBuild = true
endif
next
endif
if $isDarkBuild = "" then
$isDarkBuild = false
endif
Local $iBarrHere
$iBarrHere = 0

while (isBarrack($page) and ($isNormalBuild or (_GUICtrlComboBox_GetCurSel($cmbTroopComp) = 8)))
If IsArray($NextPos) Then Click($NextPos[0], $NextPos[1]) ;click next button
$page += 1
If $page == 9 Then $page = 1
$iBarrHere += 1
If _Sleep(500) Then ExitLoop
$icount = 0
while not isBarrack($page)
If _Sleep(100) Then ExitLoop
$icount = $icount + 1
if $icount = 5 then ExitLoop
wend
if($iBarrHere = $barrackNum) then ExitLoop
wend

if $isNormalBuild or (_GUICtrlComboBox_GetCurSel($cmbTroopComp) = 8) then
If IsArray($NextPos) Then Click($NextPos[0], $NextPos[1]) ;click next button
$page += 1
If $page == 9 Then $page = 1
If _Sleep(1000) Then return
endif

If $fullArmy Then ; reset all to cook again
$ArmyComp = 0
for $i=0 to Ubound($TroopName) - 1
assign("Cur" & $TroopName[$i] , 0)
next
for $i=0 to Ubound($TroopDarkName) - 1
assign("Cur" & $TroopDarkName[$i] , 0)
next
Endif

If $fullArmy and $ArmyComp = 0 Then
$anotherTroops = 0
for $i=0 to Ubound($TroopName) - 1
if $TroopName[$i] <> "Barb" and $TroopName[$i] <> "Arch" and $TroopName[$i] <> "Gobl" then
assign(("Cur" & $TroopName[$i]) , GUICtrlRead(eval("txtNum" & $TroopName[$i])))
$anotherTroops += GUICtrlRead(eval("txtNum" & $TroopName[$i])) * $TroopHeight[$i]
endif
next
for $i=0 to Ubound($TroopDarkName) - 1
assign(("Cur" & $TroopDarkName[$i]) , GUICtrlRead(eval("txtNum" & $TroopDarkName[$i])))
$anotherTroops += GUICtrlRead(eval("txtNum" & $TroopDarkName[$i])) * $TroopDarkHeight[$i]
next
$CurGobl = ($TotalCamp-$anotherTroops)*GUICtrlRead($txtNumGobl)/100
$CurGobl = Round($CurGobl)
$CurBarb = ($TotalCamp-$anotherTroops)*GUICtrlRead($txtNumBarb)/100
$CurBarb = Round($CurBarb)
$CurArch = ($TotalCamp-$anotherTroops)*GUICtrlRead($txtNumArch)/100
$CurArch = Round($CurArch)
elseif $ArmyComp = 0 or $FirstStart Then
$anotherTroops = 0
for $i=0 to Ubound($TroopName) - 1
if $TroopName[$i] <> "Barb" and $TroopName[$i] <> "Arch" and $TroopName[$i] <> "Gobl" then
assign(("Cur" & $TroopName[$i]) , eval("Cur" & $TroopName[$i]) + GUICtrlRead(eval("txtNum" & $TroopName[$i])))
$anotherTroops += GUICtrlRead(eval("txtNum" & $TroopName[$i])) * $TroopHeight[$i]
endif
next
for $i=0 to Ubound($TroopDarkName) - 1
assign(("Cur" & $TroopDarkName[$i]) , eval("Cur" & $TroopDarkName[$i]) + GUICtrlRead(eval("txtNum" & $TroopDarkName[$i])))
$anotherTroops += GUICtrlRead(eval("txtNum" & $TroopDarkName[$i])) * $TroopDarkHeight[$i]
next
$CurGobl += ($TotalCamp-$anotherTroops)*GUICtrlRead($txtNumGobl)/100
$CurGobl = Round($CurGobl)
$CurBarb += ($TotalCamp-$anotherTroops)*GUICtrlRead($txtNumBarb)/100
$CurBarb = Round($CurBarb)
$CurArch += ($TotalCamp-$anotherTroops)*GUICtrlRead($txtNumArch)/100
$CurArch = Round($CurArch)
EndIf

;Local $GiantEBarrack ,$WallEBarrack ,$ArchEBarrack ,$BarbEBarrack ,$GoblinEBarrack,$HogEBarrack,$MinionEBarrack, $WizardEBarrack
if $barrackNum <> 0 then
for $i=0 to Ubound($TroopName) - 1
assign(($TroopName[$i] & "EBarrack") , Floor(eval("Cur" & $TroopName[$i])/$barrackNum))
next
else
for $i=0 to Ubound($TroopName) - 1
assign(($TroopName[$i] & "EBarrack") , Floor(eval("Cur" & $TroopName[$i])/4))
next
endif

if $barrackDarkNum <> 0 then
for $i=0 to Ubound($TroopDarkName) - 1
assign(($TroopDarkName[$i] & "EBarrack") , Floor(eval("Cur" & $TroopDarkName[$i])/$barrackDarkNum))
next
else
for $i=0 to Ubound($TroopDarkName) - 1
assign(($TroopDarkName[$i] & "EBarrack") , Floor(eval("Cur" & $TroopDarkName[$i])/2))
next
endif


for $i=0 to Ubound($TroopName) - 1
assign(("troopFirst" & $TroopName[$i]) , 0)
assign(("troopSecond" & $TroopName[$i]) , 0)
next
for $i=0 to Ubound($TroopDarkName) - 1
assign(("troopFirst" & $TroopDarkName[$i]) , 0)
assign(("troopSecond" & $TroopDarkName[$i]) , 0)
next

If Not $fullArmy And _ColorCheck(_GetPixelColor(403, 154, True), Hex(0xE84E50, 6), 10) Then
$fullArmy = True
EndIf

$brrNum = 0
if _GUICtrlComboBox_GetCurSel($cmbTroopComp) = 8 then
while not $fullArmy And isBarrack($page)
_CaptureRegion()

If Not $fullArmy And _ColorCheck(_GetPixelColor(403, 154), Hex(0xE84E50, 6), 10) Then
$fullArmy = True
EndIf

if $FirstStart then
$icount = 0
while not _ColorCheck(_GetPixelColor(496, 197, True), Hex(0xE0E4D0, 6), 20)
   ; Delete your build queue from your barracks when you push Stop and then Start button again
   Click(496, 197, 10)
$icount += 1
if $icount = 20 then ExitLoop
wend
endif
   If _Sleep(500) Then ExitLoop
$brrNum += 1
Switch $barrackTroop[$brrNum-1]
Case 0
Click(220, 320, 75) ;Barbarian
Case 1
Click(331, 320, 75) ;Archer
Case 2
Click(432, 320, 15, 10) ;Giant
Case 3
Click(546, 320, 75, 10) ;Goblin
Case 4
Click(647, 320, 37, 10) ;Wall Breaker
Case 5
Click(220, 425, 15, 10) ;Balloon
Case 6
Click(331, 425, 18, 10) ;Wizard
Case 7
Click(432, 425, 5, 10) ;Healer
Case 8
Click(546, 425, 3, 10) ;Dragon
Case 9
Click(647, 425, 3, 10) ;PEKKA
EndSwitch

   If _Sleep(500) Then ExitLoop
Click($NextPos[0], $NextPos[1]) ;click next button
$page += 1
If $page == 9 Then $page = 1
If $brrNum >= 4 Then ExitLoop ; make sure no more infiniti loop
If _Sleep(1000) Then ExitLoop
;endif
wend
else
while isBarrack($page) and $isNormalBuild
$brrNum += 1
if $fullArmy or $FirstStart then
$icount = 0
while not _ColorCheck(_GetPixelColor(496, 197, True), Hex(0xE0E4D0, 6), 20)
   Click(496, 197, 10)
$icount += 1
if $icount = 100 then exitloop
wend
endif
If _Sleep(100) Then ExitLoop
for $i=0 to Ubound($TroopName) - 1
If GUICtrlRead(eval("txtNum" & $TroopName[$i])) <> "0" Then
$heightTroop = 278
$positionTroop = $TroopNamePosition[$i]
if $TroopNamePosition[$i] > 4 then
$heightTroop = 384
$positionTroop = $TroopNamePosition[$i] - 5
endif
assign(("troopFirst" & $TroopName[$i]) , Number(getOther(171 + 107 * $positionTroop, $heightTroop, "Barrack")))
if eval("troopFirst" & $TroopName[$i]) = 0 then
If _Sleep(100) Then ExitLoop
assign(("troopFirst" & $TroopName[$i]) , Number(getOther(171 + 107 * $positionTroop, $heightTroop, "Barrack")))
endif
Endif
next
Local $TempTroopName = ""
for $i=0 to Ubound($TroopName) - 1
  If GUICtrlRead(eval("txtNum" & $TroopName[$i])) <> "0" And eval("Cur" & $TroopName[$i]) > 0 Then
  If IsOdd($brrNum-1) AND $TroopRotateIndex[$i] <> -1 Then
; If no need to train the replacement troop, don't rotate order
If GUICtrlRead(eval("txtNum" & $TroopName[$TroopRotateIndex[$i]])) <> "0" And eval("Cur" & $TroopName[$TroopRotateIndex[$i]]) > 0 Then
$TempTroopName = $TroopName[$i]
$TroopName[$i] = $TroopName[$TroopRotateIndex[$i]]
EndIf
  EndIf
  ;If _ColorCheck(_GetPixelColor(261, 366), Hex(0x39D8E0, 6), 20) And $CurArch > 0 Then
  If eval("Cur" & $TroopName[$i]) > 0  Then
if eval($TroopName[$i] & "EBarrack") = 0 then
TrainIt(eval("e" & $TroopName[$i]), 1)
$BarrackStatus[$brrNum-1] = true
elseif eval($TroopName[$i] & "EBarrack") >= eval("Cur" & $TroopName[$i]) then
TrainIt(eval("e" & $TroopName[$i]), eval("Cur" & $TroopName[$i]))
$BarrackStatus[$brrNum-1] = true
else
TrainIt(eval("e" & $TroopName[$i]), eval($TroopName[$i] & "EBarrack"))
$BarrackStatus[$brrNum-1] = true
endif
  EndIf
  EndIf
  If $TempTroopName <> "" Then
  $TroopName[$i] = $TempTroopName
  $TempTroopName = ""
  EndIf
next

  If _Sleep(100) Then ExitLoop

for $i=0 to Ubound($TroopName) - 1
  If GUICtrlRead(eval("txtNum" & $TroopName[$i])) <> "0" Then
$heightTroop = 278
$positionTroop = $TroopNamePosition[$i]
if $TroopNamePosition[$i] > 4 then
$heightTroop = 384
$positionTroop = $TroopNamePosition[$i] - 5
endif
assign(("troopSecond" & $TroopName[$i]) , Number(getOther(171 + 107 * $positionTroop, $heightTroop, "Barrack")))
if eval("troopSecond" & $TroopName[$i]) = 0 then
If _Sleep(100) Then ExitLoop
assign(("troopSecond" & $TroopName[$i]) , Number(getOther(171 + 107 * $positionTroop, $heightTroop, "Barrack")))
endif
endif
next

$troopNameCooking = ""
for $i=0 to Ubound($TroopName) - 1
  if eval("troopSecond" & $TroopName[$i]) > eval("troopFirst" & $TroopName[$i]) and GUICtrlRead(eval("txtNum" & $TroopName[$i])) <> "0" then
  $ArmyComp += (eval("troopSecond" & $TroopName[$i]) - eval("troopFirst" & $TroopName[$i])) * $TroopHeight[$i]
  assign(("Cur" & $TroopName[$i]) , eval("Cur" & $TroopName[$i]) - (eval("troopSecond" & $TroopName[$i]) - eval("troopFirst" & $TroopName[$i])))
  endif
  if eval("troopSecond" & $TroopName[$i]) > 0 then
$troopNameCooking = $troopNameCooking & $i & ";"
endif
next

;if  _ColorCheck(_GetPixelColor(496, 197, True), Hex(0xE0E4D0, 6), 20) then
if  _ColorCheck(_GetPixelColor(496, 197, True), Hex(0xE0E4D0, 6), 20) or $troopNameCooking = "" then
$BarrackStatus[$brrNum-1] = false
else
$BarrackStatus[$brrNum-1] = true
endif

if _ColorCheck(_GetPixelColor(327, 520, True), Hex(0xD03838, 6), 20) then
   $icount = 0
while not _ColorCheck(_GetPixelColor(496, 197, True), Hex(0xE0E4D0, 6), 20)
   Click(496, 197, 5)
$icount += 1
if $icount = 100 then exitloop
wend
If _Sleep(100) Then ExitLoop
TrainIt($eArch, 20)
endif

if $BarrackStatus[0] = false and $BarrackStatus[1] = false and $BarrackStatus[2] = false and $BarrackStatus[3] = false and not $FirstStart then
if not $isDarkBuild or ($BarrackDarkStatus[0] = false and $BarrackDarkStatus[1] = false) then
TrainIt($eArch, 20)
endif
endif

Click($NextPos[0], $NextPos[1]) ;click next button
$page += 1
If $page == 9 Then $page = 1
  If _Sleep(500) Then ExitLoop
$icount = 0
while not isBarrack($page)
If _Sleep(200) Then ExitLoop
$icount = $icount + 1
if $icount = 5 then ExitLoop
wend
  If $brrNum >= $barrackNum Then ExitLoop ; make sure no more infiniti loop
wend

EndIf

;dark here

If $isDarkBuild Then
$iBarrHere = 0
$brrDarkNum = 0
while 1
If IsArray($NextPos) Then Click($NextPos[0], $NextPos[1]) ;click next button
$page += 1
If $page == 9 Then $page = 1
$iBarrHere += 1
If _Sleep(1000) Then ExitLoop
if(isDarkBarrack($page) or $iBarrHere = 5) then ExitLoop
wend

while isDarkBarrack($page)
$brrDarkNum += 1
;~ ; SetLog("====== Barrack: " & $brrDarkNum & " ======", $COLOR_PURPLE)
if StringInStr($sBotDll, "CGBPlugin.dll") < 1 then
ExitLoop
endif
if $fullArmy or $FirstStart then
$icount = 0
while not _ColorCheck(_GetPixelColor(496, 197,True), Hex(0xE0E4D0, 6), 20)
Click(496, 197, 10)
$icount += 1
if $icount = 100 then exitloop
wend
endif

If _Sleep(100) Then ExitLoop
for $i=0 to Ubound($TroopDarkName) - 1
If GUICtrlRead(eval("txtNum" & $TroopDarkName[$i])) <> "0" Then
$heightTroop = 278
$positionTroop = $TroopDarkNamePosition[$i]
if $TroopDarkNamePosition[$i] > 4 then
$heightTroop = 384
$positionTroop = $TroopDarkNamePosition[$i] - 5
endif

assign(("troopFirst" & $TroopDarkName[$i]) , Number(getOther(171 + 107 * $positionTroop, $heightTroop, "Barrack")))
if eval("troopFirst" & $TroopDarkName[$i]) = 0 then
If _Sleep(100) Then ExitLoop
assign(("troopFirst" & $TroopDarkName[$i]) , Number(getOther(171 + 107 * $positionTroop, $heightTroop, "Barrack")))
endif
Endif
next

for $i=0 to Ubound($TroopDarkName) - 1
  If GUICtrlRead(eval("txtNum" & $TroopDarkName[$i])) <> "0" And eval("Cur" & $TroopDarkName[$i]) > 0 Then
  ;If _ColorCheck(_GetPixelColor(261, 366), Hex(0x39D8E0, 6), 20) And $CurArch > 0 Then
  If eval("Cur" & $TroopDarkName[$i]) > 0  Then
if eval($TroopDarkName[$i] & "EBarrack") = 0 then
TrainIt(eval("e" & $TroopDarkName[$i]), 1)
$BarrackDarkStatus[$brrDarkNum-1] = true
elseif eval($TroopDarkName[$i] & "EBarrack") >= eval("Cur" & $TroopDarkName[$i]) then
TrainIt(eval("e" & $TroopDarkName[$i]), eval("Cur" & $TroopDarkName[$i]))
$BarrackDarkStatus[$brrDarkNum-1] = true
else
TrainIt(eval("e" & $TroopDarkName[$i]), eval($TroopDarkName[$i] & "EBarrack"))
$BarrackDarkStatus[$brrDarkNum-1] = true
endif
  EndIf
  EndIf
next

If _Sleep(100) Then ExitLoop

  for $i=0 to Ubound($TroopDarkName) - 1
If GUICtrlRead(eval("txtNum" & $TroopDarkName[$i])) <> "0" Then
$heightTroop = 278
$positionTroop = $TroopDarkNamePosition[$i]
if $TroopDarkNamePosition[$i] > 4 then
$heightTroop = 384
$positionTroop = $TroopDarkNamePosition[$i] - 5
endif
assign(("troopSecond" & $TroopDarkName[$i]) , Number(getOther(171 + 107 * $positionTroop, $heightTroop, "Barrack")))
if eval("troopSecond" & $TroopDarkName[$i]) = 0 then
If _Sleep(100) Then ExitLoop
assign(("troopSecond" & $TroopDarkName[$i]) , Number(getOther(171 + 107 * $positionTroop, $heightTroop, "Barrack")))
endif
endif
next


for $i=0 to Ubound($TroopDarkName) - 1
  if eval("troopSecond" & $TroopDarkName[$i]) > eval("troopFirst" & $TroopDarkName[$i]) and GUICtrlRead(eval("txtNum" & $TroopDarkName[$i])) <> "0" then
  $ArmyComp += (eval("troopSecond" & $TroopDarkName[$i]) - eval("troopFirst" & $TroopDarkName[$i])) * $TroopDarkHeight[$i]
  assign(("Cur" & $TroopDarkName[$i]) , eval("Cur" & $TroopDarkName[$i]) - (eval("troopSecond" & $TroopDarkName[$i]) - eval("troopFirst" & $TroopDarkName[$i])))
endif
next

if  _ColorCheck(_GetPixelColor(496, 197,True), Hex(0xE0E4D0, 6), 20) then
$BarrackDarkStatus[$brrDarkNum-1] = false
else
$BarrackDarkStatus[$brrDarkNum-1] = true
endif

if _ColorCheck(_GetPixelColor(327, 520,True), Hex(0xD03838, 6), 20) then
$icount = 0
while not _ColorCheck(_GetPixelColor(496, 197,True), Hex(0xE0E4D0, 6), 20)
Click(496, 197, 5)
$icount += 1
if $icount = 100 then exitloop
wend
If _Sleep(100) Then ExitLoop
TrainIt($eMini, 10)
endif

if $BarrackDarkStatus[0] = false and $BarrackDarkStatus[1] = false and (not $isNormalBuild) and (not $FirstStart) then
TrainIt($eMini, 6)
endif

If IsArray($NextPos) Then Click($NextPos[0], $NextPos[1]) ;click next button
$page += 1
If $page == 9 Then $page = 1

  If _Sleep(500) Then ExitLoop
$icount = 0
while not isDarkBarrack($page)
If _Sleep(200) Then ExitLoop
$icount = $icount + 1
if $icount = 5 then ExitLoop
wend
If $brrDarkNum >= $barrackDarkNum Then ExitLoop ; make sure no more infiniti loop
wend
;end dark
EndIf

if _GUICtrlComboBox_GetCurSel($cmbTroopComp) <> 8 and $isNormalBuild and $BarrackStatus[0] = false and $BarrackStatus[1] = false and $BarrackStatus[2] = false and $BarrackStatus[3] = false and not $FirstStart then
if not $isDarkBuild or ($BarrackDarkStatus[0] = false and $BarrackDarkStatus[1] = false) then
train()
return
endif
endif

If GUICtrlRead($chkLightSpell) = $GUI_CHECKED Then
     $iBarrHere = 0
     while not isSpellFactory($page)
If IsArray($NextPos) Then Click($NextPos[0], $NextPos[1]) ;click next button
$page += 1
If $page == 9 Then $page = 1
$iBarrHere += 1
If _Sleep(1000) Then ExitLoop
If $iBarrHere = 7 then ExitLoop
wend

if isSpellFactory($page) then
SetLog("Create Lightning Spell", $COLOR_BLUE)
Local $x = 0
While 1
_CaptureRegion()
If _sleep(500) Then Return
If  _ColorCheck(_GetPixelColor(237, 354, True), Hex(0xFFFFFF, 6), 20) = False Then
setlog("Not enough Elixir to create Spell", $COLOR_RED)
ExitLoop
Elseif  _ColorCheck(_GetPixelColor(200, 346, True), Hex(0x1A1A1A, 6), 20) Then
setlog("Spell Factory Full", $COLOR_RED)
ExitLoop
Else
Click(252, 354, 1, 20)
$x = $x + 1
EndIf
If $x = 5 Then
ExitLoop
EndIf
WEnd
If $x = 0 then
else
SetLog("Created " & $x &" Lightning Spell(s)", $COLOR_BLUE)
Endif
else
SetLog("Spell Factory not found...", $COLOR_BLUE)
endif
  Else
  ;setlog("Spell Factory is not checked, Skip Create", $COLOR_RED)

  EndIf ; End Spell Factory

If _Sleep(200) Then Return
Click($TopLeftClient[0], $TopLeftClient[1], 2, 250); Click away twice with 250ms delay

$FirstStart = false
;~         SetLog("========================", $COLOR_GREEN)
IF _GUICtrlComboBox_GetCurSel($cmbTroopComp) <> 1 Then
;~ SetLog("========================", $COLOR_GREEN)
EndIf

EndFunc   ;==>Train

Func TrainLightning()
SetLog("Train Lightning after Zap&Run", $COLOR_BLUE)
If $SFPos[0] = -1 Then
LocateSpellFactory()
SaveConfig()
Else
Click($SFPos[0], $SFPos[1])
If _Sleep(600) Then Return
Local $TrainPos = _ColorCheck(_GetPixelColor(555, 623, True), Hex(0x474747, 6), 20) ;Finds Create Spell button
$icount = 0
while not $TrainPos
If _Sleep(500) Then Return
$icount = $icount + 1
$TrainPos = _ColorCheck(_GetPixelColor(555, 623, True), Hex(0x474747, 6), 20) ;Finds Create Spell button
If $icount = 10 then ExitLoop
wend
If $TrainPos = False Then
SetLog("Your Spell is not available. (Upgrading? Disable Zap&Run if upgrade in progress)", $COLOR_RED)
If _Sleep(500) Then Return
Return
EndIf
       ; Now go into the spell factory
       Click (555,623)
       If _Sleep(500) Then Return
Local $x = 0
While 1
_CaptureRegion()
If _sleep(500) Then Return
If  _ColorCheck(_GetPixelColor(237, 354, True), Hex(0xFFFFFF, 6), 20) = False Then
setlog("Not enough Elixir to create Spell", $COLOR_RED)
ExitLoop
Elseif  _ColorCheck(_GetPixelColor(200, 346, True), Hex(0x1A1A1A, 6), 20) Then
setlog("Spell Factory Full", $COLOR_RED)
ExitLoop
Else
Click(252, 354, 1, 20)
$x = $x + 1
EndIf
If $x = 5 Then
ExitLoop
EndIf
WEnd
If $x = 0 then
else
SetLog("Created " & $x &" Lightning Spell(s)", $COLOR_BLUE)
Endif
If _Sleep(200) Then Return
Click($TopLeftClient[0], $TopLeftClient[1], 2, 250); Click away twice with 250ms delay
EndIf
EndFunc    ;==>TrainLightning

Func checkArmyCamp()
SetLog("Checking Army Camp...", $COLOR_BLUE)
  If _Sleep(100) Then Return

  ClickP($TopLeftClient) ;Click Away
#cs
If $ArmyPos[0] = "" Then
LocateBarrack(True)
SaveConfig()
   else
#ce
  If _Sleep(100) Then Return
  Click(41, 526) ;Click Info Army

If _Sleep(500) Then Return
  CheckFullArmy()
  If _Sleep(500) Then Return
  ClickP($TopLeftClient) ;Click Away
#cs
_CaptureRegion()
  If _Sleep(500) Then Return
  Local $BArmyPos = _PixelSearch(309, 581, 433, 583, Hex(0x4084B8, 6), 5) ;Finds Info button
  $icount = 0
while not IsArray($BArmyPos)
If _Sleep(500) Then Return
$icount = $icount + 1
$BArmyPos = _PixelSearch(309, 581, 433, 583, Hex(0x4084B8, 6), 5) ;Finds Info button
if $icount = 10 then ExitLoop
wend
  If IsArray($BArmyPos) = False Then
  SetLog("Your Army Camp is not available", $COLOR_RED)
  if $TotalCamp = "" and $TotalCamp = 0 then
  $TotalCamp = InputBox("Question", "Enter your total Army Camp capacity", "200", "", _
- 1, -1, 0, 0)
$TotalCamp = int($TotalCamp)
Endif
  If _Sleep(500) Then Return
  Else
  Click($BArmyPos[0], $BArmyPos[1]) ;Click Info button
  If _Sleep(1000) Then Return
  $CurCamp = Number(getOther(590, 198, "Camp"))
  if $TotalCamp = "" or $TotalCamp = 0 then
$TotalCamp = Number(getOther(590, 190, "Camp", True))
  endif

  if $TotalCamp = "" and $TotalCamp = 0 then
  $TotalCamp = InputBox("Question", "Enter your total Army Camp capacity", "200", "", _
Default,Default, 600, 300)
$TotalCamp = int($TotalCamp)
Endif
  If _Sleep(500) Then Return

  SetLog("Total Army Camp capacity: " & $CurCamp & "/" & $TotalCamp)
  ;If _ColorCheck(_GetPixelColor(692, 208), Hex(0x90DB38, 6), 20) and $ichkFullTroop = 0 Then

if ($CurCamp >= ($TotalCamp * $fulltroop/100)) then
$fullArmy = True
endif

  if $fullArmy then
  elseIf ($CurCamp+1)=$TotalCamp Then
  $fullArmy = True
  Else
  #ce
_CaptureRegion()
For $i = 0 To 6
Local $TroopKind = _GetPixelColor(230 + 71 * $i, 359)
Local $TroopKind2 = _GetPixelColor(230 + 71 * $i, 371)
Local $TroopKind3 = _GetPixelColor((230 + 71 * $i)-4, 380) ; problens between dragons & Witches
Local $TroopName = 0
Local $TroopQ = getOther(229 + 71 * $i, 413, "Camp")
If _ColorCheck($TroopKind, Hex(0xF85CCB, 6), 20) Then
if ($CurArch=0 and $FirstStart) then $CurArch -= $TroopQ
$TroopName = "Archers"
ElseIf _ColorCheck($TroopKind, Hex(0xF8E439, 6), 20) Then
if ($CurBarb=0 and $FirstStart) then $CurBarb -= $TroopQ
$TroopName = "Barbarians"
ElseIf _ColorCheck($TroopKind, Hex(0xF8D198, 6), 20) Then
if ($CurGiant=0 and $FirstStart) then $CurGiant -= $TroopQ
$TroopName = "Giants"
ElseIf _ColorCheck($TroopKind, Hex(0x93EC60, 6), 20) Then
if ($CurGobl=0 and $FirstStart) then $CurGobl -= $TroopQ
$TroopName = "Goblins"
ElseIf (_ColorCheck($TroopKind, Hex(0x48a6e8, 6), 15) And _
    _ColorCheck($TroopKind2, Hex(0x413f48, 6), 15)) or _
( _ColorCheck($TroopKind, Hex(0x48a7e8, 6), 15) And _
_ColorCheck($TroopKind2, Hex(0x433c40, 6), 15)) Then
if ($CurWall=0 and $FirstStart) then $CurWall -= $TroopQ  ; compensation slot(2) -1 and slot(4) -1 #
$TroopName = "Wallbreakers"
ElseIf _ColorCheck($TroopKind, Hex(0x861c15, 6), 15) or _
    _ColorCheck($TroopKind, Hex(0x781c10, 6), 15) or _
                    _ColorCheck($TroopKind, Hex(0x701b10, 6), 15) Then
if ($CurBall=0 and $FirstStart) then $CurBall -= $TroopQ   ; compensation slot(2) -1 and slot(4) -1 #
$TroopName = "Balloons"
  ElseIf _ColorCheck($TroopKind, Hex(0xF8F8E0, 6), 15) OR _
     _ColorCheck($TroopKind, Hex(0xF8FCE0, 6), 15) OR _
     _ColorCheck($TroopKind, Hex(0xF8F9E0, 6), 15) Then
if ($CurHeal=0 and $FirstStart) then $CurHeal -= $TroopQ ; compensation slot(2) -1 and slot(4) -1 #
$TroopName = "Healers"
  ElseIf _ColorCheck($TroopKind, Hex(0xa86c68, 6), 15) Or _
     _ColorCheck($TroopKind, Hex(0xb8746b, 6), 15) Or _
     _ColorCheck($TroopKind, Hex(0xb97870, 6), 15) Then
if ($CurWiza=0 and $FirstStart) then $CurWiza -= $TroopQ
$TroopName = "Wizards"
  ElseIf _ColorCheck($TroopKind3, Hex(0x302748, 6), 15) OR _
_ColorCheck($TroopKind3, Hex(0x302746, 6), 15) OR _
                     _ColorCheck($TroopKind3, Hex(0x2e2440, 6), 15) Then
if ($CurDrag=0 and $FirstStart) then $CurDrag -= $TroopQ  ; compensation slot(2) -1 and slot(4) -1 #
     $TroopName = "Dragons"
  ElseIf _ColorCheck($TroopKind2, Hex(0x81a1b1, 6), 15) Or _
_ColorCheck($TroopKind2, Hex(0x88a3b6, 6), 15) Or _
     _ColorCheck($TroopKind2, Hex(0x88a6b8, 6), 15) then
if ($CurPekk=0 and $FirstStart) then $CurPekk -= $TroopQ
$TroopName = "Pekkas"
ElseIf _ColorCheck($TroopKind, Hex(0x171f38, 6), 15) Or _
    _ColorCheck($TroopKind, Hex(0x111c38, 6), 15) Or _
_ColorCheck($TroopKind, Hex(0x181c38, 6), 15) Then
if ($CurMini=0 and $FirstStart) then $CurMini -= $TroopQ
$TroopName = "Minions"
ElseIf _ColorCheck($TroopKind3, Hex(0x995242, 6), 15) Or _
                    _ColorCheck($TroopKind3, Hex(0x9e5440, 6), 15) Or _
_ColorCheck($TroopKind3, Hex(0x9e4c37, 6), 15) Then
if ($CurHogs=0 and $FirstStart) then $CurHogs -= $TroopQ
$TroopName = "Hog Riders"
ElseIf _ColorCheck($TroopKind, Hex(0x9d3500, 6), 15) Or _
                    _ColorCheck($TroopKind, Hex(0x973b08, 6), 15) Or _
_ColorCheck($TroopKind, Hex(0xa03800, 6), 15) Then
if ($CurValk=0 and $FirstStart) then $CurValk -= $TroopQ ; compensation slot(2) -1 and slot(4) -1 #
$TroopName = "Valkyries"
ElseIf _ColorCheck($TroopKind2, Hex(0x6a6151, 6), 15) Or _
                    _ColorCheck($TroopKind2, Hex(0x736453, 6), 15) Or _
_ColorCheck($TroopKind2, Hex(0x7c6e5b, 6), 15) Then
if ($CurGole=0 and $FirstStart) then $CurGole -= $TroopQ ; compensation slot(2) -1 and slot(4) -1 #
$TroopName = "Golems"
ElseIf _ColorCheck($TroopKind3, Hex(0xf845ae, 6), 20) Or _
                    _ColorCheck($TroopKind3, Hex(0xf83ba2, 6), 20) Or _
_ColorCheck($TroopKind3, Hex(0xf12684, 6), 20) Or _
_ColorCheck($TroopKind3, Hex(0xd8155b, 6), 20) Then
if ($CurWitc=0 and $FirstStart) then $CurWitc -= $TroopQ ; compensation slot(2) -1 and slot(4) -1 # Slot(6) d8155b
$TroopName = "Witches"
ElseIf _ColorCheck($TroopKind3, Hex(0x686150, 6), 15) Or _
                    _ColorCheck($TroopKind3, Hex(0x615c4f, 6), 15) Or _
_ColorCheck($TroopKind3, Hex(0x60594f, 6), 15) Then
if ($CurLava=0 and $FirstStart) then $CurLava -= $TroopQ ; compensation slot(2) -1 and slot(4) -1 #
$TroopName = "Lava Hounds"
EndIf
;656,359,0xBCBAAC   ---   6  --nothing
If $TroopQ <> 0 Then SetLog(" - No. of " & $TroopName & ": " & $TroopQ)
  Next

if not $fullArmy and $FirstStart then
$ArmyComp = $CurCamp
   endif
  ClickP($TopLeftClient) ;Click Away
  $FirstCampView = True

If $fullArmy Then
$BarrackStatus[0] = false
$BarrackStatus[1] = false
$BarrackStatus[2] = false
$BarrackStatus[3] = false
$BarrackDarkStatus[0] = false
$BarrackDarkStatus[1] = false
SetLog("Army Camp is Full", $COLOR_RED)
Else
SetLog("Army Camp not Full yet", $COLOR_RED)
EndIf
Endfunc

Func IsOdd($num)
if (Mod($num, 2) >= 1)  Then
return True
Else
return False
EndIf
EndFunc

Func SetTroops()
If $OptTrophyMode = 1 Then
for $i=0 to Ubound($THSnipeTroopGroup,1) - 1
$TroopName[$i]         = $THSnipeTroopGroup[$i][0]
$TroopNamePosition[$i] = $THSnipeTroopGroup[$i][1]
$TroopHeight[$i]       = $THSnipeTroopGroup[$i][2]
$TroopRotateIndex[$i]       = $THSnipeTroopGroup[$i][3]
next
EndIf
EndFunc

Func RevertTroops()
for $i=0 to Ubound($TroopGroup,1) - 1
$TroopName[$i]         = $TroopGroup[$i][0]
$TroopNamePosition[$i] = $TroopGroup[$i][1]
$TroopHeight[$i]       = $TroopGroup[$i][2]
$TroopRotateIndex[$i]       = $TroopGroup[$i][3]
next
EndFunc[CODE]

FONTE
gamebot.org
 
raga cerchiamo di accontentarci per il momento...
appena rilasceranno la versione nuova ci divertiremo di nuovo
 
Io lo vorrei provare ma ancora non ho 4 caserme e il barracks mode mi da problemi, cmq da quanto ho letto bisogna o modificare dei valori in un file del bot o sostituire direttamente lo stesso file fino a quando non viene rilasciata la nuova versione. Se serve a qualcuno posso cercare il link per il download e postarlo qui
 
Io ho appena scaricato tutto, cambio quelle cose li e poi lo avvio e funziona?

Un altra cosa, mi crea anche i goblin e non li usa è normale?
cambia quelle cose e poi funziona... anche se non in modo completo...molte funzioni al momento non vanno, ma meglio di niente...
no... i goblin non vanno... nelle caserme devi mettere Barracks Mode e mettere 2 archi e 2 barbari...al momento solo questa combinazione va
 
Stato
Discussione chiusa ad ulteriori risposte.