ESP в "ESM" при помощи xEdit
11.07.2019 — 15:51
Обход подводных камней при конвертации
Итак, вам нужно конвертировать простой ESP-плагин в его вариант, помеченный как ESM. Казалось бы, что может быть проще установки флага? Однако, и здесь вас ждёт одна проблема...
Что вам потребуется:
+ xEdit (мной используется версия 4+).
+ [Опционально] Пояснение, почему это может вам понадобиться (англ).
Если кратко, то при загрузке больше 2^20 объектов (1.048.576), которые "определены" во всех активных простых ESP-плагинах, вас ждёт так называемая "вечная загрузка". Для обхода этого некоторые авторы крупных проектов создают ESM-версии своих модов.
Часть I - в чём проблема?
Все алиасы'ы (Alias) квестов в плагине ссылаются в итоге на конкретные объекты в мире игры. Разница между ESP и ESM в том, что в последнем эти объекты должны быть постоянными (Persistent), иначе алиас при старте квеста заполнится... ничем. И что-нибудь обязательно пойдёт не так. Ваша цель - проверить все алиасы всех квестов, чтобы объекты, на которые они указывают, имели флаг Persistent. Только после этого можно конвертировать плагин и начинать игру.
1) Открываем плагин в xEdit, переходим во вкладку Quest, смотрим в нужную нам запись (слева) и находим раздел с алиасами (справа).

Часть II - тип алиаса "Unique Actor".
1) Смотрим данные алиаса и видим, что это "Unique Actor", в данном случае - Тамина Эленил.

2) Зажимаем CTRL и переходим к NPC, переходим сразу во вкладку "Referenced By" и находим размещённого в мире персонажа - ACHR.

3) Переходим к нему и видим, что персонаж имеет флаг Persistent, а значит будет "работать" нормально и трогать его не нужно.

4) Смотрим второй алиас (Шаглак) и проделываем с ним то же самое.

5) На этот раз есть "попадание" - на персонаже не стоит никаких флагов.

6) Кликаем ПКМ по пустому полю "Record Flags" и выбираем "Edit". Нас интересует флаг Persistent.

7) Если мы всё сделали верно (ошибиться довольно сложно), то запись "Placed NPC" переместится из секции Temporary в Persistent.

Часть III - тип алиаса "Forced Reference".
1) Смотрим данные алиаса и видим, что это "Forced Reference", в данном случае - некий невидимый (технический) сундук.

2) Зажимаем CTRL и переходим сразу к объекту в мире игры - в данном случае типа REFR. Проверяем у него наличие флага "Persistent", если его нет - добавляем.
Часть IV - собственно, конвертация.
1) Когда мы проверим все алиасы во всех квестах, мы наконец сможем поставить плагину долгожданный флаг.
2) Нам нет нужды использовать Wrye Bash, чтобы сделать ESP-плагин псевдо-мастер-файлом. Достаточно перейти на вкладку "File Header" плагина и обратить внимание на поле "Record Flags".

3) Добавляем туда флаг "ESM", после чего закрываем xEdit и сохраняем плагин.

На этом всё. Надеюсь, данная статья будет полезна для вас. Выражаю огромную благодарность Zilav за разъяснения и Dimonoider за саму основу гайда.
Что вам потребуется:
+ xEdit (мной используется версия 4+).
+ [Опционально] Пояснение, почему это может вам понадобиться (англ).
Если кратко, то при загрузке больше 2^20 объектов (1.048.576), которые "определены" во всех активных простых ESP-плагинах, вас ждёт так называемая "вечная загрузка". Для обхода этого некоторые авторы крупных проектов создают ESM-версии своих модов.
Часть I - в чём проблема?
Все алиасы'ы (Alias) квестов в плагине ссылаются в итоге на конкретные объекты в мире игры. Разница между ESP и ESM в том, что в последнем эти объекты должны быть постоянными (Persistent), иначе алиас при старте квеста заполнится... ничем. И что-нибудь обязательно пойдёт не так. Ваша цель - проверить все алиасы всех квестов, чтобы объекты, на которые они указывают, имели флаг Persistent. Только после этого можно конвертировать плагин и начинать игру.
1) Открываем плагин в xEdit, переходим во вкладку Quest, смотрим в нужную нам запись (слева) и находим раздел с алиасами (справа).

Часть II - тип алиаса "Unique Actor".
1) Смотрим данные алиаса и видим, что это "Unique Actor", в данном случае - Тамина Эленил.

2) Зажимаем CTRL и переходим к NPC, переходим сразу во вкладку "Referenced By" и находим размещённого в мире персонажа - ACHR.

3) Переходим к нему и видим, что персонаж имеет флаг Persistent, а значит будет "работать" нормально и трогать его не нужно.

4) Смотрим второй алиас (Шаглак) и проделываем с ним то же самое.

5) На этот раз есть "попадание" - на персонаже не стоит никаких флагов.

6) Кликаем ПКМ по пустому полю "Record Flags" и выбираем "Edit". Нас интересует флаг Persistent.

7) Если мы всё сделали верно (ошибиться довольно сложно), то запись "Placed NPC" переместится из секции Temporary в Persistent.

Часть III - тип алиаса "Forced Reference".
1) Смотрим данные алиаса и видим, что это "Forced Reference", в данном случае - некий невидимый (технический) сундук.

2) Зажимаем CTRL и переходим сразу к объекту в мире игры - в данном случае типа REFR. Проверяем у него наличие флага "Persistent", если его нет - добавляем.
Часть IV - собственно, конвертация.
1) Когда мы проверим все алиасы во всех квестах, мы наконец сможем поставить плагину долгожданный флаг.
2) Нам нет нужды использовать Wrye Bash, чтобы сделать ESP-плагин псевдо-мастер-файлом. Достаточно перейти на вкладку "File Header" плагина и обратить внимание на поле "Record Flags".

3) Добавляем туда флаг "ESM", после чего закрываем xEdit и сохраняем плагин.

На этом всё. Надеюсь, данная статья будет полезна для вас. Выражаю огромную благодарность Zilav за разъяснения и Dimonoider за саму основу гайда.
Комментарии