Я пытаюсь написать скрипт, где программа постоянно ищет возникающие объекты (через цвет пикселя) по их приоритету, которые еще и меняют позицию и кликает на них.
1. У меня не выходит сделать приоритет поиска. Если я задаю после if следующим действиями ElseIf, то ищется только первый объект, даже если его нету, а вот поставил везде if, так он хотя бы по всем по разу наводит, но и кликает не всегда почему-то.
2. Кликает не всегда - это уже вторая проблема, но на все объекты по цвету найденные мышку наводит. Заранее отвечу на предположение, которое может возникнуть, полагаю:
«Может объект меняет цвет или он маленький?» - Нет, объект без лупы видно, при чем он весь одним цветом без эффектов, как заливкой (не считая рамки).
1. У меня не выходит сделать приоритет поиска. Если я задаю после if следующим действиями ElseIf, то ищется только первый объект, даже если его нету, а вот поставил везде if, так он хотя бы по всем по разу наводит, но и кликает не всегда почему-то.
2. Кликает не всегда - это уже вторая проблема, но на все объекты по цвету найденные мышку наводит. Заранее отвечу на предположение, которое может возникнуть, полагаю:
«Может объект меняет цвет или он маленький?» - Нет, объект без лупы видно, при чем он весь одним цветом без эффектов, как заливкой (не считая рамки).
Код:
While 1
Sleep(100)
WEnd
Func OpenPum()
While 1
$coordOne = PixelSearch(116, 141, 1531, 849, 0xF177DD)
$coordTwo = PixelSearch(116, 141, 1531, 849, 0x768DFC)
$coordThree = PixelSearch(116, 141, 1531, 849, 0xFC7677)
$coordFor = PixelSearch(116, 141, 1531, 849, 0xFFE869)
If @error = 0 then
if IsArray($coordOne) Then MouseClick("left", $coordOne[0], $coordOne[1])
if IsArray($coordTwo) Then MouseClick("left", $coordTwo[0], $coordTwo[1])
if IsArray($coordThree) Then MouseClick("left", $coordThree[0], $coordThree[1])
if IsArray($coordFor) Then MouseClick("left", $coordFor[0], $coordFor[1])
Sleep(3000)
else
endif
WEnd
EndFunc
[AUTOIT]