Jump to content
Korean Random

Leaderboard


Popular Content

Showing content with the highest reputation since 04/21/2020 in Posts

  1. 10 points
    mod_chatInfo 1.06mod_chatInfo.zip фикс показа статистики в ангарном общем чате добавлены сообщения "Так точно!" и "Никак нет!" в бою при нажатии F5 и F6
  2. 8 points
    Сделал вам тут новую штукень. Назвал ShutLoggersUp. Если коротко, ВГ наделали в куче мест вызовов на logging.getLogger().info('blablabla'), к примеру, в обработчик персональных жетонов. И всё бы хорошо, но оно СПАМИТ. Причём эти сообщения никому вообще не нужны. Так вот. Я сделал так, что модуль logging игнорирует всё, что INFO или ниже. Варнинги и и прочие эрроры всё ещё работают. Скачать можно тут: ЯндексДиск GoogleDrive
  3. 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/
  4. 6 points
    В шапку добавлено три новых мода. Скопипастил ниже их описания. ShutLoggersUp Затыкатель логгеров ВГ наделали в куче мест вызовов на logging.getLogger().info('blablabla'), к примеру, в обработчике персональных жетонов. И всё бы хорошо, но оно СПАМИТ. Причём эти сообщения никому вообще не нужны. Так вот. Я сделал так, что модуль logging игнорирует всё, что INFO или ниже. Варнинги и и прочие эрроры всё ещё работают. Скачать: ЯндексДиск GoogleDrive ReorderProgressionDecals Переупорядочиватель прогрессионных декалей В обновлении 1.9.1 ВГ добавили в игру проекционные декали, которые выдаются за определённые достижения при игре на танке. За количество боёв, за фраги, за знаки Мастер и т.д. Проблема в том, что в той менюшке, где их можно выбрать и поставить на танк, они упорядочены в совершенно не понятном мне порядке. Этот мелкий модик переупорядочивает эти самые декали в порядке сложности получения награды. Сначала идут бои, потом фраги, ну и так далее. Скачать: ЯндексДиск GoogleDrive DamagePercentIndicator Процент прочности танка на индикаторах полученного урона Возможно, модик для нубов, но мне зашло. Суть вот в чём. Я катаюсь на разных машинах разных уровней и классов. И не всегда сразу и быстро понятно, если мне влетело на 250 урона - это можно бояться или продолжать танковать. И чем меньше урона, тем меньше понятно. Соответственно, я сделал модик, который добавляет к индикаторам полученного урона вторую строчку с процентом этого самого урона от полной прочности моего танка. Скачать: ЯндексДиск GoogleDrive
  5. 6 points
    ЦА с картофельного форума,которые почему то считают,что им должны бесплатно моды пилить денно и нощно
  6. 6 points
    ничего не менялось. мод был опубликован под лицензией WTFPL v.2 можете брать и использовать\изменять без ограничений.
  7. 6 points
    Обновление в отдельной форме Присутствует также CS-63, новый Польский СТ, увидеть его можно (пока) только на Общем Тесте. (на основу не влияет, так как там его ещё нет, Шкурки можно смело добавлять, за ранее, для будущего Обновления) ........................................................................................................ и снова огромное спасибо ребятам (reper74 & niZMo) за помощь!!! ....................................................................................................... Архивы будут обновлены только после выхода обновления 1.10.0 (в обработке ещё несколько начатых проектов)
  8. 5 points
    Написал патчер для Киберпанка. Исправляет проблему, связанную с тем, что игра использует в работе лишь половину логических ядер на процессорах AMD (см. статью на Хабре). Тесты ДО патча Тесты ПОСЛЕ патча Сигнатуры актуальны на момент написания комментария, как и сама проблема. При запуске патчер подтягивает сигны с репозитория, потому после каждой обновы игры можно не перекачивать сам патчер. Если, конечно, не было какой-то большой переделки.Репозиторий Cyberpunk-2077-AMD-Optimization-PatcherРелизы (сейчас актуальная версия v1.01)
  9. 5 points
    получите и распишитесь Обновление в отдельной форме архивы будут обновлены немного позже
  10. 5 points
    mod_tooltipsCountItemsLimitExtend.zip 2.01
  11. 5 points
    Скрипты для WoT 1.10.0.0CT: chancePenetration.py infoChargedShell.py
  12. 5 points
    Тестовая сборка - TIM b196. Теперь возможно использовать TIM с клиентом ниже версии 1.10.0
  13. 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.
  14. 4 points
    1. Страница поддержки для желающих отблагодарить 2. При публикации файлов на сторонних источниках указывайте авторство noBinoculars Скрипт предназначен для отключения затемнения и озеленения в снайперском режиме. Поставляется с конфигурационным файлом. Не требует подмены стандартной текстуры "slens_map.dds". noFlashBang Скрипт предназначен для отключения красной вспышки когда враг попадает по вам. Поставляется с конфигурационным файлом. noBattleHint Скрипт предназначен для отключения подсказок в бою (смена режима прицеливания АРТ-САУ, переход в осадный режим, переход в меню ЛБЗ) Поставляется с конфигурационным файлом. safeShot Скрипт предназначен для блокировки случайного выстрела по союзникам и трупам (уничтоженной технике). Поставляется с конфигурационным файлом. Блокировка выстрела по технике союзника. --- Корпус должен быть подсвечен. --- Настраиваемое исключение для тимкиллеров. Блокировка выстрела по уничтоженной технике. --- Настраиваемое время блокировки. Мод полностью отключается при использовании горячей клавиши. --- Горячая клавиша подлежит настройке. extendedZoom Скрипт предназначен для регулировки отдаления камеры, задания кратности прицела в снайперском режиме. Поставляется с конфигурационным файлом. Установка: В зависимости от выбранного дополнения содержимое архива распаковать в корневую директорию клиента (в папку с игровым клиентом) Настройка: mods\configs\camAddons\ "mods_name.json" Скачать camAddons.zip
  15. 4 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
  16. 4 points
  17. 4 points
    Man waths wrong with you? The work hard and made it. So many problem at this update :( MFG SicFunzler
  18. 4 points
    @night_dragon_on нужен фикс, так как ширина атласа стала по дефолту 4512 - это сегодня с микропатчем завезли такой размер. При массовом сохранении атласов ошибку выдает на размер атласа. Нужно в "еще" изменить в "ширина атласа" значение с 4096 на 4512.
  19. 4 points
    @night_dragon_on можно сделать одним трёхрядным виджетом, если есть время настроить: единственно что, я тут подумал, наверно стоит местами пинг с онлайном поменять, для красоты сервер онлайн пинг
  20. 4 points
    Обновил в шапке на всякий случай battleDamageIndicatorApp.swf.
  21. 3 points
    Мод "Помогатор" Это небольшой сервисный модик для создания более комфортных условий игры. Скачать с сайта автора Скачать в составе модпака Текущие возможности: Функция PreferredServer - задания сервера для логина или запоминание выбора пользователя; Функция saveLastServer - запоминание последнего сервера на котором играл игрок; Функция AutoEquip - автоматическое снятие/установка съемного оборудования для выбранного танка; Функция AutoOutfit - автоматическое снятие/установка снаряжения для выбранного танка (Аптечка, Ремкомплект, Огнетушитель и т.п.); Функция AutoCamo - автоматическое снятие/установка камуфляжа, эмблем и надписей. Функция "Возврат экипажа" - автоматический возврат последнего экипажа для выбранного танка; Функция отключения "ручника" для ПТ в снайперском режиме. Функция "Мульти-клиент" - возможность играть на всех кластерах WoT с одним клиентом. Функция "Круг разброса орудия" - отображает реальный круг разброса орудия. Функция "Серверный прицел" - отображает положение прицела на сервере. Функция "Карусель танков" - настройка танковой карусели Задание длительности отображения лампочки "6-го чувства"; Задание длительности отображения индикаторов обстрела; Функция отключения эффекта тряски при попадании в вас; Функция отключения эффекта вспышки при попадании; Функция отключения эффекта инерции камеры; Функция отключения эффекта отдачи от выстрела; Функция отключения эффекта затемнения в снайперском прицеле; Функция включения горизонтальной стабилизации для всей техники; Задание значений кратности снайперского прицела; Задание фиксированного значения кратности при переключении в снайперский режим; Задание "высота камеры" над танком; Задание границ возможного отдаление камеры; Задание размера панелей игроков ( "ушей" ) при загрузке и начале боя; Функция "Контакты" - выделение игрока из заданного списка в контакт-листе на экране загрузки и в "ушах" команд; Функция устанавливающая по умолчанию кредиты заместо золота для снаряжения и снарядов Функция отключения возможности использовать золота Функция отключения возможности использовать свободный опыт Функция отключения рекламного показа премируемых танков в ангаре
  22. 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. Сейчас только ангар. И прогресс моих ЛБЗ на момент записи трафика.
  23. 3 points
    Раздача для Epic Games Store Раздача продлится с 15 по 22 апреля 2021-го (18:00 МСК). Вам необходимо: 1. Зайти на сайт. 2. Зарегистрироваться / Войти. Deponia: The Complete Journey 3. Добавить игру на аккаунт на странице акции. Ken Follett's The Pillars of the Earth 4. Добавить игру на аккаунт на странице акции. The First Tree 5. Добавить игру на аккаунт на странице акции. 6. После этого продукт навсегда привязывается к учетной записи. 7. Установить его можно будет при помощи фирменного лаунчера Epic Games.
  24. 3 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%, вы услышите звук. В стандартной поставке мод использует слегка обрезанные фразы Корабля-Базы из Звёздных Волков. Почему не закидываю к Звуковым Скриптам по ссылке выше? Не знаю. Там и так много всего. Скачать: ЯндексДиск 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: женский". ShutLoggersUp Затыкатель логгеров ВГ наделали в куче мест вызовов на logging.getLogger().info('blablabla'), к примеру, в обработчике персональных жетонов. И всё бы хорошо, но оно СПАМИТ. Причём эти сообщения никому вообще не нужны. Так вот. Я сделал так, что модуль logging игнорирует всё, что INFO или ниже. Варнинги и и прочие эрроры всё ещё работают. Скачать: ЯндексДиск GoogleDrive ReorderProgressionDecals Переупорядочиватель прогрессионных декалей В обновлении 1.9.1 ВГ добавили в игру проекционные декали, которые выдаются за определённые достижения при игре на танке. За количество боёв, за фраги, за знаки Мастер и т.д. Проблема в том, что в той менюшке, где их можно выбрать и поставить на танк, они упорядочены в совершенно не понятном мне порядке. Этот мелкий модик переупорядочивает эти самые декали в порядке сложности получения награды. Сначала идут бои, потом фраги, ну и так далее. Скачать: ЯндексДиск GoogleDrive DamagePercentIndicator Процент прочности танка на индикаторах полученного урона Возможно, модик для нубов, но мне зашло. Суть вот в чём. Я катаюсь на разных машинах разных уровней и классов. И не всегда сразу и быстро понятно, если мне влетело на 250 урона - это можно бояться или продолжать танковать. И чем меньше урона, тем меньше понятно. Соответственно, я сделал модик, который добавляет к индикаторам полученного урона вторую строчку с процентом этого самого урона от полной прочности моего танка. Скачать: ЯндексДиск GoogleDrive Автоклавная, она же мастерская Кто там опять булькает, эй? Здесь, возможно, буду писать то, что сейчас в работе/в планах. Переписать гайд по КамоСелектору - жду @DDragun907. Дописать гайд по Ремодомоду - к нему же. :) Внетанковый стафф А вопросы, предложения, запросы на новые моды и прочее буду принимать в самом топике. Типа багтрекер и ЦПП в одном флаконе. @angelsoft, к тебе обращаюсь :) А то спам в иррелевантных топиках уже много кому надоел. ... Ну, как минимум мне надоел. :)
  25. 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}}')}} - средний урон основного снаряда. Пример использование данных макросов. Скачать: 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:featureVehicle(v1, v2, v3, v4, v5)}} - возвращает: для колесной техники - v1, если значение не задано - 'wheel'; для техники имеющей осадный режим - v2, если значение не задано - 'siege'; для техники автоматически переходящей в осадный режим - v3, если значение не задано - 'autosiege'; для двухствольной техники - v4, если значение не задано - 'dual'; для техники с механизмом дозарядки - v5, если значение не задано - 'auto'. {{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, если значение не задано - 'horizontal' для "диагонального" - v2, если значение не задано - 'diagonal' для "пунктирный" - v3, если значение не задано - 'dotted' для "радиальный" - v4, если значение не задано - 'radial'. 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
  26. 3 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". Для сборки необходимо использовать Inno Setup 6. Инсталлятор: setup_xvm_v2.exe Исходники: installerXVM.zip
  27. 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
  28. 3 points
    Ну да, у меня проблема с прокладками сидений... ))) Гугл странно мстит...
  29. 3 points
    09.02.21 Обновлена сборка модов: * Обновлено для версии игрового клиента v1.11.1.3 * Обновлён мод "Комплексный мод XVM" до версии v8.7.6-dev
  30. 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. Пошу прощения, делал все в текстовом редакторе - немного поломалась разметка ;)
  31. 3 points
  32. 3 points
  33. 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):
  34. 3 points
  35. 3 points
    ✯✯✯ ≈ Версия игры 1.12.0 ≈ ✯✯✯ Все моды собраны в новом формате - файл с расширением wotmod, и теперь размещаются не в "res_mods", а в "mods" Содержимое архива распаковать в ...\World_of_Tanks\mods\[версия патча]\ Для удобства все моды будут сохраняться в папку ...\xZirus\ !!! ВНИМАНИЕ !!! Начиная с версии 1.10 моды обновляю по запросу, т.е. вы в списке ниже находите интересующий вас мод(ы) и пишите об этом в теме. Для удобства над кнопкой СКАЧАТЬ указана версия под которую этот мод был собран. ✯ Загрузочный экран ✯ ✯ Анимированное колесо загрузки ✯ ✯ Интерфейс ✯ ✯ Экран загрузки боя и по нажатию Tab ✯ ✯ Финальная статистика ✯ ✯ Иконки танков для "ушей" ✯ История изменений
  36. 2 points
    1.12.1 – – XVM (конфиг 21.04.2021).zip ---
  37. 2 points
    ShuraBB! 1.12.1.0 не пускает в игру, постоянно крутится шестерёнка.
  38. 2 points
    WOT Server Pinger Версия: 1.3.0 Дата обновления: 21/08/2020 Описание: Программа предназначена для отслеживания пинга до серверов WorldOfTanks. Она позволяет сравнивать задержки до серверов, выбирать лучший сервер, проводить длительный мониторинг канала для конкретного сервера. Функционал программы включает в себя: Перечень рабочих WOT-серверов игры, загружаемый из репозитария автора Автоматическое определение всех доступных IP-адресов WOT-сервера Общий график задержек до серверов c функцией расчета среднего пинга и интегральных показателей ("Общий график") Отдельные графики для длительного мониторинга пинга до конкретного сервера с отслеживанием динамики и ошибок связи ("График 1", "График 2", ...) Вывод информации в log-файлы при необходимости Для работы с программой достаточно скачать и запустить exe-файл.... Ограничение: ОС Windows Vista/7/8/10 Локализация RUS/ENG Скачать: WSPinger_1.3.0.154.zip | VirusTotal: 0/67 | Старые версии тут Как рассчитываются показатели: История версий:
  39. 2 points
    Так, скоро микропатч, обнову буду сейчас делать и отправлять. Ничего не измениться, только название папки в архиве. Release 3 уже готовиться и настраивается, придется подождать еще ~2-3 дня. UPD[23:46]: Пока секции для нового микропатча не завезли, мб завтра будет UPD[12:07]: Наврал немного по поводу изменений, будет введена национальная озвучка, в отдельном моде она тоже будет обновлена!
  40. 2 points
    Отличные новости! Национальной озвучку БЫТЬ! Спасибо @Andre_V за помощь с пониманием этой всей хренотени
  41. 2 points
    В шапке обновил звуки выстрелов, теперь они включают в себя и звуки перезарядки. Это версия и озвучка уже проверяется на WGMods
  42. 2 points
    Я уже выкладывал данную модификацию в теме "Динамические макросы в Python". Немного доработал ее и решил оформить в отдельную тему. Данная модификация позволяет выводить картинку, в тот момент когда отображаются индикаторы урона, а также увеличивает время отображения индикатора повреждения до 12 секунд. 'Изображения' Описание: данная модификация добавляет два макроса: {{py:xvm.damageIndicator}} - возвращает 100, если в данный момент отображается индикатор урона, иначе - 0; {{py:xvm.damageIndicator_aim}} - возвращает "aim", если в данный момент индикатор урона находится по центру, иначе - пусто. Установка: 1) В файле battleLabelsTemplates.xc добавляем: "damageIndicator": { "enabled": true, "updateEvent": "PY(ON_DAMAGE_INDICATOR)", "x": 0, "y": 65, "width": 363, "height": 90, "alpha": "{{py:xvm.damageIndicator}}", "screenHAlign": "center", "format": "<img src='xvm://res/{{py:xvm.damageIndicator_aim|CentrDI}}.png'>" }, 2) В файле battleLabels.xc добавляем: ${ "battleLabelsTemplates.xc":"def.damageIndicator" }, 3) Файл damage_indicator.py копируем в папку \res_mods\configs\xvm\py_macro\. damage_indicator.py 4) Файлы CentrDI.png и aim.png копируем в папку \res_mods\mods\shared_resources\xvm\res\ CentrDI.rar 5) К сожалению, только питоном, не увеличить время отображения индикатора. Поэтому копируем файл battleDamageIndicatorApp.swf в \res_mods\Х.Х.Х.Х\gui\flash\ battleDamageIndicatorApp.swf Подобрать атлас damageIndicator вы можете в этой теме.
  43. 2 points
    обновлено под новый патч
  44. 2 points
    Они так скоро домашку начнут в танках решать :))
  45. 2 points
    %AppData%\TankIconMaker2\ Также вы можете экспортировать стили в любое место, а затем их импортировать.
  46. 2 points
    Пауль, че там с твоими опытами спустя три года? Вот такую красивую изотерму можно найти в тырнете. На её основе можно попробовать посинтезировать формулу для расчета Тпс как ты там хотел в том же маткаде.
  47. 2 points
    17.08.20 Обновлен конфиг: * Адаптация под последнюю версию мода ◉ Изменения в коде с версии: 8.6.0 >> 8.6.1
  48. 2 points
    Спасибо, особенно за Так точно! :) Добавьте, пожалуйста, кнопку отключения Чата в этот мод. Как у вас было в Battle chat switcher (CTRL +Z)
  49. 2 points
    1. Как выяснилось, на общем тесте 1.10 кто-то в ВГ внезапно вспомнил, что у частей танка кроме modelsSets['default'] есть ещё models, и к нему, наверное, надо обращаться за моделью (непонятно, правда, зачем - там один фиг одно и то же лежит). 2. Совместимость между Ремодомодом и Шкуродёром была серьезно скомпрометирована в моих попытках починить то, что творилось при переходе на 1.9.1. В 1.10 они провели работу над ошибками, так что мне было достаточно откатить изменения и вставить в код util-функцию на место копипасты кода. Короче. Совместимость Ремодомода и Шкуродёра, а также работа статических шкурок восстановлены, архивы перезалиты. Пошёл обновлять WGMods.
  50. 2 points
    04.08.20 Обновлен конфиг: * Адаптация под последнюю версию мода Дополнения: * Обновлено дополнение "Иконки техники" ◉ Изменения в коде с версии: 8.5.7 >> 8.6.0
×
×
  • Create New...