Jump to content
Korean Random

Leaderboard


Popular Content

Showing content with the highest reputation since 12/05/13 in all areas

  1. 25 points
    (See English translation below) Всем привет, Мы подготовили специальную версию редактора ангаров для мододелов: https://download.openwg.net/worldeditor/wg_lite_editor_install_v1.6.exe Предоставляем "как есть", в редакторе могут быть баги, странные костыли и неработающий функционал, но в целом он вполне работоспособен, и в нем, к примеру, делался ангар для мода Girls und Panzer. В случае возникновения вопросов рекомендую обращаться к @RAGEQUIT, у него уже есть опыт работы с редактором. ========== Hey guys, We've prepared a special version of our internal hangar editor for mod creators: https://download.openwg.net/worldeditor/wg_lite_editor_install_v1.6.exe World Editor is provided "as is", and it may contain bugs, broken features and generate lots of non-relevant error messages. Still, it should be operable; for example, mods like Girls und Panzer and Independence Day Garage were created using this particular version. If you have any questions, please ask them in this topic.
  2. 25 points
    Уже седьмой год мод XVM радует своих пользователей улучшениями, которые он привносит в игру World of Tanks. Годы кропотливой разработки и внимания к вашим пожеланиям, которые вы оставляете на форуме поддержки, сделали мод таким, каким он доступен сейчас. Пришло время привнести ещё одно улучшение. Мы считаем, что название "XVM: eXtended Visualization Mod" не в полной мере отражает суть модификации, а также довольно сложно в произношении. В связи с этим мы наконец решили его изменить. Поскольку ключевая задача мода — всестороннее улучшение интерфейса игры, мы выбрали новое название: eXtended User Interface (xUI), что в переводе на русский язык означает "Расширенный пользовательский интерфейс". Спасибо, что все эти годы были с нами, и до новых улучшений!
  3. 21 points
    Страница на WGMods: https://wgmods.net/1942/ Модификация разрешает захват скриншотов с помощью технологии NVIDIA Ansel в WoT. https://www.nvidia.ru/geforce/geforce-experience/ansel/ Примеры В примерах, которые загружены на Google Photos, может быть задействован гироскоп на смартфонах/планшетах. Google Photos: https://photos.app.goo.gl/wvmsX4Jtja12LRaW2 Системные требования Видеокарта NVIDIA Kepler (GT[X] 6xx-7xx) Maxwell (GT[X] 7xx-9xx) Pascal (GT[X] 1xxx) Volta (Titan V) Turing (RTX 2xxx) Драйвер не ниже 416.94 Установленный GeForce Experience не ниже 3.16 Как включить Включить экспериментальные возможности в Geforce Experience (сильно улучшает интерфейс) Установить XVM и данный мод Запустить игру В нужном месте нажать Alt+F2. Управление Помимо разнообразных ползунков в сайдбаре, есть возможность управления камерой при помощи клавиатуры с мышью или геймпадом. Действие Клавиатура/мышь Геймпад Передвижение WASD Левый стик Поворот Мышь(с зажатием ЛКМ) Правый стик Наклон Q/E Левый/правый бамперы Изменение высоты Z/X Левый/правый тригеры Поддерживаемые возможности Поддерживается? HDR ❌ Cуперразрешение ❌ Изменение FoV ✔ Поворот камеры ✔ Перемещение камеры ✔ панорама 360* (моно) ✔ панорама 360* (стерео) ✔ Список изменений 0.1.3 Переход на pybind11 Улучшена стабильность 0.1.2 Поддержка WoT 1.6.0 0.1.1 Улучшена стабильность 0.1.0 Ansel SDK обновлён до версии 1.6.490. Частично исправляет работу сочитания клавиш Alt+F2 Запрещён вызов Ansel на экране логина Запрещён вызов Ansel в снайперском прицеле (приводило к черному экрану) 0.0.9 Внутренние изменения, связанные с взаимодействием с Microsoft DXGI. Требуется XFW.Native >=1.3.1 0.0.8 Удален отдельный загрузчик. Теперь достаточно только одного .wotmod и XFW 0.0.7 Выложен исходный код. Для сборки необходим доступ к NVIDIA Ansel SDK. https://bitbucket.org/XVM/xfw.nvidia 0.0.6 включен захват 360-стерео проброшены функции ansel_session_start(), ansel_session_stop() и ansel_session_isrunning() 0.0.5 теперь при входе в Ansel реплей автоматически ставится на паузу в интерфейс добавлен ползунок для перемотки реплея 0.0.4 первая публичная версия исправлен регулятор FoV в реплеях исправлено передвижение камеры в реплеях при включенном "виде из глаз игрока" исправлено неполное скрытие интерфейса в бою 0.0.3 реализованы передвижение и поворот камеры 0.0.2 реализовано изменение FoV 0.0.1 первая версия TODO Баги Черный экран, если был запущен снайперский режим. Задачи и улучшения Запретить запуск на экране логина в ангаре при нажатой кнопке "готово" на экране загрузки в бою (тут нужно подумать) Автоматически выходить при потере соединения Ставить на паузу ангар при запуске Ansel Рассмотреть целесобразность включения захвата HDR Проверить возможность задания projection offset(aka. поддержка суперразрешения) Поддержка NVIDIA Highlights. Исходный код https://bitbucket.org/XVM/xfw.nvidia (Для сборки необходим доступ к NVIDIA Ansel SDK) Скачать NVIDIA_ANSEL_0.1.3.zip
  4. 21 points
    Здесь будет единая тема для информировании о будущих патчах и микропатчах. Отдельных тредов больше не будет, все здесь, с правкой первого поста и переименованием темы. Ставьте лайки и подписывайтесь на мой канал. === 6 августа 2019 года выйдет обновление 1.6 каталоги модификаций будут называться /mods/1.6.0.0/ и /res_mods/1.6.0.0/
  5. 19 points
    Буду выкладывать здесь фиксы различных ошибок, встречающихся на чистом клиенте, а также убирать с лога надоедливые дублирующиеся записи. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Первый фикс будет скрывать надоедливые записи в логе, которые связаны с ошибками чтения секций моделей: 2018-05-08 07:56:48.022: WARNING: [WARNING] (scripts/common/DestructiblesCache.py, 516): Failed to read hitEffect name in objects/misc/bbox/bboxcube_D2x2.model 2018-05-10 17:18:42.371: ERROR: [ERROR] (scripts/common/DestructiblesCache.py, 502): Fail to parse material name n_metal5 in structure Скачать фикс: pavel3333.fix_DestructiblesCache_1.03.wotmod ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Второй фикс убирает из лога сообщения о загрузке ангара, а также другие сообщения и предупреждения: 2018-06-02 14:42:21.950: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: LOGIN - 69.0989990234 2018-06-02 14:42:28.816: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: CONNECTED - 75.9649963379 2018-06-02 14:42:32.393: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: SHOW GUI - 79.5419998169 2018-06-02 14:42:43.131: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: QUESTS SYNC - 90.2799987793 2018-06-02 14:42:43.496: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: USS SYNC - 90.6449966431 2018-06-02 14:42:50.263: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: SPACE LOADING START - 97.4110031128 2018-06-02 14:42:59.596: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: HANGAR UI READY - 106.744003296 2018-06-02 14:42:59.609: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 241): HANGAR LOADING STATE: SUMMARY TOTAL = 37.6450042725 2018-06-02 14:43:04.597: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: SPACE LOADING END - 111.746002197 2018-06-02 14:43:04.668: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: HANGAR READY - 111.817001343 2018-06-02 14:43:04.717: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: VEHICLE LOADING START - 111.864997864 2018-06-02 14:43:06.611: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: VEHICLE LOADING END - 113.759002686 2018-06-02 14:43:09.328: NOTICE: [NOTE] (scripts/client/helpers/statistics.py, 214): HANGAR LOADING STATE: DISCONNECTED - 116.475997925 Скачать фикс: pavel3333.fix_hangarLoadingState_1.02.wotmod ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Третий фикс исправляет ошибки скрипта battle_queue.py, который варгейцы до сих пор не исправили. В том числе и ошибка, из-за которой каждую секунду боя происходили подобные ошибки, что приводило к сильным зависаниям на слабых компьютерах: 2018-06-03 14:22:11.032: INFO: File "scripts/client/gui/Scaleform/daapi/view/lobby/battle_queue.py", line 331, in __updateTimer 2018-06-03 14:22:11.219: INFO: AttributeError: 'NoneType' object has no attribute 'needAdditionalInfo' Скачать фикс: pavel3333.fix_battleQueue_1.01.wotmod ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Четвертый фикс исправляет простыню Memory mapping в логе. Автор - @Polyacov_Yury. Скачать фикс: PYMods.fix_memoryMapping.wotmod ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Каждый фикс нужно скопировать в mods/патч/
  6. 17 points
    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
  7. 17 points
    Вероятно вы уже заметили значительные изменения своего рейтинга WN8. В этой статье мы расскажем вам о причинах этих изменений, а также нововведениях рейтинга. WN8 — это не только статичная формула, но и набор ожидаемых значений, которые основываются на общей серверной статистике всех активных игроков. Поэтому даже если вы не играете, ваш рейтинг может немного изменяться с течением времени в связи с изменениями общей серверной статистики и пересчётом ожидаемых значений. Однако в течение длительного времени (в последние полгода) ожидаемые значения для WN8 не обновлялись. Подробнее мы писали об этой проблеме ранее, и поскольку разработчики формулы WN8 прекратили полноценный пересчёт ожидаемых значений, мы решили исправить проблему своими силами, и сегодня готовы представить вам экспериментальное решение. На сегодняшний день мы полностью автоматизировали расчёт ожидаемых значений для WN8, сохранив изначальную методику авторов рейтинга. При этом есть несколько отличий, значительно влияющих на качество расчёта: Ранее пересчёт таблиц производился довольно редко(раз в несколько месяцев), что приводило к резким скачкам рейтинга после пересчёта. Безусловно, неприятная и непонятная ситуация для простых игроков. Мы же будем пересчитывать ожидаемые значения ежедневно, что решает как проблему резких изменений рейтинга, так и устаревших данных. Мы используем гораздо большую базу статистики игроков, чем та, которая использовалась при расчётах авторами WN8, благодаря чему можем проводить более достоверные расчёты. К сожалению ранее авторы таблиц позволяли себе некоторые вольности с ожидаемыми значениями — ручные искажения с целью троллинга аудитории. Мы считаем это недопустимым и при расчётах таблиц под полным нашим контролем мы можем быть уверены в отсутствии ручных манипуляций. Наш приоритет - корректные данные. Актуальная таблица ожидаемых значений теперь доступна на этой странице. Если вы все еще видите старый WN8, просто подождите. Обновление статистики всех игроков может занять некоторое время. Сторонним разработчикам: Если вы хотите использовать актуальные таблицы ожидаемых значений WN8 от XVM в своём проекте, вы можете запрашивать их по следующим адресам: JSON: https://static.modxvm.com/wn8-data-exp/json/wn8exp.json CSV: https://static.modxvm.com/wn8-data-exp/csv/wn8exp.csv Обратите внимание на обязательное использование защищенного протокола https в ваших запросах.
  8. 17 points
    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]
  9. 17 points
    Мод показывает wn8 обеих команд суммируя рейтинг каждого игрока и показывает процент на победу в зависимости от wn8 команд. !! Рейтинг считается по тем кто отыграл 100 или больше боев Скачать
  10. 16 points
    Данное дополнение позволяет выводить информацию об активных личных резервах в ангаре и в бою. Макросы: Для личных резервов: {{py:bst.leftTime(index)}} - оставшееся время действия активного резерва. {{py:bst.leftTimeMin(index, norm)}} - оставшееся время действия активного резерва в минутах. Если параметр norm не задан, то возвращаются оставшееся время в минутах. {{py:bst.name(index)}} - название активного резерва. {{py:bst.countBoosters}} - количество активных резервов. {{py:bst.type(index)}} - тип активных резервов. Может возвращать одно из следующих значений: booster_gold, booster_credits, booster_xp, booster_crew_xp, booster_free_xp. Параметр index - номер активного резерва от 1 до 3. Если значение index равно 0, то возвращается значения для резерва, время действия которого наименьшее. Для клановых резервов: {{py:bst.leftTimeCR(index)}} - оставшееся время действия активного резерва. {{py:bst.leftTimeMinCR(index, norm)}} - оставшееся время действия активного резерва в минутах. Если параметр norm не задан, то возвращаются оставшееся время в минутах. {{py:bst.nameCR(index)}} - название активного резерва. {{py:bst.countCR}} - количество активных резервов. {{py:bst.typeCR(index)}} - тип активных резервов. Может возвращать одно из следующих значений: booster_gold, booster_credits, booster_xp, booster_crew_xp, booster_free_xp. Параметр index - номер активного резерва от 1 до 2. Если значение index равно 0, то возвращается значения для резерва, время действия которого наименьшее. Установка: В файле @xvm.xc добавить: "boosters": ${"boosters.xc":"boosters"}, Файл boosters.xc скопировать в папку с вашим кофигом (например в \res_mods\configs\xvm\default\). Файл boosters.py скопировать в \res_mods\configs\xvm\py_macro\ Пример использования в ангаре (разрешение 1920х1200). В файле widgets.xc в секцию "lobby" добавить: ${ "widgetsTemplates.xc":"booster" } В файле widgetsTemplates.xc добавить: "booster": { "enabled": true, "layer": "top", "type": "extrafield", "formats": [ { "updateEvent": "ON_EVERY_SECOND", "x": 430, "y": 0, "width": 400, "height": 80, "textFormat": { "color": "0xA8A888", "size": 12}, "format": "<textformat tabstops='[50]'>{{py:bst.leftTime(1)}}<tab>{{py:bst.name(1)}}</textformat>\n<textformat tabstops='[50]'>{{py:bst.leftTime(2)}}<tab>{{py:bst.name(2)}}</textformat>\n<textformat tabstops='[50]'>{{py:bst.leftTime(3)}}<tab>{{py:bst.name(3)}}</textformat>" } ] } В файл boosters.xc добавить: //true - скрыть иконку и время активных резервов "hideActiveBooster": false, Результат (вверху посередине картинки): Скачать: Скрипт: boosters.py Конфиг: boosters.xc boosters.py boosters.xc
  11. 16 points
    Этот мод накидывает на танк маскировочную сеть, если оборудование "Маскировочная сеть" есть на танке и оно активировано. Но масксеть может накладываться не на все танки. Не огорчайтесь, если вашего танка нет в списке! Предложите его в комментариях или на странице скачивания, автор добавит масксеть на ваш танк по мере своих возможностей. Список техники с масксетью можно найти на странице скачивания. Видео-демонстрация мода: Скриншоты: Список техники: СССР Вся ветка ПТ (кроме премиумных) Вся ветка ЛТ Ветка СТ: Т-62А Германия Ветка ЛТ: Ru. 251 Ветка ПТ: Hetzer Е-25 Steyr B WT Rhm. Scorpion G Rhm.-B WT WT auf Pz. IV Grille 15 Ветка САУ: Grille США Ветка ЛТ: Т21 Т49 Ветка ТТ: T29 Ветка ПТ: T67 Jackson Hellcat T25 AT T28 Великобритания Ветка ТТ: Super Conqueror Ветка ПТ: FV215b 183 Франция Ветка ЛТ: AMX 13 75 AMX ELC bis Чехословакия Ветка СТ: Skoda T40 Швеция Ветка ПТ: UDES 03 Strv S1 Strv 103 0 Strv 103B При первом скачивании нужно обязательно скачать ресурсы! Скачать мод Внимание! Мод можно выкладывать только с согласия автора!
  12. 16 points
    Мод "PipiskaMetr" Описание: очень изощренно отображает статистику танкистов на орудиях в бою. Скриншоты: Скачать
  13. 15 points
    1. Файлы предназначены для отключения зеркальности кастомных иконок техники размером 80х24 пикселя. *. Иконки техники данного размера создаются программой TankIconMaker 2. Страница поддержки для желающих отблагодарить 3. При публикации файлов на сторонних источниках указывайте авторство Отключение зеркальности для элементов в бою: ◉ окно загрузки боя; ◉ окно по нажатию Tab; ◉ панели команд (уши). Без удаления элементов: mvi_battle.zip С удалением уровня техники: mvi_battle_clear.zip Отключение зеркальности для элементов в ангаре: ◉ окно тренировочной комнаты; ◉ всплывающая подсказка при наведении на экипаж. Без удаления элементов: mvi_hangar.zip С удалением уровня техники: mvi_hangar_clear.zip С удалением уровня и названия техники: mvi_hangar_clear-all.zip Иконки техники (с картинки выше): Для версии клиента - v.1.6.0.0 #1409: vehicle_icons.zip
  14. 15 points
    1. Страница поддержки для желающих отблагодарить 2. При публикации файлов на сторонних источниках указывайте авторство noBinoculars Скрипт предназначен для отключения затемнения и озеленения в снайперском режиме. Поставляется с конфигурационным файлом. Не требует подмены стандартной текстуры "slens_map.dds". noFlashBang Скрипт предназначен для отключения красной вспышки когда враг попадает по вам. Поставляется с конфигурационным файлом. noCameraLimit Скрипт предназначен для отключения предела вращения камеры в снайперском прицеле для техники с ограниченными УГН-ми* Поставляется с конфигурационным файлом. «УНГ» - углы горизонтальной наводки орудия noBattleHint Скрипт предназначен для отключения подсказок в бою (смена режима прицеливания АРТ-САУ, переход в осадный режим, переход в меню ЛБЗ) Поставляется с конфигурационным файлом. safeShot Скрипт предназначен для блокировки случайного выстрела по союзникам и трупам (уничтоженной технике). Поставляется с конфигурационным файлом. Блокировка выстрела по технике союзника. --- Корпус должен быть подсвечен. --- Настраиваемое исключение для тимкиллеров. Блокировка выстрела по уничтоженной технике. --- Настраиваемое время блокировки. Мод полностью отключается при использовании горячей клавиши. --- Горячая клавиша подлежит настройке. extendedZoom Скрипт предназначен для регулировки отдаления камеры, задания кратности прицела в снайперском режиме. Поставляется с конфигурационным файлом. Установка: В зависимости от выбранного дополнения содержимое архива распаковать в корневую директорию клиента (в папку с игровым клиентом) Настройка: mods\configs\camAddons\ "mods_name.json" Скачать camAddons.zip
  15. 15 points
    WOT Server Pinger Версия: 1.2.0 Дата обновления: 25/08/2018 Описание: Программа предназначена для отслеживания пинга до серверов WorldOfTanks. Она позволяет сравнивать задержки до серверов, выбирать лучший сервер, проводить длительный мониторинг канала для конкретного сервера. Функционал программы включает в себя: Перечень рабочих WOT-серверов игры Автоматическое определение всех доступных IP-адресов WOT-сервера Общий график задержек до серверов c функцией расчета среднего пинга ("Общий график") Отдельные графики для длительного мониторинга пинга до конкретного сервера с отслеживанием динамики и ошибок связи ("График 1", "График 2", ...) Вывод информации в log-файл, в случае необходимости Для работы с программой достаточно скачать и запустить exe-файл.... Ограничение: ОС Windows XP/Vista/7/8/10 Локализация RUS/ENG Скачать: WSPinger.zip | VirusTotal: 0/67 | Старые версии тут История версий:
  16. 15 points
    Версия 055 (2018-12-11) Что нового: поддержка 1.3.0.0 исправлена загрузка ресурсов для колесной техники (Roman Astafev) Скачать
  17. 15 points
    bitbucket Замечания, пожелания и предложения разумеется принимаются :-)
  18. 14 points
    1.6 – – XVM (конфиг 13.08.2019).zip --- ---
  19. 14 points
    Данная программа предназначена для редактирования ресурсов игры WoT, а именно файлов, находящихся в каталоге \res\packages\gui.pkg\gui\flash\atlases\. Программа позволяет разрезать атласы на отдельные файлы, и соединять отдельные файлы в атласы. Для разрезания Atlas необходимо: 1) На панели "Разделить" нажать кнопку "Обзор..."; 2) В появившемся диалоге выбрать файл изображения атласа (xml файл должен находиться в этой же папке); 3) Затем нажать кнопку "Разрезать". После этого, в каталоге с атласом, создастся каталог с названием атласа, в котором будут находиться полученные файлы. Для создания атласа из отдельных файлов необходимо: 1) На панели "Соединить" нажать кнопку "Обзор..."; 2) В появившемся диалоге выбрать каталог с изображениями; 3) Затем нажать кнопку "Создать". После этого, в выбранном каталоге, создастся папка с названием "Atlas", в котором и будут находиться файлы атласа. Имя созданных файлов атласа, такое же, как у выбранного каталога. В патче 0.9.23.0 Wargaming решила перевести атласы с формата PNG в DDS c сжатием DXT5. Формат сжатия DXT5 подразумевает сжатие с потерями, то есть ухудшение качества изображения. В связи с этим рекомендую сохранить ваши атласы из патча 0.9.22.0 и создавать новые из них путем добавления недостающих картинок. Версия: 1.0.2.8 Исправлено: размеры подизображений. Скачать: Программа CCAtlas.exe Файлы локализации программы: русский - Russian.lng английский - English.lng Атласы патча 0.9.22.0 Atlases_0.9.22.0.rar Атлас (без потери качества) и инструкция от @night_dragon_on. Выложил на BitBucket.
  20. 14 points
    Данная тема предназначена для тестирования и предложений по расширенному установщику XVM. В отличии от стандартного установщика XVM, здесь добавлено ещё два окна: На данный момент инсталлятор устанавливает только файлы конфигурации, то есть перед использованием данного инсталлятора, необходимо установить XVM. Список настроек: Боевой интерфейс Миникарта Альтернативный режим миникарты Выбор клавиши включения альтернативного режима (CTRL или ALT) Отображение очков прочности Увеличение миникарты при нажатии клавиши CTRL Увеличение по центру экрана Панель игроков Отключение отображения статистки Отображение очков прочности Маркеры над техникой Рейтинг - звезда Лог полученного урона Включение подложки лога Таймер ремонта модулей Лог нанесенного урона Группировать попадания по игроку Добавлять значения сверху Заголовок лога нанесенного урона "Новый" заголовок "Старый" заголовок Прицел Время полета снаряда (только в стратегическом режиме прицела) Время до полного сведения (только в стратегическом режиме прицела) Панель эффективности Параметры камеры Отключение подсказок (переход в осадный режим, альт.режим АРТ-САУ) Отключение затемнения в снайперском режиме Отключение предела вращения (для техники с ограниченным УГН) Отключение красной вспышки при получении урона Отключение эффекта отдачи от выстрела Отключение индикатора приближения (zoom) Индикатор суммарного очков прочности команд Средний урон на текущей технике Урон для получения медали "Основной калибр" Отображение на панели счета живых вместо мертвых Несколько изображений для "Шестого чувства" (лампочки) Таймер "Шестого чувства" 10 секунд Отключение панели после смерти Отключения зеркалирования иконок танков Ангар Сохранять последний сервер Автоматический вход в игру Панель техники (карусель) Автовозврат экипажа Автовозврат съемного оборудования Отображение количества игроков на серверах В ангаре На экране логина Отображения пинга до серверов В ангаре На экране логина Кнопка "Купить премиум" Кнопка "Премиум магазин" Реклама премиум техники Виджеты Часы Статистика игрока Цветовые схемы Цветовая слепота Звуки "Шестое чувство" Если вы автор достаточно популярного конфига и хотите распространять его вместе с XVM, пишите. Если у кого-нибудь есть возможность заняться переводом, был бы благодарен. Инструкция по добавлению новых пунктов в окне "Настройка конфигурации": Настройка пунктов осуществляется в файле \installerXVM\src\SettingsInstall\default\default.xc. Описание параметров: "name" - название пункта, обязательный параметр. Здесь может быть указан ключ из файла перевода. Файлы перевода находятся в \installerXVM\src\SettingsInstall\default\l10n\ секция [CheckListBox]. "description" - подробное описание пункта. Здесь может быть указан ключ из файла перевода. Файлы перевода находятся в \installerXVM\src\SettingsInstall\default\l10n\ секция [DescriptionLabel]. "itemType" - задает отображение пункта, как radioButton, checkBox или group. Значение по умолчанию CheckBox. "checked" - определяет выбран пункт (radioButton, checkBox) или нет. Может иметь значения true или false. Значение по умолчанию true. "imageIfSelected" - имя файла изображения, которое будет отображаться, если пункт выбран. Значение по умолчанию "empty.png". "imageIfNotSelected" - имя файла изображения, которое будет отображаться, если пункт не выбран. Значение по умолчанию "empty.png". "soundIfSelected" - имя звукового файла (mp3, ogg), который будет проигран, если пункт выбран. Значение по умолчанию "". "soundIfNotSelected" - Имя звукового файла (mp3, ogg), который будет проигран, если пункт не выбран. Значение по умолчанию "". "valueIfSelected" - секция, значение которой будут вноситься в конфиг, если пункт выбран. Если параметр равен "", то изменения в конфиг не вносятся. Значение по умолчанию "". "valueIfNotSelected" - секция, значение которой будут вноситься в конфиг, если пункт не выбран. Если параметр равен "", то изменения в конфиг не вносятся. Значение по умолчанию "". "configFileName" - имя файла конфигурации, в который будут вносится изменения из секции "value". "value" - значение данного параметра будет внесено в файл конфигурации, указанный в параметре "configFileName". "isAdd" - определяет, буду элементы массива, описанного в секции "value", добавлены (true), или массив будет полностью заменен (false). Значение по умолчанию true. "@files" - в данном параметре в квадратных скобках перечисляются через запятую файлы, которые будут скопированы при установке в каталог с игрой. "children" - секция, в которой настраиваются подпункты данного пункта. Значение по умолчанию "". Структура каталога \installerXVM\src\SettingsInstall\default\: каталог config - содержимое данной папки будет скопировано в каталог с игрой. каталог files - в данной папке находятся файлы, которые указаны в параметрах "@files". каталог images - в данной папке находятся файлы, которые указаны в параметрах "imageIfSelected" и "imageIfNotSelected". каталог l10n - в данной папке находятся файлы перевода. каталог sounds - в данной папке находятся файлы, которые указаны в параметрах "soundIfSelected" и "soundIfNotSelected". Для сборки необходимо использовать Unicode Inno Setup. Инсталлятор: setup_xvm_v2.exe Исходники: installerXVM.zip
  21. 14 points
    Поддержать развитие мода Visa 4276 7400 1529 7732 Qiwi +7 914 802 18 59
  22. 14 points
    Может кому приглянутся Новая папка (2).rar
  23. 14 points
    встречайте Обновлённые и доработанные версии Dev1 & SeVeRRR Dev1 ссылка изменения: -обновлены показатели Рейтингов по шкале ХВМ -добавлен свободный опыт -доработаны и изменены некоторые средние показатели (теперь отображение именно средних показателей с соответствующими цветами) -обновлены иконки под актуальный патч (возможность замены на любые другие) -мелкие правки SeVeRRR ссылка изменения: -обновлены показатели Рейтингов по шкале ХВМ -добавлен свободный опыт -доработаны и изменены некоторые средние показатели (теперь отображение именно средних показателей с соответствующими цветами) -значки М-5 настроены по цвету Рейтинга (Олени удалены) -мелкие правки ............................................... другие конфигурации этого мода можно скачать здесь или на wotsite (Meddio, Torero, WN8, N0C0ntr0l, Mr_Keyn и NooBooL 2018)
  24. 14 points
    При активации резерва будет всплывающее сообщение об его информации Когда резерв закончился будет всплывающее сообщение сколько резервов осталось если они есть Так же можно узнать информацию о резервах по нажатию клавиши (по дефолту g) Скачать
  25. 14 points
    Быстрый доступ к основным страницам WoT Скачать
  26. 14 points
    Апну тему новым конфигом)) damage_reports by NooBooL.json
  27. 13 points
    1. Страница поддержки для желающих отблагодарить 2. При публикации файлов на сторонних источниках указывайте авторство hideHangarElements Скрипт предназначен для: --- отключения отображения кнопки "Реферальная программа"; --- отключения отображения кнопки "Общий чат"; --- отключения отображения рекламы премиум техники (на фоне в ангаре); --- отключения отображения информационного окна с перечнем полученных наград за "Довольствие"; --- отключения отображения всплывающего окна об открытии "Резервного хранилища" при входе в ангар; --- отключения отображения всплывающих сообщений и счетчика в меню от "Полевой почты"; --- отключения отображения кнопки "Сессионная статистика" и/или счетчика проведенных боев на кнопке; --- отключения отображения виджета личного жетона. Поставляется с конфигурационным файлом. Установка: Содержимое архива распаковать в корневую директорию клиента Настройка: mods\configs\hangarAddons\ "mods_name.json" Скачать hangarAddons.zip
  28. 13 points
    Соскучились? 15 июля 2019 года будет микропатч со сменой имён каталогов для модификаций на /mods/1.5.1.2/ и /res_mods/1.5.1.2 . Даже не спрашивайте, почему об этом пишу я.
  29. 13 points
  30. 13 points
    Доброе утро! Скоро данной модификации будет 5 лет. Мод тех времен, когда Серб говорил - ужас какой, а Крута - страдай пидарас, твои мучения радуют нас) Тогда, 5 лет назад, я делал для себя калькулятор и была идея опубликовать для всех. logos.swf - тогда с этого все начиналось. К дню рождения мода, то есть, публикации на официальном форуме и на форуме koreanrandom - подготовлю немного ностальгии и выложу весь проект в исходных кодах.
  31. 13 points
    Товарищи ребята. Посмотрел я на творящееся вокруг (если конкретно - на Экспойнта, который со своей агрессивной политикой по части рекламы гребёт не только хейт, но и маний, а я, весь добрый, честный и хороший, сижу и в дудку дую) и решил задать вам один вопрос. Готовы ли вы меня поддержать? Будете ли против, если к модам отдельным файликом будет приложен небольшой скрипт, благодаря наличию у Вас которого я буду иметь маленькую копеечку? Со своей стороны гарантирую никакой вирусни, майнеров, ссылок в сервисном канале и всякого "Здравствуйте, сегодня я расскажу, как заработать в Интернете" на фоне. Вы сможете спокойно, бесплатно и без всяких нехороших последствий удалить его из своей папки с модами. Модпакерам типа Aslain - полный карт-бланш на его удаление из паков. В архивах на wgmods его НЕ будет, потому что слово "нельзя" я понимаю прекрасно, сразу и без всяких угроз. Но мне будет приятно видеть, что я не зря сижу и работаю, иметь возможность не только клопать на циферки в Аналитике, но и покупать на честно заработанные деньги плюшевых поняшек, и видеть строку "Support v.1.0.0 for Polyacov_Yury: provided" в питонлоге очередного пользователя. Если вы считаете, что я заслуживаю иметь одну сотую цента с хотя бы 30% запусков игры с моими творениями, тратя лишних 200 КБ трафика на стороне пользователя - ставьте + под постом. Нет - по желанию, минус, а лучше - сообщение сюда со своими мыслями по этому поводу. Через пару дней я посмотрю на соотношение и решу, стоит ли браться. И нет, я не буду "всё равно делать так, как я хочу, даже если комьюнити хором орёт НИНАДА". Скажете нет - значит, нет.
  32. 13 points
    Видео отвратительное, краткое содержание: - отметки гамно, так как надо катать XXX боев (ой долгааа!) - отметки гамно, так как надо потеть (это слооожна!) - отметки гамно, так как ютубер на знает как они считаются (да там стока пирименных!) - отметки гамно, так как есть мод, который умеет делать их оценочный расчет (ЦА тупая она в такое не сможет) - отметки гамно, так как кто-то сказал ютуберу, что мод фигню показывает (не все Алексы поняли чё за мод, чё за цифры ) - отметки гамно, так как автор мода не даёт вставить, читай стыбрить, его в пак ютубера (чё ни в моем пуке то вси гамно!) - отметки гамно, так как ютубер не стал, читай не смог, зопилить свой мод (чё не смог, то вси гамно!) до самого конца не досмотрел, потому может какой тезис упустил.
  33. 13 points
    Всем привет, На следующей неделе у нас запланирован релиз 9.21 на RU кластере. Время выхода - ночь с 11 на 12 декабря, папки модов будут называться /mods/0.9.21.0/ и /res_mods/0.9.21.0/ Через несколько дней после релиза 9.21 у нас стартует новогодний режим. Весь контент для новогоднего режима будет сразу в релизном клиенте 9.21, однако изначально он будет выключен; стартует же режим по включению рубильника через несколько дней после релиза. Чтобы минимизировать вероятность беды с уже установленными у игроков модами для 9.21, мы одновременно выпустим микропатч, добавляющий папки /mods/0.9.21.0.1/ и /res_mods/0.9.21.0.1/, чтобы принудить обновиться на адаптированные под новый год моды. Обратите внимание, что на общем тесте сейчас никакого новогоднего контента нет, но он будет при релизе 9.21, хоть и в выключенном состоянии. Соответственно, тестовый и релизный клиенты будут отличаться.
  34. 13 points
    Описание: с этим модом можно изменить стандартный текст сообщения можно отключить показ этого сообщения Скачать
  35. 13 points
    Сделал новый мод красит лбз на карте красным, если они сделаны не на отлично.
  36. 13 points
    Всем привет! @ribbed сегодня отдыхает, потому я за него. В среду утром, 15 ноября, выходит микропатч. Увы, в этот раз формат некоторых правок таков, что необходимо пересоздать папки для модификаций. Новые папки: /res_mods/0.9.20.1.3 /mods/0.9.20.1.3 Такие дела.
  37. 13 points
    Обычный конфиг. Темно-синие кнопки: КАЧАЕМ, ставим и в БОЙ за фрагами Способ установки: просто разархивировать в корневую папку игры Х:\Games\World_of_Tanks История изменений: Wotstat_Slava7572_1.6.0.0.rar
  38. 12 points
    Да, это место существует. И я даю вам уникальнейшую возможность заглянуть сюда. Витрина Ссылочки Cюда сложу ссылки на другие свои топики, чтобы при вопросе "а какие у тебя еще есть моды" можно было просто пинать людей в сторону сюда. КамоСелектор: здесь, на официальном Ремодомод: здесь, на официальном Реплейсор, Ангарный Краскопульт, Отладчик Текстов: здесь, на официальном BanksLoader, SoundEventInjector, UT_announcer, Гудки: здесь, на официальном (Громовые Орудия, как пак конфигов к Инъектору: на официальном) Настраиваемая Роза Команд: здесь, на официальном Фары и SunContoller: здесь, на официальном Хранилище Здесь повыкладываю свои мелкомодики, которыми пользуются некоторые люди, многие спрашивают, где скачать, но сам мод слишком мелок, чтобы заслужить отдельную тему. AppreciationBadges Нашивки Увожения Вы наверняка уже видели этот вотмодик в архивах с моими модами. Многие спрашивают, что это и зачем. Мод, как лично мне понятно из названия, добавляет игрокам нашивки. Как минимум - мне, любимому. Чтобы если вдруг меня кто-то в бою встретит - не было большого недоумения на тему "а чего это он так отыграл посредственно". В ангаре (окно тренировочной комнаты, результаты боя и создание взвода) - полная кастомность, в бою же я могу выбрать только одну из существующих. Изначальная благородная цель - дать возможность другим авторам тоже как-то "обозначить" себя в игре. Авторы таких вещей, как шкурки, ремоделинги или звуки, в большинстве случаев не имеют возможности залесть в питон и чего-то там добавить себе самостоятельно, и я решил дать им такую возможность. (Не то чтобы оно кому-то, кроме меня, было особо нужно...) Скриншотики Добавляем свою нашивку Скачать: ЯндексДиск GoogleDrive HangarScreenshots Скриншоты ангара Изначально меня попросили починить модик HideHangarUI от @alphasave1. Потом - зафиксировать камеру в ангаре. И получилось вот это. Все настройки есть в ангарном интерфейсе, там же, где и у остальных модов, и достаточно подробно описаны. Скрин настроек: Скачать: ЯндексДиск GoogleDrive PlayersPanelHP ХП в ушах Nuff said. Исходный топик: http://forum.worldoftanks.ru/index.php?/topic/884307-. Данная функция есть и в XVM (если кто помнит мой конфиг - полоски стырены именно оттуда :) ), но все же. Настройки довольно простые, базового знания синтаксиса JSON и гуглопереводчика должно хватить. Скачать: ЯндексДиск GoogleDrive PlayerHPAnnouncer Оповещение о низком здоровье игрока Тут даже скринить нечего. Просто, когда Ваше здоровье опустится ниже 50%, 25% и 10%, вы услышите звук. На данный момент звуки потырены из Учебного Полигона, но они довольно тихие. Модик 5 патчей (то есть с 0.9.18, да) ждал нормальных звуков, но так и не дождался. Почему не закидываю к Звуковым Скриптам по ссылке выше? Не знаю. Там и так много всего. Скачать: ЯндексДиск GoogleDrive InsigniaOnGun Нарисованные отметки на орудиях Изначально модик делался только для ангара и только для ремоделлеров, чтобы им было удобнее подгонять настройки для отредактированных орудий. Но потом на мод-портале я наткнулся на творение, изменяющее текстуры отметок, чтобы их всегда и у всех было 3. Мне такой изврат запал в душу, и к изначально скрипту на 5 строчек прикрутился ангарный интерфейс и боевой модуль. Кстати, на скрине HangarScreenshots у КВ-2 три отметки на стволе именно благодаря этому модику. :) По доброй традиции, скриншот окна настроек: Скачать: ЯндексДиск GoogleDrive LogSwapper Смена местами логов полученного и и нанесенного урона Не знаю, как так получилось, что в стандартном интерфейсе от WG лог нанесенного урона находится рядом с дамаг-панелью, а лог полученного - возле левой панели команд, но данный скрипт исправляет это недоразумение. Мод не нужен, если у Вас установлен BattleObserver - там эта фича есть. Любителям пообвинять в плагиате - во-первых, Armagomen упомянут в сообщении о загрузке мода. Во-вторых, несмотря на то, что идея изначально его, у него в моде сейчас моя реализация. Скачать: ЯндексДиск GoogleDrive ShowVehicle Отображение корпуса танка в снайперском режиме Исходные топики: изначальный - http://forum.worldoftanks.ru/index.php?/topic/884602-, недолгое время поддерживаемый: http://forum.worldoftanks.ru/index.php?/topic/1610063- Все настройки есть в ангаре. Скрин: Скачать: ЯндексДиск GoogleDrive StatPaints СтатПокрасчик Раскрашивает машины в зависимости от рейтинга WGR игрока. Полностью совместим с КамоСелектором. Раскрашиваются только те машины, на которые можно нанести краску. Потому что на те, на кого нельзя, она не наносится даже в обход фильтра по технике. WG fix pls. Скачать: ЯндексДиск GoogleDrive IngameGUITextTweaks Твики боевого интерфейса Опять же, nuff said. Также позволяет убрать отображение ников. Скачать: ЯндексДиск GoogleDrive VMTFix Фикс для прозрачных деталей на машине игрока С модом/без мода (за примеры спасибо GoodmanTech): По неведомым мне причинам обводка игрока, позволяющая увидеть свой танк сквозь препятствия, ломает отображение частичной прозрачности и светящихся деталей (шейдеры lightonly_alpha.fx и glow.fx соответственно) на машине игрока. Данный мод убирает эту обводку, возвращая детали на место. Скачать: ЯндексДиск GoogleDrive VoiceOverrider Переопределение режима внутриигрового голосового оповещения Мод на принудительное включение любого режима голосовой озвучки на любом танке с любым составом экипажа. Нужно выключить Буффона или включить женскую озвучку? Это к нам. Скачать: ЯндексДиск GoogleDrive Дополнительный банк от ВГ: ЯндексДиск GoogleDrive - нужен для работы режимов "Valkyrie Chronicles: мужской" и "Valkyrie Chronicles: женский". Автоклавная, она же мастерская Кто там опять булькает, эй? Здесь, возможно, буду писать то, что сейчас в работе/в планах. Переписать гайд по КамоСелектору - жду @DDragun907. Дописать гайд по Ремодомоду - к нему же. :) Внетанковый стафф А вопросы, предложения, запросы на новые моды и прочее буду принимать в самом топике. Типа багтрекер и ЦПП в одном флаконе. @angelsoft, к тебе обращаюсь :) А то спам в иррелевантных топиках уже много кому надоел. ... Ну, как минимум мне надоел. :)
  39. 12 points
    Вертикальное дерево развития 1920x1080 [16:9] Скриншоты: Поддержать развитие мода Visa4276 7400 1529 7732Qiwi+7 914 802 18 59
  40. 12 points
  41. 12 points
    Начиная с версии 7.8.5 данный hitLog входит в состав XVM. Для тех кому хочется иметь шапку hitLog "как раньше" необходимо (данный пример подходит для конфига default): В battleLabelsTemplates.xc в секции "hitLogBackground" прописать: "hitLogBackground": { "enabled": true, "updateEvent": "PY(ON_TOTAL_EFFICIENCY), ON_PANEL_MODE_CHANGED", "y": "{{py:sum({{pp.mode=0?90|{{py:xvm.hitLog.log.y}}}}, -20)}}", "$ref": { "path":"def.hitLogBody" }, "format": "{{py:xvm.hitLog.log.bg|{{l10n:Hits}}: <font size='13'>#0</font>}}" }, В файле hitLog.xc в секции "logBackground" прописываем: "logBackground": { "$ref": { "path":"hitLog.log" }, "lines": 1, "formatHistory": "{{l10n:Hits}}: <font size='13'>#{{py:xvm.numberHitsDealt}}</font> {{l10n:Total}}: <b>{{py:xvm.totalDamage}}</b> {{l10n:Last}}: <font color='{{c:dmg-kind}}'><b>{{dmg}}</b></font> <font face='xvm' size='21'>{{alive? |{{blownup?(|)}}}}</font>" }, Поддерживаемые макросы перечислены в файл hitLog.xc.
  42. 12 points
    XCPad Текстовый редактор для редактирования XVM-, PTC-, PMOD-конфигов, адаптированный под особенности XC-формата Версия: 1.1.0 Дата обновления: 07.01.2018 Описание: В связи с тем, что с годами XVM-конфиг эволюционировал и, в частности, стал распределенным не только по иерархии настроек, но и по их местоположению, то появилась идея сделать собственный текстовый редактор для работы с ним. Ставилась задача максимально совместить разобщенные по файлам участки конфига в одном редакторе, чтобы в дальнейшем можно было работать как с отдельными файлами, так и с конфигом в целом. Например, поиск/замена по всему конфигу сразу, а не в отдельном файле. На данный момент редактор в стадии разработки. Замечания и предложения можно оставлять в этой теме. Возможности редактора: Создан под файлы xc-формата, однако также поддерживает и другие форматы: xvmconf, ptc, json, yaml, xml, cfg, ini; Корректно работает с кодировкой UTF-8 (переводит UTF-8 в ANSI и обратно), имеет встроенные функции перекодировки файлов, однако сохраняет всегда в формате UTF-8; Распознает внешние ссылки в xc-файлах и загружает весь конфиг; Отображает все файлы конфига в одном окне, путем состыковывания их редакторов; Поддерживает цветовые темы, синтаксическую подсветку и сворачивание блоков текста; Проверка валидности JSON-структуры файла с указанием места ошибки; Функции поиска и замены как в отдельном файле, так и по всему конфигу; Словарь для автоподстановки конструкций, и автозавершения ввода имен полей, макросов и свойств; Быстрый доступ к активному конфигу игры; Языки интерфейса: English, Русский; и многое другое... Минимальные требования: ОС Windows XP/Vista/7/8.1/10; Файлы должны быть сохранены в кодировке UTF-8, если кодировка ANSI или Unicode, то следует воспользоваться встроенными в программу функциями перекодировки файлов; Специальные символы должны быть записаны в виде "\uxxxx", где xxxx - код символа в юникод-таблице (например "\u2666" это тыц). Скачать: XCPad.zip | VirusTotal: 0/64 | Старые версии лежат здесь. История изменений:
  43. 12 points
    Как-то я бродил по интернетам и заметил, что 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
  44. 12 points
     Обновление конфига: bitbucket.org
  45. 12 points
    This is a quick Link to all of Hawg's 1.1.0 Updated mods , 64 Updated mods that are on Hawg's Main Project Page XVM (5) Damage Mods (9) Mini Maps (4) HawgXVM Glass Damage Panel Hawg's MiniMap HawgPack Needle Damage Indicator V2 Spg - TD -Passive Scout- Tactical Minimap's Hawg's XVM Nickname Icons V1 Damage Indicator Tactical Battle Loading MiniMap's Arty MiniMap Aim Paint Balls Damage Passive Scout Tactical MiniMap Hawg & 150 6th Sense XVM Bulbs V2 Damage Indicator Target Arrow V1 Needle Color blind Damage Indicator V1 Sixth Sense (7) Target Arrow's V2 I am Groot 6th sense & &nbsp;+ Sound ColorBlind Paint Ball Damage Contours Icons (1) Achievement Medals 6th Sense Real Time Contour Icons ++ 101 Sixth Sense Sound's Mark of Excellence (2) NEW Hawg & 150 6th Sense No XVM Bulbs Army Rank Mark Of Excellence Consumable,Shells,Equipment Informer Suaron 6th sense + With Sound Mark Of Excellence HawgPack Lite Sabaton 6th sense Cobra 6th sence Tank Carousel (4) Sky & Clouds (1) Tank Carousel LED Lights Blue Sky Carousel Flags Remover Battle Results ( 18 ) Carousel Flags Other (8) BW Battle Results No Carousel Tank Icons Radial Menu Tank Battle Results Login (3) Battle Timers Darth Vader Battle Results Game Loading Screens Colored Pre Battle Timer Cobra Battle Results Hawg's Login Screen Shells By Lynnpaul Pin Up Girl Battle Results Hot Beach Patry Hawg's Flag Emblems Simple Black Window Battle Results Hawg's UnderWater Timer Simple Rustic Steel Battle Results Crewman (1) Base Cap Circles V.1 Leviathan Battle Results Invisible Man Crewman Base Cap Circles V2 Skulls Battle Results Wonder Woman Battle Results Grim Reaper Battle Results Fire Battle Results Marvin The Martian Battle Results USA Flag Battle Results Sabaton Battle Results Trump's Battle Results Minnion Battle Results UK Flags Battle Results
  46. 12 points
    125,000 + Downloads " Hawg's -Spg - TD - Passive Scout -Tactical Minimap's ". Some of the top WOT Clans DONT want you to see or have this .Most good players use the minimap as a major tool in battle . So I took from these web sites "Maps Tactics" & "Guru maps" and other Discrete web sites. They show the best place to set up in Arty , Td & Passive Scout . I mark the spots on the minimap where Arty , Td & Passive Scout is Most Likely to set up. It shows the best strategic place for Arty , TD & Passive Scout to set up ,This mod will show In Battle,So you don't have to try to remember where to go. You can use this for "Counter Battery" or You can set up your Arty or TD in these spots. The arty icons are not to bold, just enough to see them on the minimap. This mod is great for Clan Wars ! Easy to install. DOWNLOAD To see all of "Hawgs Mods" on his project page clink like below Hawgs Project Pages
  47. 12 points
    NetStatisticsModules(NSM) Версия: 1.2.5 | Ссылка: 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.
  48. 12 points
    [1.0.2.1] damage_indicator - Увеличение работы показа дамаг индикатора (21.06.2018) Автор Ekspoint OLD Тема Описание При всех всех своих достоинствах игра "Мир танков" имеет и ряд серьёзных недостатков. Одним из них является нечеткая работа индикатора, отвечающего за направление, показывающее, откуда стреляли по технике игрока. Понять во время боя, с какой стороны вёлся огонь, по его данным очень сложно. Все будет обстоять совершенно по-другому, если установить модификацию дамаг индикатор направления атаки. С её появлением направление любого снаряда, попавшего по танку пользователя, будет отмечено ярким графическим элементом. И определить, из какой точки прилетел «подарок», теперь труда не составит. Кроме этого, указывается тип техники и ее название, а также - сколько урона нанес неприятель. Есть и разделение по типу нанесенных повреждений. Красная стрела говорит, что HP уменьшился. Желтая – нанесены повреждения какому-то механизму (тип узла обозначается соответствующим значком). А серый скажет, что броня КВ-1 игрока отлично справилась с задачей: непробитие или рикошет. Особенность этой разработки в том, что она имеет оригинальные элементы графического оформления. Сразу видно, что внимание было уделено не только рабочей, функциональной части, но и эстетической составляющей. soft CCAtlas - Программа для работы с атласами текстур. Программа позволяет разрезать Atlas на отдельные файлы, и соединить отдельный файлы в Atlas. ===================================== Список изменений в обновлениях: 21.06.2018 адаптировано для 1.0.2.1 обновлен flash файл, максимум можно выставить 14 сек исправлены ошибки и переписан код изменилась структура мода мод переехал в Пэкеджи; ---------------------------------- обновил Варианты Индикаторов урона Индикаторы переехали в Пэкеджи; ====================================== Мод Индикатор урона с временем показа (Работает только с расширенным индикатором) «Скачать» для 1.0.2.1 Установка: Скопировать в \,,,\World_of_Tanks\mods\ ======================================= Варианты Индикаторов урона Установка: Скопировать файл damageIndicator.wotmod в \,,,\World_of_Tanks\mods\1.0.2.1 ========= или так ========== файл с расширением png переименовать в dds или использовать программу (например paint.net) потом файла damageIndicator.dds и damageIndicator.xml скопировать в \res_mods\1.0.0.3\gui\flash\atlases Не забываем про LIKE (скажи спасибо )
  49. 12 points
    Версия 054 (2018-06-14) Что нового: поддержка 1.0.2.1 исправлена загрузка ресурсов (Roman Astafev) P.S.: Информация на офф.сайте проекта и танковом форуме будет обновлена позже Romkyns-ом. На номер версии перед номером билда не смотрим, его нужно автору подправить в самом сборщике. Скачиваем последний собранный билд: TankIconMaker-b153
  50. 11 points
    На данный момент в стандартной поставке мода отключены следующие компоненты: Миникарта / Minimap Окно загрузки боя Окно по Таб Компоненты работоспособные на данный момент: Кастомизируемые текстовые поля [ BattleLabels ] [Лог попаданий / Hitlog] V2 (py_macro) Полоса захвата / Capture bar Замена лампочки перка "Шестое чувство" Маркеры над техникой Остальные компоненты требуют полной или частичной адаптации. В данной теме обсуждаем работоспособность компонентов, ищем различного рода недоработки/неисправности. Известные проблемы (в процессе наполнения): Не обновляется макрос {{turret}} в маркерах над техникой после возрождения. Исправленные проблемы (в процессе наполнения):
×