oSettlers рекомендует
Автоматизация повторных действий в игре

В этом обзоре мы рассмотрим процесс автоматизации повторных действий в игре с помощью программы AC Tool.

Если процесс будет интересен игрокам, в будущем мы расширим тему, а также снимем видео помогающее упростить понимание процесса автоматизации … но это позже.

Установка и первый запуск программы

Для начала нам нужно скачать программу с официального сайта www.actool.net
Нажимаем, на главной странице “Download AC Tool 5.4.0” и скачиваем в удобное место на ПК.
Установка не занимает много времени и программа спокойно работает в Windows 7.
Запускаем программу и видим окно редактора в левой части, и список команд в право части.

AC Tool. Скриншот 1.

В левой части, программа уже написал пару строк макроса. Первая строчка является комментарием разработчика. Я вам советую также комментировать свои макросы, можно русским языком. Вторая строчка, меняет активное окно Windows. Данная команда полезна, но не всегда удобна. У неё есть масса условностей. Наименование окна должно чётко совпадать с текстом после команды. Причём даже это не гарантирует срабатывание. Команда есть в блоке “Commands”справа. Если её вызывать, AC Tool сама спросит какое окно из списка сделать активным.

AC Tool. Скриншот 2. Окно запроса активного окна Windows.

Окно запроса активного окна Windows.

В данном примере отчётливо видно, что в первой строчке не поместилось наименование вызываемого окна. И программа по обыкновению перенесла на другую строчку. Такой макрос работать не будет, нужно увеличить размер окна программы или вовсе не использовать команду.
Вывод: каждая строчка это команда и аргумент(ы) после неё. Если вы пишите комментарий как я вас и просил, он также должен не заходить на следующую строку. Либо для каждой строчки начинать символами “//”. Это явно баг, но разработчик уже точно не работает над новой версией.
Итак, мы запустили программу и даже разобрались с парой команд идём дальше и начинаем писать свой первый макрос.

Пишем первый макрос для The Settlers Online

Допустим, нам пришло пара писем от следопытов. Если их у вас больше 3 основных, вы сам знаете, как иногда лень открывать и подтверждать находку. Не говоря уже о том, чтоб эти ресурсы потом перенести в ратушу.
Разберём задачу на составляющие:

  • Открыть почту.
  • Открыть письмо, подтвердить получение.
  • Повторение 2-ого пункта N раз.
  • Закрыть почту.

Для перемещения мыши нам нужны координаты. То бишь, то место, куда уставить курсор. Все измерения идут в пикселях. Для упрощения этой процедуры в программе есть архи полезное сочетание горячих клавиш. Но перед их использованием нужно установить курсор в необходимом месте. Также окно программы должно быть активным. Нажимаем Ctrl+M и получаем примерно такой код в редакторе:

AC Tool. Скриншот 3.

«MousePos» команда, указывающая, куда надо установить курсор мыши. За командой идут координаты в пикселях по осям x и y. X – это от верхнего левого угла экрана к верхнему правому. Y – это от верхнего левого к нижнему левому углу экрана. То бишь левый верхний угол это 0,0.
Дальше нам необходимо нажать на левую кнопку мыши. Все команды по работе с мышью находятся в разделе «Mouse Commands» от туда можете перенести команду «LeftClick».

AC Tool. Скриншот 4.

Если сейчас запустить скрипт кнопкой «Start», то вы даже не заметить, как быстро сработает скрипт. А игра у нас далеко не мгновенная, поэтому нам необходимо замедлить работу скрипта. Для этих целей есть команда «Delay» из блока команд «Commands», её также можно перенести и программа спросит, сколько ждать. Т.к. перетаскивание команд довольно нудный процесс, я сразу пишу руками и после команды «Delay» должно идти число в миллисекундах. Для наглядности 1000 это одна секунда. Команду стоит размещать перед каждым нажатием кнопок. В итоге получаем такой код:

