Jump to content
Korean Random

Leaderboard


Popular Content

Showing content with the highest reputation since 07/24/2020 in all areas

  1. 8 points
    Сделал вам тут новую штукень. Назвал ShutLoggersUp. Если коротко, ВГ наделали в куче мест вызовов на logging.getLogger().info('blablabla'), к примеру, в обработчик персональных жетонов. И всё бы хорошо, но оно СПАМИТ. Причём эти сообщения никому вообще не нужны. Так вот. Я сделал так, что модуль logging игнорирует всё, что INFO или ниже. Варнинги и и прочие эрроры всё ещё работают. Скачать можно тут: ЯндексДиск GoogleDrive
  2. 7 points
    Всем привет! Приближается обновление 1.10, которое начнет выходить на основных серверах начиная с понедельника. Даты релизов (предварительные): ASIA: 3 августа, 02:00 UTC NA: 3 августа: 15:30 UTC EU: 4 августа, 08:30 UTC CIS: 4 августа, 09:30 UTC (12:30 Минск/Москва) Новые каталоги для размещения модификаций: ./mods/1.10.0.0/ и ./res_mods/1.10.0.0/ --- Hey all! Patch 1.10 is going to be released since August, 3 Release dates (preliminary): ASIA: August, 3, 02:00 UTC NA: August, 3, 15:30 UTC EU: August, 4, 08:30 UTC CIS: August, 4, 09:30 UTC The mods folders will be renamed to: ./mods/1.10.0.0/ and ./res_mods/1.10.0.0/
  3. 6 points
    В шапку добавлено три новых мода. Скопипастил ниже их описания. ShutLoggersUp Затыкатель логгеров ВГ наделали в куче мест вызовов на logging.getLogger().info('blablabla'), к примеру, в обработчике персональных жетонов. И всё бы хорошо, но оно СПАМИТ. Причём эти сообщения никому вообще не нужны. Так вот. Я сделал так, что модуль logging игнорирует всё, что INFO или ниже. Варнинги и и прочие эрроры всё ещё работают. Скачать: ЯндексДиск GoogleDrive ReorderProgressionDecals Переупорядочиватель прогрессионных декалей В обновлении 1.9.1 ВГ добавили в игру проекционные декали, которые выдаются за определённые достижения при игре на танке. За количество боёв, за фраги, за знаки Мастер и т.д. Проблема в том, что в той менюшке, где их можно выбрать и поставить на танк, они упорядочены в совершенно не понятном мне порядке. Этот мелкий модик переупорядочивает эти самые декали в порядке сложности получения награды. Сначала идут бои, потом фраги, ну и так далее. Скачать: ЯндексДиск GoogleDrive DamagePercentIndicator Процент прочности танка на индикаторах полученного урона Возможно, модик для нубов, но мне зашло. Суть вот в чём. Я катаюсь на разных машинах разных уровней и классов. И не всегда сразу и быстро понятно, если мне влетело на 250 урона - это можно бояться или продолжать танковать. И чем меньше урона, тем меньше понятно. Соответственно, я сделал модик, который добавляет к индикаторам полученного урона вторую строчку с процентом этого самого урона от полной прочности моего танка. Скачать: ЯндексДиск GoogleDrive
  4. 6 points
    ЦА с картофельного форума,которые почему то считают,что им должны бесплатно моды пилить денно и нощно
  5. 6 points
    Обновление в отдельной форме Присутствует также CS-63, новый Польский СТ, увидеть его можно (пока) только на Общем Тесте. (на основу не влияет, так как там его ещё нет, Шкурки можно смело добавлять, за ранее, для будущего Обновления) ........................................................................................................ и снова огромное спасибо ребятам (reper74 & niZMo) за помощь!!! ....................................................................................................... Архивы будут обновлены только после выхода обновления 1.10.0 (в обработке ещё несколько начатых проектов)
  6. 5 points
    получите и распишитесь Обновление в отдельной форме архивы будут обновлены немного позже
  7. 5 points
    mod_tooltipsCountItemsLimitExtend.zip 2.01
  8. 5 points
    Скрипты для WoT 1.10.0.0CT: chancePenetration.py infoChargedShell.py
  9. 5 points
    Тестовая сборка - TIM b196. Теперь возможно использовать TIM с клиентом ниже версии 1.10.0
  10. 5 points
    https://wgmods.net/4873/ Исправляет невозможность записывать реплеи на WoT 1.10 CT3. Обратите внимание, что фикс предназначен именно для клиента Common Test 3. На релизе 1.10 ошибка с невозможностью записи реплеев уже будет исправлена. ---- Fixes the inability to record replays on WoT 1.10 CT3. Please note that this fix is for Common Test 3 client version only. WoT 1.10 release will already include a bug fix with the inability to record replays.
  11. 4 points
    Адаптированная для 2.92 версия. tank_viewer_alpha.7z
  12. 4 points
    Добавил в шапку аддон: Показать/скрыть чат в бою
  13. 4 points
  14. 4 points
    Man waths wrong with you? The work hard and made it. So many problem at this update :( MFG SicFunzler
  15. 4 points
    @night_dragon_on нужен фикс, так как ширина атласа стала по дефолту 4512 - это сегодня с микропатчем завезли такой размер. При массовом сохранении атласов ошибку выдает на размер атласа. Нужно в "еще" изменить в "ширина атласа" значение с 4096 на 4512.
  16. 4 points
    @night_dragon_on можно сделать одним трёхрядным виджетом, если есть время настроить: единственно что, я тут подумал, наверно стоит местами пинг с онлайном поменять, для красоты сервер онлайн пинг
  17. 4 points
    Обновил в шапке на всякий случай battleDamageIndicatorApp.swf.
  18. 3 points
    Решил собрать в одном месте свои мелкие скрипты (а то уже стал забывать, что делал, зачем делал). Для установка аддонов необходимо скопировать соответствующий скрипт (файл с расширением py) в папку \res_mods\configs\xvm\py_macro\ Список аддонов: Таймер Debug panel Размер миникарты Ограничение строк в чате Отключение лога уничтоженных (над миникартой) Маркер над своим танком Таймер для шестого чувства Название карты Команда захватившая базу Premium аккаунт Очки прочности своей техники Макросы для "ушей", маркеров и миникарты Онлайн статистика Начало боя Цвет границы карты Внутриигровой браузер Макросы плавного перехода цветов Информация о своей технике Перемотка реплея Режим прицела Скоростной режим в начале боя События по таймеру Быстрый выход из боя Показать/скрыть или включить/отключить чат в бою. Таймер: Данная модификация добавляет py_macro: {{py:xvm.leftTime(x)}} - возвращает 'lt', если после входа в бой прошло меньше x секунд, иначе возвращает пусто. Скрипт: timer.py Debug_panel: Данная модификация добавляет py_macro: {{py:xvm.fps}} - FPS в бою {{py:xvm.ping}} - возвращают ping {{py:xvm.fps_replay}} - при просмотре реплея возвращает FPS, который был в бою. В бою возвращает пусто. {{py:xvm.lag}} возвращает 'lag' или пусто. Скрипт: debugPanel.py Размер миникарты: Данная модификация добавляет py_macro: {{py:sizeMap}} - размер миникарты в пикселях. PY(ON_MAP_RESIZE) - событие срабатывает при изменении размера миникарты. Пример отображения панели эффективности слева от миникарты: "totalEfficiency": { "enabled": true, "updateEvent": "PY(ON_TOTAL_EFFICIENCY), PY(ON_MAP_RESIZE)", "screenVAlign": "bottom", "x": "{{py:math.sum({{py:xvm.screenWidth}},-70,-{{py:sizeMap}})}}", "y": -2, "width": 70, "height": "{{py:xvm.isStuns?120|96}}", "textFormat": { "size": 16, "align": "right" }, "format": "<textformat leading='4'><font color='{{py:xvm.totalDamage>0?{{py:xvm.totalDamageColor}}}}'>{{py:xvm.totalDamage}}</font> <img src='xvm://res/icons/Efficiency/damage.png' vspace='-2'><br>{{py:xvm.totalAssist}} <img src='xvm://res/icons/Efficiency/assist.png' vspace='-2'><br>{{py:xvm.totalBlocked}} <img src='xvm://res/icons/Efficiency/reflect.png' vspace='-2'><br>{{py:xvm.detection}} <img src='xvm://res/icons/Efficiency/discover.png' vspace='-2'><br>{{py:xvm.totalStun}} <img src='xvm://res/icons/Efficiency/stun.png' vspace='-2'></textformat>" }, Скрипт: minimapSize.py Ограничение строк в чате: Этот скрипт ограничивает количество строк в чате (в бою). Количество строк задается в самом скрипте, в 7 строке: makeSettingsVO['maxLinesCount'] = 2 Скрипт: messenger.py Отключение лога уничтоженных (над миникартой): Скрипт отключает вывод сообщений над миникартой. Скрипт: notShowBattleMessage.py Маркер над своим танком: Это переделанный и адаптированный под XVM мод от @MakcT40 (что-то он его подзабросил). Аддон добавляет маркер над техникой игрока. Для настройки необходимо добавить в файл markers.xc в секцию "markers" следующие строки: "playerMarkers": { //true - включен при старте "onStart": true, //клавиша включения/выключения маркера "keyCode": 49 }, Скрипт: playerMarker.py Таймер для шестого чувства: Данная модификация позволяет выводить таймер обратного отсчета при засвете. {{py:xvm.sixthSenseTimer(x)}} - возвращает оставшееся время после засвета, иначе пусто. Аргумент x - продолжительность отсчета. PY(ON_SIXTH_SENSE_SHOW) - событие срабатывает при засвете. Пример отображения отсчета поверх лампы засвета: "sixthSenseTimer": { "enabled": true, "updateEvent": "PY(ON_SIXTH_SENSE_SHOW)", "x": 0, "y": 260, "width": 60, "height": 50, "screenHAlign": "center", "shadow": { "distance": 1, "angle": 90, "alpha": 80, "blur": 5, "strength": 1.5 }, "textFormat": {"align": "center", "size": 40 }, "format": "{{py:xvm.sixthSenseTimer(10)}}" }, Скрипт: sixthSense.py Название карты Данная модификация добавляет py_macro: {{py:map.nameFile}} - название файла карты, на которой проходит бой. {{py:map.localeName}} - локализованное название карты, на которой проходит бой. {{py:map.kind}} - возвращает 'summer', если карта летняя, 'winter' - зимняя, 'desert' - пустынная. Пример отображение карты с разъездами (карты должны находиться в \res_mods\mods\shared_resources\xvm\res\ в формате PNG): "maps": { "hotKeyCode": 56, "onHold": true, "x": 200, "y": 550, "width": 500, "height": 500, "align": "center", "format": "<img src='xvm://res/{{py:map.nameFile}}.png'>" }, Скрипт: maps.py Команда захватившая базу: Данная модификация добавляет py_macro: {{py:teamCaptured}} - возвращает 'ally' - если захватили союзники, 'enemy' - если захватили противники, иначе возвращает пусто. Через десять секунд после захвата, макрос вновь начнет возвращать пусто. PY(ON_CAPTURED) - событие срабатывает, если какая-либо из команд захватила базу. Скрипт: capture.py Premium аккаунт: Данная модификация добавляет py_macro: {{py:prem.timeLeft}} - возвращает оставшееся количество дней или часов (если осталось меньше 24 часов) до окончания премиум аккаунта (ПА). Если ПА закончился, то возвращает пусто. {{py:prem.timeMetric}} - возвращает в русской локализации "д." или "ч." (если осталось меньше 24 часов) . Если ПА закончился, то возвращает пусто. {{py:prem.timeLeftDays}} - возвращает оставшееся количество дней до окончания премиум аккаунта (ПА). Если ПА закончился, то возвращает пусто. {{py:prem.timeLeftHours}} - возвращает оставшееся количество часов (от 0 до 23) до окончания премиум аккаунта (ПА). Если ПА закончился, то возвращает пусто. {{py:prem.timeLeftMinutes}} - возвращает оставшееся количество часов (от 0 до 59) до окончания премиум аккаунта (ПА). Если ПА закончился, то возвращает пусто. {{py:prem.premType}} - возвращает 'plus' или 'basic' в зависимости от типа активного премиум аккаунта, иначе пусто PY(ON_INFO_PREMIUM) - событие для обновления данных макросов. Скрипт: infoPremium.py Очки прочности своей техники: Данная модификация добавляет py_macro: {{py:my_hp.health(norm)}} - если параметр norm не задан, то возвращает количество оставшихся очков прочности. Иначе возвращает нормализованное значение очков прочности; {{py:my_hp.maxHealth}} - максимальное количество очков прочности; {{py:my_hp.dmg}} - последний полученный урон. PY(ON_MY_HP) - событие для обновления данных макросов. Пример для отображения полоски HP под панелью снарядов: 1) В файл battleLabels.xc добавить: ${ "battleLabelsTemplates.xc":"def.hpBar"}, ${ "battleLabelsTemplates.xc":"def.hpBar_Background"}, ${ "battleLabelsTemplates.xc":"def.hpBar_text"} 2) В файл battleLabelsTemplates.xc добавить: "hpBar": { "enabled": true, "updateEvent": "PY(ON_MY_HP)", "x": "{{py:math.sum(-248,{{py:math.div({{py:my_hp.health(496)}}, 2)}})}}", "y": -4, "width": "{{py:my_hp.health(496)}}", "height": 14, "bgColor": "{{py:my_hp.health(100)>75?0x00AF00|{{py:my_hp.health(100)>50?0xCB9E00|{{py:my_hp.health(100)>25?0xF66700|0xD22A00}}}}}}", "screenVAlign": "bottom", "screenHAlign": "center" }, "hpBar_Background": { "enabled": true, "x": 0, "y": -2, "width": 502, "height": 20, "screenHAlign": "center", "screenVAlign": "bottom", "format": "<img src='xvm://res/my_hp_bar/hpBar_Background.png'>" }, "hpBar_text": { "enabled": true, "updateEvent": "PY(ON_MY_HP)", "x": 0, "y": -2, "width": 100, "height": 20, "screenHAlign": "center", "screenVAlign": "bottom", "textFormat": { "align": "center" }, "format": "<font size='14' color='#00E5FD'>{{py:my_hp.health}}/{{py:my_hp.maxHealth}}</font>" } 3) Для смещения панели снарядов и расходников, в файле elements.xc добавить секцию: "consumablesPanel": { "$delay": 4000, "y": "{{py:math.sub({{py:xvm.screenHeight}}, 80)}}" } Если панель снарядов и расходников не сдвигается, попробуйте увеличить значение параметра "$delay". 4) Файл hpBar_Background.png (подложка) скопировать в \res_mods\mods\shared_resources\xvm\res\my_hp_bar\ hpBar_Background.zip Скрипт: myHP.py Макросы для "ушей", маркеров и миникарты: Данная модификация добавляет py_macro: {{py:killerName('{{name}}')}} - имя игрока уничтожившего данную технику; {{py:killerVehicle('{{name}}')}} - название техники игрока уничтожившего данную технику; {{py:reloadVehicle('{{name}}')}} - время перезарядки орудия (не таймер); {{py:visionRadius('{{name}}')}} - табличный обзор техники; {{py:piercingPower('{{name}}')}} - средняя бронепробиваемость основного снаряда; {{py:shellDamage('{{name}}')}} - средний урон основного снаряда; {{py:isHardening('{{name}}')}} - возвращает 'hardening' для техники с установленным оборудованием 'Улучшенная закалка', иначе пусто. Пример использование данных макросов. Скачать: collection.py Онлайн статистика: Данная модификация позволяет изменить внешний вид онлайн статистики в ангаре. Для использования данной модификации в файл hangar.xc в секцию "serverInfo" необходимо добавить: // заменяет отображение названия сервера и количество игроков на сервере. // можно использовать макросы: {{serverName}}, {{clusterUsers}}, {{total}}, {{regionUsers}}. "clusterStats": "<font color='#FFFFFF'>{{serverName}}: {{clusterUsers}}</font>", // заменяет отображение "Всего" и количество игроков на кластере. // можно использовать макросы: {{serverName}}, {{clusterUsers}}, {{total}}, {{regionUsers}}. "regionStats": "<font color='#FFFFFF'>{{total}}: {{regionUsers}}</font>" Значение макросов: {{serverName}} - название сервера; {{clusterUsers}} - количество игроков на сервере; {{total}} - локализованное слово "Всего". {{regionUsers}} - количество игроков на кластере. Скрипт: onlineStats.py Начало боя: Данная модификация добавляет py_macro: {{py:isBattle}} - возвращает 'battle', если бой начался, иначе пусто. PY(ON_BEGIN_BATTLE) - событие для обновления макроса {{py:isBattle}}. Скрипт: beginBattle.py Цвет границы карты: Данная модификация позволяет изменять цвет границы карты. Для использования данной модификации в файл battle.xc в секцию "battle" необходимо добавить: // Настройка цвета границы карты "borderColor": { "color": "0x00ff00", "alpha": 100 }, Скачать: borderColor.py Внутриигровой браузер: На данный момент не работает. Данная модификация позволяет открыть ссылку во внутриигровом браузере. Аддон добавляет следующие py_macro: {{py:ob.highlight}} - возвращает 'highlight', если курсор мышки находится над полем, иначе пусто. {{py:ob.address(url)}} - параметр 'url' задает адрес открываемого сайта. PY(ON_OPEN_BROWSER) - событие для обновления данных макросов. "openBrowser_Down", "openBrowser_Over", "openBrowser_Out" - обработчики событий мыши. Пример использования: В файл widgets.xc в секцию "lobby" добавить строку: ${ "widgetsTemplates.xc":"openBrowser" } В файл widgetsTemplates.xc.xc добавить секцию: "openBrowser": { "enabled": true, "layer": "top", "type": "extrafield", "formats": [ { "updateEvent": "PY(ON_OPEN_BROWSER)", "screenHAlign": "center", "x": 300, "y": 1, "width": 90, "height": 20, "textFormat": { "color": "{{py:ob.highlight?0x3B95FF|0xD8B44E}}", "size": 14}, "format": "<u>Korean Random</u>{{py:ob.address('https://koreanrandom.com')}}", "mouseEvents": {"mouseDown": "openBrowser_Down", "mouseOver": "openBrowser_Over", "mouseOut": "openBrowser_Out"} } ] } Скрипт: openBrowser.py Макросы плавного перехода цветов: Аддон добавляет макросы плавного перехода цветов: {{py:dynamic_colorRGB(color_100, color_0, percent, maximum)}} {{py:dynamic_colorRBG(color_100, color_0, percent, maximum)}} {{py:dynamic_colorGRB(color_100, color_0, percent, maximum)}} {{py:dynamic_colorGBR(color_100, color_0, percent, maximum)}} {{py:dynamic_colorBRG(color_100, color_0, percent, maximum)}} {{py:dynamic_colorBGR(color_100, color_0, percent, maximum)}} {{py:dynamic_color(color_100, color_0, percent, maximum)}} Если параметр maximum не задан, то считается что он равен 100. Программа для облегчения выбора нужного вам макроса: Color.exe Скрипт: colorMacros.py Информация о своей технике: {{py:isWheeledTech}} - возвращает 'wheel' если техника колесная, иначе пусто; {{py:hasSiegeMode}} - возвращает 'siege' если техника может переходить в осадный режим, иначе пусто; {{py:hasAutoSiegeMode}} - возвращает 'autosiege' если техника может автоматически переходить в осадный режим, иначе пусто; {{py:isDualGun}} - возвращает 'dual' если техника имеет два орудия, иначе пусто; {{py:isAutoReload}} - возвращает 'auto' для техники с механизмом дозарядки, иначе пусто; {{py:hasTurboshaftEngine}} - возвращает 'turbo' для техники с газотурбинным двигателем, иначе пусто; {{py:isClip}} - возвращает 'clip' для техники с барабаном заряжания, иначе пусто; {{py:featureVehicle(v1, v2, v3, v4, v5, v6, v7)}} - возвращает: для колесной техники - v1, если значение не задано - 'wheel'; для техники имеющей осадный режим - v2, если значение не задано - 'siege'; для техники автоматически переходящей в осадный режим - v3, если значение не задано - 'autosiege'; для двухствольной техники - v4, если значение не задано - 'dual'; для техники с механизмом дозарядки - v5, если значение не задано - 'auto'; для техники с газотурбинным двигателем - v6, если значение не задано - 'turbo'; для техники с "барабаном" - v7, если значение не задано - 'clip'. {{py:invisibilityMove}} - коэффициент незаметности в движении. На реплеях, или если зашли в бой не из ангара, не учитываются перки экипажей. Скрипт: infoMyVehicle.py Перемотка реплея: Аддон расширяет возможности перемотки реплеев: стрелка вправо/влево - перемотка на 20 секунд; SHIFT + стрелка вправо/влево - перемотка на 1 минут; CTRL + стрелка вправо/влево - перемотка на 2 минуты; ALT + стрелка вправо/влево - перемотка на 5 минут. Скрипт: rewindRepeat.py Режим прицела: {{py:aim.mode(v1, v2, v3)}} - возвращает v1 - в аркадном , v2 - в снайперском, v3 - в стратегическом (артиллерийском) режиме прицела, если значения v1, v2, v3 не заданы, то возвращает 'arc' - в аркадном, 'sn' - в снайперском, 'str' - в стратегическом (артиллерийском) режиме прицела; {{py:aim.y(shift)}} - возвращает расстояние по оси y между центром экрана и центром прицела в пикселях, в зависимости от режима прицела. Параметр 'shift' позволяет задать смещение от центра прицела по оси y. {{py:aim.netType(v1, v2, v3, v4)}} - тип выбранной сетки прицела. В стратегическом режиме возвращает пусто. В аркадном и снайперском режимах возвращает: для "диагонального" - v1, если значение не задано - 'diagonal'; для "горизонтального" - v2, если значение не задано - 'horizontal'; для "радиальный" - v3, если значение не задано - 'radial'; для "пунктирный" - v4, если значение не задано - 'dotted'. PY(ON_AIM_MODE) - событие срабатывает при смене режима прицела. Скрипт: aimingSystem.py Скоростной режим в начале боя: При установке данного скрипта, в начале боя будет включаться скоростной режим, если техника поддерживает данный режим. Скрипт: enableAutorotation.py События по таймеру: Дополнение позволяет создавать свои события, которые будут обновлять поля через указанный промежуток времени. Для создания своих событий необходимо: 1) в файл @xvm добавить ссылку: "events": ${"events.xc":"events"}, 2) создать файл events.xc в папке со своим конфигом содержащим: { "events": { // события для боя "battleTimers": [ ], // события для ангара "hangarTimers": [ ] } } 3) добавить в секцию "battleTimers" события для боя (battleLabels), в секцию "hangarTimers" - для ангара (widgets). Пример: { "events": { // события для боя (battleLabels) "battleTimers": [ // "period" - период в секундах, через которое будет обновляться поле // "name" - нахвание события {"period": 5, "name": "ON_EVENT_5"}, {"period": 10, "name": "ON_EVENT_10"} ], // события для ангара (widgets) "hangarTimers": [ {"period": 30, "name": "ON_EVENT_30"}, {"period": 60, "name": "ON_EVENT_MINUTE"} ] } } После этого в battleLabels можно будет использовать события PY(ON_EVENT_5) и PY(ON_EVENT_10), поля будут обновляться каждые 5 и 10 секунд соответственно. А в widgets - события PY(ON_EVENT_30) и PY(ON_EVENT_MINUTE), поля будут обновляться каждые 30 и 60 секунд. Скрипт: timerEvents.py Быстрый выход из боя: Дополнение позволяет назначит клавишу для быстрого выхода из боя, если выход не повлечет штраф за "дезертирство". Пример использования: Для выхода из боя по клавиши F4 в файл hotkeys.xc нужно добавить: "quicklyLeave": { "enabled": true, "keyCode": 62, "modifier": "ctrl"} Параметр "modifier" - клавиша-модификатор может принимать значения: "none", "shift", "ctrl", "alt". Скрипт: quicklyLeave.py Показать/скрыть или включить/отключить чат в бою: Дополнение позволяет назначит клавишу для скрывания и/или включения/отключения чата в бою. Пример использования: Чтобы скрыть/показать чат в бою по клавиши H в файл hotkeys.xc нужно добавить: "hideBattleChat": { "enabled": true, "keyCode": 35, "modifier": "none"} Для отключения чата в бою по клавише O в файл hotkeys.xc нужно добавить: "disableBattleChat": { "enabled": true, "keyCode": 24, "modifier": "none"} Параметр "modifier" - клавиша-модификатор может принимать значения: "none", "shift", "ctrl", "alt". Скрипт: hideBattleChat.py
  19. 3 points
    Приветствую всех. Т.к. дискуссии не получилось, сокращу первый пост. Сам же продолжу неспешно делать мод, в теме буду выкладывать прогресс разработки. Что за мод? Мод для возможности запуска клиента игры без подключению к серверу. Что сделано на данный момент. Запуск ангара со всей техникой, с генерацией которой не возникло ошибок (без шведских ПТ с осадным режимом). Общая информация. На данный момент использую версию 0.9.22.0.1, это последняя версия перед патчем 1.0, потому что, начиная с 1.0 были какие-то изменения в сетевом протоколе, а мне не хочется разбираться, что именно поменяли. Всё ещё очень сырое, работает до первой внештатной ситуации, абсолютные пути прописаны прямо в коде, запуск из отладчика и прочие радости debug версии. Реализовал загрузку ангара, добавил почти всю технику и экипаж к ней. Много каких-то непонятных для меня ошибок, т.к. не мододел и с питоном достаточно плохо знаком. Например, при создании техники шведских ПТ с осадным режимом, возникает ошибка создания на сервере. При выборе в ангаре некоторой техники, возникает ошибка уже в клиенте, что, в некоторых случаях, странно, потому что выбираю существующую в игре технику, например, ELC EVEN 90 или 268/4. В логе ошибка "list index out of range", а отладчик питона к клиенту не умею цеплять. Что забавно, Waffentrager E100 выбирается без проблем. А VK168.02 Mauerbrecher опять с той же ошибкой. Или ещё недочёт, на 10 уровне у техники не исследованы модули, этого, видимо, ещё не реализовал для команды CMD_SYNC_DATA, а может это ещё где-то содержится. Много времени уходит на то, чтобы понять, что и где содержится и откуда это достать. С созданием техники провозился очень долго, мне, как сишнику, крайне не привычен питон, в котором любой объект содержит всё, что угодно, и понять, что именно, надо долго искать, где он создаётся, что в него записывается. А в итоге строка вида "for veh_item in vehicles.g_list.getList(i).values()", чтобы достать compactDescr. Ах да, ещё и распарсить надо, items.parseIntCompactDescr, хотя где-то лежат уже нужные нация и id техники. На скринах стату показывать бесполезно, там 0 боёв и 100500 рейтинга, как и везде, чего мелочиться-то. Она не из CMD_SYNC_DOSSIERS берётся, видимо, а из CMD_SYNC_DATA. Сейчас только ангар. И прогресс моих ЛБЗ на момент записи трафика.
  20. 3 points
    Тут ввели новый экспериментальный режим Разведка боем Стоит ли на нём заморачиваться (адаптировать скрипты аддонов) либо нужно отключить? имхо: режим по типу "стандартного" и думаю стоит адаптировать
  21. 3 points
    This is Speed.xc the xc file will show your tanks top speed forward and reverse , above the damage panel. You will always know what your tanks top speed is . I will update file when new Tanks are added. Add this text to config file. @xvm.xc "speed": ${"speed.xc":"speed"}, battleLabels.xc ${ "battleLabelsTemplates.xc":"def.speed"} battleLabelsTemplates.xc }, "speed": { "enabled": true, "layer": "bottom", "x":80, "y": "{{battletype-key=epic_battle?-280|-244}}", "width": 80, "height": 22, "alpha": 100, "screenVAlign": "bottom", "shadow": {"color":"0x000000", "distance": 1, "angle": 90, "alpha": 60, "blur": 5, "strength": 3 }, "format": "{{.speed.{{vehiclename}}}}" }, SPEED.XC Hawg's Boot Camp WOT Discord Mod Tech & Questions , WOT Chat  Tank speeds with decimal point was rounded down to whole number. Speed.xc Created By Hawg > Hawg's Alternative Xvm & One-fifty > Blue Moon Modifications Format Created By HEKPOMAHT Speed Data Source http://wiki.wargaming.net/en/Main_Page Hawgs Alternative Xvm
  22. 3 points
    Раздача для Steam Раздача продлится до 30 мая 2021-го (20:00 МСК). Little Nightmares Вам необходимо: Открыть клиент Steam. Перейти на страницу игры в магазине. Нажать кнопку "Добавить на аккаунт". Теперь игра навсегда останется на вашем аккаунте.
  23. 3 points
    Навигация по теме: Установка и знакомство Подсветка синтаксиса Установка Файл расширения Расширения Список и ссылки на расширения Настройка некоторых расширений Темы Некоторые возможности редактора Горячие клавиши Решил я попробовать использовать Visual Studio Code (VSC) для редактирования файлов конфигурации XVM. Сам я им только начал пользоваться (до этого использовал Notepad++), поэтому буду рад, если желающие поделятся опытом работы в нем. У меня пока только положительные впечатления от работы в нем. Итак, согласно Википедии: Скачать дистрибутив можно с официальной страницы. После установки имеем: Первое, что захотелось сделать, это русифицировать интерфейс. Для этого кликаем по иконке Extensions (Расширения) на левой панели и набираем в строке поиска Russian Language Pack. В первой строчке будет нужный нам результат. Нажимаем Install и после установки расширения перезапускаем программу. Теперь откроем папку с нашим конфиг XVM (Файл->Открыть папку...). VSC из "коробки" поддерживает языковой режим "JSON с комментариями" (файлы конфигурации XVM это немного расширенный формат JSON с поддержкой комментариев). Если языковой режим не определился автоматически, то нужно кликнуть в правом нижнем углу и выбрать в списке "JSON with Comments". Что же, неплохо, но это несложно сделать и в Notepad++. Приступим к поиску полезных и не очень расширений (список в конце сообщения). В результате установки и небольшой настройки расширений перечисленных в списке ниже, у меня получился следующий вид: Хорошо заметны отступы, блоки кода и концевые пробелы, выделены парные скобки и теги. Единственное, что смущает это скудная подсветка синтаксиса. Немного покурив Google, сделал подсветку для файлов *.xc. В разных темах она может выглядеть по разному. В стандартной темной теме она выглядит так: Для установки данной подсветки необходимо: скачать файл xc-X.X.X.vcix (файл находиться в конце сообщения), где X.X.X - версия расширения запустить VSC в право верхнем углу панели "Расширения" (Ctrl + Shift + X) нажать кнопку в выпавшем меню выбрать пункт "Установка из VSIX..." и выбрать скачанный файл После этого в панели "Расширения" у вас должно появиться расширение: Расширения: Существует несколько способов установки расширений. Для меня самый простой способ это пользоваться поиском расширений в самой программе. Bracket Pair Colorizer 2 - добавляет подсветку для скобок, окружающих блоки кода. indent-rainbow - расширение делает отступы более читабельными. Indenticator - еще одно расширение помогающее облегчить восприятия блоков (секций) кодов. Subtle Match Brackets - выделяет парные скобки возле которых находиться курсор. Color Highlight - подсвечивает CSS / веб-цвета, найденные в вашем документе. К сожалению на данный момент не поддерживает цвета в виде 0xFFFFFF, хотя судя по репозиторию попытки были (Пересобрал данное расширение, теперь поддерживает цвета в виде 0xFFFFFF. Скачать расширение можно в конце данного сообщения). Trailing Spaces - выделяет и может удалять конечные пробелы (ALT+SHIFT+T). Highlight Matching Tag - выделения соответствующих открывающих или закрывающих тегов. Russian - Code Spell Checker - русский словарь проверки орфографии. Вместе с ним установиться Code Spell Checker и английский словарь. TabSpacer - конвертирует табы в пробелы (Ctrl + Shift + T). Project Manager - менеджер проектов. Будет полезен, если вы настраиваете несколько конфигураций. Path Autocomplete - автозаполнение пути к каталогам и файлам. Markdown Preview Enhanced - предпросмотр файлов в формате Markdown. Пригодится для редактирования файлов README.md на GitHub или BitBucket. (Ctrl + K, V или Ctrl + Shift + V) L13 Diff - Сравнение двух папок (Ctrl + L Ctrl + L). Почти все расширения имеют настройки (Файл->Параметры->Параметры->Расширения). Темы (переключаться между темами можно сочетанием CTRL+K, CTRL+T): Atom One Dark Theme Solarized Custom (3 темы) Yi Dark & Yi Light Themes (2 темы) Расширение для подсветкой синтаксиса файлов конфигурации XVM: xc-1.0.0.vsix Пересобранное расширение Color Highlight: color-highlight-2.3.1.vsix
  24. 3 points
    Математическая модель платформы Стюарта. Давайте реально рассчитаем нашу платформу для средней части туловища будущего робота. Ниже две вырезки из замечательной книги «Анатомия для скульпторов», которые отображают места и площади срезов в женском теле человека. Расстояния между зеленым и фиолетовыми срезами - равно примерно стандартной единице измерения человеческого тела (голова) - в нашем случае это 125 мм. (для робота ростом 1 м и идеальным соотношением голов к росту в 8 единиц). Спасибо создателям этой книги - в этом рисунке они постарались учесть пропорции и размеры по максимуму - и можно говорить что в фиолетовый и зеленый срезы можно примерно вписать окружность с диаметром 100 мм. Эти начальные параметры мы и берем за основу - расчетная высота нашей платформы будет 125, а расчетные окружности основной и подвижной плоскостей с диаметром 100 или радиусом 50 мм. Получилось как то так. Угол между точками составляет 15° (где есть отрезок) и 105°. подвижная платформа смещена по оси Z на 60 градусов. Весь смысл приведения в движение платформу - нахождение длин отрезков совмещающих точки на основной и подвижной плоскостях, ну и в нашем случае приведение актюаторов в правильное соответствие, я эти отрезки отобразил также. Давайте условимся сразу об именовании точек, соединяющих точки основы и подвижной части - предлагаю отрезки назвать по цветам белый-черный-красный-синий-зеленый-желтый и принадлежность основа-подвижный, таким образом точки у нас будут: white_base_p; white_move_p; black_base_p; black_move_p; red_base_p; red_move_p; blue_base_p; blue_move_p; green_base_p; green_move_p; yelow_base_p; yellow_move_p. Ну и соответственно отрезки: white; black; red; blue; green; yellow. Если посмотреть внимательней - для основы это трехмерные векторы с началом в точке O, которая будет являться у нас началом координат всей платформы и в этом случае искомые точки для базы у нас равны координатам векторов. Например на моем рисунке выше, где у есть обозначение длины отрезка этот вектор будет с координатами (50, 0, 0), и точка имеет эти координаты. Так как у нас точки все лежат на одной плоскости и не двигаются по оси Z - мы не берем это в расчет. Формулы для нахождения координат вектора при повороте на угол Ɵ ниже, знак выбирается в зависимости от системы координат - правосторонняя или левосторонняя, в формуле так же нужно использовать радианы, вместо градусов . Забьем эти формулы в табличку и получим следующие значения координат точек для базовой платформы. x y z angle white_base_p 50,0000 0,0000 0,0000 0 black_base_p 48,2963 -12,9410 0,0000 15 red_base_p -25,0000 -43,3013 0,0000 120 blue_base_p -35,3553 -35,3553 0,0000 135 green_base_p -25,0000 43,3013 0,0000 -120 yelow_base_p -12,9410 48,2963 0,0000 -105 blue_move_p -50,0000 0,0000 125,0000 0 green_move_p -48,2963 12,9410 125,0000 15 yellow_move_p 25,0000 43,3013 125,0000 120 white_move_p 35,3553 35,3553 125,0000 135 red_move_p 12,9410 -48,2963 125,0000 -105 black_move_p 25,0000 -43,3013 125,0000 -120 Вот теперь мы можем вычислить наши отрезки, для этого найдем вектор начало которого будет на основе, а конец на подвижной части и найдем модуль этого вектора. В принципе можно просто искать отрезок - формулы одинаковы, но будем использовать векторы. x y z length white -14,6447 35,3553 125,0000 130,7267 black -23,2963 -30,3603 125,0000 130,7267 red 37,9410 -4,9950 125,0000 130,7267 blue -14,6447 35,3553 125,0000 130,7267 green -23,2963 -30,3603 125,0000 130,7267 yelow 37,9410 -4,9950 125,0000 130,7267 Ну вроде все правильно - у нас получилось что все отрезки в стартовом состоянии равны 131 мм. Посмотрим на чертеж линейных актюаторов из поднебесной. Китайцы делают их с ходом 10, 21, 30, 50 и 100 мм. Начальное состояние у нас должно быть для актюатора где-то не в самом начале, а примерно посередине, чтобы должна быть возможность хода в обе стороны. Таким образом для хода в 50 мм у нас получиться (для центра отверстий): ; . Т.е. 131 мм. - как раз чуть больше середины: . Теперь думаю понятно что перемещая или вращая подвижную часть относительно базы, нам нужно вычислять соответствующие точки, затем вычислять по ним модуль векторов (отрезков) и выдвигать актюаторы на нужную длину. Здесь есть несколько проблем, заранее нужно условится, что расчет будет всегда происходить от начального состояния и первым мы делаем расчет вращения подвижной части, а затем применяем к ней перемещение . С перемещением подвижной части все относительно просто - берем вектор , где начальная точка с координатами , а ' конечная точка и перемещаем все наши точки по формуле: А вот с вращением все немного интереснее. Углы Крылова или Эйлера имеют ограничения в виде определенности последовательности поворотов и так называемый «шарнирный замок» - так что будем использовать кватернионы. Находим векторы в начальном состоянии - это просто, нужно от конечной точки отнять конечную. x y z blue_move_v -50 0 0 green_move_v -48,2963 12,941 0 yellow_move_v 25 43,3013 0 white_move_v 35,3553 35,3553 0 red_move_v 12,941 -48,2963 0 black_move_v 25 -43,3013 0 Для поворота вектора кватернионом необходимо: Создать кватернион из нашего вектора, добавив к нему скалярную нулевую часть blue_move_q = (0, 50, 0, 0) (как пример). Кватренион состоит из скалярной части qw и векторной qx, qy, qz. Умножить наш кватернион поворота на созданный и затем умножить на сопряженный blue_move_q' = q • blue_move_q • . Таким образом мы применяем поворот, который описывает наш кватернион к вектору. Отбрасываем скалярную часть чтобы получить наш повернутый вектор blue_move_v'. Так как у нас используется нулевая скалярная часть, и для получения вектора она нам тоже не нужна - умные люди сильно упростили данное вычисление и оно выполняется быстрее. Где - исходный вектор, - векторная часть кватерниона, - скалярная часть кватерниона, - произведение, • - скалярное произведение и - искомый вектор. Вернемся к нашей платформе, мы будем получать два кватерниона для робота - один говорит нам о повороте основы в глобальном пространстве, второй о повороте подвижной части. Для получения поворота подвижной части в координатах основы (то как повернуть подвижную часть нужно относительно координат основы) необходимо кватернион основы умножить на кватернион подвижной части и мы получим кватернион который описывает вращение как будто основа у нас неподвижна и находиться в центре координат. Формула умножения: ; Где - векторное произведение, а - скалярное. Приводить полную формулу не буду - легко гуглиться ;) Итак, у нас есть кватернион поворота для локальной системы координат подвижной части платформы, базовый для расчета берем тождественный, с координатами (1, 0, 0, 0). Давайте разберем на примере что куда в табличках. Возьмем кватернион, который описывает в углах Эйлера поворот по всем осям на 15° - q(0.972, 0.145, 0.111, 0.145) и повернем векторы подвижной части платформы на него. x y z blue_move_v_q -46,665 -15,704 8,687 green_move_v_q -48,307 -3,316 12,455 yellow_move_v_q 12,521 47,511 9,256 white_move_v_q 24,170 43,486 4,962 red_move_v_q 24,137 -40,170 -17,417 black_move_v_q 34,145 -31,808 -17,943 Для того чтобы получить наши точки концов векторов необходимо к значениям координат вектора прибавить координаты точки начала, в нашем случае при любых поворотах она осталась прежней с координатами (0, 0, 125), таким образом нам необходимо только скорректировать столбец с Z. x y z blue_move_p -46,665 -15,704 133,687 green_move_p -48,307 -3,316 137,455 yellow_move_p 12,521 47,511 134,256 white_move_p 24,170 43,486 129,962 red_move_p 24,137 -40,170 107,583 black_move_p 34,145 -31,808 107,057 Так а что относительно перемещения? Так как основная идея робота максимально пробовать использовать физиологию человека, то моя идея такова. У нас есть еще один вектор - соединяющий центр основы и подвижной части, что-то наподобие позвоночника у человека. В итоге когда мы двигаем телом верхняя часть туловища и нижняя взаимосвязаны, та часть позвоночника между этими частями всегда принимает какое-то промежуточное значение между положениями верхней и нижней части туловища. Мы попробуем поступить так же. Сумма двух кватернионов даст нам «средний» поворот между двумя. Именно этот кватернион будет применятся к вектору между центрами, таким образом получим новый вектор, который соединяет два центра основы и подвижной части платформы, отняв от которого существующий базовый можно получить наш вектор перемещения. w x y z q 0,9723 0,1452 0,1114 0,1452 q_middle_norm 0,9931 0,0731 0,0561 0,0731 q_middle 1,9723 0,1452 0,1114 0,1452 q_base 1,00 0,00 0,00 0,00 center_v 0,00 0,00 125,00 center_v_q 15,26142 -17,12509 122,87726 center_move_v 15,26142 -17,12509 -2,12274 Теперь можно рассчитать нужные нам точки для подвижной платформы, векторы от нижней к верхней платформе и их модули (т.е. длину отрезков). x y z length white -10,5906 26,3752 127,8356 130,9571 black 1,1160 -35,9661 104,8885 110,8891 red 64,4099 -13,9746 105,4204 124,3277 blue 3,9661 2,4949 131,6004 131,6838 green -23,2964 -63,7759 135,3758 151,4486 yelow 40,7022 -17,9041 132,1429 139,4237 Ну вроде как вкладываемся в ход актюаторов ;) В общем как-то так. P.S. Пошу прощения, делал все в текстовом редакторе - немного поломалась разметка ;)
  25. 3 points
  26. 3 points
  27. 3 points
    fix: change @overrideMethod(ConsumablesPanel, '_ConsumablesPanel__makeShellTooltip') def ConsumablesPanel__makeShellTooltip(base, self, descriptor, piercingPower, shotSpeed): to overrideMethod(ConsumablesPanel, '_makeShellTooltip') def ConsumablesPanel_makeShellTooltip(base, self, descriptor, piercingPower, shotSpeed):
  28. 3 points
  29. 3 points
    Актуально для XVM 8.7.9 World of Tanks 1.12.1.2 Значение полей: Особенности: Таймер перезарядки показывает красным цветом время до конца перезарядки. Когда снаряд заряжен, показывает "ОК" для цикличных танков, или время перезарядки снарядов внутри барабана. Ниже показывается полное время перезарядки снаряда или барабана. Поле дистанции до цели/точки прицеливания становится красным при наведении прицела на цель: Количество и тип снарядов окрашены цветом голдовости снаряда. Когда снарядов остается <=5, цифры кол-ва становятся красными: Конфиг 08-06-2021.zip Необходимые скрипты: chancePenetration.py (Вероятность пробития) reloading.py (Перезарядка орудия) quantityShells.py (Количество снарядов) infoChargedShell.py (Информация о текущем снаряде) targetInfo.py (Информация о технике в прицеле) markerPosition.py (Точка прицеливания) aiming.py (Сведение) Из темы Сборник py_macro: aimingSystem.py (Режим прицела) myHP.py (Очки прочности своей техники) colorMacros.py (Макросы плавного перехода цветов)
  30. 2 points
    Раздача для Epic Games Store Раздача продлится с 08 до 15 июля 2021-го (18:00 МСК). Bridge Constructor: The Walking Dead Вам необходимо: Зайти на сайт. Зарегистрироваться / Войти. Добавить игру на аккаунт на странице акции. После этого продукт навсегда привязывается к учетной записи. Установить его можно будет при помощи фирменного лаунчера Epic Games. Раздача для Epic Games Store Раздача продлится с 08 до 15 июля 2021-го (18:00 МСК). Ironcast Вам необходимо: Зайти на сайт. Зарегистрироваться / Войти. Добавить игру на аккаунт на странице акции. После этого продукт навсегда привязывается к учетной записи. Установить его можно будет при помощи фирменного лаунчера Epic Games.
  31. 2 points
    Support XVM on patreon and get auto-renewal. Easy.
  32. 2 points
  33. 2 points
    Хочу предложить добавить в sounds отключение (замену на стандартную) озвучки Буффон. Народ задавал вопрос на оф. форуме по этому поводу, глобальный модератор дал ответ: Это "фича" - уникальный командир танка со своей озвучкой, поменять на "стандартную" увы - нельзя. У кого-то он уже есть, а после футбола появится у многих. Функция будет 100% востребована.
  34. 2 points
    Entry point for WZ QL: https://github.com/StranikS-Scan/WorldOfTanks-Decompiled/blob/1.13/source/res/scripts/item_defs/vehicles/china/Ch41_WZ_111_QL.xml Interesting place (maybe): <effects> shot_ch41 </effects> Maybe the answer is here? res\packages\particles.pkg\particles\Tank\shots\shot_ch41.effbin
  35. 2 points
    Добавил в шапку аддон: Быстрый выход из боя.
  36. 2 points
    Обновлен скрипт infoMyVehicle.py. Исправлена ошибка в макросе {{py:invisibilityMove}}.
  37. 2 points
    ShuraBB! 1.12.1.0 не пускает в игру, постоянно крутится шестерёнка.
  38. 2 points
  39. 2 points
    Так, скоро микропатч, обнову буду сейчас делать и отправлять. Ничего не измениться, только название папки в архиве. Release 3 уже готовиться и настраивается, придется подождать еще ~2-3 дня. UPD[23:46]: Пока секции для нового микропатча не завезли, мб завтра будет UPD[12:07]: Наврал немного по поводу изменений, будет введена национальная озвучка, в отдельном моде она тоже будет обновлена!
  40. 2 points
    Отличные новости! Национальной озвучку БЫТЬ! Спасибо @Andre_V за помощь с пониманием этой всей хренотени
  41. 2 points
    обновлено под новый патч
  42. 2 points
    0.1.4 Поддержка WoT 1.7.0 0.1.5 добавлена поддержка 64-разрядного клиента 0.1.6 исправлен вылет клиента на некоторых конфигурациях 0.1.7 исправлена несовместимость с модом OffHangar https://bitbucket.org/IzeBerg/mod_offhangar 0.1.8 изменён подход к подписке на функции IDXGISwapChain NVIDIA_Ansel_v0.1.8.zip --- Также засветилось тут :)
  43. 2 points
    Раздача для Uplay UBISOFT ПРОВОЖАЕТ 2020 ГОД И КАЖДЫЙ ДЕНЬ С 14 ПО 18 ДЕКАБРЯ ГОТОВИТ ДЛЯ ВАС ПОДАРКИ НОВЫЕ ПОДАРКИ КАЖДЫЙ ДЕНЬ! 15 декабря: Starlink: Battle for Atlas™ Digital Edition 17 декабря: Trials® Rising Standard Edition Вам необходимо: Переходим по ссылке выше. Жмем на иконку PC. Если появилась надпись: “Congratulations! The game has been successfully added to your Uplay library.” Игра навсегда привязана к вашему аккаунту
  44. 2 points
    Всем привет и с наступающим НГ !!! По просьбе @rpabapuk объединил этот мод с одним из своих модов для иконок танков, иконки вот такие: Так что если кому будет интересно заходите, смотрите, может быть и другие модики вам приглянутся ;)
  45. 2 points
    Ещё немного доработан скрипт.
  46. 2 points
    @Kibersen , как более менее стабильный XVM будет, тогда залью обновление.
  47. 2 points
  48. 2 points
    17.08.20 Обновлена сборка модов: * Обновлено для версии игрового клиента v1.10.0.1* Обновлён мод "Комплексный мод XVM" до версии v8.6.1-dev (0022)
  49. 2 points
    17.08.20 Обновлен конфиг: * Адаптация под последнюю версию мода ◉ Изменения в коде с версии: 8.6.0 >> 8.6.1
  50. 2 points
    Мод добавляет отображение техники во всплывающих подсказках к боеприпасам на которой они могут использоваться. Данная модификация включена в XVM начиная с build 7969.
×
×
  • Create New...