Что нового

[Автоматизация] Проверка нескольких областей PixelSearch

MadEyes

Новичок
Сообщения
1
Репутация
0
Идея: Если зажата клавиша, то, в момент появления в трёх областях заданных цветов, срабатывает действие.

Код:
While 1
If _IsPressed("20") Then
PixelSearch(100, 100, 110, 90, 0x2FF707, 10)
If Not @error Then
PixelSearch(120, 100, 130, 90, 0xFFF999, 10)
If Not @error Then
PixelSearch(140, 100, 150, 90, 0xF70F17, 10)
If Not @error Then
MouseClick ("left",1100,980)
Sleep(5000)
EndIf
EndIf
EndIf
EndIf
WEnd


Если зажат "ПРОБЕЛ", запускается проверка PixelSearch 1й области. Если цвет найден, то запускается проверка PixelSearch 2й области со вторым цветом. Затем 3й области с третьим цветом. После третьей проверки, должно сработать действие (клик по заданным координатам) и скрипт должен перезапуститься через 5 секунд.
Если одна из проверок не прошла, а кнопка активации всё ещё зажата, то проверка начинается сначала.

Скрипт не работает. Помогите найти ошибку.
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
MadEyes

Судя по описанию, вроде можно упростить:

Код:
#include <Misc.au3>

While 1
	If _IsPressed('20') Then
		If IsArray(PixelSearch(100, 100, 110, 90, 0x2FF707, 10)) And IsArray(PixelSearch(120, 100, 130, 90, 0xFFF999, 10)) And IsArray(PixelSearch(140, 100, 150, 90, 0xF70F17, 10)) Then
			MouseClick('left', 1100, 980)
			ConsoleWrite('Выполнено' & @CRLF)
			Sleep(5000)
		Else
			ConsoleWrite('НЕвыполнено' & @CRLF)
		EndIf
	EndIf
	Sleep(10)
WEnd
 
Верх