1

Тема: AHK: Ожидание определенного цвета пикселя под курсором

Добрый день! Написал простой скрипт, который выполняет определенные действия в окне. Но возник затык на моменте PixelSearch, когда скрипт реагирует на определенный цвет пикселя под курсором. Никак не могу добиться ожидания цвета. Картинка под курсором меняется, нужно чтобы он срабатывал, когда появится нужный цвет. Как задать время выполнения скрипта чтобы он выполнялся только после появления под курсором нужного цвета?


F1::

Loop, 10
{
Click 540, 750, 1
Sleep, 100
MouseMove, 20, 55, 5, R
Click
Sleep, 200                     ; открывает окна
Click 1000, 365, 1

Sleep, 1000
PixelSearch, Px, Py, 900, 350, 1100, 380, 0xc8760d, 3, Fast
if ErrorLevel
     Sleep, 3000     
else
    Click 1000, 365, 1

Sleep, 1000
Click 1000, 365, 1             
MouseMove, 0, 130, 5, R        ; выбор из списка причины
Click
MouseMove, 60, 70, 2, R        
Click                          ; аннулировать
Sleep, 2000
Click 1000, 310, 1             ; окей
Sleep, 2500
}
return

End:: pause
Delete::
ExitApp
Return

2

Re: AHK: Ожидание определенного цвета пикселя под курсором

Может быть для ожидания цвета подойдет такая конструкция? Вот только выдает ошибку в строке break


Loop, 3
{PixelSearch, Px, Py, 900, 350, 1100, 380, 0xc8760d, 3, Fast
if ErrorLevel
     Sleep, 2000     
else
     Break} 
Post's attachments

2021-02-10_09-44-02.png
2021-02-10_09-44-02.png 2.13 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

3

Re: AHK: Ожидание определенного цвета пикселя под курсором

Да, странно. Вот так тоже не работает:

Loop, 3
{PixelSearch, Px, Py, 900, 350, 1100, 380, 0xc8760d, 3, Fast
ifErrorLevelSleep, 2000elseBreak}

Наверное, баг.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

4

Re: AHK: Ожидание определенного цвета пикселя под курсором

Наверно в одну строку будет искать лучше.
Хоть бы смайлик добавили.

5 (изменено: __Михаил__, 2021-02-10 22:41:28)

Re: AHK: Ожидание определенного цвета пикселя под курсором

Запуск цикла по F2. Если найдёт нужный цвет - клик и прерывание цикла.

CoordMode, Pixel, Screen	; Относительно всего экрана

F2::
Loop, 100	; Число повторов.
{
 PixelSearch, Px, Py, 900, 350, 1100, 380, 0xc8760d, 3, Fast
 If !ErrorLevel	;  Если пиксель нужного цвета - кликнуть.
 {
  Click 1000, 365, 1
  Break	; Прервать цикл, если нужно выполнить клик один раз.
 }
 Else
  Sleep, 2000	; Иначе ждать 2 сек.
}
Return

6

Re: AHK: Ожидание определенного цвета пикселя под курсором

__Михаил__
Спасибо, работает!
Да, скобки нужно правильно расставлять)