Найти в Дзене

14.06.2021. Автокликеры и онлайн игры. Автоматизируем сбор титанита в игре Хроники Хаоса.

Сегодня 14 июня 2021 года 8 часов 44 минуты. Ярко светит солнце. Так уж сложилось, что мы с семьей подзалипли в онлайн игру "Хроники хаоса". Многие онлайн игры требуют выполнения рутинных действий. Хроники Хаоса не исключение. Необходимо "собирать титанит", проходить башню, запределье, турнир стихий и др. Все бы ничего, но недавно сыну купили новый телефон. Он часто заходит в игру с телефона, установил себе автокликер с Play Market, настроил его и теперь многие рутинные вещи выполняет на автомате. Меня это зацепило. Я - программист, но до сих пор бью "нормы" "вручную"! Надо срочно автоматизировать процесс! Автокликеры на Play Market предназначены для смартфонов. Пришлось провести небольшое исследование автокликеров для Windows. Сразу оговорюсь, что стараюсь особо ничего не скачивать с интернета, чтобы не наловить троянов. В данном случае все скаченные файлы проверял собственным антивирусом и заливал на Яндекс-Диск (файлы проверяются при скачивании антивирусом). Если кто не понял, авток
с сайта Zen.yandex.ru
с сайта Zen.yandex.ru

Сегодня 14 июня 2021 года 8 часов 44 минуты. Ярко светит солнце.

Так уж сложилось, что мы с семьей подзалипли в онлайн игру "Хроники хаоса". Многие онлайн игры требуют выполнения рутинных действий. Хроники Хаоса не исключение. Необходимо "собирать титанит", проходить башню, запределье, турнир стихий и др.

Все бы ничего, но недавно сыну купили новый телефон. Он часто заходит в игру с телефона, установил себе автокликер с Play Market, настроил его и теперь многие рутинные вещи выполняет на автомате.

Меня это зацепило. Я - программист, но до сих пор бью "нормы" "вручную"! Надо срочно автоматизировать процесс!

Автокликеры на Play Market предназначены для смартфонов. Пришлось провести небольшое исследование автокликеров для Windows.

Сразу оговорюсь, что стараюсь особо ничего не скачивать с интернета, чтобы не наловить троянов. В данном случае все скаченные файлы проверял собственным антивирусом и заливал на Яндекс-Диск (файлы проверяются при скачивании антивирусом).

Если кто не понял, автокликер эмулирует действия мыши и клавиатуры.

Наша задача найти автокликер, который можно настроить на щелчки мыши в определенные области экрана с настройками задержки по времени.

Первое что попалось - OP Auto Clicker 3.0

авторский скриншот
авторский скриншот

Не требует установки.

Слишком простой автокликер. По сути, используется для настройки частоты кликов. Для наших целей не подходит.

Далее Auto Clicker by Polar 2.1

авторский скриншот
авторский скриншот

Установки не требует. Более сложный автокликер, но нет возможности сохранения сценария. Нам не подходит.

Следующий ReMause Standard

авторский скриншот
авторский скриншот

Требует установки. Записывает макросы (перемещения и щелчки мыши). Для сохранения сценария требует регистрации. Не наш продукт.

Очередной - Axife Standard 7.2

авторский скриншот
авторский скриншот

Требует установки. Вроде бы то, что нужно, но для сохранения сценария требует регистрации. Опять мимо.

И, наконец, Clickermann v 4.13 x64

авторский скриншот
авторский скриншот

Не требует установки. Есть версия x32. Позволяет формировать и записывать скрипты. Бесплатный. Наш клиент.

Запускаем программу.

авторский скриншот
авторский скриншот

Начальное окно мы уже видели.

Закрепляем программу в панели задач.

авторский скриншот
авторский скриншот

Посмотрим редактор

авторский скриншот
авторский скриншот

Отлично. Интерфейс понятный, редактор комфортный.

Есть набор команд

авторский скриншот
авторский скриншот

Присутствуют также шаблоны

авторский скриншот
авторский скриншот

Один минус есть. В настройках по умолчанию

авторский скриншот
авторский скриншот

