Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: aast2012 on September 26, 2018, 07:42:47 PM
-
писал в группу в ВК, необходимо найти правую сторону фигуры... есть фигуры двух цветов и какае-то будет правее... пиксель беру пересечение текущей цены и фигуры... и мне необходимо узнать координаты правого края.... причем фигура может быть как красная так и зеленая, и может стоять рядом, и вообще вариаций очень много.... как мне написать код что-бы оно проверило фигуры красные, потом зеленые и сравнило их кто же из них правее????
-
через биржу труда мне от исполнителя надо было бы целый алгоритм поиска нужного направления, ввод и анализ результата... а тут мне надо простой код нахождения пикселя правого края... а то что мне дали ранее у меня не работает... вопрос в том что я там не так сделал???
GETSCREEN
SCANPXL($ARR_SCAN, 0,0, $_xmax,$_ymax, 255)
$Y=ARRPOP($arr)
$X=ARRPOP($arr)
LCLICK($X, $Y) // Клик по нижнему правому пикселю
WAITMS(100)
UNDEFINE($ARR_SCAN)
Есле нужна точка именно в середине, то последователено расширяйте сектор сканирования от нужного места вверх и вниз.
Вот этот код мне дали ранее, я меняю число 255 на свой цвет пикселя и он мне кликает в верхний левый угол, независимо какой я выбираю пиксель, потом меняю диапазон и оно клацает так же в самый левый угол.... не видит диапазон... может я что-то не так делаю, может по другому надо, обращаюсь чтоб помогли новичку
-
Код дали почти правильный. Или он неправильно переписан.
Элементарные вещи нужно и самому контролировать. Почему имя массива то $ARR_SCAN, то $arr? Задать правильно одно имя и всё будет работать.
Такие вещи тестируются за две минуты. Вывести в лог длину массива и значения $X, $Y и сразу стало бы видно, что в координатах нули.
-
скрипт работает... но как мне сделать первый цыкл с нахождением 1го цвета и потом второго и определить кто из двух правее???
-
я думаю
GETSCREEN
SCANPXL($ARR_SCAN, 169,240, 1231,573, 7765503)
$Y=ARRPOP($ARR_SCAN)
$X=ARRPOP($ARR_SCAN)
//LCLICK($X, $Y) // Клик по нижнему правому пикселю
// print ($X, $Y)
WAITMS(100)
UNDEFINE($ARR_SCAN)
GETSCREEN
SCANPXL($ARR1_SCAN, 169,240, 1231,573, 9036139)
$Y1=ARRPOP($ARR1_SCAN)
$X1=ARRPOP($ARR1_SCAN)
// LCLICK($X1, $Y1) // Клик по нижнему правому пикселю
// print ($X1, $Y1)
WAITMS(100)
UNDEFINE($ARR1_SCAN)
if($X1>$X)
print ("понижение")
end_if
if($X1<$X)
print ("повышение")
end_if
-
Да мой код работает... спс за помощь... подскажите ещё как мне оптимально написать код:
GETSCREEN
SCANPXL($ARR_SCAN, 169,240, 1231,573, 7765503)
ИЛИ
GETSCREEN
SCANPXL($ARR1_SCAN, 169,240, 1231,573, 9036139)
То есть, любой из двух пикселей будет делать код... Я думаю
SCANPXL($ARR_SCAN, 169,240, 1231,573, 7765503, 9036139)
-
не работает((( или так???
GETSCREEN
SCANPXL($ARR_SCAN, 169,240, 1231,573, 7765503)
else
SCANPXL($ARR_SCAN, 169,240, 1231,573, 9036139)
UNDEFINE($ARR_SCAN)
-
чет я не разобрался как сделать по двум разным пикселям этот код
-
GETSCREEN
SCANPXL($ARR_SCAN, 0,0, $_xmax,$_ymax, 7765503)
$Y=ARRPOP($ARR_SCAN)
$X=ARRPOP($ARR_SCAN)
if($X>0)
WAITMS(100)
else
UNDEFINE($ARR_SCAN)
SCANPXL($ARR_SCAN, 0,0, $_xmax,$_ymax, 9036139)
$Y=ARRPOP($ARR_SCAN)
$X=ARRPOP($ARR_SCAN)
WAITMS(100)
end_if
LCLICK($X, $Y) // Клик по нижнему правому пикселю
print ($X, $Y)
WAITMS(100)
UNDEFINE($ARR_SCAN)
Вот этот код работает... кто подскажет как его модернизаровать или упростить???