// 12.01.2022
#name "New herb"
SUB(herb, $par1, $par2) // подпрограмма с параметрами
GETSCREEN(26,597,367,1090)
COLORMODE(6,26,597,367,1090)
SCREENSHOTFIX(26,597,367,1090,$par1)
IF_PIXEL_IN(26,597,367,1090,$par2)
KEYDOWN(#ctrl)
WAITMS(100)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYUP(#ctrl)
WAITMS(200)
END_IF
END_SUB
herb("herb.bmp",8355647) // вызов подпрограммы (обязательно ниже подпрограммы)
herb("herb1.bmp",8355839)
herb("herb2.bmp",8388607)
GETSCREEN(61,382,343,413)
IF_PIXEL_IN(61,382, 343,413, 269907)
LCLICK($_return1, $_return2)
WAITMS(500)
END_IF
HALT
GETSCREEN(26,597,367,1090)
COLORMODE(6,26,597,367,1090)
SCREENSHOTFIX(26,597,367,1090,$par1)
о какой оптимальности можно говорить если этот скрипт трижды сканирует одну область и трижды подряд сохраняет её как картинку под разными названиями!
в чём смысл утраивания усилий?
Было-бы логично сначала проверять цвет пикселя а уже в зависимости от найденного цвета, обновлять картинку, а так
только команда HALT спасает от перегрузки компа ненужными и ресурсоёмкими действиями. действиями
// 12.01.2022
#name "New herb2"
SUB(herb, $par1, $par2) // подпрограмма с параметрами
IF_PIXEL_IN(26,597,367,1090,$par2)
SCREENSHOTFIX(26,597,367,1090,$par1)
KEYDOWN(#ctrl)
WAITMS(100)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYUP(#ctrl)
WAITMS(200)
END_IF
END_SUB
GETSCREEN(26,597,367,1090)
COLORMODE(6,26,597,367,1090)
herb("herb.bmp",8355647) // вызов подпрограммы (обязательно ниже подпрограммы)
herb("herb1.bmp",8355839)
herb("herb2.bmp",8388607)
GETSCREEN(61,382,343,413)
IF_PIXEL_IN(61,382, 343,413, 269907)
LCLICK($_return1, $_return2)
WAITMS(500)
END_IF
HALT
dramster, спасибо за ответ. Учту ваше замечание на будущее.
Иван_Васильевич, Огромная благодарность за рабочий скрипт с "программой с параметрами". Благодаря этому примеру получил понимание как работает эта программа с параметрами.
В итоге получил вот такой вариант, при котором делается один скриншот и по нему кликликер отыскивает 3 контрольных пикселя:
// 12.01.2022
#name "New herb2"
SUB(herb, $par1)
IF_PIXEL_IN(2,807,345,1304,$par1)
KEYDOWN(#ctrl)
WAITMS(100)
LCLICK($_return1, $_return2)
WAITMS(100)
KEYUP(#ctrl)
WAITMS(200)
END_IF
END_SUB
GETSCREEN(2,807,345,1304)
COLORMODE(6,2,807,345,1304)
SCREENSHOTFIX(2,807,345,1304,"herb.bmp")
herb(8355647)
herb(4194175)
herb(8388607)
GETSCREEN(61,382,343,413)
IF_PIXEL_IN(61,382, 343,413, 269907)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
HALT
Спасибо большое за помощь.