Oblivion:Неочищенные диалоги
| | |
| |
автор: JOG и другие. |
| Это статья-заготовка. Вы поможете проекту, доработав и дополнив её. Не забывайте предварительно добавлять шаблон {{Edit}} в материалы над которыми работаете, чтобы не создавать конфликта правок. |
| Этот материал нуждается в переводе или допереводе.. Вы можете помочь перевести его. Не забывайте предварительно добавлять строку {{Edit|--~~~~}} в материалы над которыми работаете, чтобы не создавать конфликта правок. Пожалуйста, снимите шаблон этого сообщения, когда материал будет вычитан. |
Содержание |
Неочищенные диалоги
По сравнению с игрой Морроувинд, Обливион очень защищен от несовместимости модов, но все же серьезной проблемой могут быть конфликты диалогов. Конфликты диалогов всегда вызываются неочищенными диалогами в обоих модах. Таким образом, очень важно обращать внимание на идентификаторы FormID диалоговых линий.
Все это довольно длинно, тем не менее Вы должны уделить время на прочтение этой статьи, чтобы понять выводы, представленные ниже. Прежде всего, посмотрите на FormIDs диалогов, потому что Обливион именно так видит диалог, в то время как нашему человеческому разуму хотелось бы просмотреть только текст и проигнорировать проблемы с числами.
Причины
Когда Вы добавляете диалоговые линии в уже существующие квесты или в отфильтрованные диалоги (Filtered Dialogue), вы, в результате, получаете две измененные линии в Вашем моде.
Возьмем, например, ПРИВЕТСТВИЕ (GREETING):
Quest Name Info FormID -------------------------------------------------------------- EmfridDemo What is it now? 00028a25 EmfridDemo Good to see you again.(...) 00028A26 Crime Feeding Time is over (...) 000BF16B
Когда Вы добавляете новую строку в верхней части, вы получаете это:
Quest Name Info FormID -------------------------------------------------------------- EmfridDemo * NEW Line 01xxxxxx EmfridDemo What is it now? 00028a25 EmfridDemo Good to see you again.(...) 00028A26 Crime Feeding Time is over (...) 000BF16B
- (Линия, отмеченная звездочкой "*", сохраняется в ESP)
Когда вы добавляете строку где-нибудь в середине, то получите такой результат:
Quest Name Info FormID -------------------------------------------------------------- EmfridDemo * What is it now? 00028a25 EmfridDemo * NEW Line 01xxxxxx EmfridDemo Good to see you again.(...) 00028A26 Crime Feeding Time is over (...) 000BF16B
- Теперь обе линии сохранены в ESP, и CS ругается, когда Вы загружаете два мода, которые содержат линию с FormID 00028a25, но игра продолжает их обрабатывать.
Настоящее веселье начинается, когда Вы используете "Copy" вместо "New":
Quest Name Info FormID -------------------------------------------------------------- EmfridDemo What is it now? 00028a25 EmfridDemo * Good to see you again.(...) 00028A26 EmfridDemo Good to see you again.(...) 01xxxxxx Crime Feeding Time is over (...) 000BF16B
- В CS есть небольшой баг: Пока Вы не сохраните и повторно не откроете мод, только СТАРАЯ строка будет отмечена как измененная, таким образом, будет казаться, что НОВАЯ строка (01xxxxxx) - оригинальная. Если Вы теперь измените текст 00028a26, то мод, который вставил строку в том же самом месте и содержит неизмененую строку 00028a26, перепишет строку вашего мода.
Эффекты
Не полностью очищенный диалог (Slightly Unclean Dialogue)
Предположим, что мы имеем два мода, которые добавляют две строки в верхней части "ПРИВЕТСТВИЙ" (GREETINGS) (а также предположим, что мод "A" старше, чем мод "B").
Мод "A":
Quest Name Info FormID -------------------------------------------------------------- EmfridDemo * What is it now? 00028a25 ModA * I'm line one of Mod "A" 01xxxxx1 ModA * I'm line two of Mod "A" 01xxxxx2 EmfridDemo Good to see you again.(...) 00028A26 Crime Feeding Time is over (...) 000BF16B
Мод "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
Это то, что мы называем "Не полностью очищенный Диалог". "Неочищенный" - потому что он содержит строки из Oblivion.esm, а "не полностью" - потому, что он не вызывает существенных конфликтов.
В игре комбинация двух не полностью очищенных диалогов модов приведет к следующему:
Quest Name Info FormID -------------------------------------------------------------- EmfridDemo * What is it now? 00028a25 ModB * I'm line one of Mod "B" 02xxxxx1 ModA * I'm line one of Mod "A" 01xxxxx1 ModA * I'm line two of Mod "A" 01xxxxx2 ModB * I'm line two of Mod "B" 02xxxxx2 EmfridDemo Good to see you again.(...) 00028A26 Crime Feeding Time is over (...) 000BF16B
- Хотя оба мода были не полностью очищенными и содержали оригинальную строку Oblivion.esm с FormID 00028A25, все вполне играбельно. (Construction Set все же принимает этот небольшой конфликт).
Неочищенный диалог (Unclean Dialogue)
Теперь давайте предположим, что мод "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
Заметьте, что строка, "I'm line one of Mod "A"", - по правде говоря, измененная оригинальная строка Обливиона с FormID 00028a25, в то время, как "What is it now?" - строка, которая, кажется, из Oblivion.ESM - по правде говоря, новая строка, введенная модом. Это - мод с неочищенным диалогом.
Мод "B" - все еще не полностью очищенный мод, представленный выше, и содержащий оригинальную, но неизменную строку с FormID 00028A25:
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
Комбинация двух неочищенных модов
Есть два возможных результата при комбинации мода "A" и мода "B", которые зависят от того, какой из них старше (имеет более раннюю дату файла):
Сначала: мод "B" (не полностью очищенный) старше, чем мод "А" (не очищенный):
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
- Вам повезло, все прекрасно, хотя оригинальная строка с FormID 00028a25 была изменена, игра отсортирует все правильно и не будет никаких проблем.
Но когда мод "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" переписал измененную строку с FormID 00028a25, и внезапно строка Мода "А" теряется...
Комбинация не очищенного мода с чистым
Комбинация не очищенного мода ("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
Заключение
- Когда два мода вставляют диалоговые строки в одном и том же месте в списке, строки старшего мода будут вставлены сразу после первой строки более нового мода, после того, как поместятся оставшиеся строки более нового мода.
- Вот почему мод, который изменяет оригинальные строки Обливиона, считается не очищенным, даже когда есть копии оригинальных строк, которые сохраняют функциональные возможности диалога, пока мод установлен.
- В этом также причина, почему моды, которые только содержат неизменные оригинальные строки, считают не очищенными: эти не полностью очищенные моды нарушат не очищенные.
- Чтобы избежать этого, используйте диалоговое окно квестов Quests вместо Oblivion CS:Filtered_Dialogue когда это возможно.
- Всегда смотрите на измененные диалоговые строки и на изменения FormIDs, строки с FormID, которые начинаются с 00, создают не очищенные моды. Наличие такой строки с отметкой "*" означает, что у Вас имеется не полностью очищенный мод, даже если Вы строку не изменяли.
- Когда ваш мод содержит оригинальный FormIDs, используйте меню Files/Data...Details, чтобы удалить его. Таким образом Вы окажете авторам неочищенных модов услугу, показав, что ваш мод их диалоги не нарушает.
- Помните: Независимо от того, насколько не очищены другие моды, они не могут нарушить Ваш мод, пока он чист.
Комментарии
By Blade9722: As stated above, upon adding a new line the CS is marking edited (*) the line immediately before. This will cause the FormID being stored in the esp even if there's no change on it. From my experience this is useless, and even worse is a potential conflict cause, so my recommendation is to further clean the mod by wiping out this unchanged references throught Ignore setting followed by a save.