Jump to content
Korean Random

Leaderboard

Popular Content

Showing content with the highest reputation since 10/15/2018 in Posts

  1. Думаю на этой ноте буду заканчивать деятельность связанную с WoT. Ибо для меня уже подобное увлечение не приносит удовольствия. В саму игру я уже давно не играю, последнее что меня держало в ней это два режима (Стальной охотник и Линия фронта). Первый уже мне не так интересен, а второй после переделок вообще не заходит. Продолжал лишь обновлять моды/конфиг/сборку можно сказать что по привычке. Это всегда для меня было лишь хобби которое никогда не приносило никакого дохода. И занимался я этим лишь до того момента как было это самому интересно. Сейчас же интереса совсем не осталось, да и времени тратить уже самому на это все не хочется. Думаю стоит сказать спасибо тем кто пользовался по сей день моими поделками P.S.: Тему на какое то время пока оставлю открытой, но через определенное время закрою её.
    30 points
  2. "Если тебе что-то не нравится, сам сделай то, что тебя устроит" Приветствую всех заглянувших! То, что вы сейчас видите - восстановленный лончер для World of Tanks, который по-прежнему обновляет игру даже после официального прекращения поддержки 4 ноября 2019 года. На данный момент проходит открытое бета-тестирование. FAQ Другие скриншоты Список изменений (последние три обновления) Результаты предыдущих опросов
    22 points
  3. Название модификации: Battle Equipment Версия: v2.0.0 (build 03.05.2023) Поддерживаемая версия WoT: 1.20.1.0 Данная модификация отображает ваше текущее оборудование в бою. В бою панель можно двигать используя Ctrl + ЛКМ в любое нужное место, а также скрыть его с помощью сочетания клавиш Ctrl + H и сбросить настройки расположения по умолчанию - Ctrl + R. Также модификация имеет два режима работы - отображать модифицаию всегда в бою или только по клавише Alt - смотрите спойлер Настройка. Зачем?!: Скриншоты: Установка: Настройка: Скачать: Благодарности:
    21 points
  4. стандартный – – XVM (config 30.04.24).zip цветовая слепота – – XVM (config blind 30.04.24).zip
    19 points
  5. Начали эксперимент с отключением отображения статистики в бою для анонимов. На данный момент порядок следующий: если наш сервер обнаруживает, что игрок скрыл свой ник, он теряет доступ к статистике других игроков в бою на ближайшие 12 часов. Затем процедура обнаружения повторяется. Соответственно, чтобы снова видеть статистику всех игроков, необходимо открыть свой ник и дождаться возобновления доступа (произойдёт автоматически). Также добавим соответствующие уведомления в игре и пояснения в личном кабинете. Сценарий не окончательный, возможны изменения.
    19 points
  6. Contour Icons Anti-Mirror without XVM AntiMirror_WG_ELITE_1.24.1.2.zip - variant with the prestige levels AntiMirror_WG_NO_ELITE_1.24.1.2.zip- variant without the prestige levels AntiMirror_Lesta_1.26.0.0.zip - for the MT client
    18 points
  7. mod_serverTurretExtended 3.03mods_server_turret_extended.zip mod_spotted_extended_light 4.09mods_spotted_extended_light.zip mod_restartRandomQueue 1.07mod_restartRandomQueue.zip mod_tooltipsCountItemsLimitExtend 1.04mod_tooltipsCountItemsLimitExtend.zip mod_creditCalc 2.03mods_creditCalc.zip mod_SpyOnYou 1.01mods_SpyOnYou.zip
    18 points
  8. ModsSettingsAPI Инструмент для создания меню настроек модификаций Автор модификации: @IzeBerg ModsSettingsApi - это модификация клиента игры World of Tanks, которая предоставляет сторонним разработчикам инструментарий для создания удобного меню настроек. Основные этапы работы модификации заключается в следующем: При загрузке клиента игры modsSettingsApi загружает файл сохраненных настроек сторонних модификаций. Если файл отсутствует - будет создан новый. Затем modsSettingsApi ожидает подключения к себе сторонних модификаций посредством программного интерфейса. Для генерации меню настроек, сторонняя модификация должна отправить в modsSettingsApi шаблон, содержащий в себе описание необходимых для отображения графических элементов. Кроме шаблона сторонняя модификация должна отправить ссылку на функцию, которая будет вызываться при любом изменении настроек стороннего мода. При необходимости обработки нажатия дополнительных кнопок модификация должна отправить ссылку на функцию, которая будет вызывается при нажатии на кнопку с передачей текущего значения. При изменении настроек modsSettingsApi будет вызывать переданный модификацией метод с новыми параметрами. При использовании кнопок, ModSettingsAPI будет вызывать переданный модификацией метод с текущим параметром и его значением. Полное описание работы модификации с примерами можно прочитать здесь: http://wiki.wargaming.net/ru/ModsettingsAPI Официальный репозиторий модификации на Bitbucket: https://bitbucket.org/The_IzeBerg/modssettingsapi/ Ссылка на скачивание: https://bitbucket.org/The_IzeBerg/modssettingsapi/downloads/ Репортить баги можно сразу на Bitbucket используя багтрекер. Предложения по улучшению модификации можно посылать туда же, создавая тикет с заголовком [Suggestion] и тэгом [Proposal]
    18 points
  9. Немного взбодрился, вышел из анабиоза и починил моды. заодно обновил ядро настроек и добавил в него немного нового функционала и документации https://github.com/spoter/spoter-mods/tree/master/mod_mods_gui Если будут вопросы, пишите, добавлю.
    17 points
  10. xvm-ddar-config.zip Настройки для правильной работы прицела Для меня танки — это развлечение и отдых. Мне важно удовольствие от процесса игры. Я не вижу смысла тратить время и силы на запоминание с какой скоростью заряжается WZ-111 1-4, сколько дамага мне в лоб может выписать Leo или засвечусь ли я, если выстрелю сейчас в 45TP. Цель создания этого конфига — лучше понимать, что происходит на поле боя и тратить на это меньше мозгового топлива. Конфиг частично написан мной, частично взят из других конфигов и изменен, а частично просто честно украден у Некроманта и оставлен как есть. Надеюсь, кому-то с этим конфигом будет играть приятнее. Спасибо Некроманту за конфиг-донор, ktulho, night_dragon_on и Kotyarko_O за скрипты и всем разработчикам xvm за наше счастливое детство. Окно загрузки боя Окно статистики по клавише Tab Три левых числа - статистика конкретного танка, три следующих - статистика игрока в целом. Количество боев, рейтинг и процент побед. Яркий маркер слева говорит о том, что у игрока установлен xvm и включены сервисы xmqp. Обычные уши и хитлог Слева от иконки количество хп. В хитлоге верхняя часть показывает ваш дамаг, нижняя - дамаг с вашей помощью. Уши по клавише Alt Слева направо: Статистика wn8, статистика по танку xte, процент побед, количество боев. На иконке время перезарядки и дамаг танка. Прицел Слева хп, справа информация о снаряде и перезарядка. Сверху дальность, становится зелёной, если расстояние до цели больше ее обзора. При повреждении критически важных модулей или членов экипажа рядом с точкой прицеливании появляется соответствующая иконка и можно отремонтироваться просто кликнув на неё. Прицел при наведении и лампочка Если цель пробьется, прицел становится зеленым, если не пробьется - красным. Если хз, то желтым. Зеленые цифры показывают приведенную броню в точке прицеливания. Артиллерийский прицел В арт-прицел добавлены время полета снаряда и время сведения. Круги помогают рассчитать упреждение по движущемуся танку. Маркеры У противников на полосе есть два числа. Слева время перезарядки. Если оно приглушенное, то вы зарядитесь быстрее противника. Если ярко-белое, то он быстрее. Справа его дамаг. По альту показывается ещё и бронепробитие. Если противник шотный, над ним загорается ромбик. Дамаг-панель Миникарта Ангар В обычной карусели есть фон, который позволяет мельком понять тип танка. И количество опыта до полной прокачки. Карусель по клавише Alt Слева: средний дамаг, процент побед, рейтинг, количество боёв. Справа процент метки на стволе и количество опыта до полной прокачки. Дополнительно: Иконки для дерева исследований ddar.icons.wotmod
    17 points
  11. Сидел я тут за кружечкой чудного, холодного эля и думал... ...как бы потроллить танковое сообщество)) А то чё-то совсем тут скучно стало. Взял инет, фотошоп, реплейсер и во чё натворил. P.S. Публикую скриншоты в надежде на чувство юмора участников)))
    16 points
  12. Навигация по теме: Установка и знакомство Подсветка синтаксиса Установка Файл расширения Расширения Список и ссылки на расширения Настройка некоторых расширений Темы Некоторые возможности редактора Горячие клавиши Решил я попробовать использовать Visual Studio Code (VSC) для редактирования файлов конфигурации XVM. Сам я им только начал пользоваться (до этого использовал Notepad++), поэтому буду рад, если желающие поделятся опытом работы в нем. У меня пока только положительные впечатления от работы в нем. Итак, согласно Википедии: Скачать дистрибутив можно с официальной страницы. После установки имеем: Первое, что захотелось сделать, это русифицировать интерфейс. Для этого кликаем по иконке Extensions (Расширения) на левой панели и набираем в строке поиска Russian Language Pack. В первой строчке будет нужный нам результат. Нажимаем Install и после установки расширения перезапускаем программу. Теперь откроем папку с нашим конфиг XVM (Файл->Открыть папку...). VSC из "коробки" поддерживает языковой режим "JSON с комментариями" (файлы конфигурации XVM это немного расширенный формат JSON с поддержкой комментариев). Если языковой режим не определился автоматически, то нужно кликнуть в правом нижнем углу и выбрать в списке "JSON with Comments". Что же, неплохо, но это несложно сделать и в Notepad++. Приступим к поиску полезных и не очень расширений (список в конце сообщения). В результате установки и небольшой настройки расширений перечисленных в списке ниже, у меня получился следующий вид: Хорошо заметны отступы, блоки кода и концевые пробелы, выделены парные скобки и теги. Единственное, что смущает это скудная подсветка синтаксиса. Немного покурив Google, сделал подсветку для файлов *.xc. В разных темах она может выглядеть по разному. В стандартной темной теме она выглядит так: Для установки данной подсветки необходимо: скачать файл xc-X.X.X.vcix (файл находиться в конце сообщения), где X.X.X - версия расширения запустить VSC в право верхнем углу панели "Расширения" (Ctrl + Shift + X) нажать кнопку в выпавшем меню выбрать пункт "Установка из VSIX..." и выбрать скачанный файл После этого в панели "Расширения" у вас должно появиться расширение: Расширения: Существует несколько способов установки расширений. Для меня самый простой способ это пользоваться поиском расширений в самой программе. Bracket Pair Colorizer 2 - добавляет подсветку для скобок, окружающих блоки кода. indent-rainbow - расширение делает отступы более читабельными. Indenticator - еще одно расширение помогающее облегчить восприятия блоков (секций) кодов. Subtle Match Brackets - выделяет парные скобки возле которых находиться курсор. Color Highlight - подсвечивает CSS / веб-цвета, найденные в вашем документе. К сожалению на данный момент не поддерживает цвета в виде 0xFFFFFF, хотя судя по репозиторию попытки были (Пересобрал данное расширение, теперь поддерживает цвета в виде 0xFFFFFF. Скачать расширение можно в конце данного сообщения). Trailing Spaces - выделяет и может удалять конечные пробелы (ALT+SHIFT+T). Highlight Matching Tag - выделения соответствующих открывающих или закрывающих тегов. Russian - Code Spell Checker - русский словарь проверки орфографии. Вместе с ним установиться Code Spell Checker и английский словарь. TabSpacer - конвертирует табы в пробелы (Ctrl + Shift + T). Project Manager - менеджер проектов. Будет полезен, если вы настраиваете несколько конфигураций. Path Autocomplete - автозаполнение пути к каталогам и файлам. Markdown Preview Enhanced - предпросмотр файлов в формате Markdown. Пригодится для редактирования файлов README.md на GitHub или BitBucket. (Ctrl + K, V или Ctrl + Shift + V) L13 Diff - Сравнение двух папок (Ctrl + L Ctrl + L). Почти все расширения имеют настройки (Файл->Параметры->Параметры->Расширения). Темы (переключаться между темами можно сочетанием CTRL+K, CTRL+T): Atom One Dark Theme Solarized Custom (3 темы) Yi Dark & Yi Light Themes (2 темы) Расширение для подсветкой синтаксиса файлов конфигурации XVM: xc-1.0.0.vsix Пересобранное расширение Color Highlight: color-highlight-2.3.1.vsix
    15 points
  13. Поддержать развитие мода Visa 4276 7400 1529 7732 Qiwi +7 914 802 18 59
    15 points
  14. Вертикальное дерево развития 1920x1080 [16:9] Скриншоты: Поддержать развитие мода Visa4276 7400 1529 7732Qiwi+7 914 802 18 59
    15 points
  15. Версия 055 (2018-12-11) Что нового: поддержка 1.3.0.0 исправлена загрузка ресурсов для колесной техники (Roman Astafev) Скачать
    15 points
  16. Описание Библиотека предзназначенная для облегчения написания установщиков модификаций для WoT. Основная функция -- поиск клиентов игры и получение информации о них (версия, локаль, реалм и прочее) а также помощь в разграничении контента для Wargaming/Lesta клиентов. Однако, есть и другие фишки, такие как: распаковка BigWorld XML работа с JSON конвертация PNG -> BMP поиск запущенных процессов в каталоге и их завершение отображение сплэшскрина замена в строке по регулярному выражению детектирование Wine поиск клиентов WGC / Steam / 360 / LGC Получение предпочительного клиента (текущий выбранный в WGC) работа с клиентом получение версии клиента и ее сверка по регулярному выражению получение версии исполняемого файла клиента получение реалма (EU/NA/ASIA/CN/RU) получение типа по контенту (SD/HD) получение типа лаунчера (WGC/Steam/360/LGC) получение типа релиза (Release/Common Test/Super Test/Sandbox) получение пути до активного в клиенте mods/res_mods получение языка клиента детектирование запуска и завершение клиента Как пользоваться 1) скачиваем 2) из комплекта поставки утягиваем два файла bin/openwg.utils.x86_32.dll innosetup/openwg.utils.iss 3) в своем корневом .iss файле прописываете #define OPENWGUTILS_DIR_SRC "bin" #define OPENWGUTILS_DIR_UNINST APP_DIR_UNINST #include "openwg.utils.iss" где OPENWGUTILS_DIR_SRC -- путь к каталогу куда вы положили .dll OPENWGUTILS_DIR_UNINST -- путь к каталогу файла деинсталляции относительно {app}, в подавляющем большинстве случаев должен совпадать с UninstallFilesDir 4) изучаем пример в innosetup_demo/openwg_utils_demo.iss и вызываем нужные вещи, подробности вызова можно подсмотреть в openwg.utils.iss и в *.h файлах в каталоге include Пользователи Название Сопровождающий Ссылка XVM.Installer v1 @Mixaill https://gitlab.com/xvm/xvm/-/tree/master/src/installer XVM.Installer v2 @ktulho https://gitlab.com/xvm/xvm.installer Protanki @Yusha https://protanki.tv/ Jove's @phantasm https://joves-modpack.ru/ KorbenTeam @phantasm https://korbenteam.org/modpack Amway921 @AtotIK https://wgmods.net/95/ Vspishka @AtotIK https://wgmods.net/131/ WGMods @AtotIK https://wgmods.net/16/ , RIP начиная с WoT 1.19.0 🥲 LeBwa team @POLIROID https://lebwa.tv/hub/modpack-lebwa-team Tomato.gg @POLIROID https://wgmods.net/6391/ напишите в комментариях если про вас забыл/не знал Скачать OpenWG.Utils_v2023.09.21.1.zip Исходный код https://gitlab.com/openwg/openwg.utils История версий v2022.12.04.1 первая для широкой публики v2023.03.17.1 переработано API для взаимодействия с JSON v2023.03.18.1 добавлены функции `JSON_SetDouble()`, `JSON_SetInteger()`, `JSON_SetString()` v2023.03.18.2 исправлена потеря комментариев в JSON-файлах v2023.08.01.1 исправлено дублирование клиентов WoT/МТ в случае если регистр имени каталога в файловой системе отличался от такового в конфигурационных файлах WGC/LGC v2023.09.01.1 добавлены фукнции `JSON_ContainsKey()`, `JSON_GetString()` v2023.09.17.1 добавлены функции WWISE_OpenFile(), WWISE_CloseFile(), WWISE_Close(), WWISE_LicenseGet(), WWISE_LicenseSet() v2023.09.21.1 добавлены конвертеры лицензий WWISE-файлов в виде exe-файлов: wwise_convert_to_unlicensed, wwise_convert_to_wg
    14 points
  17. Решил для разнообразия сделать аналоговые часы. Подключение: 1) В файл widgets.xc добавить: ${ "widgetsTemplates.xc":"analogWatch" } 2) в widgetsTemplates.xc добавить: "analogWatch": { "enabled": true, "layer": "normal", "type": "extrafield", "formats": [ { "width": 152, "height": 152, "x": 450, "y": 150, "format": "<img src='xvm://res/AnalogWatch/CABg.png'>" }, { "updateEvent": "ON_EVERY_SECOND", "rotation": "{{py:xvm.hourHand}}", "width": 77, "height": 77, "x": 527, "y": 227, "format": "<img src='xvm://res/AnalogWatch/CAH.png'>" }, { "updateEvent": "ON_EVERY_SECOND", "rotation": "{{py:xvm.minuteHand}}", "width": 77, "height": 77, "x": 527, "y": 227, "format": "<img src='xvm://res/AnalogWatch/CAM.png'>" }, { "updateEvent": "ON_EVERY_SECOND", "rotation": "{{py:xvm.secondHand}}", "width": 77, "height": 77, "x": 527, "y": 227, "format": "<img src='xvm://res/AnalogWatch/CAS.png'>" }, { "width": 12, "height": 12, "x": 520, "y": 220, "format": "<img src='xvm://res/AnalogWatch/center.png'>" } ] } 3) распаковать архив AnalogWatch.zip в \res_mods\mods\shared_resources\xvm\res\ AnalogWatch.zip 4) Скопировать скрипт в analogWatch.py в \res_mods\configs\xvm\py_macro\ analogWatch.py
    14 points
  18. Основное хранилище модификаций на GitHub (обновляется самым первым) ссылка Хранилище модификаций на WGMods ссылка Список модификаций (кликабельно!): 1. Battle Equipment: Отображение текущего пресета оборудования в бою 2. Presence: Отображение расширеного статуса игрока в Discord RPC 3. Outlining Colors: Изменение цветов обводки и заливки при наведении на танк 4. Extended Zoom Switcher: Переключение расширенного зума с максимального х8 до х16-25 (с помощью настройки в игре) по кнопке в бою 5. Serial Number Changer: Изменение серийного номера на любое другое значение: от любого другого значения до количества фрагов и отметки до боя 6. Vehicle State: Отображение расширенной информации про состояние техники игрока - очки здоровья до информации про заряженный снаряд в данный момент Battle Equipment Отображение текущего пресета оборудования в бою Тема на KoreanRandom | Мод на WGMods Presence Отображение расширеного статуса игрока в Discord RPC Тема на KoreanRandom | Мод на WGMods Outlining Colors Изменение цветов обводки и заливки при наведении на танк Тема на KoreanRandom | Мод на WGMods Extended Zoom Switcher Мод позволяет по нажатию кнопки переключить расширенный зум с максимального х8 до х16-25 (с помощью настройки в игре). Текущяя версия: 2.2.0 для 1.20.1.0 (03.05.2023) За идею спасибо @spoter (mod_muteSoundHotkey). Имеет настройщик внутри ангара. Скачать: Мод на GitHub | Мод на WGMods Serial Number Changer Изменение серийного номера на любое другое значение: от любого другого значения до количества фрагов и отметки в бою Текущяя версия: 1.6.0 для 1.20.1.0 (03.05.2023) Поддерживамые режимы для изменения: 1. Выбранное значение 2. Случайное значение 3. Текущий урон в бою 4. Суммарный ассист 5. Суммарный урон (урон + весь ассист) 6. Суммарный урон для отметки (урон + макс. ассист - засвет или каток) 7. Количество боёв на танке 8. Средний урон на танке 9. Количество фрагов на танке 10. Текущее значение отметки (в виде 9500, тоесть на самом деле значение отметки - 95,00%) Имеет настройщик внутри ангара. Скачать: Мод на GitHub | Мод на WGMods Vehicle State Отображение расширенной информации про состояние техники игрока - очки здоровья до информации про заряженный снаряд в данный момент Текущяя версия: 1.10.1 для 1.20.1.0 (03.05.2023) Мод отображает в бою в виде панели важную информацию про текущее здоровье техники игрока, текущий снаряд. Также с 1.7.0 поддерживает отображение таймера сведения, который по умолчанию отключён. Идея и некоторые вещи взяты из py_macro XVM-а, за что огромное спасибо @ktulho Имеет настройщик внутри ангара. Скачать: Мод на GitHub | Мод на WGMods
    13 points
  19. NetStatisticsModules(NSM) Версия: 1.2.6 | Ссылка: Git-Hub Пакет NSM это библиотека модулей с открытым исходным кодом для мододелов, в которой реализованы основные инструменты для получения статистики игроков с серверов WG и XVM и различные математические функции, такие как расчет того или иного рейтинга, или показателя, расчет шансов на победу и т.д. Библиотека периодически обновляется и дополняется. Состав пакета: xvm_statistics - модуль для получения статистики игроков с сервера XVM wg_statistics - модуль для получения статистики игроков с сервера WG rating_calculation - модуль для расчета рейтингов игроков и различных статистических показателей victory_chances - модуль для расчета шансов на победу в бою При использовании функций и эвентов из модулей статистики, обращающихся к серверам WG-API и XVM-API, необходимо указывать <application_id> вашего приложения. Чтобы его получить достаточно зайти на сайт https://developers.wargaming.net и зарегистрировать свой мод как автономное приложение, после чего ему будет присвоен токен из 33 символов, это и есть <application_id>. Используйте его при работе с библиотекой и все ваши обращения к серверам будут идентифицироваться посредством этого токена. В случае с WG-API вы также сможете в своем личном кабинете наблюдать статистику запросов вашего мода. Для применения пакета достаточно положить его в папку mods\X.X.X\. После чего можно импортировать из этого пакеты все необходимые вашему моду функции и эвенты и использовать их в коде своего мода. Ниже дается подробное описание функций и эвентов и примеры их использования по каждому из модулей NSM. Модуль: xvm_statistics События: g_XVMStatisticsEvents addStatsAccountBecomePlayer - подписаться на событие AccountBecomePlayer, которое возвращает словарь со статистикой игрока по аккаунту и по танкам при авторизации в ангаре (требуется активация на сайте XVM). Формат словаря {'players': [{...}]}. Ниже пример подписки и отписки от эвента. from gui.mods.xvm_statistics import g_XVMStatisticsEvents #Returns the full statistics of the player during authorization in the game client, #if there is no data on the server or there is no connection or there is no token, it returns None def event(statistic): statistic -> dict or None #{'players': [{'status': 1, 'max_xp': 2868, 'dmg': 29441665, 'spo': 22369, 'wn8': 2093, 'xp': 15118810, 'frg': 24127, 'nm': 'StranikS_Scan', 'ts': 1544905295000L, 'wgr': 8970, 'hip': 71, 'wtr': 6580, 'memberhistory': [], 'is_banned': None, 'max_frg': 11, 'flag': None, 'dt': '2018-12-15T20:21:35.22+00:00', 'lang': None, 'b': 20029, 'e': 1457, 'cid': 69731, 'max_dmg': 8528, 'cap': 38302, 'dmg_r': 20473839, 'srv': 6873, 'w': 11715, 'v': {'8465': {'b': 129, 'frg': 141, 'mom': 3, 'dmg': 167647, 'cap': 471, 'srv': 40, 'w': 88, 'spo': 193, 'xp': 106742, 'id': '8465', 'def': 13}, ...}, 'lvl': 7.54826, '_id': 2365719, 'def': 14626}]} ... g_XVMStatisticsEvents.addStatsAccountBecomePlayer(<application_id>=str, event=func) ... g_XVMStatisticsEvents.delStatsAccountBecomePlayer(<application_id>=str, event=func) ... g_XVMStatisticsEvents.delStatsAccountBecomePlayer(<application_id>=str) addStatsBattleLoaded - подписаться на событие BattleLoaded, которое возвращает словарь со статистикой игроков по аккаунту и по текущему танку при загрузке боя (требуется активация на сайте XVM). Формат словаря {'players': [{...}, {...}, ...]}. В примере ниже статистика двух игроков, зашедших в тренировочный бой на RU 251 и ЛТТБ. #Returns the statistics of all players when the battle is loaded, #if there is no connection to the server or there is no token, then it returns None def event(statistic): statistic -> dict or None ... g_XVMStatisticsEvents.addStatsBattleLoaded(<application_id>=str, event=func) #{'players': [{'status': 1, 'max_xp': 2868, 'dmg': 29441665, 'spo': 22369, 'xp': 15118810, 'wn8': 2093, 'frg': 24127, 'nm': 'StranikS_Scan', 'ts': 1544905295220L, 'wgr': 8970, 'hip': 71, 'wtr': 6580, 'max_frg': 11, 'flag': None, 'is_banned': None, 'lang': None, 'b': 20029, 'e': 1457, 'cid': 69731, 'max_dmg': 8528, 'cap': 38302, 'dmg_r': 20473839, 'r': 8970, 'srv': 6873, 'w': 11715, # 'v': {'wtr': 2095, 'b': 86, 'frg': 33, 'mom': 3, 'dmg': 63105, 'cap': 37, 'srv': 10, 'w': 39, 'spo': 154, 'xp': 55069, 'def': 17}, # 'lvl': 7.54826, '_id': 2365719, 'def': 14626}, # {'status': None, 'max_xp': 2304, 'dmg': 3102429, 'spo': 4802, 'xp': 1957580, 'wn8': 1276, 'frg': 3273, 'nm': 'stiiiiil777', 'ts': 1545087003283L, 'wgr': 4241, 'hip': 54, 'wtr': 3309, 'max_frg': 8, 'flag': None, 'is_banned': None, 'lang': None, 'b': 4003, 'e': 1034, 'cid': None, 'max_dmg': 4017, 'cap': 4717, 'dmg_r': 2573057, 'r': 4241, 'srv': 1057, 'w': 1958, # 'v': {'wtr': 2724, 'b': 79, 'frg': 30, 'mom': 3, 'dmg': 41240, 'cap': 67, 'srv': 7, 'w': 35, 'spo': 208, 'xp': 38228, 'def': 12}, # 'lvl': 6.43886, '_id': 2446623, 'def': 2871}]} ... g_XVMStatisticsEvents.delStatsBattleLoaded(<application_id>=str, event=func) ... g_XVMStatisticsEvents.delStatsBattleLoaded(<application_id>=str) addStatsFullBattleLoaded - аналогично предыдущему событию, только возвращает статистику игроков по всем танкам (требуется активация на сайте XVM). #Returns the full statistics of all players when the battle is loaded, #if there is no connection to the server or there is no token, then it returns None def event(statistic): statistic -> dict or None ... g_XVMStatisticsEvents.addStatsFullBattleLoaded(<application_id>=str, event=func) #{'players': [{'status': None, 'max_xp': 2304, 'dmg': 3102429, 'spo': 4802, 'wn8': 1276, 'xp': 1957580, 'frg': 3273, 'nm': 'stiiiiil777', 'ts': 1545087003000L, 'wgr': 4241, 'hip': 54, 'wtr': 3309, 'memberhistory': [], 'is_banned': None, 'max_frg': 8, 'flag': None, 'dt': '2018-12-17T22:50:03.283+00:00', 'lang': None, 'b': 4003, 'e': 1034, 'cid': None, 'max_dmg': 4017, 'cap': 4717, 'dmg_r': 2573057, 'srv': 1057, 'w': 1958, # 'v': {'9249': {'wtr': 1197, 'b': 15, 'frg': 4, 'mom': 1, 'dmg': 7614, 'cap': 15, 'srv': 3, 'w': 7, 'spo': 1, 'xp': 4599, 'id': '9249', 'def': 0}, ...}, # 'lvl': 6.43886, '_id': 2446623, 'def': 2871}, # {'status': 1, 'max_xp': 2868, 'dmg': 29441665, 'spo': 22369, 'wn8': 2093, 'xp': 15118810, 'frg': 24127, 'nm': 'StranikS_Scan', 'ts': 1544905295000L, 'wgr': 8970, 'hip': 71, 'wtr': 6580, 'memberhistory': [], 'is_banned': None, 'max_frg': 11, 'flag': None, 'dt': '2018-12-15T20:21:35.22+00:00', 'lang': None, 'b': 20029, 'e': 1457, 'cid': 69731, 'max_dmg': 8528, 'cap': 38302, 'dmg_r': 20473839, 'srv': 6873, 'w': 11715, # 'v': {'8465': {'b': 129, 'frg': 141, 'mom': 3, 'dmg': 167647, 'cap': 471, 'srv': 40, 'w': 88, 'spo': 193, 'xp': 106742, 'id': '8465', 'def': 13}, ...}, # 'lvl': 7.54826, '_id': 2365719, 'def': 14626}]} ... g_XVMStatisticsEvents.delStatsFullBattleLoaded(<application_id>=str, event=func) ... g_XVMStatisticsEvents.delStatsFullBattleLoaded(<application_id>=str) Запросы: g_XVMConsole addAsyncReports - подписаться на встроенное событие AsyncReports, возвращающее результат запроса при асинхронном вызове (если вызываемая функция явно не указывалась в числе аргументов запроса). Ниже пример подписки и отписки от события. from gui.mods.xvm_statistics import g_XVMConsole #Returns reports from the server for the _Async requests, if no onAsyncReports is specified def event(statistic): statistic -> dict or None ... g_XVMConsole.addAsyncReports(<application_id>=str, event=func) ... g_XVMStatisticsEvents.delAsyncReports(<application_id>=str, event=func) ... g_XVMStatisticsEvents.delAsyncReports(<application_id>=str) getStatsByID - возвращает словарь со статистикой игрока или игроков по аккаунту и по танкам, если известны их accountDBID (требуется активация на сайте XVM). Формат словаря {'players': [{...}, {...}, ...]}. getStatsByID_Async - асинхронная версия, при получении результата вызывает пользовательскую функцию onAsyncRepots, если она задана, иначе вызывает встроенное событие onAsyncReports. В onAsyncRepots можно передавать список функций. #Return statistics for one or more players with all the tanks by a accountDBID #IDs=[2365719, 34483, accountDBID, ...] or 2365719 only g_XVMConsole.getStatsByID(<application_id>=str, IDs=int or list, timeout=5.0) -> dict or None #{'players': [{'status': 1, 'max_xp': 2868, 'dmg': 29441665, 'spo': 22369, 'wn8': 2093, 'xp': 15118810, 'frg': 24127, 'nm': 'StranikS_Scan', 'ts': 1544905295000L, 'wgr': 8970, 'hip': 71, 'wtr': 6580, 'memberhistory': [], 'is_banned': None, 'max_frg': 11, 'flag': None, 'dt': '2018-12-15T20:21:35.22+00:00', 'lang': None, 'b': 20029, 'e': 1457, 'cid': 69731, 'max_dmg': 8528, 'cap': 38302, 'dmg_r': 20473839, 'srv': 6873, 'w': 11715, 'v': {'8465': {'b': 129, 'frg': 141, 'mom': 3, 'dmg': 167647, 'cap': 471, 'srv': 40, 'w': 88, 'spo': 193, 'xp': 106742, 'id': '8465', 'def': 13}, ...}, 'lvl': 7.54826, '_id': 2365719, 'def': 14626}]} g_XVMConsole.getStatsByID_Async(<application_id>=str, IDs=int or list, onAsyncReports=None or func or list, timeout=5.0) getStatsByNick - возвращает словарь со статистикой игрока или игроков по аккаунту и по танкам, если известны их ники (требуется активация на сайте XVM). Формат словаря {'players': [{...}, {...}, ...]}. Если регион не указан, то он определяется автоматически по региону авторизовавшегося в клиенте игрока или по локализации клиента игры (см. g_XVMConsole.g_HomeRegion). getStatsByNick_Async - асинхронная версия, при получении результата вызывает пользовательскую функцию onAsyncRepots, если она задана, иначе вызывает встроенное событие onAsyncReports. В onAsyncRepots можно передавать список функций.. #The same, but with the help of the player's nickname #nicknames = ['Straik','MeeGo'] or 'Straik' only; region=('RU','EU','COM','ASIA') g_XVMConsole.getStatsByNick(<application_id>=str, nicknames=str or list, region='', timeout=5.0) -> dict or None #{'players': [{'status': 1, 'max_xp': 2868, 'dmg': 29441665, 'spo': 22369, 'wn8': 2093, 'xp': 15118810, 'frg': 24127, 'nm': 'StranikS_Scan', 'ts': 1544905295000L, 'wgr': 8970, 'hip': 71, 'wtr': 6580, 'memberhistory': [], 'is_banned': None, 'max_frg': 11, 'flag': None, 'dt': '2018-12-15T20:21:35.22+00:00', 'lang': None, 'b': 20029, 'e': 1457, 'cid': 69731, 'max_dmg': 8528, 'cap': 38302, 'dmg_r': 20473839, 'srv': 6873, 'w': 11715, 'v': {'8465': {'b': 129, 'frg': 141, 'mom': 3, 'dmg': 167647, 'cap': 471, 'srv': 40, 'w': 88, 'spo': 193, 'xp': 106742, 'id': '8465', 'def': 13}, ...}, 'lvl': 7.54826, '_id': 2365719, 'def': 14626}]} g_XVMConsole.getStatsByNick_Async(<application_id>=str, nicknames=str or list, region='', onAsyncReports=None or func or list, timeout=5.0) getStats - возвращает словарь со статистикой игроков по аккаунту и по конкретному танку, если известны accountDBID игрока и задан compactDescr его танка (требуется активация на сайте XVM). Формат словаря {'players': [{...}, {...}, ...]}. getStats_Async - асинхронная версия, при получении результата вызывает пользовательскую функцию onAsyncRepots, если она задана, иначе вызывает встроенное событие onAsyncReports. В onAsyncRepots можно передавать список функций.. #Return statistics for a specific tank for one or multiple users #ids={2365719:54529, 4100782:51841, accountDBID:compactDescr, ...} g_XVMConsole.getStats(<application_id>=str, ids=dict) -> dict or None #{'players': [{'status': 1, 'max_xp': 2868, 'dmg': 29441665, 'spo': 22369, 'xp': 15118810, 'wn8': 2093, 'frg': 24127, 'nm': 'StranikS_Scan', 'ts': 1544905295220L, 'wgr': 8970, 'hip': 71, 'wtr': 6580, 'max_frg': 11, 'flag': None, 'is_banned': None, 'lang': None, 'b': 20029, 'e': 1457, 'cid': 69731, 'max_dmg': 8528, 'cap': 38302, 'dmg_r': 20473839, 'r': 8970, 'srv': 6873, 'w': 11715, # 'v': {'wtr': 2095, 'b': 86, 'frg': 33, 'mom': 3, 'dmg': 63105, 'cap': 37, 'srv': 10, 'w': 39, 'spo': 154, 'xp': 55069, 'def': 17}, # 'lvl': 7.54826, '_id': 2365719, 'def': 14626}, # {'status': None, 'max_xp': 2304, 'dmg': 3102429, 'spo': 4802, 'xp': 1957580, 'wn8': 1276, 'frg': 3273, 'nm': 'stiiiiil777', 'ts': 1545087003283L, 'wgr': 4241, 'hip': 54, 'wtr': 3309, 'max_frg': 8, 'flag': None, 'is_banned': None, 'lang': None, 'b': 4003, 'e': 1034, 'cid': None, 'max_dmg': 4017, 'cap': 4717, 'dmg_r': 2573057, 'r': 4241, 'srv': 1057, 'w': 1958, # 'v': {'wtr': 2724, 'b': 79, 'frg': 30, 'mom': 3, 'dmg': 41240, 'cap': 67, 'srv': 7, 'w': 35, 'spo': 208, 'xp': 38228, 'def': 12}, # 'lvl': 6.43886, '_id': 2446623, 'def': 2871}]} g_XVMConsole.getStats_Async(<application_id>=str, ids=dict, onAsyncReports=None or func or list) getOnlineUsersCount - возвращает количество игроков на серверах WG (требуется активация на сайте XVM). #Return online WOT-server statistics g_XVMConsole.getOnlineUsersCount(<application_id>=str) -> dict or None #{'e': [{'players_online': 65997, 'server': 'EU2'}, {'players_online': 93610, 'server': 'EU1'}], 'r': [{'players_online': 47301, 'server': 'RU8'}, {'players_online': 54485, 'server': 'RU7'}, {'players_online': 101362, 'server': 'RU2'}, {'players_online': 81508, 'server': 'RU1'}, {'players_online': 43960, 'server': 'RU3'}, {'players_online': 105694, 'server': 'RU6'}, {'players_online': 70492, 'server': 'RU5'}, {'players_online': 48227, 'server': 'RU4'}, {'players_online': 7066, 'server': 'RU9'}, {'players_online': 16221, 'server': 'RU10'}], 'asia': [{'players_online': 133, 'server': '503'}, {'players_online': 3999, 'server': '502'}], 'na': [{'players_online': 8899, 'server': '303'}, {'players_online': 356, 'server': '304'}, {'players_online': 4793, 'server': 'NA EAST'}]} Токен: g_UserToken Токен игрока, получаемый им при активации на сайте XVM. Если токена нет или он просрочен, то доступа к статистике не будет. Все вызовы будут возвращать None. Игроку достаточно активироваться на сайте XVM и перезайти в клиент игры и функционал опять заработает. from gui.mods.xvm_statistics import g_UserToken g_UserToken.accountDBID -> int or None g_UserToken.userToken -> str or None #Default value is '', can also take values: #'You need to be logged in once for authorization!' #'Requires activation on the XVM-website (https://modxvm.com/)!' #'No connection to the XVM-server!' g_UserToken.errorStatus -> str Домашний регион: g_HomeRegion Регион авторизовавшегося в ангаре игрока или регион соответствующий локализации клиента игры. from gui.mods.xvm_statistics import g_HomeRegion g_HomeRegion.accountDBID -> int or None g_HomeRegion.homeRegion -> str or None Модуль: wg_statistics События: g_WGStatisticsEvents addStatsAccountBecomePlayer - подписаться на событие AccountBecomePlayer, которое возвращает словарь со статистикой игрока по аккаунту и по танкам при авторизации в ангаре. Запрашиваются данные только по рандомным боям. Формат словаря {'players': [{...}]}. Ниже пример подписки и отписки от эвента. from gui.mods.wg_statistics import g_WGStatisticsEvents #Returns the full statistics of the player in random battles during authorization in the game client, #if there is no data on the server or server is unavailable, it returns None def event(statistic): statistic -> dict or None ... g_WGStatisticsEvents.addStatsAccountBecomePlayer(<application_id>=str, event=func) #{'players': [{'spotted': 22369, 'battles_on_stunning_vehicles': 2, # 'vehicles': {11265: {'spotted': 174, 'battles_on_stunning_vehicles': 0, 'direct_hits_received': 14, 'explosion_hits_received': 0, 'avg_damage_blocked': 280.0, 'capture_points': 595, 'no_damage_direct_hits_received': 4, 'stun_assisted_damage': 0, 'explosion_hits': 0, 'battle_avg_xp': 664, 'piercings': 3, 'xp': 142066, 'in_garage': None, 'tank_id': 11265, 'damage_dealt': 164908, 'hits_percents': 64, 'stun_number': 0, 'draws': 5, 'hits': 975, 'losses': 84, 'battles': 214, 'piercings_received': 10, 'damage_received': 141906, 'survived_battles': 81, 'shots': 1514, 'wins': 125, 'frags': 230, 'dropped_capture_points': 89, 'mark_of_mastery': 4, 'tanking_factor': 0.25}, ...}, # 'avg_level': 7.54803, 'max_xp': 2868, 'avg_damage_blocked': 561.73, 'max_xp_tank_id': 529, 'explosion_hits': 242, 'global_rating': 8970, 'piercings': 48815, 'xp': 15118810, 'survived_battles': 6873, 'dropped_capture_points': 14626, 'client_language': 'r', 'hits_percents': 71, 'draws': 276, 'max_damage': 8528, 'battles': 20029, 'clan_id': 69731, 'damage_received': 20473839, 'avg_damage_assisted': 560.04, 'max_frags_tank_id': 12305, 'frags': 24127, 'stun_number': 10, 'tanking_factor': 0.44, 'avg_damage_assisted_radio': 431.61, 'direct_hits_received': 44950, 'account_id': 2365719, 'damage_dealt': 29441665, 'stun_assisted_damage': 1047, 'battle_avg_xp': 755, 'max_damage_tank_id': 16897, 'nickname': 'StranikS_Scan', 'capture_points': 38302, 'hits': 138087, 'last_battle_time': 1544904305, 'wins': 11715, 'losses': 8038, 'piercings_received': 32339, 'no_damage_direct_hits_received': 12606, 'max_frags': 11, 'shots': 193372, 'explosion_hits_received': 2208, 'avg_damage_assisted_track': 128.44}]} ... g_WGStatisticsEvents.delStatsAccountBecomePlayer(<application_id>=str, event=func) ... g_WGStatisticsEvents.delStatsAccountBecomePlayer(<application_id>=str) addStatsBattleLoaded - подписаться на событие BattleLoaded, которое возвращает словарь со статистикой игроков по аккаунту и по текущему танку при загрузке боя. Запрашиваются данные только по рандомным боям. Формат словаря {'players': [{...}, {...}, ...]}. В примере статистика двух игроков, зашедших в тренировочный бой на RU 251 и ЛТТБ. #Returns the statistics of all players and current tanks for random battles, when the battle is loaded #if there is no data on the server or server is unavailable, it returns None def event(statistic): statistic -> dict or None ... g_WGStatisticsEvents.addStatsBattleLoaded(<application_id>=str, event=func) #{'players': [{'spotted': 22369, 'battles_on_stunning_vehicles': 2, # 'vehicles': {'spotted': 154, 'battles_on_stunning_vehicles': 0, 'direct_hits_received': 315, 'explosion_hits_received': 21, 'avg_damage_blocked': 0.0, 'capture_points': 37, 'no_damage_direct_hits_received': 21, 'stun_assisted_damage': 0, 'explosion_hits': 19, 'battle_avg_xp': 640, 'piercings': 339, 'xp': 55069, 'in_garage': None, 'tank_id': 18449, 'damage_dealt': 63105, 'hits_percents': 66, 'stun_number': 0, 'draws': 0, 'hits': 471, 'losses': 47, 'battles': 86, 'piercings_received': 294, 'damage_received': 97933, 'survived_battles': 10, 'shots': 713, 'wins': 39, 'frags': 33, 'dropped_capture_points': 17, 'mark_of_mastery': 3, 'tanking_factor': 0.0}, # 'max_xp': 2868, 'avg_damage_blocked': 561.73, 'max_xp_tank_id': 529, 'explosion_hits': 242, 'global_rating': 8970, 'piercings': 48815, 'xp': 15118810, 'survived_battles': 6873, 'dropped_capture_points': 14626, 'client_language': 'r', 'hits_percents': 71, 'draws': 276, 'max_damage': 8528, 'battles': 20029, 'clan_id': 69731, 'damage_received': 20473839, 'avg_damage_assisted': 560.04, 'max_frags_tank_id': 12305, 'frags': 24127, 'stun_number': 10, 'tanking_factor': 0.44, 'avg_damage_assisted_radio': 431.61, 'direct_hits_received': 44950, 'account_id': 2365719, 'damage_dealt': 29441665, 'stun_assisted_damage': 1047, 'battle_avg_xp': 755, 'max_damage_tank_id': 16897, 'nickname': 'StranikS_Scan', 'capture_points': 38302, 'hits': 138087, 'last_battle_time': 1544904305, 'wins': 11715, 'losses': 8038, 'piercings_received': 32339, 'no_damage_direct_hits_received': 12606, 'max_frags': 11, 'shots': 193372, 'explosion_hits_received': 2208, 'avg_damage_assisted_track': 128.44}, # {'spotted': 4802, 'battles_on_stunning_vehicles': 33, # 'vehicles': {'spotted': 208, 'battles_on_stunning_vehicles': 0, 'direct_hits_received': 376, 'explosion_hits_received': 13, 'avg_damage_blocked': 156.01, 'capture_points': 67, 'no_damage_direct_hits_received': 64, 'stun_assisted_damage': 0, 'explosion_hits': 0, 'battle_avg_xp': 484, 'piercings': 250, 'xp': 38228, 'in_garage': None, 'tank_id': 18433, 'damage_dealt': 41240, 'hits_percents': 59, 'stun_number': 0, 'draws': 2, 'hits': 344, 'losses': 42, 'battles': 79, 'piercings_received': 312, 'damage_received': 74223, 'survived_battles': 7, 'shots': 588, 'wins': 35, 'frags': 30, 'dropped_capture_points': 12, 'mark_of_mastery': 3, 'tanking_factor': 0.17}, # 'max_xp': 2304, 'avg_damage_blocked': 170.05, 'max_xp_tank_id': 16641, 'explosion_hits': 447, 'global_rating': 4241, 'piercings': 3302, 'xp': 1957580, 'survived_battles': 1057, 'dropped_capture_points': 2871, 'client_language': 'r', 'hits_percents': 54, 'draws': 66, 'max_damage': 4017, 'battles': 4003, 'clan_id': None, 'damage_received': 2573057, 'avg_damage_assisted': 199.54, 'max_frags_tank_id': 54289, 'frags': 3273, 'stun_number': 120, 'tanking_factor': 0.32, 'avg_damage_assisted_radio': 167.44, 'direct_hits_received': 6055, 'account_id': 2446623, 'damage_dealt': 3102429, 'stun_assisted_damage': 10171, 'battle_avg_xp': 489, 'max_damage_tank_id': 8977, 'nickname': 'stiiiiil777', 'capture_points': 4717, 'hits': 19191, 'last_battle_time': 1545078809, 'wins': 1958, 'losses': 1979, 'piercings_received': 4133, 'no_damage_direct_hits_received': 1917, 'max_frags': 8, 'shots': 35342, 'explosion_hits_received': 149, 'avg_damage_assisted_track': 32.1}]} ... g_WGStatisticsEvents.delStatsBattleLoaded(<application_id>=str, event=func) ... g_WGStatisticsEvents.delStatsBattleLoaded(<application_id>=str) addStatsFullBattleLoaded - аналогично предыдущему событие, только возвращает статистику игроков по всем танкам. Запрашиваются данные только по рандомным боям. #Returns the full statistics of all players for random battles, when the battle is loaded #if there is no data on the server or server is unavailable, it returns None def event(statistic): statistic -> dict or None ... g_WGStatisticsEvents.addStatsFullBattleLoaded(<application_id>=str, event=func) #{'players': [{'spotted': 4802, 'battles_on_stunning_vehicles': 33, # 'vehicles': {3329: {'spotted': 6, 'battles_on_stunning_vehicles': 0, 'direct_hits_received': 0, 'explosion_hits_received': 0, 'avg_damage_blocked': 0.0, 'capture_points': 0, 'no_damage_direct_hits_received': 0, 'stun_assisted_damage': 0, 'explosion_hits': 0, 'battle_avg_xp': 138, 'piercings': 0, 'xp': 1799, 'in_garage': None, 'tank_id': 3329, 'damage_dealt': 953, 'hits_percents': 10, 'stun_number': 0, 'draws': 0, 'hits': 62, 'losses': 4, 'battles': 13, 'piercings_received': 0, 'damage_received': 1170, 'survived_battles': 1, 'shots': 592, 'wins': 9, 'frags': 6, 'dropped_capture_points': 0, 'mark_of_mastery': 0, 'tanking_factor': 0.0}, ...}, # 'avg_level': 6.43542, 'max_xp': 2304, 'avg_damage_blocked': 170.05, 'max_xp_tank_id': 16641, 'explosion_hits': 447, 'global_rating': 4241, 'piercings': 3302, 'xp': 1957580, 'survived_battles': 1057, 'dropped_capture_points': 2871, 'client_language': 'r', 'hits_percents': 54, 'draws': 66, 'max_damage': 4017, 'battles': 4003, 'clan_id': None, 'damage_received': 2573057, 'avg_damage_assisted': 199.54, 'max_frags_tank_id': 54289, 'frags': 3273, 'stun_number': 120, 'tanking_factor': 0.32, 'avg_damage_assisted_radio': 167.44, 'direct_hits_received': 6055, 'account_id': 2446623, 'damage_dealt': 3102429, 'stun_assisted_damage': 10171, 'battle_avg_xp': 489, 'max_damage_tank_id': 8977, 'nickname': 'stiiiiil777', 'capture_points': 4717, 'hits': 19191, 'last_battle_time': 1545078809, 'wins': 1958, 'losses': 1979, 'piercings_received': 4133, 'no_damage_direct_hits_received': 1917, 'max_frags': 8, 'shots': 35342, 'explosion_hits_received': 149, 'avg_damage_assisted_track': 32.1}, # {'spotted': 22369, 'battles_on_stunning_vehicles': 2, # 'vehicles': {11265: {'spotted': 174, 'battles_on_stunning_vehicles': 0, 'direct_hits_received': 14, 'explosion_hits_received': 0, 'avg_damage_blocked': 280.0, 'capture_points': 595, 'no_damage_direct_hits_received': 4, 'stun_assisted_damage': 0, 'explosion_hits': 0, 'battle_avg_xp': 664, 'piercings': 3, 'xp': 142066, 'in_garage': None, 'tank_id': 11265, 'damage_dealt': 164908, 'hits_percents': 64, 'stun_number': 0, 'draws': 5, 'hits': 975, 'losses': 84, 'battles': 214, 'piercings_received': 10, 'damage_received': 141906, 'survived_battles': 81, 'shots': 1514, 'wins': 125, 'frags': 230, 'dropped_capture_points': 89, 'mark_of_mastery': 4, 'tanking_factor': 0.25}, ...}, # 'avg_level': 7.54803, 'max_xp': 2868, 'avg_damage_blocked': 561.73, 'max_xp_tank_id': 529, 'explosion_hits': 242, 'global_rating': 8970, 'piercings': 48815, 'xp': 15118810, 'survived_battles': 6873, 'dropped_capture_points': 14626, 'client_language': 'r', 'hits_percents': 71, 'draws': 276, 'max_damage': 8528, 'battles': 20029, 'clan_id': 69731, 'damage_received': 20473839, 'avg_damage_assisted': 560.04, 'max_frags_tank_id': 12305, 'frags': 24127, 'stun_number': 10, 'tanking_factor': 0.44, 'avg_damage_assisted_radio': 431.61, 'direct_hits_received': 44950, 'account_id': 2365719, 'damage_dealt': 29441665, 'stun_assisted_damage': 1047, 'battle_avg_xp': 755, 'max_damage_tank_id': 16897, 'nickname': 'StranikS_Scan', 'capture_points': 38302, 'hits': 138087, 'last_battle_time': 1544904305, 'wins': 11715, 'losses': 8038, 'piercings_received': 32339, 'no_damage_direct_hits_received': 12606, 'max_frags': 11, 'shots': 193372, 'explosion_hits_received': 2208, 'avg_damage_assisted_track': 128.44}]} ... g_WGStatisticsEvents.delStatsFullBattleLoaded(<application_id>=str, event=func) ... g_WGStatisticsEvents.delStatsFullBattleLoaded(<application_id>=str) Запросы: g_WGConsole OnAsyncReports - подписаться на встроенное событие AsyncReports, возвращающее результат запроса при асинхронном вызове (если вызываемая функция явно не указывалась в числе аргументов запроса). Ниже пример подписки и отписки от события. from gui.mods.wg_statistics import g_WGConsole #Returns reports from the server for the _Async requests, if no onAsyncReport is specified g_WGConsole.addAsyncReports(<application_id>=str, event=func) ... g_WGConsole.delAsyncReports(<application_id>=str, event=func) ... g_WGConsole.delAsyncReports(<application_id>=str) getStatsFull - возвращает словарь со статистикой игрока или игроков по аккаунту и по танкам, если известны их accountDBID (аналог функции getStatsByID в модуле xvm_statistics). Формат словаря {'players': [{...}, {...}, ...]}. Запрашиваются данные только по рандомным боям. getStatsFull_Async - асинхронная версия, при получении результата вызывает пользовательскую функцию onAsyncRepots, если она задана, иначе вызывает встроенное событие onAsyncReports. В onAsyncRepots можно передавать список функций. #Return statistics for one or more players for random battles with all the tanks by a accountDBID #IDs=[2365719, 34483, accountDBID, ...] or 2365719 only g_WGConsole.getStatsFull(<application_id>=str, IDs=int or list, timeout=5.0) -> dict or None #{'players': [{'spotted': 22369, 'battles_on_stunning_vehicles': 2, # 'vehicles': {11265: {'spotted': 174, 'battles_on_stunning_vehicles': 0, 'direct_hits_received': 14, 'explosion_hits_received': 0, 'avg_damage_blocked': 280.0, 'capture_points': 595, 'no_damage_direct_hits_received': 4, 'stun_assisted_damage': 0, 'explosion_hits': 0, 'battle_avg_xp': 664, 'piercings': 3, 'xp': 142066, 'in_garage': None, 'tank_id': 11265, 'damage_dealt': 164908, 'hits_percents': 64, 'stun_number': 0, 'draws': 5, 'hits': 975, 'losses': 84, 'battles': 214, 'piercings_received': 10, 'damage_received': 141906, 'survived_battles': 81, 'shots': 1514, 'wins': 125, 'frags': 230, 'dropped_capture_points': 89, 'mark_of_mastery': 4, 'tanking_factor': 0.25}, ...}, # 'avg_level': 7.54803, 'max_xp': 2868, 'avg_damage_blocked': 561.73, 'max_xp_tank_id': 529, 'explosion_hits': 242, 'global_rating': 8970, 'piercings': 48815, 'xp': 15118810, 'survived_battles': 6873, 'dropped_capture_points': 14626, 'client_language': 'r', 'hits_percents': 71, 'draws': 276, 'max_damage': 8528, 'battles': 20029, 'clan_id': 69731, 'damage_received': 20473839, 'avg_damage_assisted': 560.04, 'max_frags_tank_id': 12305, 'frags': 24127, 'stun_number': 10, 'tanking_factor': 0.44, 'avg_damage_assisted_radio': 431.61, 'direct_hits_received': 44950, 'account_id': 2365719, 'damage_dealt': 29441665, 'stun_assisted_damage': 1047, 'battle_avg_xp': 755, 'max_damage_tank_id': 16897, 'nickname': 'StranikS_Scan', 'capture_points': 38302, 'hits': 138087, 'last_battle_time': 1544904305, 'wins': 11715, 'losses': 8038, 'piercings_received': 32339, 'no_damage_direct_hits_received': 12606, 'max_frags': 11, 'shots': 193372, 'explosion_hits_received': 2208, 'avg_damage_assisted_track': 128.44}]} g_WGConsole.getStatsFull_Async(<application_id>=str, IDs=int or list, onAsyncReports=None or func or list, timeout=5.0) getStats - возвращает словарь со статистикой игроков по аккаунту и по конкретному танку, если известны accountDBID игрока и задан compactDescr его танка (аналог функции getStats в модуле xvm_statistics). Формат словаря {'players': [{...}, {...}, ...]}. Запрашиваются данные только по рандомным боям. getStats_Async - асинхронная версия, при получении результата вызывает пользовательскую функцию onAsyncRepots, если она задана, иначе вызывает встроенное событие onAsyncReports. В onAsyncRepots можно передавать список функций. #Return statistics for a specific tank for one or multiple users #ids={2365719:54529, 4100782:51841, accountDBID:compactDescr, ...} g_WGConsole.getStats(<application_id>=str, ids=dict, timeout=5.0) -> dict or None #{'players': [{'spotted': 22369, 'battles_on_stunning_vehicles': 2, # 'vehicles': {'spotted': 154, 'battles_on_stunning_vehicles': 0, 'direct_hits_received': 315, 'explosion_hits_received': 21, 'avg_damage_blocked': 0.0, 'capture_points': 37, 'no_damage_direct_hits_received': 21, 'stun_assisted_damage': 0, 'explosion_hits': 19, 'battle_avg_xp': 640, 'piercings': 339, 'xp': 55069, 'in_garage': None, 'tank_id': 18449, 'damage_dealt': 63105, 'hits_percents': 66, 'stun_number': 0, 'draws': 0, 'hits': 471, 'losses': 47, 'battles': 86, 'piercings_received': 294, 'damage_received': 97933, 'survived_battles': 10, 'shots': 713, 'wins': 39, 'frags': 33, 'dropped_capture_points': 17, 'mark_of_mastery': 3, 'tanking_factor': 0.0}, # 'max_xp': 2868, 'avg_damage_blocked': 561.73, 'max_xp_tank_id': 529, 'explosion_hits': 242, 'global_rating': 8970, 'piercings': 48815, 'xp': 15118810, 'survived_battles': 6873, 'dropped_capture_points': 14626, 'client_language': 'r', 'hits_percents': 71, 'draws': 276, 'max_damage': 8528, 'battles': 20029, 'clan_id': 69731, 'damage_received': 20473839, 'avg_damage_assisted': 560.04, 'max_frags_tank_id': 12305, 'frags': 24127, 'stun_number': 10, 'tanking_factor': 0.44, 'avg_damage_assisted_radio': 431.61, 'direct_hits_received': 44950, 'account_id': 2365719, 'damage_dealt': 29441665, 'stun_assisted_damage': 1047, 'battle_avg_xp': 755, 'max_damage_tank_id': 16897, 'nickname': 'StranikS_Scan', 'capture_points': 38302, 'hits': 138087, 'last_battle_time': 1544904305, 'wins': 11715, 'losses': 8038, 'piercings_received': 32339, 'no_damage_direct_hits_received': 12606, 'max_frags': 11, 'shots': 193372, 'explosion_hits_received': 2208, 'avg_damage_assisted_track': 128.44}, # {'spotted': 4802, 'battles_on_stunning_vehicles': 33, # 'vehicles': {'spotted': 208, 'battles_on_stunning_vehicles': 0, 'direct_hits_received': 376, 'explosion_hits_received': 13, 'avg_damage_blocked': 156.01, 'capture_points': 67, 'no_damage_direct_hits_received': 64, 'stun_assisted_damage': 0, 'explosion_hits': 0, 'battle_avg_xp': 484, 'piercings': 250, 'xp': 38228, 'in_garage': None, 'tank_id': 18433, 'damage_dealt': 41240, 'hits_percents': 59, 'stun_number': 0, 'draws': 2, 'hits': 344, 'losses': 42, 'battles': 79, 'piercings_received': 312, 'damage_received': 74223, 'survived_battles': 7, 'shots': 588, 'wins': 35, 'frags': 30, 'dropped_capture_points': 12, 'mark_of_mastery': 3, 'tanking_factor': 0.17}, # 'max_xp': 2304, 'avg_damage_blocked': 170.05, 'max_xp_tank_id': 16641, 'explosion_hits': 447, 'global_rating': 4241, 'piercings': 3302, 'xp': 1957580, 'survived_battles': 1057, 'dropped_capture_points': 2871, 'client_language': 'r', 'hits_percents': 54, 'draws': 66, 'max_damage': 4017, 'battles': 4003, 'clan_id': None, 'damage_received': 2573057, 'avg_damage_assisted': 199.54, 'max_frags_tank_id': 54289, 'frags': 3273, 'stun_number': 120, 'tanking_factor': 0.32, 'avg_damage_assisted_radio': 167.44, 'direct_hits_received': 6055, 'account_id': 2446623, 'damage_dealt': 3102429, 'stun_assisted_damage': 10171, 'battle_avg_xp': 489, 'max_damage_tank_id': 8977, 'nickname': 'stiiiiil777', 'capture_points': 4717, 'hits': 19191, 'last_battle_time': 1545078809, 'wins': 1958, 'losses': 1979, 'piercings_received': 4133, 'no_damage_direct_hits_received': 1917, 'max_frags': 8, 'shots': 35342, 'explosion_hits_received': 149, 'avg_damage_assisted_track': 32.1}]} g_WGConsole.getStats_Async(<application_id>=str, ids=dict, onAsyncReports=None or func or list, timeout=5.0) getOnlineUsersCount - возвращает количество игроков на серверах WG. Необходимо указывать регион, если регион не задан, то берется домашний регион (см. g_WGConsole.g_HomeRegion). #Return online WOT-server statistics for region #region=('ru','eu','com','asia') g_WGConsole.getOnlineUsersCount(<application_id>=str, region='ru') -> dict or None #{'wot': [{'players_online': 51366, 'server': 'RU8'}, {'players_online': 57839, 'server': 'RU7'}, {'players_online': 106893, 'server': 'RU2'}, {'players_online': 85843, 'server': 'RU1'}, {'players_online': 46178, 'server': 'RU3'}, {'players_online': 111753, 'server': 'RU6'}, {'players_online': 73782, 'server': 'RU5'}, {'players_online': 50640, 'server': 'RU4'}, {'players_online': 7401, 'server': 'RU9'}, {'players_online': 18437, 'server': 'RU10'}]} Домашний регион: g_HomeRegion Регион авторизовавшегося в ангаре игрока или регион соответствующий локализации клиента игры. from gui.mods.wg_statistics import g_HomeRegion g_HomeRegion.accountDBID -> int or None g_HomeRegion.homeRegion -> str or None Модуль: rating_calculation Функции: g_Calculator globalRating - конвертирует абсолютное значение какого-либо рейтинга в относительное значение шкалы XVM. Если задана опция exct, то возвращает вещественное значение. from gui.mods.rating_calculation import g_Calculator #Converting an absolute value to an index or float value of a universal XVM-Scale #rating = ['wgr', 'eff', 'wn8', 'win', 'wtr', 'xte', 'xtdb', 'sup'] g_Calculator.globalRating(value=float, rating=str, exact=False) -> int or float or None #example: globalRating(2209.651,'wn8') -> 72 or 72.423 if exact=True specificRating - конвертирует относительное значение шкалы XVM в абсолютное значение заданного рейтинга. #Get the value of the specific rating by the XVM-Scale #rating = ['wgr', 'eff', 'wn8', 'win', 'wtr', 'xte', 'xtdb', 'sup'] g_Calculator.specificRating(value=int or float, rating=str) -> float or None #example: specificRating(72.423,'wn8') -> 2209.651 avgTIER - рассчитывает средний уровень техники. Принимает на вход словарь с техникой в XVM- или WG-формате. from gui.mods.rating_calculation import g_Calculator #Return the average level of player's tanks #params = {'id': {'b':int}, ...} and also WG-tags are supported g_Calculator.avgTIER(params=dict) -> float or None #example: avgTIER(g_WGConsole.getStatsFull(<application_id>, 2365719)['players'][0]['vehicles']) -> 7.54803 needWin - возвращает число побед, необходимых для увеличения % побед на заданную величину. Принимает на вход словарь с числом боев и числом побед, а также на сколько % нужно увеличить показатель. #Return the number of wins to increase the percentage of wins by a given amount and final winning percentage #params = {'b': int, 'w': int} and also WG-tags are supported; incPercentage = float g_Calculator.needWin(params=dict, incPercentage=int or float) -> dict(wins=int, result=float) or None #example: needWin({'b':10,'w':3}, 30) -> (8, 61.111111111111114) needWinHalf - возвращает число побед, необходимых для увеличения процента побед на 0,5%. Принимает на вход словарь с числом боев и числом побед. #Return the number of wins to increase the percentage of wins to the next half percent value and final winning percentage #params = {'b': int, 'w': int} and also WG-tags are supported g_Calculator.needWinHalf(params=dict) -> dict(wins=int, result=float) or None #example: needWinHalf({'b':1000,'w':500}) -> (11, 50.54401582591493) needWinWhole - возвращает число побед, необходимых для увеличения процента побед на 1%. Принимает на вход словарь с числом боев и числом побед. #Return the number of wins to increase the percentage of wins to the next whole percent value and final winning percentage #params = {'b': int, 'w': int} and also WG-tags are supported g_Calculator.needWinWhole(params=dict) -> dict(wins=int, result=float) or None #example: needWinWhole({'b':1000,'w':500}) -> (21, 51.02840352595494) eff - рассчитывает рейтинг РЭ для конкретного танка. Принимает на вход словарь со статистикой танка в XVM- или WG-формате. #Calculation of EFF for one tank with id=compactDescr, see https://koreanrandom.com/forum/topic/13386- #params = {'id':int, 'b':int, 'dmg':int, 'frg':int, 'spo':int, 'cap':int, 'def':int} and also WG-tags are supported g_Calculator.eff(params=dict) -> float or None #example: eff(g_WGConsole.getStatsFull(<application_id>, 2365719)['players'][0]['vehicles'][257]) -> 1108.86042228 wn8 - рассчитывает рейтинг WN8 для конкретного танка. Принимает на вход словарь со статистикой танка в XVM- или WG-формате. #Calculation of WN8 for one tank with id=compactDescr, see https://koreanrandom.com/forum/topic/13434- #params = {'id':int, 'b':int, 'w':int, 'dmg':int, 'frg':int, 'spo':int, 'def':int} and also WG-tags are supported g_Calculator.wn8(params=dict) -> float or None #example: wn8(g_WGConsole.getStatsFull(<application_id>, 2365719)['players'][0]['vehicles'][257]) -> 1867.55994042 xte - рассчитывает рейтинг xTE для конкретного танка. Принимает на вход словарь со статистикой танка в XVM- или WG-формате. #Calculation of xTE for one tank with id=compactDesc, see https://koreanrandom.com/forum/topic/23829- #params = {'id':int, 'b':int, 'dmg':int, 'frg':int} and also WG-tags are supported g_Calculator.xte(params=dict) -> float or None #example: xte(g_WGConsole.getStatsFull(<application_id>, 2365719)['players'][0]['vehicles'][257]) -> 70.3853988826 xtdb - рассчитывает показатель xTDB для конкретного танка. Принимает на вход словарь со статистикой танка в XVM- или WG-формате. #Calculation of xTDB for one tank with id=compactDesc, see https://koreanrandom.com/forum/topic/23829- #params = {'id':int, 'b':int, 'dmg':int} and also WG-tags are supported g_Calculator.xtdb(params=dict) -> float or None #example: xtdb(g_WGConsole.getStatsFull(<application_id>, 2365719)['players'][0]['vehicles'][257]) -> 68.8375478927 EFF - рассчитывает рейтинг РЭ для аккаунта игрока. Принимает на вход словарь со статистикой игрока в XVM- или WG-формате. #Calculation of EFF for player account with lvl=avgTIER, see https://koreanrandom.com/forum/topic/13386- #params = {'b':int, 'lvl':float, 'dmg':int, 'frg':int, 'spo':int, 'cap':int, 'def':int} and also WG-tags are supported g_Calculator.EFF(params=dict) -> float or None #example: EFF(g_WGConsole.getStatsFull(<application_id>, 2365719)['players'][0]) -> 1456.62977209 WN8 - рассчитывает рейтинг WN8 для аккаунта игрока. Принимает на вход словарь со статистикой игрока в XVM- или WG-формате. #Calculation of WN8 for player account with id=compactDescr, see https://koreanrandom.com/forum/topic/13434- #params = {'b':int, 'w':int, 'dmg':int, 'frg':int, 'spo':int, 'def':int, # 'v': {'id':{'b':int, 'w':int, 'dmg':int, 'frg':int, 'spo':int, 'def':int}, 'id':{...}, ...}} g_Calculator.WN8(params=dict) -> float or None #example: WN8(g_WGConsole.getStatsFull(<application_id>, 2365719)['players'][0]) -> 2093.12196623 XTE - рассчитывает рейтинг xTE для аккаунта игрока. Принимает на вход словарь со статистикой всех танков игрока в XVM- или WG-формате. #Calculation of xTE for player account with id=compactDesc, see https://koreanrandom.com/forum/topic/23829-/?do=findComment&comment=445507 #params = {'id': {'b':int, 'dmg': int, 'frg': int}, 'id':{...}, ...}} g_Calculator.XTE(params=dict) -> float or None #example: XTE(g_WGConsole.getStatsFull(<application_id>, 2365719)['players'][0]['vehicles']) -> 66.3322963036 Константы: g_Tables xvmscaleTable - таблица перевода рейтингов в шкалу XVM. Актуальная версия загружается автоматически с сайта XVM при запуске клиента игры. #Tables, autoupdated from the XVM-site and loaded from disk from gui.mods.rating_calculation import g_Tables g_Tables.xvmscaleTable -> dict or None #{'xwgr': [1361, ...], 'xeff': [378, ...], 'xwn8': [56,...], 'xwin': [43.44, ...], 'xwtr': [1409, ...]} wn8Table - таблица ожидаемых значений для расчета рейтинга WN8. Актуальная версия загружается автоматически с сайта XVM при запуске клиента игры. g_Tables.wn8Table -> dict or None #{'header': {'url': 'https://...', 'source': 'XVM', 'version': '2018-02-12'}, # 'data': [{'expDamage': 1079.886, 'expSpot': 0.769, 'IDNum': 55297, 'expWinRate': 52.995, 'expDef': 0.881, 'expFrag': 1.146}, ...]} wn8idsTable - эта же таблица, но в виде словаря с id-танков в качестве ключей. g_Tables.wn8idsTable -> dict or None #{55297: {'expDamage': 1079.886, 'expSpot': 0.769, 'expWinRate': 52.995, 'expDef': 0.881, 'expFrag': 1.146}, ...} xteTable - таблица ожидаемых значений для расчета рейтинга xTE. Актуальная версия загружается автоматически с сайта XVM при запуске клиента игры. g_Tables.xteTable -> dict or None #{'62737': {'tf': 1.64, 'x': [342, ...], 'td': 2168, 'ad': 1171, 'af': 0.78}, ...} xtdbTable - таблица ожидаемых значений для расчета показателя xTDB. Актуальная версия загружается автоматически с сайта XVM при запуске клиента игры. g_Tables.xtdbTable -> dict or None #{'62737': {'tf': 1.64, 'x': [726, ...], 'td': 2168, 'ad': 1171, 'af': 0.78}, ...} supTable - таблица значений шкалы процентного превосходства SUP%. Актуальная версия загружается автоматически с сайта XVM при запуске клиента игры. g_Tables.supTable -> tuple #('1.2', ..., '99.99') Модуль: victory_chances События: g_StatisticEvents onBattleLoaded - возвращает указатель на экземпляр класса g_TanksStatistic при загрузке боя, содержащий информацию по шансам команд. from gui.mods.victory_chances import g_StatisticEvents #It works when the caching of users and tanks information is completed when the battle is loaded #Returns a pointer to class instance g_TanksStatistic def func(statistic): statistic -> pointer or None #example: <gui.mods.victory_chances._TanksStatistic object at 0x2B5B8F70> ... g_StatisticEvents.onBattleLoaded += func onVehiclesChanged - возвращает указатель на экзепляр класса g_TanksStatistic, причину срабатывания (см. UPDATE_REASONE) и vehicleID танка, когда меняется какой-либо из параметров техники. #It works when the players and the parameters of the tanks change #Returns a pointer to g_TanksStatistic, reasone type as UPDATE_REASONE and vehicleID def func(statistic, reasone, vID): statistic -> pointer or None #example: <gui.mods.victory_chances._TanksStatistic object at 0x2B494EB0> reasone -> int #example: 0 vID -> int #example: 6632275 ... g_StatisticEvents.onVehiclesChanged += func onCountChanged - возвращает новое число союзных и вражеских танков, когда кто-то присоединятся к бою или погибает в бою. #It works when change the count of tanks in teams #Returns the number of allies and enemy tanks def func(allies, enemies): allies -> int #example: 15 enemies -> int #example: 14 ... g_StatisticEvents.onCountChanged += func onHealthChanged - возвращает новые суммарные значения хп команд, когда кому-то наносится урон или кто-то погибает. #It works when the health of users changed #Returns the total healths of allies and enemy teams def func(allies, enemies): allies -> int #example: 4510 enemies -> int #example: 3240 ... g_StatisticEvents.onHealthChanged += func onChanceChanged - возвращает новые значения шансов на победу и условные силы команд союзников и противников, когда кому-то наносится урон или кто-то погибает. #It works when the chances of victory changed #Returns the chances 0..100 and total forces of allies and enemy teams def func(a_chances, e_chances, a_forces, e_forces): a_chances -> int #example: 45 e_chances -> int #example: 55 a_forces -> int #example: 4500 e_forces -> int #example: 5500 ... g_StatisticEvents.onChanceChanged += func Переменные: g_TanksStatistic Экземпляр класса с текущими параметрами техники и статистикой команд. Экземпляр един для всех в клиенте игры. В примере статистика двух игроков, зашедших в тренировочный бой на RU 251 и ЛТТБ. #Parameters of tanks and players statistics from gui.mods.victory_chances import g_TanksStatistic g_TanksStatistic.base -> dict #{6632274: {'userName': 'StranikS_Scan', 'isAlive': True, 'name': 'Ru251', 'level': 9, 'hp': 1400, 'isEnemy': False, 'gun': {'shell': {'AP': {'dpm': 0, 'damage': 0}, 'HE': {'dpm': 2742.8571428571427, 'damage': 160.0}, 'APRC': {'dpm': 2057.1428571428573, 'damage': 240.0}, 'HC': {'dpm': 2057.1428571428573, 'damage': 240.0}}, 'reload': 7.0, 'caliber': 90.0, 'currentShell': 'APRC', 'currentDamage': 240.0, 'currentDpm': 2057.1428571428573}, 'accountDBID': 2365719, 'Th': 0.7000000123624448, 'force': 1.3714285956488717, 'contribution': 65.287617689119, 'Te': 0.5104166666666666, 'type': {'tag': 'lightTank'}, 'tank_id': 18449}, 6632275: {'userName': 'stiiiiil777', 'isAlive': True, 'name': '\xd0\x9b\xd0\xa2\xd0\xa2\xd0\x91', 'level': 8, 'hp': 1050, 'isEnemy': True, 'gun': {'shell': {'AP': {'dpm': 1999.9999646787296, 'damage': 180.0}, 'HE': {'dpm': 3333.3332744645495, 'damage': 150.0}, 'APRC': {'dpm': 1999.9999646787296, 'damage': 180.0}, 'HC': {'dpm': 0, 'damage': 0}}, 'reload': 5.400000095367432, 'caliber': 85.0, 'currentShell': 'AP', 'currentDamage': 180.0, 'currentDpm': 1999.9999646787296}, 'accountDBID': 2446623, 'Th': 0.5104166666666666, 'force': 0.7291666537891202, 'contribution': 34.712382310881004, 'Te': 0.7000000123624448, 'type': {'tag': 'lightTank'}, 'tank_id': 18433}} g_TanksStatistic.allyChance -> int or None #example: 65.2876176891 g_TanksStatistic.enemyChance -> int or None #example: 34.7123823109 g_TanksStatistic.allyTanksCount -> int or None #example: 1 g_TanksStatistic.enemyTanksCount -> int or None #example: 1 g_TanksStatistic.allyTeamHP -> int or None #example: 1400 g_TanksStatistic.enemyTeamHP -> int or None #example: 1050 g_TanksStatistic.allyTeamOneDamage -> int or None #example: 240.0 g_TanksStatistic.enemyTeamOneDamage -> int or None #example: 180.0 g_TanksStatistic.allyTeamDPM -> int or None #example: 2057.14285714 g_TanksStatistic.enemyTeamDPM -> int or None #example: 1999.99996468 g_TanksStatistic.allyTeamForces -> int or None #example: 1.37142859565 g_TanksStatistic.enemyTeamForces -> int or None #example: 0.729166653789 Константы: UPDATE_REASONE Причины обновления статистики. #Types of reasons in OnVehiclesChanged event from gui.mods.victory_chances import UPDATE_REASONE UPDATE_REASONE.VEHICLE_ADDED -> int UPDATE_REASONE.VEHICLE_DEATH -> int UPDATE_REASONE.HEALTH_CHANGED -> int Примеры модов, использующих модули из библиотеки можно найти в моем репозитарии на Git-Hub.
    13 points
  20. Всем привет! Выход обновления 1.8.0.0 состоится: - 3 марта 2020 года (следующий вторник) на NA. - 4 марта 2020 года (следующая среда) на ASIA, CIS и EU Новые каталоги модификаций: ./mods/1.8.0.0/ и ./res_mods/1.8.0.0/ --- Hey all! Update 1.8.0.0 will be released: - NA: March, 3 - ASIA, CIS and EU: March, 4 Mods folder name: ./mods/1.8.0.0/ and ./res_mods/1.8.0.0/
    13 points
  21. Залил версию 2.0.5 в первый пост 1. Исправлен алгоритм создания полупрозрачных камуфляжей 2. В GUI-программе добавлены английский язык и подсказки
    13 points
  22. Соскучились? 15 июля 2019 года будет микропатч со сменой имён каталогов для модификаций на /mods/1.5.1.2/ и /res_mods/1.5.1.2 . Даже не спрашивайте, почему об этом пишу я.
    13 points
  23. Доброе утро! Скоро данной модификации будет 5 лет. Мод тех времен, когда Серб говорил - ужас какой, а Крута - страдай пидарас, твои мучения радуют нас) Тогда, 5 лет назад, я делал для себя калькулятор и была идея опубликовать для всех. logos.swf - тогда с этого все начиналось. К дню рождения мода, то есть, публикации на официальном форуме и на форуме koreanrandom - подготовлю немного ностальгии и выложу весь проект в исходных кодах.
    13 points
  24. Цветные иконки танков в дереве исследований, результатах боя и в окне взвода. Подсмотрено у Aslain. '1 Вариант.' '7 Вариант.' 'Коричневая САУ' Автор идеи золотых иконок JimKazama
    12 points
  25. Данные макросы отображает в бою ежедневные задачи: {{py:dq.easyDescr}} - описание первой задачи. {{py:dq.mediumDescr}} - описание второй задачи. {{py:dq.hardDescr}} - описание третьей задачи. {{py:dq.bonusDescr}} - описание бонусной задачи, если не выполнены первые три задачи, то пусто. {{py:dq.easyValue}} - значение, которое необходимо достичь для выполнения первой задачи. {{py:dq.mediumValue}} - значение, которое необходимо достичь для выполнения второй задачи. {{py:dq.hardValue}} - значение, которое необходимо достичь для выполнения третьей задачи. {{py:dq.bonusValue}} - значение, которое необходимо достичь для выполнения бонусной задачи, если не выполнены первые три задачи, то пусто. {{py:dq.easyProgress}} - прогресс выполнения первой задачи, если прогресс не поддерживается, то пусто. {{py:dq.mediumProgress}} - прогресс выполнения второй задачи, если прогресс не поддерживается, то пусто. {{py:dq.hardProgress}} - прогресс выполнения третьей задачи, если прогресс не поддерживается, то пусто. {{py:dq.bonusProgress}} - прогресс выполнения бонусной задачи, если прогресс не поддерживается или не выполнены первые три задачи, то пусто. Прогресс выполнения задач отслеживается в бою для ежедневных задач: количество поврежденной техники; количество уничтоженной техники; нанесенный урон; количество нанесенных критических попаданий; количество обнаруженной техники. Если задача выполнена, то в следующем бою соответствующие макросы будут возвращать пусто. Для обновления макросов в бою используйте событие PY(ON_TOTAL_EFFICIENCY). Пример использования: 1) В файл battleLabels.xc добавить: ${ "battleLabelsTemplates.xc":"def.dailyQuestBackground"}, ${ "battleLabelsTemplates.xc":"def.dailyQuest"} 2) В файл battleLabelsTemplates.xc добавить: "dailyQuest": { "enabled": true, "updateEvent": "PY(ON_TOTAL_EFFICIENCY)", "textFormat": {"color": "0xE3E3E3", "size": 15 }, "shadow": {"distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 3}, "width": 400, "height": 100, "x": 5, "y": 450, "format": "{{py:dq.bonusDescr}}{{py:dq.bonusValue? (<font color='{{py:dq.bonusProgress<{{py:dq.bonusValue}}?#E3E3E3|#03E303}}'>{{py:dq.bonusProgress}}</font>)}}{{py:dq.easyDescr?{{py:dq.easyDescr}} {{py:dq.easyValue?(<font color='{{py:dq.easyProgress<{{py:dq.easyValue}}?#E3E3E3|#03E303}}'>{{py:dq.easyProgress}}</font>)}}\n}}{{py:dq.mediumDescr?{{py:dq.mediumDescr}} {{py:dq.mediumValue?(<font color='{{py:dq.mediumProgress<{{py:dq.mediumValue}}?#E3E3E3|#03E303}}'>{{py:dq.mediumProgress}}</font>)}}\n}}{{py:dq.hardDescr}}{{py:dq.hardValue? (<font color='{{py:dq.hardProgress<{{py:dq.hardValue}}?#E3E3E3|#03E303}}'>{{py:dq.hardProgress}}</font>)}}" }, "dailyQuestBackground": { "enabled": true, "updateEvent": "PY(ON_TOTAL_EFFICIENCY)", "x": 1, "y": 451, "format": "{{py:dq.bonusDescr?<img height='19' width='320' src='xvm://res/icons/damageLog/no_dmg.png'>}}{{py:dq.easyDescr?<img height='19' width='320' src='xvm://res/icons/damageLog/no_dmg.png'>\n}}{{py:dq.mediumDescr?<img height='19' width='320' src='xvm://res/icons/damageLog/no_dmg.png'>\n}}{{py:dq.hardDescr?<img height='19' width='320' src='xvm://res/icons/damageLog/no_dmg.png'>}}" } Скрипт: dailyQuests.py
    12 points
  26. Для меня crewExtended так же знаковый мод, это самый ПЕРВЫЙ мод, который я придумал и написал в танках. Я обязательно постараюсь сделать версию под новый интерфейс, но не обещаю что это будет скоро. Денег не нужно, я и так сделаю. Спасибо за ваше участие!
    12 points
  27. v2023.09.21.1 * добавлены конвертеры лицензий в виде exe-файлов (достаточно перетянуть банки на ехешку) * wwise_convert_to_unlicensed - конвертирует банки в Леста-совместимые * wwise_convert_to_wg - конвертирует банки в ВГ-совместимые OpenWG.Utils_v2023.09.21.1.zip
    12 points
  28. Не все ангары мной адаптированные выложены, постепенно будут добавляться 1. [1.9.1.1] Ангар MIKU Tesh2016(TaLLIePO)+адаптация GrebTV 1,2. [1.9.1.1] Супер Ангар Miku Hangar V1 Remake 2020 от АВТОРА Tesh2016(TaLLIePO) 2. [1.9.1.1] Ангар EVE-1 от GrebTV для WOT 3. [1.9.1.1] Ангар EVE-2 от GrebTV для WOT 4. [1.9.1.1] Облегченный стандартный ангар поляна от GrebTV 5. [1.9.1.1] Ангар с кукурузниками от GrebTV для WOT 6. [1.9.1.1] Простой ангар для слабых ПК-2 от GrebTV для WOT 7. [1.9.1.1] Ангар отчищенный стандартный. Без деревьев от GrebTV 8. [1.9.1.1] Простой ангар для слабых ПК от GrebTV 9. [1.9.1.1] Ангар 3D в стиле Stalker KaTyKoB от GrebTV для WOT 10. [1.9.1.1] Ангар Спецназ любви от GrebTV для WOT 11. [1.9.1.1] Техно-ангар WG и Терминатор от GrebTV для WOT 12. [1.9.1.1] Ангар WOWP премиум для WOT 13. [1.9.1.1] Ангар WOWP базовый для WOT 14. [1.9.1.1] Ангар старый премиум с патча 0.8.9 для WOT 15. [1.9.1.1] Ангар в стиле пустыни Hellinger от GrebTV для WOT 16. [1.9.1.1] Ангар к 15-летию WG c патча 0.8.7 от GrebTV для WOT 17. [1.7.1.2] Ангар к 23 февраля c патча 0.8.0 от GrebTV для WOT Ко дню защитника Отечества на 23 февраля специальный праздничный ангар выполненный в стиле старого ангара с патча 0.8.0 для Вас кто любит минимум в ангаре, светлый и просторный, который игроки очень полюбили и не хотели лишатся его по окончании акции. И это не удивительно, потому как ангар действительно получился очень красивый с различными украшениями, флагами, изображениями и плакатами. Теперь каждый желающий, может вернуть его обратно, скачав и установив данный ангар. Так что кто ждал этот ангар, наслаждайтесь его красотами, и простатой. Приятного вам пользования! Автор: WG+GrebTV. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Установка: Запустить инсталлятор, который автоматически установит мод. (Установка мода происходит в mods) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ссылка на скачивание Ангара. 18. [1.9.1.1] Ангар Маковое поле для WOT Очередная модификация ангара от разработчиков WG на маковом поле для World of Tanks. Ваш танк переместится на маковое поле с весенним пейзажем восходящего солнца. Порядком надоевший базовый или премиумный ангар можно сменить множеством разных способов. Один из хороших вариантов — ангар в виде макового поля с горами на горизонте. Очередная модификация ангара от разработчиков WG на маковом поле для World of Tanks Он создает весеннюю атмосферу и гораздо более приятен глазу, чем закрытое помещение ангара в стандартном клиенте. Установка мода превращает ангар в живописное маковое поле, через которое идет грунтовая дорога, где и стоит ваш танк. Не смотря на далекую перспективу локации, само поле — не слишком большое. Оно ограничено с нескольких сторон забором, лесополосой и отдельными деревьями, за которыми поле кончается. В отличие от многих других вариантов, ангар в виде макового поля создает совсем небольшую нагрузку на компьютер. Объектов для визуализации — совсем немного, либо они достаточно просты (маки вдоль дороги) или достаточно удалены, чтобы не было необходимости в высокой детализации. Автор: WG. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Установка: Запустить инсталлятор, который автоматически установит мод. (Установка мода происходит в mods) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ссылка на скачивание Ангара. 19. [1.9.1.1] Ангар Остров niurko для WOT Очередная модификация ангара от GrebTV на Острове niurko для World of Tanks. Ваш танк переместится на остров. Порядком надоевший стандартный ангар можно сменить множеством разных способов. Один из хороших вариантов — ангар в виде красивого ангара, который разместит ваши танки на острове с гаражами, летними площадками, котеджами и домами. Установка мода превращает ангар в живописное место, где и стоит ваш танк. Не смотря на далекую перспективу локации, есть море, коробли. Оно ограничено с нескольких сторон забором, лесополосой и отдельными деревьями. Объектов для визуализации — очень много, но они они достаточно просты или достаточно удалены, чтобы не было необходимости в высокой детализации. Приятного вам пользования! /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Установка: Запустить инсталлятор, который автоматически установит мод. (Установка мода происходит в mods) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ссылка на скачивание Ангара 20. [1.9.1.1] Ангар старый премиум с патча 0.7.0 для WOT Ангар старый премиум с патча 0.7.0 для WOT от GrebTV. Приятная новость для тех игроков, которые отдают своё предпочтение старому премиум ангару и хотели бы видеть свои танки именно в нём. Данная модификация реализует Ваше предпочтение и сделает ангар таким, каким Вы привыкли видеть его раньше еще в патче 0.7.0. Ангар является светлым и чистым который по чистой случайности не пострадал от бомбежек. Автор: WG+GrebTV. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Установка: Запустить инсталлятор, который автоматически установит мод. (Установка мода происходит в mods) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ссылка на скачивание Ангара 21. [1.9.1.1] Ангар Бункер с патча 0.7.0 для WOT Ангар старый базовый бункер с патча 0.7.0 для WOT от GrebTV. Приятная новость для тех игроков, которые отдают своё предпочтение старому базовому ангару и хотели бы видеть свои танки именно в нём. Данная модификация реализует Ваше предпочтение и сделает ангар таким, каким Вы привыкли видеть его раньше еще в патче 0.7.0. Ангар является светлым и чистым. Автор: GrebTV. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Установка: Запустить инсталлятор, который автоматически установит мод. (Установка мода происходит в mods) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ссылка на скачивание Ангара 22. [1.9.0.2] Праздничный Ангар 9 мая базовый и премиум c патча 0.7.0 2 ангара Ко дню Победы на 9 мая специальных праздничных ангаров выполненный в стиле старого базового и премиум ангара с патча 0.7.0 для Вас кто любит минимум в ангаре, светлый и просторный, который игроки очень полюбили и не хотели лишатся его по окончании акции. И это не удивительно, потому как ангар действительно получился очень красивый с различными украшениями, изображениями и плакатами. Теперь каждый желающий, может вернуть его обратно, скачав и установив данный ангар. Так что кто ждал этот ангар, наслаждайтесь его красотами, и простатой. Приятного вам пользования! Автор: WG+GrebTV. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Установка: Запустить инсталлятор, который автоматически установит мод. (Установка мода происходит в mods) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ссылка на скачивание Ангара. 23. Ангары еще одного мододела olix_vameshu нашел на просторах инета, оказывается он так же заморочился с ангарами и сделал ангары из патча 0.7.0 и из патча 0.9.9 при этом сделал свет ламп как надо и т.д. Тем чем я не сильно заморачивался. вот ссылка на его творчество, может кому то больше понравится: https://wgmods.net/search/?owner=131547 Инсталлятор устанавливает в World_of_Tanks/mods/версия патча/. Типа таких файлов MIKU_GrebTV_001.wotmod везде присутствует GrebTV не ошибётесь. Других файлов не устанавливает. EXE инсталлятор создан для упрощения установки и всё. Удалить установленный файл легко в World_of_Tanks/mods/версия патча/. Огромнейшая моя благодарность в развитии и адаптации ангаров принадлежит сотрудникам WG ribbed и Darth_Abaddon которые выложили и поддерживают программу World_Editor_for_mod_creators , а так же премиум пользователю SkepticalFox с его программой: space.bin(CompiledSpace)-packer/unpacker с помощью которых сделаны и восстановлены мной ангары. Поэтому Кто скачивает ангары с моего поста зайдите и в эти посты подпишитесь и поставьте что Вам нравится: - сотрудникам WG: ribbed 1. и Darth_Abaddon 2. и и премиум пользователю: SkepticalFox 3. и А также кто выложил последнею версию Подписывайтесь на мои каналы GrebTV и GrebTV WOT поддержите мои проекты. Чтоб и в будущем получать новые прицелы, ангары, моды, интерфейсы, сборки сделанные мной с уважением к Вам KasykC.
    12 points
  29. Тест5 (скорее всего последний, дальше залью уже в первый пост) Скачать: Вышел релиз в первом посте Сделано: 1. Доработано игнорирование pkg-файлов, которых нет в списке paths.xml 2. Исправлен баг, когда --wot-path вдруг стал необязательным 3. Ускорено удаление временных файлов 4. Добавлен ключ --subfolder-wotmod для сохранения пакетов в отдельную подпапку 5. Добавлен ключ --allinone-wotmod для упаковки всех файлов в один пакет 6. Добавлена тестовая версия GUI-программы В GUI программе: - английский еще не сделан - всплывающие подсказки тоже еще не сделаны Командная строка: WIN32-формат DOS-формат Описание --auto-close-console /auto-close-console Автоматически закрывать консоль, если не было ошибок --silent-mode /silent-mode Тихий режим без окна консоли --no-send-statistic /no-send-statistic Не отсылать статистику автору --no-update-configs /no-update-configs Не загружать новые конфиги с сервера автора --cpu-count=XX /cpu-count=XX Задать число параллельных потоков (1..50), по умолчанию число потоков равно числу ядер процессора --wot-path="" /wot-path "" Полный путь к папке с игрой (ключ обязателен) --mods-path="" /mods-path "" Полный путь к папке назначения (если ключ не задан, то это папка модов игры по пути wot-path) --configs-path="" /configs-path "" Полный путь к папке с конфигами (по умолчанию конфиги берутся из каталога программы) --without-wotmod /without-wotmod Не создавать wotmod-пакеты (файлы будут сохранены по пути mods-path или в папку res_mods\X.X.X\) --allinone-wotmod /allinone-wotmod Запаковать все файлы в один wotmod-пакет (не работает, если задан ключ without-wotmod) --subfolder-wotmod /subfolder-wotmod Сохранить моды в отдельную подпапку (не работает, если задан ключ without-wotmod и/или allinone-wotmod) --remove-wotmod /remove-wotmod Найти и удалить старые wotmod-пакеты по пути mods-path или в папке модов игры (не работает, если задан ключ without-wotmod) --without-hd /without-hd Не включать в моды HD-текстуры --DPT-mod=RRGGBB /DPT-mod "RRGGBB" Создать мод "Уничтоженные танки игроков" (Destroyed players tanks), покрасив текстуры в цвет #RRGGBB --inside-color=RRGGBB /inside-color "RRGGBB" Покрасить текстуру внутри танка отдельным цветом #RRGGBB --remove-shadows /remove-shadows Убрать тени и темные пятна на моделях --CCT-mod=RRGGBB /CCT-mod "RRGGBB" Создать мод "Цветные сбитые траки" (Colored сrashed tracks), покрасив текстуры в цвет #RRGGBB --MEM-mod=RRGGBB /MEM-mod "RRGGBB" Создать мод "Военная техника на картах" (Military equipment on maps), покрасив текстуры в цвет #RRGGBB --CTM-mod=RRGGBB /CTM-mod "RRGGBB" Создать мод "Вагоны и поезда на картах" (Сarriages and trains on maps), покрасив текстуры в цвет #RRGGBB --patch-space-bin /patch-space-bin Обработать space.bin файлы карт --CAMO-mod=XX /CAMO-mod "XX" Создать мод "Полупрозрачные камуфляжи" (Translucent camouflages), сделав их видимыми на XX% (0..100) Цвета из программы по умолчанию: #FFFFFF - белый #DD7744 - коричневый #B0B0B0 - серый #FFE200 - жёлтый #2EB300 - зелёный #367EFF - синий #DD1DFF - фиолетовый Примеры: Установка по умолчанию MCTCreator2.exe --wot-path="C:\Games\World_Of_Tanks\" --auto-close-console --remove-wotmod --subfolder-wotmod --DPT-mod=FFFFFF --inside-color=B0B0B0 --remove-shadows --CCT-mod=367EFF --MEM-mod=DD7744 --CTM-mod=DD7744 --patch-space-bin --CAMO-mod=30 Удаление MCTCreator2.exe --wot-path="C:\Games\World_Of_Tanks" --auto-close-console --remove-wotmod Тихий вызов из модпака MCTCreator2.exe --wot-path="C:\Games\World_Of_Tanks" --DPT-mod=FFFFFF --CCT-mod="#DD1DFF" /silent-mode /no-update-configs Собрать версию для своего модпака MCTCreator2.exe /wot-path "C:\Games\World_Of_Tanks\" /mods-path "C:\MyModPack\trains\" /CTM-mod "$dd7744" /patch-space-bin Скрыть все камуфляжи MCTCreator2.exe --wot-path="C:\Games\World_Of_Tanks" --auto-close-console --CAMO-mod=0
    12 points
  30. Как-то я бродил по интернетам и заметил, что Wargaming предлагают присоединиться к путешествию во времени и посмотреть на клиент образца 2012 года. Что же, нам тоже есть что вспомнить :) Итак, XVM Classic, на базе XVM 1.7 от 12 марта 2012 года. Изменения относительно классического XVM 1.7 * адаптированно под современные серверы XVM API * используется рейтинг WN8 вместо EFF * изменена работа флага /debug у wot-xvm-proxy. Теперь он не запускает клиент самостоятельно, а просто ждет, пока не нажмут Enter. Может быть полезно для запуска реплеев. Установка 0. Установите классический WoT: https://wotclassic.ru/ 1. Установите MSVS Redist 2017 x64 https://aka.ms/vs/15/release/vc_redist.x64.exe 2. Установите Dokan_x64.msi из каталога Dokan 3. Скопируйте содержимое каталога Client в каталог WoT 4. Если необходимо, настройте конфигурационный файл: `\res\gui\flash\XVM.xvmconf` Можно выбрать готовый из каталога `Sample` 5. Для отображения статистики необходимо запускать файл wot-xvm-proxy.exe (игра будет запущена автоматически). ВАЖНО. Вы также должны хотя бы один раз зайти в современный клиент (WoT 1.4.1) с установленным XVM, чтобы статистика начала отображаться. Скачать XVM-Classic_1.7_2.zip История версий * 1.7_3 * исправлено отображение OTM * 1.7_2 * исправлен хардкод пути к WoT * исправлена опечатка в слове lychshe * 1.7_1 * первый публичный выпуск Оно даже работает XVM-Classic_1.7_3.zip
    12 points
  31.  Обновление конфига: bitbucket.org
    12 points
  32. Мод по сбору внутриигровой статистики Версия 1.0 Сервис который собирает события боя и сохраняет их в базу данных. Любой бой будет начинаться с события загрузки боя, заканчиваться его результатом. Сайт со всей информацией: wotstat.info, там же актуальная версия мода. Просмотр инфографики. Что собирается Событие входа в бой. Время в очереди, в загрузке Выстрел и его результат. Откуда, куда, как полетел трассер, какой результат у выстрела (это урон, куда и в кого попал, поджог ли кого то) Результаты боя. Подробная информация о результатах боя с результатами каждого игрока, его командой Интересная инфографика Распределение выстрелов для серверного и клиентского прицела. 67% снарядов попадает в первую половину сведения. Анализ времени боя по картам, в среднем бои на 8-10 уровнях длятся 7 минут В среднем в ожидании боя (очередь + загрузка + таймер) игроки тратят 36 секунд, что целых 9% от времени игры Анализ урона. Распределение, как будто бы, нормальное, в отличии от выстрелов урон по шотным танкам проходит так же нормально, без подкруток в пользу засейвить шотного. В любом случае на больших дистанциях танки с 1хп остаются так же часто как и с 2хп, так и с 3хп. При победах, топ1 по фрагам делает в среднем 3.5 фрага Турбобои (я определил как бой быстрее 5 минут с разницей во фрагах более 10) случаются, бывает что 4 боя из 10, но в среднем 1 бой из 10 Можно посмотреть лично для себя разбивку по картам, сколько времени вы на них выживаете, сколько урона/фрагов/света делаете Анализ "стримснайперов" даже обычным игрокам довольно часто в бои попадаются одни и те-же люди, но больше полезно конечно стримерам. Исходные данные База данных со всеми актуальными исходными данными открыта на чтение, так что кому интересно, можно прямо на SQL писать любые запросы. А интересных графиков из этих данных можно ещё много построить Подробнее про подключение на сайте, а поиграться можно тут: db.wotstat.info/play?user=public Немного скриншотов графиков Микросервисная архитектура полностью в опенсорс. Список событий github.com/WOT-STAT/Description. (возможно частично устарел) Исходник мода github.com/WOT-STAT/WOTMOD. Чтоб не потерялось Пересечение трассера и разброса url url url Связь выстрела и попадания url Механика отрисовки сведения url
    11 points
  33. Пилим сервис статистики, на котором можно будет отслеживать актуальные и исторические данные по игрокам и кланам из базы XVM. Хотим показать первые наброски и получить ваши отзывы. Обращаем внимание на то, что это максимально сырой вариант и все доработки ещё впереди. Как посмотреть? Зайти в раздел статистики на сайте XVM и воскользоваться поиском: https://modxvm.com/ru/stats/players/top/ru Также ссылка на вашу страницу статистики доступна в личном кабинете на сайте XVM: Топ игроков World of Tanks Страницы игроков на примере участников битвы блогеров: LeBwa Yusha Корбен Даллас Amway921 Jove EviL GrannY Near_You Vspishka Sh0tnik MeanMachins
    11 points
  34. 1. Страница поддержки для желающих отблагодарить 2. При публикации файлов на сторонних источниках указывайте авторство hideHangarElements Скрипт предназначен для: --- отключения отображения кнопки "Реферальная программа"; --- отключения отображения кнопки "Общий чат"; --- отключения отображения рекламы премиум техники (на фоне в ангаре); --- отключения отображения информационного окна с перечнем полученных наград за "Довольствие"; --- отключения отображения информационных окон результатов боя в "Ранговом бою"; --- отключения отображения всплывающего окна оповещающее об открытии "Резервного хранилища" при входе в ангар; --- отключения отображения всплывающих сообщений и счетчика в меню от "Полевой почты"; --- отключения отображения кнопки "Сессионная статистика" и/или счетчика проведенных боев на кнопке. Поставляется с конфигурационным файлом. Установка: Содержимое архива распаковать в корневую директорию клиента Настройка: mods\configs\hangarAddons\ "mods_name.json" Скачать hangarAddons.zip
    11 points
  35. 1. Страница поддержки для желающих отблагодарить 2. При публикации файлов на сторонних источниках указывайте авторство noBinoculars Скрипт предназначен для отключения затемнения и озеленения в снайперском режиме. Поставляется с конфигурационным файлом. Не требует подмены стандартной текстуры "slens_map.dds". noFlashBang Скрипт предназначен для отключения красной вспышки когда враг попадает по вам. Поставляется с конфигурационным файлом. noBattleHint Скрипт предназначен для отключения подсказок в бою (смена режима прицеливания АРТ-САУ, переход в осадный режим, переход в меню ЛБЗ) Поставляется с конфигурационным файлом. safeShot Скрипт предназначен для блокировки случайного выстрела по союзникам и трупам (уничтоженной технике). Поставляется с конфигурационным файлом. Блокировка выстрела по технике союзника. --- Корпус должен быть подсвечен. --- Настраиваемое исключение для тимкиллеров. Блокировка выстрела по уничтоженной технике. --- Настраиваемое время блокировки. Мод полностью отключается при использовании горячей клавиши. --- Горячая клавиша подлежит настройке. extendedZoom Скрипт предназначен для регулировки отдаления камеры, задания кратности прицела в снайперском режиме. Поставляется с конфигурационным файлом. Установка: В зависимости от выбранного дополнения содержимое архива распаковать в корневую директорию клиента (в папку с игровым клиентом) Настройка: mods\configs\camAddons\ "mods_name.json" Скачать camAddons.zip
    11 points
  36. Всем привет! Скоро выйдет обновление 1.10.1, которое начнет появляться на основных серверах начиная со следующего понедельника (19 октября). Даты выхода: ASIA: 19 октября NA: 20 октября EU: 21 октября CIS: 21 октября CN: 21 октября Новые каталоги для размещения модификаций: ./mods/1.10.1.0/ и ./res_mods/1.10.1.0/ --- Hey all! Patch 1.10.1 is going to be released since October, 19 Release dates: ASIA: October, 19 NA: October, 20 EU: October, 21 CIS: October, 21 CN: October, 21 The mods folders will be renamed to: ./mods/1.10.1.0/ and ./res_mods/1.10.1.0/
    11 points
  37. Значит вот что имеем с моделями на картах. Если space.bin не патчить (а внутри него зашиты модельки lod4), а перекрашивать только текстуры, то мод будет весить ~50Мб и вести себя вот так: Если же патчим space.bin-ы карт, то проблема с покраской на больших дистанциях решается, но как все знают, его размер сразу же скакнет до ~3 Гб. Отсюда вопроус чего с этим делать? ЗЫ: Технически думаю надо сделать так - ввести опцию /patch-space-bin (в консольную часть программы), ну а далее уже юзвер сам пусть решает с чем ему проще смириться с не полной покраской или с модом, который отжирает 3Гб места. Ниже желающие могут затестить mod.MCTCreator.TankMapTextures_2.0.0.150.200102.172339.wotmod
    11 points
  38. @Slavarus , в архиве только измененные файлы. configs.zip В файл "colors.xc" добавил новый параметр: "colors": { // Цвет для анонимов и/или новых игроков (менее 100 боев). "anonymousColor": "#1240AB", Тут меняй на необходимый цвет. С тебя
    11 points
  39. Недавно мы рассказывали, что теперь у вас есть возможность финансово поддержать развитие проекта XVM на площадке Patreon. Мы рады сообщить, что работаем над дополнительными возможностями специально для тех, кто поддерживает проект. В первую очередь мы планируем реализовать то, что невозможно сделать для всей нашей пользовательской базы в силу технических и финансовых ограничений, но можно предоставить ограниченному числу пользователей. Для тех, кто нас поддерживает на Patreon, уже доступно: При сумме ежемесячного пожертвования от $1: Автоматическое обновление статистики каждый час. Примечание: для обычных пользователей автоматическое обновление происходит раз в 3 суток. При сумме ежемесячного пожертвования от $5: Автоматическое продление срока активации сервисов Примечание: если вы поддержали нас на Patreon ещё до анонса этих нововведений, то опция доступна вам независимо от суммы подписки (спасибо вам 😊). Чтобы воспользоваться этими возможностями, привяжите ваш аккаунт Patreon в личном кабинете на сайте XVM: В будущем мы планируем добавить и другие улучшения. Спасибо за вашу поддержку! Поддержать проект XVM
    11 points
  40. Сорь, ребята, но, дабы данная тема не стала копилкой обсуждений "широкого профиля", я решил ее закрыть. Нисколько не хочу никого обидеть, вы все супер, но просто мне кажется, раз официальная поддержка прекращена (по крайней мере пока), то было бы целесообразнее, если у кого есть желание и возможность- создать отдельную тему с адаптацией конфига. Я же на этом с вами прощаюсь, не говорю, что прям насовсем, ибо, кто знает, "уходя, не закрывай плотно дверь". Команде XVM и всем причастным к разработке мода, аддонов и всех прочих прибамбасов- моя отдельная огромная благодарность, вы действительно одни из лучших людей, с которыми мне приходилось общаться, и, если бы не ваша работа, я бы наверняка гораздо раньше забросил эту игру. Дай вам Бог доброго здоровья и всего, чего хочется, от чистого сердца! А всем пользователям- удачных боев!
    11 points
  41. На данный момент в стандартной поставке мода отключены следующие компоненты: Миникарта / Minimap Окно загрузки боя Окно по Таб Компоненты работоспособные на данный момент: Кастомизируемые текстовые поля [ BattleLabels ] [Лог попаданий / Hitlog] V2 (py_macro) Полоса захвата / Capture bar Замена лампочки перка "Шестое чувство" Маркеры над техникой Остальные компоненты требуют полной или частичной адаптации. В данной теме обсуждаем работоспособность компонентов, ищем различного рода недоработки/неисправности. Известные проблемы (в процессе наполнения): Не обновляется макрос {{turret}} в маркерах над техникой после возрождения. Исправленные проблемы (в процессе наполнения):
    11 points
  42. 11 points
  43. Всем привет! В ночь с 27 на 28 марта выйдет микропатч. Папки модов будут называться /mods/1.4.1.1/ и /res_mods/1.4.1.1/ Готовьтесь
    11 points
  44. Nопик вот этот... Афигительнейший анализ (от слов анал и лизать) даже не дизассемблированного кода от человека, который в кодинге не разбирается. 127.0.0.1 это сраный локалхост. Это IP, по которому комп может обратиться к самому себе по тем или иным причинам. Обведенная рамочкой функция, если я все правильно вижу, принимает на вход url и проверяет, не ссылается ли этот url часом на localhost при помощи вызова gethostbyname. Название isLocalHost как бы намекает. Начнем с того, что картошкин вайтлист работает только на их же встроенный WebBrowser, а на вызовы из модулей вроде urllib2 не влияет никак. Это раз. В коде, кстати, написан urllib. Который либо используется либо для собственно скачивания данных, и если так, то автор идиот (пользуйтесь urllib2, работяги), либо же - для urllib.urlencode, которая просто-напросто превращает питоновский dict в закодированную в понятный для http-сервера формат строку. Это два. Вышеупомянутый белый список был выключен практически сразу же после появления, когда я спросил про официальный метод монетизации модов, и больше не включался - это три. Начнем с того, что если там что-то и качается - то DLL - Dynamic Language Library - но никак не DDL - Data Definition Language (примером такого Language будет SQL). Скорее всего, тамошние три буквы обозначают Data DownLoad. Ссылка на скачивание, то бишь - вместо /download/ написали /ddl/. Что они там качают - уже вопрос другой, вполне вероятно, что какой-нибудь динамически формируемый список. Проверить мне не удалось, потому что сайта wotzone.ru на данный момент не существует - он просто не открывается браузером. А пароли воровать можно простым хуком одной функции через питон. Все потому что ВГ, если вы вдруг не знали давно всем известный факт, присылает ваш пароль из флеша login.swf в питоновскую функцию открытым текстом. Если не стоит галочка "запомнить пароль", that is. Но это можно легко обойти. Да, сайт mods2all выглядит интересно - главная страница говорит HELLO, потом спрашивает WHAT WAS BEFORE THE BIG BANG? и редиректит тебя на главную гугла. А wotzone, как я уже сказал, вообще не существует. И вполне вероятно, что Фокс действительно что-то повшивал в свои моды, учитывая наплыв европейцев с жалобами на рекламу в его настройщике. Но я могу сказать точно, что конкретно в топике написан полнейший некомпетентный мнительный БРЕД. Даже если из него сделаны ВНЕЗАПНО верные выводы, по которым не буду ничего комментировать. PY out.
    11 points
  45. Обычный конфиг. Темно-синие кнопки: КАЧАЕМ, ставим и в БОЙ за фрагами Способ установки: просто разархивировать в корневую папку игры Х:\Games\World_of_Tanks История изменений: ВАЖНО:скрипт неактуален,но архив удалять не буду,может кто поправит и будет пользоваться Wotstat_Slava7572_1_14.0.5.rar
    11 points
×
×
  • Create New...