Перейти к содержимому

BattleFrame

Разработчик
  • Публикации

    3 490
  • Зарегистрирован

  • Посещение

  • Бои

    24061
  • Клан

    [GA]

Все публикации пользователя BattleFrame

  1. BattleFrame

    [ALL] МОСТ

    Спасибо, установил, а как им пользоваться?  Справа от карусели Кораблей (там где раньше был фильтр не исторических камуфляжей) появляется кнопка в виде папки с документами. При нажатии на неё открывается окно в котором показано сколько и каких ресурсов можно получить сбив все снежинки, со скольки кораблей уже сбито и сколько осталось
  2. BattleFrame

    [ALL] МОСТ

    Обновление модификаций для версии 25.9.0 Добавлена модификация "Калькулятор ресурсов" Обновлена модификация "Дальномеры" (Исправлены стили надписи "Зафиксировано" при зажатии ПКМ в бою) Обновлена модификация "Панели «BADoBEST's Style»" (Версия 2 была обновлена, переименована и приведена к стилю V1. Первая версия модификации удалена по просьбе автора) Обновлена модификация "Миникарта от BattleFrame" (Исправлен баг с отсутствием индикатора засвета союзников) Обновлена модификация "Реструктуризация порта" (Исправлен масштаб сигналов на маленьких мониторах) Обновлена модификация "Настраиваемые баннеры" (Модификация полностью переработана, добавлена возможность изменять масштаб баннеров порта) Обновлена модификация "Настраиваемая миникарусель" (Исправлен баг с дублированием иконки х2 опыта) Обновлена модификация "Таймер дымов «BADoBEST's Style»" (Исправлен размер шрифта) Обновлена модификация "Ленты Azure Lane" Обновление модификаций происходит при запуске МОСТ и не требует переустановки самой программы, достаточно запустить программу и при необходимости применить обновление установленных ранее модификаций игры.
  3. [FAQ] Пакеты модификаций *.mkmod Начиная с версии 25.10 мы реализовали новый способ подключения модификаций при помощи специальных пакетов "mkmod". При этом хочется уточнить, что папка res_mods никуда не девается и всё также функциональна. Пакеты *.mkmod — это способ организации файлов модификаций, при котором весь контент отдельной модификации упакован в один файл. В классической схеме распространения файлов модификации устанавливаются в каталог ../bin/<номер_версии>/res_mods/. При этом файлы разных модификаций располагаются в одних и тех же каталогах, и поэтому зачастую трудно определить, какой файл относится к какой именно модификации. Структура пакета: Пакеты *.mkmod располагаются в папке ../bin/<номер_версии>/mods/ и представляют собой обыкновенный zip-архив с нулевым сжатием (это обязательное условие, иначе игра не прочитает пакет) Каждый пакет представляет собой персональную для располагаемого в нём мода папку res_mods. То есть, внутри архива полностью сохраняется иерархия папок, аналогичная каталогу res_mods Внутри себя пакет содержит: Ресурсы модификации. Служебный файл meta.xml о котором подробнее далее. Немного про принцип работы: При запуске игра пробегается по всем пакетам mkmod, а также папке res_mods и формирует у себя в памяти единый список файлов. Благодаря этому модификации между разными пакетами, а также между пакетами и папкой res_mods могут беспрепятственно взаимодействовать. Важно! Особые правила загрузки пакетов: Существует несколько основных правил по которым выполняется загрузка пакетов mkmod, а также их взаимодействие: Все пакеты загружаются в алфавитном порядке. (принцип, аналогичный загрузке файлов *.unbound) Все пути внутри пакета должны быть уникальными. Например, не должно быть ситуации, когда в пакете aaa.mkmod и bbb.mkmod лежат одинаковые файлы по одинаковому пути (например gui/unbound2/mimimap.unbound) В таком случае пакет aaa.mkmod будет загружен (т.к по алфавиту он идёт раньше), а пакет bbb.mkmod в котором найден дубликат (любого файла) будет полностью проигнорирован и загружен не будет. При этом в python.log будет выведена ошибка. Все пакеты обязательно должны быть zip-архивами и обязательно с нулевым сжатием. В случае если это не так - вы получите ошибку в python.log и пакет загружен не будет. Пакеты mkmod не умеют (на данный момент) загружать python-скрипты. Следовательно, если ваш мод помимо ассетов или вёрстки также содержит файл PnFModsLoader.py и скрипты в папке PnFMods, то они должны располагаться в папке res_mods. Папка res_mods всегда в приоритете над всеми пакетами mkmod. Если у вас файлы с одинаковым именем находятся по одинаковому пути в папке res_mods и в одном из пакетов mkmod, то игра будет читать файлы из res_mods. Пакет не должен содержать только файл meta.xml (без объективных на то причин) при том что остальной мод будет находиться в res_mods (просто не нужно так делать ) Важно! В версии 25.10 могут возникать проблемы с подгрузкой изображений и текстур из пакетов mkmod. Рекомендуется хранить их в папке res_mods. Примеры: Рассмотрим примеры формирования пакета *.mkmod для различных типов модификаций Для начала где-нибудь создадим рабочий каталог MODS (для удобства) в котором мы будем готовить свои пакеты. Представим себе что наш каталог MODS это каталог res_mods и начинаем складывать в него файлики различных модов по очереди. Модификации с заменой или добавлением файлов (озвучки, иконки, трассеры): Например, у меня есть озвучка, например AlterVOX, которую я хочу запаковать в пакет mkmod В инструкции написано распаковать содержимое архива в папку /bin/[номер_сборки]/res_mods/ Я распаковываю содержимое своей модификации в нашу папку MODS и вижу папку banks, которая для работы озвучки должна лежать в папке res_mods Эту папку мне необходимо запаковать в zip-архив с нулевым сжатием и расширением *.mkmod (название архива - название вашего мода) Готово. Мы получили mkmod пакет, который теперь переносим в папку /bin/[номер_сборки]/mods/ Аналогичным способом собираются моды для замены текстур, иконок, конфигов, любых других файлов файловой системы. Не рекомендуется запаковывать в mkmod модификации, ресурсы которых могут содержаться в других модах! Например: Порты - несколько модов могут использовать одинаковые модели или текстуры. при запаковке таких модов в mkmod игра увидит конфликт при загрузке файлов и проигнорирует загрузку модификации. Скины кораблей - модификации внешнего вида кораблей без использования ContentSDK располагаются в папке content и также могут конфликтовать друг с другом. Внимание! В наименовании пакетов mkmod допускается использование только лат.букв, цифр и символа _ (например, autospy_minimap) Давайте не будем устраивать в папке модификаций хаос из имён и спецсимволов.
  4. Файл метаданных meta.xml Опциональный файл. Должен находиться в корне пакета mkmod. Предназначен для идентификации модификации, а также для управления подключением элементов в UB2 модификациях на замену старому способу с battle_elements.xml Содержание файла: <meta> - Обязательный блок метаданных <id> - уникальный технический идентификатор мода (обязательно). Допускаются только лат.буквы, цифры и символ _ (например, autospy_minimap) <name> - Наименование мода (обязательно) <version> - опциональный номер версии мода для тех кто её ведёт <description> - Описание мода <elements> - опциональный блок для добавления определенных элементов внутрь других элементов со следующий структурой: Поля <id>, <name> и <version> будут выводиться в python.log при загрузке модификации, а параметр <description> позволит понять что же вообще находится в данном mkmod Наиболее полезным файл meta.xml будет при разработке интерфейсных модификаций на unbound2 т.к. приходя на замену battle_elements.xml имеет функционал встраивания и замены элементов вёрстки. Встраивание и замена элементов UB2: meta.xml позволяет создавать условия для замены элементов вёрстки на свои собственные в момент загрузки, либо для встраивания своих элементов в начало или конец других элементов. Рассмотрим на примере "меты" от мода "Счетовод": <meta.xml> <meta> <!-- Технический ID модификации --> <id>score_timer</id> <!-- Версия модификации --> <version>1.0</version> <!-- Наименование модификации --> <name>Счетовод</name> </meta> <elements> <element action="add_before" target="MainHud">ScoreTimer2</element> </elements> </meta.xml> Здесь мы видим что это модификация с именем "Счетовод", версии "1.0" и id "score_timer". Описание автор решил не указывать. Также мы видим блок <elements></elements> в котором задаются инструкции встраивания блоков. Инструкций может быть несколько. В модификации "Счетовод" основным элементом является ScoreTimer2, который раньше прописывался в battle_elements.xml Инструкция add_before из примера говорит игре: "Вставь элемент ScoreTimer2 в самый верх элемента MainHud", после чего наш счетовод расположится в виде (element "ScoreTimer2 ") сразу после блока scope в элементе MainHud Помимо add_before аргумент action может быть также и add_after, выполняющий ровно то же самое, но размещающий наш элемент в самом конце элемента, указанного в аргументе target Важно! Элементы вставленные при помощи add_before и add_after не могут принимать никаких аргументов от родителя (таргета в который они были вставлены): Кроме add_before и add_after также доступен параметр replace, работающий иначе. Допустим мы создаём мод миникарты и знаем что главный элемент миникарты называется BattleMinimapUb2: (def element BattleMinimapUb2 (_isLoading:bool=false) layout=true ...код родного элемента игры ) мы создаём свой элемент и называем его как-то иначе (список аргументов должен быть таким же как и у элемента который вы хотите заменить) (def element MySuperMinimap (_isLoading:bool=false) layout=true ...код модификации ) После чего составляем meta.xml мы пишем инструкцию replace <meta.xml> <meta> <!-- Технический ID модификации --> <id>my_minimap</id> <!-- Версия модификации --> <version>1.0</version> <!-- Наименование модификации --> <name>Крутая миникарта</name> </meta> <elements> <element action="replace" target="BattleMinimapUb2">MySuperMinimap</element> </elements> </meta.xml> Инструкция replace говорит игре: "Замени всё содержимое в элементе BattleMinimapUb2 содержимым из элемента MySuperMinimap". То есть, игра оставит оригинальное имя BattleMinimapUb2, оставит все принимаемые им аргументы (вы сможете использовать их в своём моде), но заменит весь код оригинального элемента на код из вашего, в результате чего мы получим: (def element BattleMinimapUb2 (_isLoading:bool=false) layout=true ...код модификации ) Важно! Инструкция replace ВСЕГДА заменяет только содержимое элемента и не трогает его имя! Даже если вы решили заменить глобально все кнопочки в игре, заменив содержимое DefaultButton на содержимое NewButton, то в вёрстке вам всё равно будет необходимо вызывать именно DefaultButton! Ну и напоследок разбор небольшой ситуации. Допустим в одном пакете mkmod идёт add_after к MainHud, а в другом его replace Мод-1 прописывает условие: <element action="add_after" target="MainHud">ModOneElementAfter</element> Мод-2 прописывает условие: <element action="replace" target="MainHud">ModTwoReplace</element> В данном случае в каком бы порядке они не были: Оригинальный MainHud проигнорируется совсем ModTwoReplace переименуется в MainHud В конец MainHud (который уже переименованный) добавится ModOneElementAfter.
  5. BattleFrame

    [All] Боевые ленты в стиле AzurLane

    Исправьте, пожалуйста, содержимое архива. Я не нашел в архиве папки gui
  6. BattleFrame

    [ALL] МОСТ

    Тема была скрыта т.к порты перестали работать. Если и когда автор их обновит - тема вернётся.
  7. BattleFrame

    [ALL] МОСТ

    Привет. Если это касается какой-то модификации, то тогда вопрос какой, а также желательно полный список установленных модов. Если же это просто обратная связь, то тогда всё таки лучше оставлять её в разделе обратной связи. https://forum.korabli.su/forum/206-обратная-связь/
  8. BattleFrame

    [ALL] МОСТ

    Привет. Снаряды и торпеды относятся к вооружению, а не к расходникам. Мод немножко про другое.
  9. Может проще привыкнуть?)) Всё равно ведь придётся рано или поздно.
  10. Размеры кстати не менялись, просто камера стала подлетать к ним поближе)
  11. BattleFrame

    [ALL] МОСТ

    Привет. Автор какой-то отвечал на этот вопрос. Так и задумано.
  12. BattleFrame

    [ALL] МОСТ

    А включены ли они у вас в настройках звука?)
  13. BattleFrame

    [ALL] МОСТ

    Как только автор их обновит, мы добавим в модпак новую версию.
  14. BattleFrame

    [ALL] МОСТ

    Проверил, всё фильтруется. Какие именно фильтры глючат? Хм. А какие модификации вы устанавливали? И на каком конкретно корабле не работает?
  15. BattleFrame

    [ALL] МОСТ

    Нет такого) Никуда вы не будете ехать только в соревновательных режимах и в режиме дирижаблей
  16. Граждане. Давайте не будем превращать тему с запросом на мод во флудилку и обсуждения того как было/стало. P.S. Я подкину ещё идейку для потенциального исполнителя =). Желание вернуть как раньше понятно, но почему бы не пойти чуточку дальше. У нас есть интересный функционал при помощи которого можно сделать "перетаскивание" кнопок наций и тем самым дать возможность игрокам самим выстроить свой порядок
  17. Как только соберётся пакет модов для обновления. Среда - четверг.
  18. BattleFrame

    [ALL] МОСТ

    Вы можете оставить запрос в разделе обсуждения модификаций. Возможно кого-то заинтересует.
  19. BattleFrame

    [ALL] МОСТ

    Здравствуйте. В имуществе, судовом журнале и адмиралтействе к сожалению модом поменять ничего не получится т.к они являются веб.ресурсами.
  20. Этот эффект давал другой мод и только при установке через МОСТ. Во вчерашнем обновлении всё было исправлено.
  21. BattleFrame

    [ALL] МОСТ

    Проверил, открылось. Нужно открыть окно вручную и проверить выставлена ли галочка
  22. BattleFrame

    [ALL] МОСТ

    Ну я бы всё-же показал @DragonTM )) Здесь отвечал уже
  23. BattleFrame

    [ALL] МОСТ

    Эх, было время, да) Начинал я с мододельства.
  24. BattleFrame

    [ALL] МОСТ

    Можно нажать левую кнопку мыши при открытии и все пропустится Чтобы не таскать с собой xml, да. Ее могут перезаписать другие моды и тогда вместо шрифтов вы получите квадратики
×