Jelajahi Sumber

add knight training feature

chestercs 2 tahun lalu
induk
melakukan
1d6023c13a
1 mengubah file dengan 36 tambahan dan 12 penghapusan
  1. 36 12
      klanhaboru_main.au3

+ 36 - 12
klanhaboru_main.au3

@@ -15,13 +15,15 @@
    Global $scavengeMode = 				IniRead(@ScriptDir & "/config.ini", "Options", "scavengeMode", "2")  ; Mode 0-3 (0-Lusta gyûjtögetõk, 1-Szerény gyûjtögetõk, 2-Okos gyûjtögetõk, 3-Kiváló gyûjtögetõk)
    Global $traytip = 					IniRead(@ScriptDir & "/config.ini", "Options", "trayTip", true)
 
-   Global $trainUnitRepeatTimer = 		3600            ; in seconds (default: 1h)
-   Global $trainLovassagRepeatTimer = 	3600         	; in seconds (default: 1h)
-   Global $epitesRepeatTimer = 			600             ; in seconds (default: 10min)
+   Global $trainUnitRepeatTimer = 		3600             ; in seconds (default: 1h)
+   Global $trainLovassagRepeatTimer = 	3600         	 ; in seconds (default: 1h)
+   Global $epitesRepeatTimer = 			3600             ; in seconds (default: 10min)
+   Global $trainKnightRepeatTimer = 	9000             ; in seconds (default: 10min)
    Global $gyujtogetesEventTimer = 		eventStart(0)   ; delay task after bot started with seconds (default: 0)
    Global $trainUnitsEventTimer = 		eventStart(0)   ; delay task after bot started with seconds (default: 0)
    Global $trainLovassagEventTimer = 	eventStart(0) 	; delay task after bot started with seconds (default: 0)
    Global $epitesEventTimer = 			eventStart(0)   ; delay task after bot started with seconds (default: 0)
+   Global $trainKnightEventTimer = 		eventStart(0)   ; delay task after bot started with seconds (default: 0)
    Global $pageLoadTime = 				1500 			; inMs
    Global $sleepTimesInEndOfTasks = 	2200			; inMs
 #EndRegion
@@ -29,10 +31,11 @@
 
 
 While 1
-   gyujtogetes(true, 2, 0, 0, 0, 0, 0, 0, 0, 0) 	; sendAll, mode, landzsas, kardforgato, bardos, ijasz, konnyulovas, lovasijasz, nehezlovas, lovag (can be -1 what is meant to all unit button)
-   trainUnits(0, 0, 0, 3) 							; landzsas, kardforgato, bardos, ijasz  (can be -1 what is meant to all unit button)
-   trainLovassag(0, 2, 0, 0) 						; kem, konnyulovas, lovasijasz, nehezlovas  (can be -1 what is meant to all unit button)
-   epites("main") 									; Options: main, barracks, stable, watchtower, smith, place, statue, market, wood, stone, iron, farm, storage, hide, wall
+   gyujtogetes(false, 2, -1, -1, -1, -1, -1, -1, -1, 0) 	; sendAll, mode, landzsas, kardforgato, bardos, ijasz, konnyulovas, lovasijasz, nehezlovas, lovag (can be -1 what is meant to all unit button)
+   trainUnits(0, 0, 0, 5) 									; landzsas, kardforgato, bardos, ijasz  (can be -1 what is meant to all unit button)
+   trainLovassag(0, 5, 0, 0) 								; kem, konnyulovas, lovasijasz, nehezlovas  (can be -1 what is meant to all unit button)
+   epites("wood") 											; Options: main, barracks, stable, watchtower, smith, place, statue, market, wood, stone, iron, farm, storage, hide, wall
+   trainKnight()
    TrayTipGG("")
 WEnd
 
@@ -83,7 +86,7 @@ Func trainUnits($landzsas, $kardforgato, $bardos, $ijasz)
    If ($landzsas = 0 and $kardforgato = 0 and $bardos = 0 and $ijasz = 0) Then Return False
    TraytipGG("Train Units started!" & @CRLF)
    openNewTab()
