Вопросы/ответы, советы, замеченные ошибки и неточности в работе бота

Выбор точек привязки.

Помним, что точка привязки, это не точка, а область поэтому при выборе области привязки нужно помнить следующее:

  1. Если прикл позволяет — привязывайтесь к зданиям — крыши постоянных построек, заборы, статуи (особенно актуально для простых приклов на ивенты, Притон, Предатели, Ведьма). Опыт показал, что разрабы любят периодически размывать картинку, чаще всего это песок или береговая зона в арабских, и тогда ваши точки привязки придется перескринивать.
  2. В область привязки не должны попадать столбики — они меняют свой цвет при при захвате сектора (красный сменится на синий)
  3. Выбирайте области, далекие от военных действий, при наведении на атакуемый лагерь вокруг него появится красная зона перехвата, что сделает вашу точку привязки нерабочей.
  4. Еще одной причиной «испорченности» зоны привязки может быть всплывание состава вражеского лагеря (реже генерала) при прицеливании на лагерь при атаке — еще один повод выбирать зону привязки вдали от основных военных маневров.
  5. Не мельчите картинки, оптимальным будет размер примерно 30 на 30 пикселей.

Возможные проблемы с ботом и их решения.

Проблема: Вдруг бот не может переставить генерала — выдает ошибку, Или вообще ничего не делает.

Решение: Проверяем масштаб в системе, браузере и/или на карте прикла. В системеи  браузере должно быть 100% и шрифт тобе 100%, в прикле — максимальное удаление.

 

Проблема: бот постоянно «дергает» карту при попытке перемещения/атаки генералом.

Решение: Не найдена точка привязки. Проверяем наличие bmp файла в папке media/users и правильность написания имени файла. Если такая неприятность случилась после обновы, перескриниваем точку привязки.

 

Проблема: Не запускается приключение из звезды или не отправляются генералы в приключение.

Решение: Проверяем, где лежат картинки приключения из звезды и открытого, должны быть в папке media\users.

 

Проблема: Бот не может набрать в генерала войска, бесконечно сбрасывает и набирает по новой.

Решение: Такая ситуация чаще всего бывает для старых текстовиков. Проверяем строку набора: если для любого генерала (кроме интендантов) указано ‘1000’, заменяем на 3000.

До появления в игре Золотого Интенданта техническим числом, означающим что указанных юнитов нужно добить до максимума, было 1000, сейчас это 3000.

 

Проблема: Команда ЖдемПобеду не работает как должна.

Решение: Эта команда работает в экспериментальном режиме и может не у всех отрабатывать корректно. За ее выполнение отвечают две картинки: иконка генерала во всплывающем меню слева вверху и картинки «gen_win.bmp». Если команда не срабатывает, перескриньте иконку генерала из всплывающего меню и поместите новый скрин в папку media\ с именем sp<имя_генерала>.bmp, например, spsilvana.bmp. Весьма вероятно, что придется перескриньвать иконки всех нужных генералов.

 

Проблема: Бот не докручивает звезду до конца при отправке специалистов на поиски (разведчики/геологи). И выглядит это примерно так, как на картинке — нижняя стока видна наполовину, т.е., все спецы оправлены, но звезда не закрылась, и бот как бы завис. Проблема в скане ползунка (zvezda_polzunok_ewe_mojno_vniz.bmp) — бот не может распознать, листать его дальше или нет.

 

Решение: Скачать мой вариант картинки () и поместить ее в папку Media\, предварительно забекапив оригинальный скан. Если не помогло — то в любом графическом редакторе слегка обрезать оригинальный скан сверху, подрезать до тех пор, пока отправка не заработает нормально.

 

Проблема: Бот не видит (команда ЖдемГенерала) или не набирает (например, командой Набрать) генерала, который расположен на 2м экране звезды. Чаще всего это автобус (Клаус, Интендант, Золотой Интендант). На команду ЖдемГенерала бесконечно перелистывает звезду с начала, а на команду Набрать вываливается с ошибкой.

