Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: Logosh on April 27, 2014, 08:39:56 AM
-
есть программа при которой мышь щелкает по углу экрана без остановки в разные точки, в процессе которого кликер найдя на экране пиксель щелкает на него:
$x= 1280
$y= 960
sub(box)
lclick($x/2+60,$y/2)
cvb:
WAITMS(100)
GETSCREEN
IF_PIXEL_IN(0,$y/2,$x,$y, 8088144)
lclick($_return1, $_return2)
else
goto (xcv)
END_IF
WAITMS(1600)
GETSCREEN
IF_PIXEL_IN(0,$y/2,$x,$y, 8088144)
goto (cvb)
else
goto (xcv)
END_IF
xcv:
WAITMS(1100)
GETSCREEN
IF_PIXEL_IN(0,0,$x,$y, 8088144)
lclick($_return1, $_return2)
WAITMS(1600)
goto (cvb)
END_IF
end_sub
ghj:
LCLICK(rnd($x-150,$x-65),rnd($y-50,$y-20))
ppo:
WAITMS(1200)
GETSCREEN
IF_PIXEL_IN(0,0,$x,$y, 8088144)
GOSUB(box)
END_IF
GETSCREEN
IF_PIXEL_IN($x-150,$y-50,$x-65,$y-20, 8088144)
goto (ppo)
else
goto (ghj)
END_IF
Может кто помочь дописать программу при которой кликер будет щелкать по нескольким пикселям, а не по одному(допустим по трём)?
П.С. сам в этом деле нуб, так что прошу если кто знает помогите...
Кликер: Clickerman v4.7
-
Сценарий вроде не сложный или я неправильно понял задачу.
Кликер непрерывно кликает в рандомные координаты на экране, ограниченные указанной прямоугольной областью. И одновременно проверяет, не появился ли пиксель с цветом 8088144 в указанных зонах экрана. Если такой пиксель найден, то выполняет клик по этому пикселю. Скрипт выполняется до отключения Кликермана.
WAITMS(500)
$x= 1280
$y= 960
WHILE($var < 1) // Цикл
LCLICK(rnd($x-150,$x-65),rnd($y-50,$y-20)) // Клик в рандомные координаты (всегда и без условий)
//--------------------------------
GETSCREEN // В этом примере - один снимок экрана для поиска всех нужных пикселей
IF_PIXEL_IN(0,0,$x,$y, 8088144) // Если найден первый пиксель
lclick($_return1, $_return2)
END_IF
IF_PIXEL_IN(0,$y/2,$x,$y, 8088144) // Если найден второй пиксель
lclick($_return1, $_return2)
END_IF
IF_PIXEL_IN($x-150,$y-50,$x-65,$y-20, 8088144) // Если найден третий пиксель
lclick($_return1, $_return2)
END_IF
// Если найден четвертый пиксель и т.д.
//--------------------------------
WAITMS(100) // Частота выполнения тела цикла
END_CYC
HALT
-
Это получается что программа ищет 3 пикселя и работает как вы описали, значит 2-й и 3-й параметры pixel_in можно заменить на еще дрyгие цвета?
-
Это получается что программа ищет 3 пикселя и работает как вы описали, значит 2-й и 3-й параметры pixel_in можно заменить на еще дрyгие цвета?
Конечно можно. Можно так же добавить в тело цикла еще много IF_PIXEL_IN, для поиска разных цветов, в разных координатах. Я просто скопировал из вашего скрипта эти функции, а там был только один цвет - 8088144. Естественно, можно добавить не только IF_PIXEL_IN, но и другие функции и процедуры, которые требуется выполнять в цикле одновременно с поиском пикселей.
Даже можно в одной функции IF_PIXEL_IN прописать, чтобы искалось несколько цветов:
IF_PIXEL_IN (x, y, x2, y2, color1, color2, color3, ...)
Цитата из справки:
// поиск красного или зеленого пикселя
IF_PIXEL_IN (10,20, 100, 40, 255, 65280)
lclick($_return1, $_return2)
END_IF
Примечания
Как только первый попавшийся пиксель будет найден, инструкция вернет его координаты в переменные $_return1, $_return2 и прекратит анализ
Добавление каждого цвета увеличивает длительность анализа на 100%