Global $hwnd ; дескриптор окна
Global $quark[46] ; массив кварков
Global $waitime = 0
Global $VarCheckPix
Global $popitki = 0
Global $neudachi = 0
Global $vremaraboti = 0
Global $Active_Charge_quark = 2608990427 ; хеш активной части вкладки зарядки тел энерг
Global $Kubit_Decrase = 0 ; Сколько потратили кубита
Global $Kubit_Max = 0 ;Сколько можно тратить
Global $quark_need = 0 ;Сколько надо кварка
Global $quark_have = 0 ;Сколько получили кварка
Global $VIP_have = 0 ;Уровень випа
Global $hash_Ugol_knopli_Lepton = 775604326 ; хэш код кнопки нахождения кнопки лептон
Global $hash_knopka_sobrat = 186153415 ; хэш код кнопки нахождения кнопки собрать
Global $hash_Ugol_knopli_Sobrat = 350136515
Global $quark_see ; число кварка с воронок
Global $min_sbor_qvark1 = 12 ; если удалось определить, что 1 воронка
Global $min_sbor_qvark2 = 25 ; если удалось определить, что 2 воронки
Global $min_sbor_qvark3 = 37 ; если удалось определить, что 3 воронки
Global $etap_chek_kvark = 0 ; количество воронок: -1 =0; 0=1; 1=2; 2=3
Global $bag_skripta_hash = 3900199012
Global $vrema_zapuska
;~ Global $razreshenie_ekrana
Func _start_script($size_ecran)
For $mm=1 to 46 Step 1
$quark[$mm-1] = IniRead($size_ecran,"quark",$mm-1,"")
Next
$vrema_zapuska = @HOUR & "." & @MIN & "." & @SEC & " - " & @MDAY & "." & @MON & "." & @YEAR
$waitime = 0
IF WinExists("BlueStacks App Player")=1 THEN
$hwnd = WinGetHandle("BlueStacks App Player")
WinMove($hwnd,"",0,0)
Opt("PixelCoordMode", 2)
Else
_Exit()
EndIf
_Resource_quark_need() ;спрашиваем сколько кварка надо?
_Resource_kubit_max() ;спрашиваем сколько тратить кубита
_Switch_Vip() ;узнает уровень випа
_inicializacia_hasha()
While 1
If ($quark_need > $quark_have) And ($Kubit_Decrase < $Kubit_Max) Then
_Start_script_farm_quark()
Else
_Write_file("Предел достигнут")
ExitLoop
EndIf
WEnd
EndFunc
Func _Start_script_farm_quark()
ControlClick ($hwnd, "", "", "left", 1, 244, 58) ;активация вкладки зарядки
Sleep(200)
$vremaraboti += 200
$waitime = 0
While _Proverka_hasha(212,54,280,67,$Active_Charge_quark,"активация вкладки тел. энергия") = 0
_pause()
WEnd
$waitime = 0
While _Proverka_hasha(308,484,344,512,$hash_Ugol_knopli_Lepton,"кнопка лептон") = 0
_pause()
WEnd
$waitime = 0
ControlClick ($hwnd, "", "", "left", 1, 403, 521) ;кнопка Лептон
$Kubit_Decrase = $Kubit_Decrase + 20000 - (2000 * $VIP_have)
Sleep(1100)
$vremaraboti += 1100
WinActivate($hwnd)
Sleep(100)
$vremaraboti += 100
$VarCheckPix = PixelChecksum(485,512,529,535,1,$hwnd,0) ;снимаем хэш кварков
_chek_kvark1() ; чекаем хэщ кварков
$sobrat_kvark = 0
if $quark_see = 0 Then ;если кварк равен 0 то собираем
_sbor_kvarka() ; если 0, то собираем, елси нет, идём дальше по функциям
$sobrat_kvark = 1
EndIf
While $sobrat_kvark = 0
If $etap_chek_kvark = 0 Then
If $min_sbor_qvark1 > $quark_see Then
_zaradka_vorot()
$sobrat_kvark = 0
Else
_sbor_kvarka()
$sobrat_kvark = 1
EndIf
EndIf
If $etap_chek_kvark = 1 Then
If $min_sbor_qvark2 > $quark_see Then
_zaradka_vorot()
$sobrat_kvark = 0
Else
_sbor_kvarka()
$sobrat_kvark = 1
EndIf
EndIf
If $etap_chek_kvark = 2 Then
If $min_sbor_qvark3 > $quark_see Then
_zaradka_vorot()
$sobrat_kvark = 0
Else
_sbor_kvarka()
$sobrat_kvark = 1
EndIf
EndIf
if $etap_chek_kvark = -1 Then
_sbor_kvarka()
EndIf
WEnd
EndFunc
Func _Write_file($nada_zapisat)
$hFile = FileOpen(@ScriptDir & "\logs\" & $vrema_zapuska & ".txt", 1)
If $hFile = -1 Then
MsgBox(4096, "Ошибка", "Невозможно открыть файл.")
Exit
EndIf
FileWriteLine($hFile, $nada_zapisat)
FileClose($hFile)
EndFunc
Func _Exit()
_Write_file("Завершение работы скрипта: " & @HOUR & ":" & @MIN & ":" & @SEC & " " & @MDAY & ":" & @MON & ":" & @YEAR)
_Write_file("Потрачено кубита: " & $Kubit_Decrase & " из: " & $Kubit_Max)
_Write_file("Нужно было кварка: " & $quark_need & " получили: " & $quark_have)
_Write_file("Всего попыток: " & $popitki & " из них успешных: " & $popitki - $neudachi)
_Write_file($vremaraboti)
Exit
EndFunc
Func _Switch_Vip()
if MsgBox(4+32+256,"Уровень VIP","Есть VIP7?")=6 Then
$VIP_have = 2
ElseIf MsgBox(4+32+256,"Уровень VIP","Есть VIP3?")=6 Then
$VIP_have = 1
Else
$VIP_have = 0
_write_file("Уровень випа установлен:" & $Vip_have)
EndIf
EndFunc
Func _Resource_quark_need()
Local $sPattern = '[^\d]'
$quark_need = InputBox("Кварк","Сколько надо кварка?(пример: 2000), 0 или Отмена - сколько получится",0," M")
if StringRegExp($quark_need, $sPattern) = 1 Then
_Resource_quark_need()
Return
ElseIf $quark_need = 0 Then
$quark_need = 999999999
EndIf
if $quark_need = 999999999 Then
_write_file("Нужно собрать кварка:" & "сколько получится")
Else
_write_file("Нужно собрать кварка:" & $quark_need)
EndIf
EndFunc
Func _Resource_kubit_max()
Local $sPattern = '[^\d]'
$Kubit_Max = InputBox("Кубиты","Сколько тратим кубитов?(пример: 5000000), 0 или Отмена - на всё что есть!",0," M")
if StringRegExp($Kubit_Max, $sPattern) = 1 Then
_Resource_kubit_max()
Return
ElseIf $Kubit_Max = 0 Then
$Kubit_Max = 999999999
EndIf
if $quark_need = 999999999 Then
_write_file("Нужно собрать кубита:" & "сколько получится")
Else
_write_file("Нужно собрать кубита:" & $Kubit_Max)
EndIf
EndFunc
Func _Pause()
Sleep(2000)
$waitime += 2
TrayTip("Произошла ошибка!","Время ожидания: "& $waitime & " секунд(ы)",1000,3)
if $waitime > 60 Then
MsgBox("","Ошибка скрипта","Скрипт остановлен!")
_Exit()
EndIf
EndFunc
Func _chek_kvark1()
Local $ii=0
$quark_see = 99
While $ii <> 46 ; узнаем хэш
if $quark[$ii] = $VarCheckPix Then
$quark_see = $ii
EndIf
$ii += 1
WEnd
_Write_file("1 этап проверки кварка. Обнаружено кварка:" & $quark_see)
if $ii = 46 and $quark_see = 99 Then
$waitime = 0
_Write_file("1 этап проверки кварка. Обнаружено кварка:" & $quark_see)
While $quark_see = 99
_chek_kvark2()
WEnd
EndIf
_Proverka_kol_voronok()
EndFunc
Func _chek_kvark2()
Local $ii=0
_Pause()
WinActivate($hwnd)
Sleep(100)
$vremaraboti += 100
$VarCheckPix = PixelChecksum(485,512,529,535,1,$hwnd,0) ;снимаем хэш кварков
While $ii <> 46 ; узнаем хэш
if $quark[$ii] = $VarCheckPix Then
$quark_see = $ii
EndIf
$ii += 1
WEnd
If $quark_see = 99 Then
If $VarCheckPix = $bag_skripta_hash Then
ControlClick ($hwnd, "", "", "left", 1, 403, 521) ;кнопка Лептон
$Kubit_Decrase = $Kubit_Decrase + 20000 - (2000 * $VIP_have)
Sleep(1100)
$vremaraboti += 1100
_chek_kvark1()
else
_Write_file("2 этап проверки кварка не прошёл")
MsgBox("","Ошибка","Не найден хэш кварка - " & $VarCheckPix)
_exit()
EndIf
EndIf
_Proverka_kol_voronok()
EndFunc
Func _Proverka_hasha($xx1,$yy1,$xx2,$yy2,$hashneed,$zapis_v_file)
Local $hashpix
WinActivate($hwnd)
Sleep(100)
$vremaraboti += 100
$hashpix = PixelChecksum($xx1,$yy1,$xx2,$yy2,1,$hwnd,0) ;Если всё хорошо, то выходим из функции
;~ MsgBox("",$hashpix,$hashneed)
If $hashpix = $hashneed Then
Return 1
_Write_file($zapis_v_file & " координаты: X1=" & $xx1 & " Y1=" & $yy1 & " X2=" & $xx2 & " Y2=" & $yy2 & " - Успешно!")
Else
Return 0
_Write_file($zapis_v_file & ". Снятый хэш:" & $hashpix & ". Нужный хэш:" & $hashneed & " Ошибка!!!")
EndIf
EndFunc
Func _inicializacia_hasha()
;~ MsgBox("","",$load_pixel_config)
;~ $a=IniReadSection(@ScriptDir & "\Config\ScreenSize\" & @DesktopWidth & "x" & @DesktopHeight & ".ini","quark")
;~ MsgBox("","",$a[0][1])
;~ MsgBox("","",$quark[0])
;~ MsgBox("","",$quark[1])
;#################################################################################################################################################################################
; old
;~ $quark[0]="1746408090"
;~ $quark[1]="3517969084"
;~ $quark[2]="1614942599" ;не заметил появление с одной воронкой
;~ $quark[3]="2437614790"
;~ $quark[4]="1292373996"
;~ $quark[5]="1188958984" ;не заметил появление с одной воронкой только 3 воронки
;~ $quark[6]="2359367429"
;~ $quark[7]="2409298619"
;~ $quark[8]="2099452411" ;не заметил появление с одной воронкой
;~ $quark[9]="1042683762"
;~ $quark[10]="2795775375"
;~ $quark[11]="434315984" ;не заметил появление с одной воронкой
;~ $quark[12]="1771975226"
;~ $quark[13]="2662017358"
;~ $quark[14]="761080970" ;не заметил появление с одной воронкой
;~ $quark[15]="3255448453"
;~ $quark[16]="2534618144"
;~ $quark[17]="3436126648"
;~ $quark[18]="3704697679"
;~ $quark[19]="718548773"
;~ $quark[20]="892814411"
;~ $quark[21]="2825339276"
;~ $quark[22]="4162998518"
;~ $quark[23]="759056394"
;~ $quark[24]="3152104262"
;~ $quark[25]="1352487489"
;~ $quark[26]="631657180"
;~ $quark[27]="1533165684"
;~ $quark[28]="1801736715"
;~ $quark[29]="3109572065"
;~ $quark[30]="1715486602"
;~ $quark[31]="3648011467"
;~ $quark[32]="691686453"
;~ $quark[33]="1581728585"
;~ $quark[34]="3974776453"
;~ $quark[35]="2175159680"
;~ $quark[36]="1454329371"
;~ $quark[37]="2355837875"
;~ $quark[38]="2624408906"
;~ $quark[39]="3932244256"
;~ $quark[40]="2414362355"
;~ $quark[41]="3731570131"
;~ $quark[42]="2401584941"
;~ $quark[43]="183647370"
;~ $quark[44]=""; выпадение не возможно
;~ $quark[45]="" ;хуй выбьешь
;максимальный скачёк с одной воронкой =8
;#################################################################################################################################################################################
EndFunc
Func _sbor_kvarka()
$waitime = 0
While _Proverka_hasha(564,524,595,548,$hash_Ugol_knopli_Sobrat,"кнопка собрать") = 0
_pause()
WEnd
ControlClick ($hwnd, "", "", "left", 1, 477, 511) ;Собрать
Sleep(4200)
$vremaraboti += 4200
_Write_file("Кварк собран! Кол-во воронок: " & $etap_chek_kvark +1 & " кварка: " & $quark_see)
If $quark_see > 0 Then
$popitki += 1
$quark_have += $quark_see
Else
$popitki += 1
$neudachi += 1
EndIf
EndFunc
Func _zaradka_vorot()
$waitime = 0
While _Proverka_hasha(564,524,595,548,$hash_Ugol_knopli_Sobrat,"кнопка собрать для зарядки") = 0
_pause()
WEnd
ControlClick ($hwnd, "", "", "left", 1, 834, 334) ;зарядить
$Kubit_Decrase = $Kubit_Decrase + 2000 - (200 * $VIP_have)
Sleep(900)
$vremaraboti += 900
WinActivate($hwnd)
Sleep(100)
$vremaraboti += 100
$VarCheckPix = PixelChecksum(485,512,529,535,1,$hwnd,0) ;снимаем хэш кварков
_chek_kvark1()
EndFunc
Func _Proverka_kol_voronok()
If $quark_see = 1 Then
$etap_chek_kvark = 0
EndIf
If ($quark_see > 30 or $quark_see = 29) And $etap_chek_kvark < 2 Then
$etap_chek_kvark = 2
EndIf
If ($quark_see = 2 or $quark_see = 5 or $quark_see = 8 or $quark_see = 11 or $quark_see = 14 or $quark_see > 15) And $etap_chek_kvark < 1 Then
$etap_chek_kvark = 1
EndIf
If $quark_see < 16 And $etap_chek_kvark = -1 Then
$etap_chek_kvark = 0
EndIf
If $quark_see = 0 Then
$etap_chek_kvark = -1
EndIf
_Write_file("чек:" & $etap_chek_kvark)
EndFunc