Skip to content

Всё необходимое для разработки мода для WOT

Notifications You must be signed in to change notification settings

phantasm/WOTSTAT

 
 

Repository files navigation

WOTMOD

Общая информация

Этот репозиторий содержит всё необходимое для разработки мода для танков.

Мод

От релизной версии он отличается файлом wot_stat/common/crypto.py, сейчас в нём расположена заглушка, релизная версия кодирует отправляемый на сервер json, дабы усложнить жизнь желающим заспамить сервер фейковыми сообщениями.

Компиляция

На Unix системах ./build.sh -v 1.0.0.0-a.1 -d в папке WOTSTAT. Флаг -d отвечает за дебаг версию с print_debug выводом.

Структура

Логгеры создают события events и добавляют их в eventLogger, который хранит и добавляет в нужную игровую сессию battleEventSession это событие.

BattleEventSession группирует события и раз в N=5 секунд отправляет их на сервер. Каждый бой создаётся новый экземпляр BattleEventSession(Events.OnEndLoad()), все события внутри этого боя отправляются через этот экземпляр. Экземпляр завершает своё существование событием Events.OnBattleResult().

Все остальные файлы служебные и не выполняют ключевой роли.

События

Событие Статус Описание
OnBattleStart + Начало боя
OnShot + Факт совершения выстрела
OnBattleResult + Результат боя
OnShotReceived - Полученное попадание
OnDamage - Информация об уроне

Тестовый сервер

Мод сохраняет события на сервер, если вы хотите протестировать мод локально, вы можете запустить тестовый сервер на NodeJS

  1. В папке World_of_Tanks/mods/configs/wot_stat создать текстовый файл config.cfg, в который прописать
{
    "eventURL": "http://localhost:5000/api/events/send",
    "initBattleURL":"http://localhost:5000/api/events/OnBattleStart"
}
  1. Запустить serverPlaceholder npm run serve
  2. Запустить танки
  3. Готово. Теперь мод будет отправлять события на локальный сервер. Их можно посмотреть в консоле сервера.

Редактирование через PyCharm

Для корректной подсветки синтаксиса в IDE необходимы зависимости танков.

  1. Склонировать репозиторий с подмодулями (git clone --recursive https://github.com/SoprachevAK/wot-stat.git)
    • WorldOfTanks-Decompiled - исходный код клиента танков
    • BigWorldPlaceholder - заглушки функций библиотеки движка, объявлены только те, которые были нужны мне
  2. Запустить Zip-Unpacker.exe для исправления регистра названия файлов
  3. Открыть текущую директорию через PyCharm (File->Open)
  4. Отметить следующие папки как корень исходников (ПКМ -> Mark Directory as -> Sources Root)
    • /WorldOfTanks-Decompiled/source/res/scripts/client
    • /WorldOfTanks-Decompiled/source/res/scripts/common
    • /BigWorldPlaceholder
  5. Готово. Теперь в IDE будет работать подсветка синтаксиса и подсказка кода.

Сборка мода

  1. С помощью PjOrion скомпилировать (Run -> Compile py folder)
  2. Запустить Zip-Packer.cmd для получения .wotmod файла

About

Всё необходимое для разработки мода для WOT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.4%
  • Other 1.6%