AC Tool. Скриншот 5.

Теперь, ваша задача, записать все «MousePos» и проставить «Delay» и «LeftClick». Но и тут есть подводные камни. Наш скрипт должен открыть не одно письмо, а N-ое число, которое мы знаем только перед запуском самого скрипта. Для таких целей, есть команда «Loop» из раздела «Conditionals/Loop». Данная команда имеет параметр, отвечающий за количество повторений команд написанных после «Loop». Также после всех команд нужно указать конец «Loop» командой «End». Для наглядности, перед командами внутри «Loop» стоит ставить табуляцию (клавиша Tab). В нашем примере это будет выглядеть так:

AC Tool. Скриншот 6.

Программа повторит установку курсора мыши, задержку и нажатие мыши 10 раз подряд.
Если применить полученные знания мы получим примерно такой скрипт, копировать его не стоит т.к. у вас всё равно другие координаты точек. Но общую концепцию можно уловить. Обязательно перед запуском стоит проверить работу. Для этого в «Loop» ставим 1 прогон. И если всё получилось, уже ставим большое количество. Желательно ставить «Delay» и перед концом «Loop», но это уже на усмотрение (необходимость в дополнительном «Delay» может возникнуть у тех, у кого медленный интернет или ПК и окошки появляются не сразу).
Данная программа имеет ещё много интересных функций и возможностей, но останавливаться на них я не стал, для упрощения материала. Возможно, позже опишу ещё, но для начала самое то.

AC Tool. Скриншот 7.

Таким образом, мы можем не только подтверждать письма, но и, например, отправлять генералов, следопытов (искателей), геологов. А ещё с ювелирной точностью нападать генералами, но тут вопрос спорный т.к. есть много нюансов. Удачи и до новых встреч.

Автор (с) [Live is Live] DarkDenis

Видео-инструкция, пробный вариант

oSettlers рекомендует
Комментарии (12)
  1. ochep:

    А кто то знает как в этой фигне
    1 Назначить Хот кейс на Экстренную Остановку
    2. как назначить Плавающую координату по скрипту .. типа скрипт

    MousePos 677, 557 //звезда
    delay 300
    LeftClick
    MousePos 538, 319 // 1.1
    delay 500
    LeftClick
    delay 300
    MousePos 766, 347 // Ратуша
    delay 300
    LeftClick
    delay 300
    LeftClick
    delay 300

    Где ратуша Меняется Остальное можно все забить 1 раз ….
    типа строка
    MousePos ХХ, УУ = ……..

    А в остальном скрипте что то типа этого
    MousePos ХХ, УУ // Ратуша

    Спасибо за ответ а то я как то не разбираюсь в этом

    • DarkDenis:

      1) F2 — запуск\остановка макроса
      2) Как вариант ставить координаты в углу экрана и перед запуском, в игре приближать на максимум (будет больше площадь попадания) и ставить ратушу в нужном углу экрана.

  2. Tom:

    Ни кто не делал скрипт на удаление определенных сообщений из почты? Не знаю к чему прицепить проверку, хочу удалять только сообщения от бафа.

    • DarkDenis:

      Как вариант, в почте нажать на столбец тип, тогда первыми будут письма от бафов.

  3. max_us:

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

  4. HeavyCub:

    Этот софт давно реализован на А4Теч мышках, возможность скриптования, правда там тоже париться придётся много. :)

  5. Фон Зингельшухер:

    Автоматическое прохождение приклов? Очень интересно…

    • DarkDenis:

      В теории вполне возможно всё. Проще всего те приключения, где можно привести всю армию целиком для прохождения.

    • мимо проходил:

      у нас был игрок что на скрипте проходил преступников. 2 шт в сутки :)
      правда почти год как не играет уже.

    • ZeroTheGreat:

      Press»X» to win

  6. Дмитрий:

    Спасибо большое за такую подсказку.

Комментировать