- •"Грязный" диалог
- •Причины
- •Следствия Незначительно "грязный" диалог
- •"Грязный" диалог
- •Б этикете разработки модов Планирование
- •Совместимость
- •Предотвращение багов
- •Эффективность
- •Инструкция по очистке мода Что такое "грязный" мод?
- •Используйте Details
- •Очистка мода
- •Выпуск мода
- •Использование сторонних утилит
"Грязный" диалог
Теперь предположим, что в моде A новая строка была создана с помощью функции "Copy", а также была допущена рассмотренная в пункте "Причины" ошибка.
Мод A:
Quest Name Info FormID
----------------------------------------------------
EmfridDemo * What is it now? 01xxxxx1
ModA * I'm line one of Mod "A" 00028a25
ModA * I'm line two of Mod "A" 01xxxxx2
EmfridDemo Good to see you again.(...) 00028A26
Crime Feeding Time is over (...) 000BF16B
Обратите внимание, что строка "line one of Mod "A"" – измененная строка оригинального Обливиона с идентификатором 00028a25, в то время как строка "What is it now?" содержит текст из оригинального Обливиона, хотя принадлежит моду A. Этот мод содержит "грязный" диалог.
Мод B содержит незначительно "грязный" диалог из предыдущего примера:
Quest Name Info FormID
----------------------------------------------------
EmfridDemo * What is it now? 00028a25
ModB * I'm line one of Mod "B" 01xxxxx1
ModB * I'm line two of Mod "B" 01xxxxx2
EmfridDemo Good to see you again.(...) 00028A26
Crime Feeding Time is over (...) 000BF16B
Мод C содержит только чистые диалоги:
Quest Name Info FormID
----------------------------------------------------
EmfridDemo What is it now? 00028a25
ModC * I'm line one of Mod "C" 01xxxxx1
ModC * I'm line two of Mod "C" 01xxxxx2
EmfridDemo Good to see you again.(...) 00028A26
Crime Feeding Time is over (...) 000BF16B
Рассмотрим возможные результаты комбинаций двух "грязных" диалогов.
1. Мод B (незначительно "грязный") старше мода A ("грязного"):
Quest Name Info FormID
----------------------------------------------------
EmfridDemo * What is it now? 02xxxxx1
ModA * I'm line one of Mod "A" 00028a25
ModB * I'm line one of Mod "B" 01xxxxx1
ModB * I'm line two of Mod "B" 01xxxxx2
ModA * I'm line two of Mod "A" 02xxxxx2
EmfridDemo Good to see you again.(...) 00028A26
Crime Feeding Time is over (...) 000BF16B
К счастью, ни одна из строк модов не пропала, хотя оригинальная строка с идентификатором 00028a25 оказалась модифицированной.
2. Мод A ("грязный") старше мода B (незначительно "грязного"):
Quest Name Info FormID
----------------------------------------------------
EmfridDemo * What is it now? 02xxxxx1
EmfridDemo * What is it now? 00028a25
ModB * I'm line one of Mod "B" 01xxxxx1
ModA * I'm line two of Mod "A" 02xxxxx2
ModB * I'm line two of Mod "B" 01xxxxx2
EmfridDemo Good to see you again.(...) 00028A26
Crime Feeding Time is over (...) 000BF16B
В этом случае мод B переписывает измененную строку с идентификатором 00028a25, и строка с текстом из мода A пропадает.
Рассмотрим результаты комбинаций "грязного" и чистого диалогов. Вне зависимости от старшинства модов A и C никакого ущерба модам не наносится, все строки сохраняются.
Мод C старше мода A:
Quest Name Info FormID
----------------------------------------------------
EmfridDemo * What is it now? 01xxxxx1
ModA * I'm line one of Mod "A" 00028a25
ModA * I'm line two of Mod "A" 01xxxxx2
ModC * I'm line one of Mod "C" 02xxxxx1
ModC * I'm line two of Mod "C" 02xxxxx2
EmfridDemo Good to see you again.(...) 00028A26
Crime Feeding Time is over (...) 000BF16B
Мод A старше мода C:
Quest Name Info FormID
----------------------------------------------------
EmfridDemo * What is it now? 01xxxxx1
ModA * I'm line one of Mod "A" 00028a25
ModC * I'm line one of Mod "C" 02xxxxx1
ModA * I'm line two of Mod "A" 01xxxxx2
ModC * I'm line two of Mod "C" 02xxxxx2
EmfridDemo Good to see you again.(...) 00028A26
Crime Feeding Time is over (...) 000BF16B
Выводы
Когда в двух модах диалоговые строки добавляются в одно и то же место, строки более старого мода будут следовать за первой строкой более нового мода, а уже за ними – остальные строки более нового мода.
По этой причине мод, изменяющий строки из оригинального Обливиона, считается "грязным", даже если остаются копии этих строк и сохраняется функциональность диалогов.
По этой причине даже мод с незначительно "грязными" диалогами считается "грязным", поскольку при комбинации с "грязным" он нарушает функциональность диалогов.
Рекомендуется использовать окно "Quest", а не окно "Dialogue" ("Filtered Dialogue") для предотвращения ошибок.
Всегда обращайте внимание на идентификатор FormID измененной строки: строка с идентификатором, начинающимся на 00, принадлежит оригинальному Обливиону. Если такая строка у вас отмечена *, вы создали незначительно "грязный" диалог.
Если у вас есть "грязные" диалоги, очистите мод.
Помните: даже если вы используете другие "грязные" моды, они не повредят ваш чистый мод.
Оригинал статьи: Unclean Dialogue.
Перевод: Олег Н. Петров aka Олаурон Мор-Галад
