Наш уголок для танкистов: здесь вас ждет адекватная модерация, теплая и дружелюбная атмосфера. Делимся свежими модами и софтом, расслабляемся в курилке и развлекаемся с ролевыми ботами ИИ — скучно точно не будет!

Запасной аэродром для танкистов

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Запасной аэродром для танкистов » Бортовой компьютер » Помощник в чате «Мира Танков»: проектирую чат‑бота с нуля


Помощник в чате «Мира Танков»: проектирую чат‑бота с нуля

Сообщений 1 страница 6 из 6

1

Ботоферма для форумов mybb завершена, перехожу к курению вопроса на счёт чат бота в игровом чатике клиента.
Перво наперво надо написать простенький мод, который бы отправлял в чат рекламу этого форума :)
Пошёл курить тему.

0

2

Гугл ИИ написал с 10-й попытки. Исправил только текст для чата:
http://upforme.ru/uploads/001c/ae/f6/19/135209.png
http://upforme.ru/uploads/001c/ae/f6/19/315917.png
:)
Мод ждёт загрузки карты боя, потом ждёт 15 сек и выполняет последовательность нажатий(эмуляцию нажатий) клавиш: Ентер -> Таб -> Рандомная вставка текста из нескольких вариантов -> Ентер
Исходный код:

0

3

Плюсы: ИИ самостоятельно написал весь код. Не пришлось разбираться в файлах игры, декомпилировать их, искать нужные методы и т. п.

Минусы: реализация выполнена через эмуляцию нажатия клавиш. Бот работает корректно, только если не взаимодействовать с боевым интерфейсом (либо успевать играть буквально минуту в перерывах между отправкой сообщений в чат‑бот). Если в это время случайно нажать какую‑либо клавишу, возможны неприятные последствия: от появления лишних букв в сообщении до неожиданного открытия интерфейса боевых резервов.

Как собирать мод:

  • В системе должен быть установлен Python 2.7.3 (32‑бит).

  • Создайте директории в папке /mods/ВЕРСИЯ_ПАТЧА/ клиента: res/scripts/client/gui/mods.

  • Создайте в отдельной директории текстовый файл, переименуйте его (вместе с расширением) в mod_ChatBotMod.py, откройте в текстовом редакторе, скопируйте код и сохраните файл.

  • Для удобства создайте батник для быстрой очистки старых версий файлов и компиляции новых. Пример:

    Код:
    @echo off
    setlocal
    
    set PYTHON_EXE=python
    
    echo Deleting old .pyc files...
    del /q *.pyc
    
    echo Compiling .py files...
    :: Используем стандартный модуль compileall
    %PYTHON_EXE% -m compileall .
    
    echo Done!
    pause

    И положите его в ту же директорию в которой находится исходник mod_ChatBotMod.py

  • Скомпилируйте mod_ChatBotMod.py с помощью батника или через консоль CMD. Появившийся файл mod_ChatBotMod.pyc скопируйте в директорию мода: res/scripts/client/gui/mods/.

  • Запакуйте мод в ZIP‑архив без сжатия и присвойте ему расширение .mtmod.
    http://upforme.ru/uploads/001c/ae/f6/19/335891.png

0

4

Ревизия мода. Исправление повторного нажатия TAB и замена таймера ответов на нажатие клавиши "Б"(">").
http://upforme.ru/uploads/001c/ae/f6/19/t259111.png
Теперь глюки зависят только от самого юзера. Начало боя или встал в кустах - можно нажимать клавишу и рандомное сообщение, из "словаря сообщений"  , отравиться в общий боевой чат!

0

5

Ещё один недочёт исправлен. При взятии кодов учитывайте: в боевом чате действует ограничение на длину сообщения. Подберите в массиве AD_TEXTS тексты небольшого объёма - не более 90 символов в каждой строке. Иначе сообщение будет обрезано в самом начале. :yep:

0

6

Выполнена очередная ревизия скрипта. Отключена эмуляция нажатия клавиши TAB. Теперь перед запуском сообщения бота пользователю достаточно самостоятельно настроить боевой чат на требуемый канал связи.
http://upforme.ru/uploads/001c/ae/f6/19/196366.png
:)
Полный код:

0


Вы здесь » Запасной аэродром для танкистов » Бортовой компьютер » Помощник в чате «Мира Танков»: проектирую чат‑бота с нуля