Автокликер Clickermann :: Форум
Основной раздел => Использование => Topic started by: v_sun on May 07, 2014, 05:12:30 PM
-
Долгое время пользовался очень замечательной и простой программой clickermann_1.3 , где требовалось только повторение моих действий мышкой. Но появился в игре новый режим, где эта версия clickermann_1.3 уже не справляется и нужна теперь более свежая и более сложнее версия Clickermann v4.10.
Задача бота банальна, найти моба и уничтожить, делая это бесконечно :). Но эта банальность выходит мне боком :( .
Очень много команд нужно прописывать:
1) Нужно зайти на базу и вернуться на карту (для обновления мобов);
(http://s1.hostingkartinok.com/uploads/thumbs/2014/05/934c320906d86ee6f281cb44c9985370.png) (http://hostingkartinok.com/show-image.php?id=934c320906d86ee6f281cb44c9985370)
а) один клик левой клавишей;
б) один клик левой клавишей.
2) Редко но выскакивают рандомно две рекламы, где нужно кликать кнопку "отлично";
(http://s1.hostingkartinok.com/uploads/thumbs/2014/05/251fb754834b160a7ea81e4b9595cbea.png) (http://hostingkartinok.com/show-image.php?id=251fb754834b160a7ea81e4b9595cbea) (http://s7.hostingkartinok.com/uploads/thumbs/2014/05/f9df99de5ee8331e7de358ec153a50ec.png) (http://hostingkartinok.com/show-image.php?id=f9df99de5ee8331e7de358ec153a50ec)
один клик левой клавишей по надписи "отлично";
3) Прокручивать колесиком на себя, до увеличения высоты над базой;
(http://s7.hostingkartinok.com/uploads/thumbs/2014/05/6de211a6c0cfa025d6add178818c81c2.png) (http://hostingkartinok.com/show-image.php?id=6de211a6c0cfa025d6add178818c81c2)
4) Очень сложная пока для меня задача Поиск моба на карте, а карта полностью на экран не влезает. Так как для этого нужно зажимать левую клавишу мышки и двигать в разные части базы.
(http://s1.hostingkartinok.com/uploads/thumbs/2014/05/49b1bb076edad4a3feb725d18acf0719.png) (http://hostingkartinok.com/show-image.php?id=49b1bb076edad4a3feb725d18acf0719) (http://s7.hostingkartinok.com/uploads/thumbs/2014/05/fb3025048dbca1a3fb669ed1309e7dae.png) (http://hostingkartinok.com/show-image.php?id=fb3025048dbca1a3fb669ed1309e7dae) (http://s7.hostingkartinok.com/uploads/thumbs/2014/05/8a0ffb3e30a8e1089cae3f265d69cc9b.png) (http://hostingkartinok.com/show-image.php?id=8a0ffb3e30a8e1089cae3f265d69cc9b)
Нахождения моба (кликая один раз левой клавишей мышки на моба) и выбор кнопки атаки (кликая один раз левой клавишей мышки на надпись "в атаку!"). Зажав левую клавишу, я тянул в правый верхний угол (но как карта большая мобы могут быть в любом направлении).
Вот полный размер карты(всегда начинаешь играть с центра карты):
(http://4put.ru/pictures/small/907/2788426.jpg) (http://4put.ru/view-max-picture.php?id=2788426)
5) Выбор войск и расстановка на поле боя.
(http://s1.hostingkartinok.com/uploads/thumbs/2014/05/47feac3bd6f8f5498fc525a2d7824ed8.png) (http://hostingkartinok.com/show-image.php?id=47feac3bd6f8f5498fc525a2d7824ed8) (http://s1.hostingkartinok.com/uploads/thumbs/2014/05/4c1fa4a2b49da0b11fec3ddf68666e84.png) (http://hostingkartinok.com/show-image.php?id=4c1fa4a2b49da0b11fec3ddf68666e84)
а) выбор юнита клик;
б) зажать л.клав. мыши и тянуть в лево (так еще 3-4 раза);
в)выбор юнита и кликнуть 3 раза по нему;
г) нажать левой клавишей на кнопку бой.
6) Сама битва.
(http://s7.hostingkartinok.com/uploads/thumbs/2014/05/8b2dc336483f1d079d1f6e6a71b31b43.png) (http://hostingkartinok.com/show-image.php?id=8b2dc336483f1d079d1f6e6a71b31b43) (http://s1.hostingkartinok.com/uploads/thumbs/2014/05/9d321ad4111a9fb6a2100c4b76818031.png) (http://hostingkartinok.com/show-image.php?id=9d321ad4111a9fb6a2100c4b76818031)
нужно с интервалом делать клик л.кл. мыши на охотника (для выбора юнита) и делать клик л.кл. мыши на мамонта. Проделывать нужно с каждым охотником по очереди, и так три раза для каждого мамонта.
7) После битвы выйти на экран карты.
(http://s7.hostingkartinok.com/uploads/thumbs/2014/05/dfc34e66e4b72fe2364a87addc77c54b.png) (http://hostingkartinok.com/show-image.php?id=dfc34e66e4b72fe2364a87addc77c54b) (http://s7.hostingkartinok.com/uploads/thumbs/2014/05/8e4de4ca4d5e5e8ea72a2b750bbb54e2.png) (http://hostingkartinok.com/show-image.php?id=8e4de4ca4d5e5e8ea72a2b750bbb54e2)
после битвы выскакивают выскакивает окно, где нужно нажать л.кл. мыши по кнопке "окей", а за ним еще окно, где тоже жмем л.кл. мыши по кнопке "окей".
Пока так у меня получилось :-[ , если бы еще объединить, как по командам ::)
//1) Нужно зайти на базу и вернуться на карту (для обновления мобов);
WAIT(7)
LCLICK(1010,746) //заходим в город
WAIT(7)
LCLICK(1065,716) //идем на карту
WAIT(7)
//3) Прокручивать колесиком на себя, до увеличения высоты над базой;
WHEELDOWN(2) //крутим колесик мышки вниз (на себя)
WAIT(2)
WHEELDOWN(2)
WAIT(2)
WHEELDOWN(2)
WAIT(2)
WHEELDOWN(2)
WAIT(2)
WHEELDOWN(2)
WAIT(2)
WHEELDOWN(2)
WAIT(2)
WHEELDOWN(2)
WAIT(2)
WHEELDOWN(2)
WAIT(4)
//2) Редко но выскакивают рандомно две рекламы, где нужно кликать кнопку "отлично";
//4) Поиск моба на карте.
WHILE($var < 1) // Цикл
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "отлично.bmp", -1, 100) // Ищем кнопку "отлично"
LCLICK($_return1, $_return2) // Если есть, то кликаем по ней
WAIT(3)
END_IF
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "моб.bmp", -1, 100) // поиск моба
LCLICK($_return1, $_return2) //Если есть, то кликаем по мобу
WAIT(3)
END_IF
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "В атаку.bmp", -1, 100) //Если есть, то кликаем по кнопке "В атаку"
LCLICK($_return1, $_return2)
WAIT(3)
END_IF
WAIT(6)
END_CYC
// 5) Выбор войск и расстановка на поле боя.
WAIT(1)
LCLICK(476,762) //выбор вертолета
WAIT(1)
LDOWN(1062,763) //ищем охотника из списка
WAIT(1)
MOVE(171,759)
WAIT(1)
LUP(171,759)
WAIT(1)
LCLICK(476,762)
WAIT(1)
LDOWN(1062,763)
WAIT(1)
MOVE(171,759)
WAIT(1)
LUP(171,759)
WAIT(1)
LCLICK(476,762)
WAIT(1)
LDOWN(1062,763)
WAIT(1)
MOVE(171,759)
WAIT(1)
LUP(171,759)
WAIT(1)
LCLICK(476,762)
WAIT(1)
LDOWN(1062,763)
WAIT(1)
MOVE(171,759)
WAIT(1)
LUP(171,759)
WAIT(1)
LCLICK(568,742) //выбор охотников
WAIT(1)
LCLICK(568,742)
WAIT(1)
LCLICK(568,742)
WAIT(1)
LCLICK(208,454) //клик на кнопку "Бой"
WAIT(4)
//6) Сама битва.
LCLICK(379,508) // выбор охотника и атака по первому мамонту
WAIT(4)
LCLICK(687,337)
WAIT(4)
LCLICK(457,556)
WAIT(4)
LCLICK(636,397)
WAIT(4)
LCLICK(567,615)
WAIT(4)
LCLICK(636,397)
WAIT(4)
LCLICK(379,508) // выбор охотника и атака по второму мамонту
WAIT(4)
LCLICK(712,442)
WAIT(4)
LCLICK(457,556)
WAIT(4)
LCLICK(712,442)
WAIT(4)
LCLICK(567,615)
WAIT(4)
LCLICK(712,442)
WAIT(4)
LCLICK(379,508) // выбор охотника и атака по 3-му мамонту
WAIT(4)
LCLICK(810,497)
WAIT(4)
LCLICK(457,556)
WAIT(4)
LCLICK(810,497)
WAIT(4)
LCLICK(567,615)
WAIT(4)
LCLICK(810,497)
WAIT(4)
// 7) После битвы выйти на экран карты.
LCLICK(861,691) //кликаем по кнопке "Окей"
WAIT(4)
LCLICK(855,736) //кликаем по 2й кнопке "Окей"
WAIT(4)
Поиск моба на карте, а карта полностью на экран не влезает. Так как для этого нужно зажимать левую клавишу мышки и двигать в разные части базы.
Получилось только просто перемещаться по карте в одном направлении.
WAIT(2)
LDOWN(626,486)
WAIT(2)
MOVE(915,286)
WAIT(2)
LUP(915,286)
WAIT(2)
Подскажите пожалуйста, как сделать так что бы поиск происходил в разных частях карты?
-
Если есть добрые люди то напишут бесплатно или помогут))
-
Цикл поиска моба будет крутиться до нахождения "В атаку". Вроде написал тебе движение карты но незнай как будет работать.
Может и не нужно 8 раз крутить колесико а просто указать больший модификатор?!
WHEELDOWN(10)
Еще следует помнить о курсоре, системный курсор не мешает кликеру а вот программный, в играх, мешает, поэтому после нахождения фрагмента и клика по нему, курсор хорошо убрать куда то командой MOVE
Чтобы картинки искались быстрее нужно указать точнее область поиска.
0,0, $_xmax,$_ymax - в данном случае это весь экран ($_xmax,$_ymax - это системные переменные возвращают размер твоего экрана)
То есть здесь две координаты верхнего левого угла и нижнего правого.
Размер картинки тоже имеет значение. Вовсе не обязательно скриншотить кнопку целиком, достаточно небольшого фрагмента. Чем больше пикселов в фрагменте тем дольше опознавание.
Функция IF_PICTURE_IN возвращает координату верхнего левого угла картинки, но если требуется кликнуть в другое место относительно найденного то пишем смещение
LCLICK($_return1+10, $_return2+5)
//1) Нужно зайти на базу и вернуться на карту (для обновления мобов);
LCLICK(1010,746) //заходим в город
WAIT(7)
LCLICK(1065,716) //идем на карту
WAIT(7)
//3) Прокручивать колесиком на себя, до увеличения высоты над базой;
FOR($a,$a<8) //крутим колесико мышки вниз (на себя) цикл на 8 повторов
WHEELDOWN(2)
WAITMS(100)
END_CYC
WAIT(4)
//2) Редко но выскакивают рандомно две рекламы, где нужно кликать кнопку "отлично";
//4) Поиск моба на карте.
$check_mob = 0
WHILE($check_mob = 0) // Цикл
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "отлично.bmp", -1, 100) // Ищем кнопку "отлично"
LCLICK($_return1, $_return2) // Если есть, то кликаем по ней
WAIT(3)
END_IF
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "моб.bmp", -1, 100) // поиск моба
LCLICK($_return1, $_return2) //Если есть, то кликаем по мобу
WAIT(3)
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "В атаку.bmp", -1, 100) //Если есть, то кликаем по кнопке "В атаку"
$check_mob = 1 // прерываем цикл
LCLICK($_return1, $_return2)
WAIT(3)
END_IF
ELSE
// а если нет то двигаем камеру
LDOWN(626,486) // зажимаем мышь в центре экрана (укажи свои координаты!!!)
WAITMS(50)
MOVER(RNDFROM(-100,0,100),RNDFROM(-100,0,100)) // двигаем камеру в случайном направлении на +- 100 пикс
WAITMS(50)
LUP(-1,-1) // просто отпускаем (без координат)
WAIT(1)
END_IF
WAITMS(50)
END_CYC
// 5) Выбор войск и расстановка на поле боя.
WAIT(1)
LCLICK(476,762) //выбор вертолета
WAIT(1)
LDOWN(1062,763) //ищем охотника из списка
WAIT(1)
MOVE(171,759)
WAIT(1)
LUP(171,759)
WAIT(1)
LCLICK(476,762)
WAIT(1)
LDOWN(1062,763)
WAIT(1)
MOVE(171,759)
WAIT(1)
LUP(171,759)
WAIT(1)
LCLICK(476,762)
WAIT(1)
LDOWN(1062,763)
WAIT(1)
MOVE(171,759)
WAIT(1)
LUP(171,759)
WAIT(1)
LCLICK(476,762)
WAIT(1)
LDOWN(1062,763)
WAIT(1)
MOVE(171,759)
WAIT(1)
LUP(171,759)
WAIT(1)
LCLICK(568,742) //выбор охотников
WAIT(1)
LCLICK(568,742)
WAIT(1)
LCLICK(568,742)
WAIT(1)
LCLICK(208,454) //клик на кнопку "Бой"
WAIT(4)
//6) Сама битва.
LCLICK(379,508) // выбор охотника и атака по первому мамонту
WAIT(4)
LCLICK(687,337)
WAIT(4)
LCLICK(457,556)
WAIT(4)
LCLICK(636,397)
WAIT(4)
LCLICK(567,615)
WAIT(4)
LCLICK(636,397)
WAIT(4)
LCLICK(379,508) // выбор охотника и атака по второму мамонту
WAIT(4)
LCLICK(712,442)
WAIT(4)
LCLICK(457,556)
WAIT(4)
LCLICK(712,442)
WAIT(4)
LCLICK(567,615)
WAIT(4)
LCLICK(712,442)
WAIT(4)
LCLICK(379,508) // выбор охотника и атака по 3-му мамонту
WAIT(4)
LCLICK(810,497)
WAIT(4)
LCLICK(457,556)
WAIT(4)
LCLICK(810,497)
WAIT(4)
LCLICK(567,615)
WAIT(4)
LCLICK(810,497)
WAIT(4)
// 7) После битвы выйти на экран карты.
LCLICK(861,691) //кликаем по кнопке "Окей"
WAIT(4)
LCLICK(855,736) //кликаем по 2й кнопке "Окей"
WAIT(4)
-
Ух ты, спасибо огромное Oraven.
Вчера проверил на работоспособность скрипта. Все работает, кроме поиска картинок. Сохранял в разных размерах от большого (http://s1.hostingkartinok.com/uploads/images/2014/05/ca6aa29ddd80b0db70ca2f725772bfe5.bmp) (http://hostingkartinok.com/show-image.php?id=ca6aa29ddd80b0db70ca2f725772bfe5) до маленького (http://s7.hostingkartinok.com/uploads/images/2014/05/88db0c31a2f5b26fe21032edc08d2010.bmp) (http://hostingkartinok.com/show-image.php?id=88db0c31a2f5b26fe21032edc08d2010) , не хочет находить на экране, хотя много вариантов использовал :(. Подскажите пожалуйста, с чем это может быть связано?
-
Возможно с незаметными для глаза изменением цветов.
Используй цветокоррекцию + процент совпадения.
Вот таким скриптом делаешь скриншот с 6 уровнем цветороррекции
// Получение скриншота с цветокоррекцией (фильтр 6)
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT
Обрезаешь этот скриншот. Кстати можно резать и еще меньше, например вдоль нескольких букв полоску в 1-3 пиксела по высоте.
В скрипте указываешь тот же уровень цветороррекции, зеленым я отметил процент совпадения 80% в данном случае
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (0,0, 100,100, "file.bmp", -1, 80)
LCLICK($_return1, $_return2)
WAITMS(100)
END_IF
-
Доброго
Вопрос: ты с автокликером для Battle Nations добился каких нибудь результатов?
Добрый день. Нет, застрял на том месте, где после нахождения моба, нужно нажать на кнопку "В атаку!". Программа не находит этой картинки у меня :(.
p.s. Простите, в ЛС не получилось написать ::) Такую беду пишет(http://4put.ru/pictures/max/940/2889128.jpg)
-
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (430,299, 80,40, "VS_MOBA.bmp", -1, 80)
Может я с синтаксисом не разобрался !
430,299, это начало от куда мы будем анализировать
80,40 размер квадратика который мы будем анализировать (ну сравнивать с БМПХОЙ) .... или не так ?
//WAIT(1) //начитаем искать мобов
LCLICK(1185,673) // в БОЙ
WAIT(1)
GETSCREEN
COLORMODE(6)
IF_PICTURE_IN (430,299, 80,40, "VS_MOBA.bmp", -1, 80)
LDOWN(742,446)
WAITMS(100)
LUP(614,380)
WAITMS(100)
LCLICK(614,380)
WAITMS(100)
END_IF
LCLICK(55,173) //Пока валим на базу
WAIT(1)
вот не хочет он замечать моба если он стоит в том квадратике !
-
Не разобрался, это область поиска, верхний левый угол и нижний правый!
-
Не разобрался, это область поиска, верхний левый угол и нижний правый!
IF_PICTURE_IN (430,299, 510,339, "VS_MOBA.bmp", -1, 80)
так и так не робит ))
там можно поглядеть что он себе снял? .. ну скриншот
хоть сравнить что не так (отладить )))?
-
Функция SCREENSHOT скидывает скриншот в ту же папку из которой работает скрипт.
В последних версиях появилась более навороченная функция SCREENSHOTEX. Позволяет сохранить заданную область с выбором формата 0 - BMP 1 - JPG
GETSCREEN
COLORMODE(6)
SCREENSHOTEX(430,299, 510,339, "Image_", 0) // сохранить область в BMP файл
IF_PICTURE_IN (430,299, 510,339, "VS_MOBA.bmp", -1, 80)
Учти что если применяется цветокоррекция то и фрагмент для поиска нужно подготавливать в той же цветокоррекции
// Получение скриншота с цветокоррекцией (фильтр 6)
GETSCREEN
COLORMODE(6)
SCREENSHOT
HALT
-
Блин походу из-за того что мобы анимированные всё не работает ....
попробую по тени иХ спалить !
-
Блин походу из-за того что мобы анимированные всё не работает ....
попробую по тени из спалить !
да в бою реализовать действия проблематично тем более что ни каких горячих клавиш не реализовано
-
По теням вышло! Отличная тема для отладки этот
GETSCREEN
COLORMODE(6)
SCREENSHOTEX(423,343, 434,346, "Image_.bmp", 0)
там в клеточке под юнитом буквально минимум, но удалось вычислить осмотром не одного десятка скринов те неизменные пиксели.
Сейчас работа думаю пойдёт ... Боёвка в моём случае будет простая ибо пока буду просто самыми мощными юнитами просто фармить золото .
-
Ребят а можно как то без скриншотов отдельный пиксель сравнить с тем что мне нужно ??
(судя по тому что у позиции мышки выводится цвет пикселя такая возможность имеется)
-
if_pixel_in
-
if_pixel_in
Спасибо ! наконец то получился скриптик который вполне себе работает ...