Решение: Такое поведешние связано с ошибкой в коде. Временное решение — откорректировать ini-файл, увеличив параметр Число генералов (total_generals) до 150. В ближайшем релизе эта ошибка будет исправлена.

 

Проблема: Бот не транслирует ошибки в Телеграм.

Решение: Это ошибка в коде. Временное решение — откорректировать ini-файл, добавив ‘bot‘ в параметр  ;Токен  бота

telegram_bot_token=bot

и потом вписать тот токен, который выдал выдал @Botfather

 

 

Как правильно отцентровать карту.

В каждой команде по атакам или передвижениям генералов есть пара «Куда_центровать_Х, Куда_центровать_Y». Как правильно выбрать эти значения.

Проверка/определение координат программой «coords.exe» в первом предложении выдает информацию, где она нашла точку привязки — по каким координатам. Это и есть наша пара. Чтобы у других (да и у вас) не было проблем с прохождением по вашим текстам перед определением координат лагеря под атаку/места переноса генерала разместите карту так, чтобы на экран одновременно помещалась и область привязки и область атаки/переноса. При этом рекомендую карту размещать именно так, как вы хотите чтобы она располагалась в приключении, и только потом и после этого записывать точки, определяющие пару «Куда_центровать_Х, Куда_центровать_Y». Это особенно важно для тех целей (атака, точка переноса), которые могут попасть в область уведомлений об атаке/победе/перемещении генерала, или под сообщения в Книге заданий, например, «Задание выполнено» — левая верхняя часть окна клиента игры. Для того чтобы ваши тесты, работали на других мониторах/разрешениях, карта должна располагаться максимально высоко/слева от начала координат — восклицательного знака Книги заданий, но с учетом предыдущей рекомендации.

Пример хорошего расположения карты, в случае когда цель находится левее точки привязки. Последний босс в Юном дровосеке. Желтым отмечена область всплывающих уведомлений и стрелок Книги заданий, синим — цель, в данном примере лагерь финального босса, красным — расположение точки привязки и значения для пары куда_центровать_Х, куда_центровать_Y.

Если карту сдвинуть левее (ближе к аватару), то координаты босса попадут в желтую область уведомлений и могут быть не видны под ними, если правее и/или ниже — то скрипт может не работать на экранах с меньшим разрешением; если выше — то координаты босса попадут в слепую зону бота, и он начнет двигать карту.

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

Как правильно сдвинуть карту.

Для меня долго было загадкой, как работает пара «Если_вне_экрана_X,Если_вне_экрана_Y». Особенно актуально это становится, если область привязки и цель (лагерь врага, точка переноса генерала) не помещаются на экране. Картинка-подсказка в разделе Помощи особо не помогала. Для себя нарисовал такую схему (возможно она покажется кому-то банальной).

значения +XX,+YY — бот двигает центр карты налево/вверх, т.е. видимой на карте будет область правее и ниже

значения +XX,-YY — бот двигает центр карты налево/вниз, т.е. видимой на карте будет область правее и выше

значения -XX,-YY — бот двигает центр карты направо/вниз, т.е. видимой на карте будет область левее и выше

значения -XX,+YY — бот двигает центр карты направо/вверх, т.е. видимой на карте будет область левее и ниже

 

Зачем это может оказаться полезным? Если в процессе выполнения бот начинает хаотично двигать карту явно в неверном направлении — уходит в море, возможно нужно сменить знак в соответствующем параметре. Особенно если ваше разрешение монитора отличается от разрешения автора проходки. И не забываем разворачивать окно на максимум при проходах приклов ботом!

 

Маленькие хитрости и неочевидные ошибки.

1. Для редактирования ini-файла не рекомендуется пользоваться обычным Блокнотом, т.к. может измениться кодировка файла, и бот его просто не увидит.

