Все знают, что плагины для игр Бесезды делятся на два лагеря: ESP и ESM. ESP - это классический мод, так сказать, патрон в патроннике, отдельная боевая единица со всем своим содержимым, готовым к использованию. ESM - это в каком-то смысле не сам мод, а патронник, вместилище для модификаций. ESM хранит в себе набор функций, обьектов, рас, чего-угодно, что будет использоваться отдельными модами типа ESP, которые будут к нему привязаны и без родительского ESM-файла не заработают. Именно поэтому такие моды как COBL дублируются в ESM и ESP виде, и сами добавляют какие-то предметы в мир, и другим моддерам позволяют сослаться на свой функционал.
Всё бы ничего, но вся эта конструкция ограничивалась 255 модами максимум, а фактически в 254 дополнительных подключаемых модуля (plug-in, то что под-ключается). Бурный моддинг Скайрима породил необходимость создать еще одно расширение, чтобы вместить в игру еще больше модов, несмотря на техническое ограничение в 255 модов одновременно*.
Для того, чтобы расширить возможности моддинга в Skyrim Special Edition было создано расширение ESL, так называемые "Легкие Плагины" (Light Plugins), позволяя тем самым загрузить в игру до 4096 модов типа ESL. Этот тип плагинов занимает специальный динамический диапазон (FE), как объединяя ESL-ифицированные моды под одним номером. Но недаром этот тип плагинов назван "легким". Единственное ограничение у него: не более 2096 записей (records) внутри мода, которого будут ESL-ифицировать. Под записью подразумеваются любые изменения, исправления и добавления. Предметы, локации, правки лиц и снаряжения, работа с массивами земли и т.д.
ЦитатаПочему именно 255 модов (ESP и ESM) - тот максимум, который можно подключить в игре?
Потому что так работает математика... Движок присваивает модификациям определенный номер (FormID) в 8 знаков в 16-ричной системе счисления. Первые два знака этого числа отвечают за номер мода в Порядке Загрузки. Именно эти два знака будут одинаковыми у объектов из одного и того же мода. Меч или лук из мода Example.esp, имеющий порядковый номер 6А в Порядке Загрузки, оба будут начинаться с цифр 6А.
Эти цифры могут принимать значения от 00 до FF в шестнадцатеричной системе, что дает ровно 256 возможных вариантов. Слот 00 занят базовой игрой, а слот FF зарезервирован под временные объекты, которые создаются прямо во время игрового процесса. Поэтому наш максимум: 254 мода + сама игра (Oblivion.esm).
Эти два знака, определяющие место мода в Порядке Загрузки, называют индексом. У ESL-модов используется предпоследний слот для модов (255 слот) с индексом FE.
В игре практически всё имеет FormID, то есть уникальный номер из 8 знаков, кроме Игровых Настроек (Game Settings или GMST).
Моддер GOOGLEPOX, известный предыдущим достижением в создании фреймворка для кастомных анимаций (его более хардкорным аналогом является мод от DaggerfallTeam), создал на днях фреймворк для ESL-ификации модов в Oblivion. Почему это революция, объяснять не надо: этого не могли сделать десять лет, а теперь мы можем встать вровень со своими более молодыми сверстниками и наслаждаться возможностями, доступными в моддинге и им самим. Осталось только отреверс-инжинирить фишки Creation Engine, например, в создании сценок, и моддинг-сцена оригинального Oblivion сможет жить еще очень и очень долго.
Как происходит ESL-ификация?
Используем кастомный билд (TES4Edit Custom Build) из опциональных файлов.
Выбираем нужный мод.
Идем по пути: 'File Header → Record Header → Record Flags', кликаем правой кнопкой и выбираем Edit . В окне 'Edit Value' , выбираем 'ESL', после чего сохраняем плагин.
Ограничения на данный момент
Скрипты OBSE, содержащие следующие функции, не смогут обратиться к еслифицированному моду, поскольку все ESL-моды имеют одинаковый выделенный под них индекс:
GetModindex/GetSourceModIndex
GetNumLoadedMods
IsModLoaded
GetNthModName
ResolveModIndex
Base Object Swapper/Spell Faction Item Distributor - модификации, зависимые от привычных FormID, не будут работать с ESL.
Моды с озвучкой - запись озвучки привязана к конкретным строкам диалога, а точнее к их FormID.
TES4LODGEN и slowLODGen - оба приложения для генерации земных массивов и LOD'ов не поддерживают более 255 модов в Порядке Загрузки.
Wrye Bash - на данный момент не даст подключить больше 255 плагинов, несмотря на ESL-ификацию. Можно вручную вписать еслифицированные плагины в Plugins.txt, но без создания Bashed Patch и включение игры осуществлять не через Wrye Bash.
Исходник мода можно найти здесь.
-
5
Рекомендуемые комментарии
Комментариев нет
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти