Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: safik on February 01, 2017, 12:24:24 PM
-
Прошу помощи!
Есть некоторое поле размером 1200х1200 необходимо что бы скрипт перебирал его с установленным шагом например 10, т.е. сначала по х от 0 до 1200 потом прибавлял 10 по у и снова перебирал х и так далее до 1200х1200. И выполнял действия по поиску куртинки. С поиском картинки все понятно, но как задать цикл перебора не могу разобраться.
-
FOR($y=0, $y < 1200, 10)
FOR($x=0, $x < 1200, 10)
LOGWRITE("X/Y ", $x, " / ", $y
END_CYC
END_CYC
Но это ты так до пенсии будешь искать, с таким шагом. 14400 поисков это много.
-
FOR($y=0, $y < 1200, 10)
FOR($x=0, $x < 1200, 10)
LOGWRITE("X/Y ", $x, " / ", $y
END_CYC
END_CYC
Но это ты так до пенсии будешь искать, с таким шагом. 14400 поисков это много.
Возможно шаг будет больше, а как еще ускорить, я не вижу другого варианта.
-
... а как еще ускорить, я не вижу другого варианта.
чтоб взвесить мешок риса, не нужно отдельно взвешивать каждое рисовое зёрнышко.
Не спорю)) Задача на карте королевства найти замки врага, поиск возможен только по рисунку. Вот и хочу попробовать сканировать всю карту.
-
Картинка будет искаться на поле которое появляется по введеным координатам, а вот координаты будут задаваться циклом с шагом.
Впринципе первый ответ подходит, сейчас делаю тело скрипта и буду пробовать.
-
Не спорю)) Задача на карте королевства найти замки врага, поиск возможен только по рисунку. Вот и хочу попробовать сканировать всю карту.
Так чем самый обычный поиск всей карты не подходит?
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "file.bmp", -1, 100)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
-
Карта размером 1200х1200, на экран с 33%(чтобы хоть чтото можно было распознать) убирается от все карты часть размером 15х15.
-
То есть 1200х1200 это не пикселей, а какой-то размер карты в игровых условных единицах? Поиск нужно вести в видимой части карты которая составляет примерно 15х15 условных единиц, и после поиска эту видимую часть нужно менять на следующую. Так?
-
Совершенно верно. На каждом условном поле нужно найти картинку, и произвести некоторые действия для сообщения координат противника участникам альянса.
-
Как всё сложно-то почему-бы не отсканировать координаты всех замков всего одной строкой, а потом при необходимости просто перевести координаты экранные в координаты клеток 15 на 15 если конечно это имеет хоть какой-то смысл? ???
На сколько я понимаю отсканировать одной строкой не получится, ибо видимая часть 15х15. Всю карту сканировать нельзя т.к масштаб её не позволяет различить замки. Нужно листать видимую часть. Осталось вытащить информацию из Safikа каким образом листать, клавиатурой или мышкой таскать или мышкой нажимать :)
-
Мышкой не получается, вводятся координаты в специальных полях х и у отдельно.
Потестил немного карта вроде листается, осталось отладить действия с противником.
-
Дабы не создавать лишние темы спрошу тут.
Как реализовать клик по одной из найденной картинке в области?
в данный момент реализовано так:
GETSCREEN
COLORMODE(5)
IF_PICTURE_IN (150,233, 1030,755, "улучшить1.bmp", -1, 70)
LCLICK($_return1-15, $_return2)
WAITMS(2500)
LCLICK($_return1-15, $_return2)
WAITMS(2500)
END_IF
но делает клик по первой найденной картинке, а надо рандомно из всех найденных.
-
Использовать не IF_PICTURE_IN, а SCANPICTURE.
В шаблонах примеры.
-
Спасибо буду пробовать.