2. Если нужно отправить в приключение генерала по имени, то не нужно писать его имя в команду. Достаточно просто поставить +. При этом в имени генерала должно быть слово ОТПРАВИТЬ. Например, ОтправитьВприключение=Y_Ali_start.bmp,Малец,1,+.

3. Команда «ОтправитьДомой», работает как в прикле, так и на домашнем острове — выбирает нужного генерала в Звезде и отсылает его домой/в приключение, аналогично флагу 2 в команде «Отправить», но без набора войск, а с теми, что уже загружены в генерала.

4. Если бот начинает вести себя странно: мажет мимо координат, двигает куда-то в море карту, то проверяем точку привязки на уникальность программой координаты. Параметр графики должен быть в пределах 5-20, 35-40 — критично, больше 80 совсем плохо.

Все сказанное актуально если вы используете чужую проходку, либо если все работало, но после обновления игры, к примеру, перестало. Если с параметром графики все ОК, ищем ошибки в текстовике.

 

5. Бот отсылает разведчиков по порядку, указанному в файле config.json. Если вы хотите изменить очередность отправки, отредактируйте раздел scouts под себя, просто переставив строки (имена файлов и номера в них не трогать). Например, вот так

 

6. В работе бота с генералами есть одна неочевидная особенность, на которую наступают многие новички (и не только) — см. картинку. При отправке генералов в приключение из домашней зоны их перемещение происходит не мгновенно — какое-то время уходит на дорогу до склада. Поэтому важно отправлять генералов с конца. На скане выделена 1я группа (Борис и Сильваны). Если отослать их первыми, а потом попытаться набрать армию в младших (2я выделенная группа), то бот может повести себя неадекватно — или набрать и отправить не того генерала (особенно если использовать флаг «2» при наборе армы) или вылететь с ошибкой (например, если попытаться набрать в него армию больше емкости генерала). Причина такого поведения бота в том, что сначала определяются координаты картинки нужного гены (1й этап), а потом происходит клик по координатам из 1го этапа для набора, без проверки какой генерал выбран (2й этап). Если при выборе Мальца Борис и Силваны еще не успеют уйти в прикл, то их «серые» иконки еще будут висеть в звезде, и координаты любого из Младших (из 2й строки, т.е. 3, 4, 5 и 6 или -1, -2, -3 и -4) определятся с учетом «лишних» серых иконок. А при наборе и отправке Мальца в прикл «серых» генералов в звезде уже не будет, Младшие сдвинутся на предыдущую строку, и бот промажет мимо и попадет в Нусалу на моем скрине.

Вам может также понравиться...

комментариев 6

  1. Cygapb:

    не выводит сообщение в трей

    • Basil:

      Экстрасенсы все в запое, можно проблему чуть более развернуто описать?
      PS для общения по проблемам бота создан Дискорд-канал, присоединиться к которому можно через виджет на Главной. Это на случай если действительно хочется получать ответы, а не просто задавать вопросы

      • Cygapb:

        *Сообщение
        Геологи=1,Камень,1,Золотой
        Сообщение=проба,2

        • Basil:

          1. а Геолог при этом был отправлен?
          2. Если написать
          Сообщение=проба,1
          работает?
          3. Вывод оповещений в трей включен?

          Интересно, ЧЯДНТ
          https://prnt.sc/8yxhR1kb3XpD

          • Cygapb:

            геолог был отправлен, при единичке выводится сообщение в окне в центра экрана, при двойке геолог отправляется, а вот сообщения в трее нет

        • Basil:

          предположу что боту запрещено выводить сообщения в трей
          Можно попробовать проверить — включить флажок «Выводить предупреждения». И тогда каждая команда будет сопровождаться уведомлениями в трее
          Еще один вариант проверки — по F9 в трее появляется сообщение о том, что бот поставлен на паузу или снят с паузы. Если такого сообщения в трее нет, то копайте в сторону разрешений боту выводить сообщения в трей

Добавить комментарий