dwm18
Новичок
- Сообщения
- 27
- Репутация
- 0
Как правильно сделать условие в скрипте, - если не нашел второй пиксель, то сделать действия ( клик и т.д), после - вернутся к поиску первого т.е. в начало скрипта.
Это у меня получается :
первый пиксель нашел - сделал клик.
второй поиск пикселя, если нашел - сделал клик - то тоже вернулся в начало - это получается.
а вот когда не нашел ( ВТОРОЙ пиксель ) - сделать тоже клики, и вернутся в начало.
как сделать ??? :stars:, голову сломал
Вот, что работает :
Это у меня получается :
первый пиксель нашел - сделал клик.
второй поиск пикселя, если нашел - сделал клик - то тоже вернулся в начало - это получается.
а вот когда не нашел ( ВТОРОЙ пиксель ) - сделать тоже клики, и вернутся в начало.
как сделать ??? :stars:, голову сломал
Вот, что работает :
Код:
#include <AutoItConstants.au3>
$PixelExist = False
$MyClick = False
$SoundPlay = True
; Время выполнения дополнительных кликов
$Hour = 0
$Min = 0
While 1
$coord = PixelSearch(2211, 111, 2211, 603, 0xFF0000, 50, 2) ; координаты области, цвет, допущение оттенка, шаг поиска
If Not @error Then
$Color = PixelGetColor($coord[0], $coord[1])
$PixelExist = True
For $i = 0 To 7 ;Количество циклов, за которое точка не должна потухнуть
If $Color <> PixelGetColor($coord[0], $coord[1]) Then
$PixelExist = False
$SoundPlay = True
ExitLoop
EndIf
Sleep(100) ;Небольшая пауза
Next
If $PixelExist And $SoundPlay Then
$SoundPlay = False
SoundPlay("C:\c\zvuk.mp3", 0)
Sleep(100)
MouseClick("left", 106, 753, 1, 0) ;нажатие на Opera
Sleep(10000)
PixelSearch(1629, 255, 1769, 258, 0xDF553A, 50, 3)
If Not @error Then
MouseClick("left", 1782, 103, 1, 0) ; нажатие на бегунок - возврат окна
Sleep(10000)
EndIf
EndIf
Else
$SoundPlay = True
$PixelExist = False
EndIf
Sleep(100)
If @HOUR = $Hour And @MIN = $Min And Not $MyClick Then
;Устанавливаем флаг срабатывания по времени , что-бы исключить повторное срабатывание кликов несколько раз за минуту
$MyClick = True
;Дальше перечисляете - куда кликать хотите
;MouseClick($MOUSE_CLICK_LEFT, 1340, 11) ; клик - закрыть Opera
EndIf
;Возвращаем флаг срабатывания по времени
If @HOUR <> $Hour And @MIN <> $Min Then $MyClick = False
WEnd