Всадники Кальрадии
Разное => Том 2: Mount & Blade 2: Bannerlord => Учебник (руководство) => Статьи => О сайте и форуме => Раздел 2. Инструменты мододела => Тема начата: Vanok от 27 Октября, 2020, 15:12
-
Автор: Дима Гончар (https://forum.commando.com.ua/threads/sozdanie-modulja-bystryj-gajd.362/)
Модули могут содержать ресурсы, начиная от мешей и заканчивая физическими телами, сценами, объектами игрового процесса, такими как фракции, лорды, войска, предметы, звуки, скрипты и поведения, которые могут запускать любую логику игрового процесса. В этом руководстве будет объяснен процесс его создания.
Модули находятся в папке «Modules» в корневой папке игры. Модуль должен содержать XML-файл с именем SubModule.xml. Этот файл содержит основную информацию, такую как узлы «Name», «ID» и «Version» (Имя, Идентификатор, Версия). Кроме того, можно определить зависимые модули внутри узла «DepenendedModules». Если вы хотите создать однопользовательский мод, он также должен содержать узел «SingleplayerModule». После этого модуль будет виден в загрузчике игры.
SubModules могут определять библиотеки DLL (англ. Dynamic Link Library — «библиотека динамической компоновки», «динамически подключаемая библиотека»), загружаемые во время работы игры. Эти DLL должны содержать класс, который наследуется от «MBSubModuleBase», а имя должно совпадать с узлом «SubModuleClassType» внутри xml. Этот класс будет создан, и будут вызываться определенные обратные вызовы, чтобы "od" мог регистрировать свое поведение в игре.
Шаблон нового модуля может быть сгенирирован непосредственно в MK. При этом для его использования в рамках MK требуется выйти из программы, активировать новый модуль в загрузчике и заново запустить MK.
Модули могут иметь несколько папок, содержащих разные типы контента:
- bin: скомпилированную DLL следует поместить в папку «bin\Win64_Shipping_Client», чтобы игра могла найти и загрузить эту DLL.
- Atmospheres: эта папка содержит различные шаблоны атмосферы, которые можно использовать в игре. Новая атмосфера может быть сохранена в любом модуле из Редактора.
- AssetSources: эта папка содержит источники ресурсов. Редактор импортирует ресурсы в эту папку. Эта папка может быть отфильтрована перед публикацией мода. Для получения дополнительной информации о добавлении нового содержимого в модуль см. Добавление и переопределение ресурсов.
- Assets: эта папка содержит данные ресурсов, полученные из источников контента. Она используется только на этапе разработки мода. Эта папка может быть отфильтрована перед публикацией мода.
- AssetPackages: после того, как работа с содержимым модуля завершена, создатель содержимого должен запустить операцию Публикации, чтобы подготовить содержимое к выпуску. Эта база данных содержит «Опубликованные» ресурсы.
- GUI (графический интерфейс): эта папка содержит любой новый элемент графического интерфейса, prefab (префаб) или brush (кисть), которые можно использовать в игре.
- ModuleData: эта папка содержит многие важные XML-файлы для игровой логики. Файл «project.mbproj» управляет XML-файлами, которые будут загружены в папку. Эти xml-файлы варьируются от анимаций и устанавливается для фракций, предметов, предметов и т.д.
- NavMeshPrefabs: группы граней навигационного меша можно сохранить в редакторе в качестве шаблонов, чтобы легко вставлять их в несколько сцен. Эта папка содержит эти файлы.
- Prefabs: эта папка содержит XML-файлы префабов. Для получения дополнительной информации см. Объекты и префабы.
- SceneObj: эта папка содержит данные сцены, которые убраны из любых Edit Data (данных редактирования). Сцены без ландшафта хранятся только в этой папке.
- SceneEditData: содержит данные редактирования ландшафта для каждой сцены. Эта папка может быть отфильтрована перед публикацией мода.