Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: zloyvip on November 02, 2015, 08:37:19 PM
-
Есть функция GETSCREEN, которая ищет пиксел определенного цвета и если находит то запускает приложение.
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 5342499)
EXECUTE(" ") //запуск приложения
Как сделать чтобы она искала пиксел не одного конкретного цвета, а скажем трёх и в случае нахождения пиксела любого из заданного списка цветов запускала приложение?
-
Указать цвета через запятую, была такая мысль, но подумал что это слишком просто, чтобы сработало. :) Спасибо!
-
А зачем гадать, если есть справка.
[spoiler]IF_PIXEL_IN
Синтаксис
IF_PIXEL_IN (x, y, x2, y2, color1, ...) - производит поиск пикселя заданного цвета в прямоугольной области буфера анализа
Параметры
x, y - числовые координаты левого верхнего угла области поиска
x2, y2 - числовые координаты правого нижнего угла области поиска
color1, ... - цвета, поиск которых будет осуществляться
Возвращаемые параметры
$_return1 - x координата найденного пикселя
$_return2 - y координата
Пример
getscreen
// поиск красного пикселя
IF_PIXEL_IN (10,20, 100, 40, 255)
lclick($_return1, $_return2)
END_IF
// поиск красного или зеленого пикселя
IF_PIXEL_IN (10,20, 100, 40, 255, 65280)
lclick($_return1, $_return2)
END_IF
Примечания
Как только первый попавшийся пиксель будет найден, инструкция вернет его координаты в переменные $_return1, $_return2 и прекратит анализ
Добавление каждого цвета увеличивает длительность анализа на 100%
[/spoiler]
Неужели не нужно узнать правильный синтаксис, да и вообще существующие команды и возможности.
-
Здравствуйте, хорошая программа, настроил на кв кач профы в аионе, работает хорошо (с записанными движениями мыши и фиксированным таймером, пока не пройдут все раны на изготовление).
На этом можно было бы и остановиться, но если есть время и функционал, че б не замутить покруче).
Время изготовления постоянно разное и постепенно добавляется количество ранов.
Поэтому попробовал контроль окончания изготовления, на изменение цвета в окне профессии:
это в процессе (http://ipic.su/img/img7/fs/2015-11-2616-48-44Skrinshotekrana.1448529061.png)
это по окончании (http://ipic.su/img/img7/fs/2015-11-2616-51-38Skrinshotekrana.1448529119.png)
цвет сундука меняется, вот мой текст:
lDown(432,628)
waitms(113)
lUp(432,628)
waitms(30000) //30 сек взято условно чтоб проверял не сразу
IF_PIXEL_IN (504,227, 508,229, 3226180)
lclick($_return1, $_return2)
END_IF
waitms(10000)
lDown(906,863) // клик на макросе разговор сдать кв
waitms(124)
lUp(906,863)
но скрипт поиска пикселя не срабатывает, перепрыгивает на следующую команду не дождавшись появления нужного цвета, плохо различает оттенки серого?
(http://ipic.su/img/img7/fs/2015-11-2619-22-01Skrinshotekrana.1448530018.png)
(http://ipic.su/img/img7/fs/2015-11-2619-25-26Skrinshotekrana.1448530046.png)
мышей не смог второй раз найти 3226180
не сложнее будет сделать критерием анализ числа тут?
(http://ipic.su/img/img7/fs/2015-11-2619-30-22Skrinshotekrana.1448530254.png)
-
сложнее, но это возможно.
-
...но скрипт поиска пикселя не срабатывает, перепрыгивает на следующую команду не дождавшись появления нужного цвета, плохо различает оттенки серого?
Вообще не различает. И не только серого. Без GETSCREEN
Команда IF_PIXEL_IN просто ищет, она ничего не ждёт. Чтобы ждать нужно делать поиск в цикле.
На самом деле здесь поиск вообще не нужен, нужен анализ цвета определённого пиксела.
lDown(432,628)
waitms(113)
lUp(432,628)
waitms(30000)
GETSCREEN
WHILE(PXL (506, 228) ! 3226180)
WAITMS (100)
GETSCREEN
END_CYC
lclick(506, 228)
waitms(10000)
lDown(906,863)
waitms(124)
lUp(906,863)