-   navigateUrl(getGameUrl("barracks", ""), false)
+   navigateUrl(getGameUrl("barracks"), false)
    Sleep($pageLoadTime)
    If ($landzsas > 0) Then jsExecutor("document.getElementsByName('spear')[0].value = '" & $landzsas & "';")
    If ($kardforgato > 0) Then jsExecutor("document.getElementsByName('sword')[0].value = '" & $kardforgato & "';")
@@ -108,7 +111,7 @@ Func trainLovassag($kem, $konnyulovas, $lovasijasz, $nehezlovas)
    If ($kem = 0 and $konnyulovas = 0 and $lovasijasz = 0 and $nehezlovas = 0) Then Return False
    TraytipGG("Train Lovassag started!" & @CRLF)
    openNewTab()
-   navigateUrl(getGameUrl("stable", ""), false)
+   navigateUrl(getGameUrl("stable"), false)
    Sleep($pageLoadTime)
    If ($kem > 0) Then jsExecutor("document.getElementsByName('spy')[0].value = '" & $kem & "';")
    If ($konnyulovas > 0) Then jsExecutor("document.getElementsByName('light')[0].value = '" & $konnyulovas & "';")
@@ -132,7 +135,7 @@ Func epites($buildingId) ;Options: main, barracks, stable, watchtower, smith, pl
    If (Not eventTriggered($epitesEventTimer)) Then Return false
    TraytipGG("Epites started: " & $buildingId & @CRLF)
    openNewTab()
-   navigateUrl(getGameUrl("main", ""), false)
+   navigateUrl(getGameUrl("main"), false)
    Sleep($pageLoadTime)
    jsExecutor("document.querySelector('{#}main_buildrow_" & $buildingId & "').querySelector('a.btn-build').click();")
    Sleep($pageLoadTime)
@@ -142,6 +145,24 @@ Func epites($buildingId) ;Options: main, barracks, stable, watchtower, smith, pl
    ConsoleWrite(@CRLF)
    Sleep($sleepTimesInEndOfTasks)
 EndFunc
+
+
+Func trainKnight()
+   If (Not eventTriggered($trainKnightEventTimer)) Then Return false
+   TraytipGG("Train Knight started! " & @CRLF)
+   openNewTab()
+   navigateUrl(getGameUrl("statue"), false)
+   Sleep($pageLoadTime)
+   sendJsClickByClass("knight_train_launch")
+   Sleep(1200)
+   sendJsClickByClass("knight_regimen_confirm")
+   Sleep($pageLoadTime)
+   $trainKnightEventTimer = eventStart($trainKnightRepeatTimer)
+   closeTab()
+   TraytipGG("Train Knight, next event: " & $trainKnightEventTimer & @CRLF)
+   ConsoleWrite(@CRLF)
+   Sleep($sleepTimesInEndOfTasks)
+EndFunc
 #EndRegion
 
 
@@ -158,8 +179,10 @@ Func closeTab()
    Sleep(1000)
 EndFunc
 
-Func getGameUrl($screen, $mode)
-   return "https://" & $server & ".klanhaboru.hu/game.php?village=" & $villageId & "&screen=" & $screen  & "&mode=" & $mode
+Func getGameUrl($screen, $mode = "")
+   $url = "https://" & $server & ".klanhaboru.hu/game.php?village=" & $villageId & "&screen=" & $screen
+   If (Not $mode == "") Then $url &= "&mode=" & $mode
+   return $url
 EndFunc
 
 Func sendJsClickById($elementId)
@@ -184,6 +207,7 @@ Func navigateUrl($url, $waitForGame = true)
    Sleep(300)
    Send("^a")
    Sleep(100)
+   ConsoleWrite($url & @CRLF)
    Send($url)
    Sleep(100)
    Send("{ENTER}")