/heroWarsBot

lua bot for hero wars android game

Primary LanguageLua

Автоматизация HeroWars

Бот для игры под android Hero Wars: Alliance. Поддержка, обратная связь: https://t.me/rusviperHW

Быстрый старт

  1. Устанавливаем AnkuLua Lite.
  2. Качаем содержимое данного репозитория себе на телефон в произвольную папку.
  3. Запускаем AnkuLua. (Попросит разрешение записи с экрана, нужно чтобы парсить картинку игры).
  4. В приложении AnkuLua нажимаем Select script. Выбираем основной скрипт приложения: <путь_до_проекта>/bot/heroWarsBot.lua
  5. Нажимаем Start service - появится кнопка запуска скрипта.
  6. Запускаем нашу игру Hero Wars: Alliance.
  7. Во время игры нажимаем запуск скрипта и выбираем необходимое действие.

Описание работы

Скрипты автоматизации достаточно глупые: ожидаем, что находимся на определённом экране, ищем по картинке определённую область и нажимаем на неё (Иногда по координатам). Реализованы следующие функции:

  • Титанит - Собирает титанит. Начало: "База", "Подземелье". Окончание - завершён этаж (до кнопки "Активировать").
  • Башня - Проходит башню. Начало: "База", "Башня" на любом этаже, кроме выбора режима прохождения.
  • Гидра - Ожидает нажатия на голову гидры, затем нападает на неё 3 раза. Начало: выбор головы гидры.
  • запределье-боссы - Собирает боссов запределья. Первый и второй боссы атакуются по 1 разу, третий босс атакуется 3 раза.
  • Событие - Во время события циклически запускает бой несколько раз. Начало: экран боёв события.
  • Порт - Проводит бои в "Порт". Начало: "Порт"
  • Реклама - Собирает всю групповую рекламу: Бесплатные коробки, реклама в магазине. Начало: "База", Бесплатные коробки, Магазин "Кинотеатр". Работает только на версии от Huawei (так как там реклама проще закрывается).
  • Подождать и закрыть AD - Ждёт завершения рекламы и нажимает крестик. Только для реклам на версии Huawei.

Вспомогательное:

  • Coords - Выводит координаты нажатия (тестовое)
  • test - Выполнение тестовых действий (тестовое)
  • Закрыть - Нажимает кнопку "закрыть" (тестовое)

Описание функций

Автоматизации довольно простые. Начинаем на определённом экране, программа ищет определённое изображение или координаты, тыкает туда, далее ожидает изображение или нажимает на координаты, в зависимости от алгоритма. Известные проблемы:

  • При сборе титанита иногда заходит в магазин (нажимается кнопка магазина). Обходное решение: закрыть магазин.
  • Башня иногда завершается досрочно. Обходное решение: заново запустить скрипт.

Список использованных решений

  • Поставщик решения автоматизации под android: AnkuLua.
  • Автоматизация поиска и интеракции с приложениями: AnkuLua базируется на Sikuli
  • Язык: Используют lua-сприпты. См.: https://www.lua.org/pil/