стоит признак количество повторов "Неограниченное"

авторский скриншот
авторский скриншот

Приходится каждый раз перетыркивать на фиксированное.

Но ежели чего Alt+S поможет остановить бесконечное выполнение повторов.

Попробуем автоматизировать сбор титанита.

Загружаем игру и автокликер. В автокликере устанавливаем режим повторов фиксированное 1. Далее заходим в редактор.

авторский скриншот
авторский скриншот

Устанавливаем курсор мыши на значок гильдии. В редакторе отображаются координаты этой области. Думаю, что у каждого координаты могут отличаться из-за различных мониторов.

Добавляем команду левого клика мыши по адресу и устанавливаем режим ожидания в 30 сек. Сохраняем проект и тестируем.

авторский скриншот
авторский скриншот

Отлично. В гильдию зашли. Идем в подземелье.

авторский скриншот
авторский скриншот

Аналогичным образом настраиваем вход в подземелье, спускаемся обратно в город и тестируем. Необходимо, чтобы редактор не перекрывал область клика.

Работает. 30 секунд большая задержка. Но часто загрузка проходит долго.

Далее собираем карточки.

авторский скриншот
авторский скриншот

Карточки собраны. Далее копаем титанит по карточкам.

Сам сбор титанита уже написан и оттестирован. Осталось слепить все в кучу.

Скрипт ориентирован на сбор титанита при наличии "вальки" и выполненных испытаниях оракула. Сбор идет по карточкам. При выборе титанов выбирается правый вариант (думаю можно реализовать более сложный, например, исключения смешанных боев). В идеале, если титаны доходят до конца, сбор титанита = 300. Последний этаж сохраняется.

Полный листинг:

//заходим в ги
LCLICK(593,780)
WAIT(20)
//заходим в подземелье
LCLICK(670,520)
WAIT(5)
//испытания оракула
LCLICK(590,280)
WAIT(4)
// 4 клика по карточкам
LCLICK(1349,430)
WAIT(2)
LCLICK(1349,505)
WAIT(2)
LCLICK(1349,588)
WAIT(2)
LCLICK(1349,667)
WAIT(2)
//закрываем окно
LCLICK(1437,320)
WAIT(5)
FOR($a=0,$a<3)
//1 зал герои
LCLICK(1227,442)
WAITMS(1000)
LCLICK(1063,688)
WAITMS(3000)
// 2 зал титаны
LCLICK(1025,422)
WAITMS(1000)
LCLICK(1063,688)
WAITMS(3000)
//3 зал герои
LCLICK(1025,422)
WAITMS(1000)
LCLICK(1063,688)
WAITMS(3000)
//4 зал герои
LCLICK(1025,422)
WAITMS(1000)
LCLICK(1063,688)
WAITMS(3000)
//5 зал титаны
LCLICK(1025,422)
WAITMS(1000)
//выбор кем бить (право)
LCLICK(1250,700)
WAITMS(1000)
LCLICK(1063,688)
WAITMS(20000)
// идем обратно (6) герои
LCLICK(1025,422)
WAITMS(1000)
LCLICK(1063,688)
WAITMS(3000)
// 7 выбор титаны
LCLICK(1025,422)
WAITMS(1000)
//выбор кем бить (право)
LCLICK(1250,700)
WAITMS(1000)
LCLICK(1063,688)
WAITMS(3000)
//8 зал титаны
LCLICK(1025,422)
WAITMS(1000)
LCLICK(1063,688)
WAITMS(3000)
//9 зал герои
LCLICK(1025,422)
WAITMS(1000)
LCLICK(1063,688)
WAITMS(3000)
//10 зал выбор титаны
LCLICK(1227,422)
WAITMS(1000)
//выбор кем бить (право)
LCLICK(1250,700)
WAITMS(1000)
LCLICK(1063,688)
WAITMS(5000)
//надо прописать условие
IF($a>0)
//активация перехода
LCLICK(790,450)
WAITMS(20000)
//забрать награду
LCLICK(1220,660)
WAITMS(20000)
ELSE
WAITMS(20000)
END_IF
END_CYC

Удачи!

Канал "Дневник программиста 1С"