- Регистрация
- 15 Авг 2015
- Сообщения
- 2.108
- Реакции
- 1.920
- Баллы
- 428
- Лучшие ответы
- 31



Руководство по переводу модификаций на Готику
Автор: @Silderon
1. Скриптовые исходники:
В качестве примера будет использоваться мод Саркерас - Артефакт Древних.
Как известно, вся текстовая составляющая мода содержится в скриптовых архивах Gothic.dat и Ou.bin. Они же в свою очередь лежат в mod-архиве модификации. В извлечении архивов нам поможет программа GothicVDFS. Она появляется в папке Gothic II\_work\data\tools\GothicVDFS после установки G2Mdk. Скачать можно здесь.
Открываем программу.
Мы будем работать в режиме Viewer.
В поле Filename выбираем mod-архив модификации. Он лежит в папке Gothic II\Data\modvdf и в нашем случае носит название Sarkeras.mod.
В поле Root Path указываем место, куда хотим извлечь файлы мода.
Слева у нас дерево папок. Это - структура mod-архива. Выбираем папку Scripts и нажимаем Extract Directory.
Теперь у нас есть скриптовые архивы мода.
Как известно, вся текстовая составляющая мода содержится в скриптовых архивах Gothic.dat и Ou.bin. Они же в свою очередь лежат в mod-архиве модификации. В извлечении архивов нам поможет программа GothicVDFS. Она появляется в папке Gothic II\_work\data\tools\GothicVDFS после установки G2Mdk. Скачать можно здесь.
Открываем программу.
Мы будем работать в режиме Viewer.
В поле Filename выбираем mod-архив модификации. Он лежит в папке Gothic II\Data\modvdf и в нашем случае носит название Sarkeras.mod.
В поле Root Path указываем место, куда хотим извлечь файлы мода.
Слева у нас дерево папок. Это - структура mod-архива. Выбираем папку Scripts и нажимаем Extract Directory.

Теперь у нас есть скриптовые архивы мода.
2. Перевод:
Открываем GothicSourcer_3.14.
"Файл" -> "Новое решение".
В появившемся окне нужно ввести некоторые данные.
Имя решения - рекомендуется вводить название мода с постфиксом _RUS, то есть в нашем случае Sarkeras_RUS.
Платформа - Готика 2.
Проект для декомпиляции - выбираем файл Gothic.dat, который лежит по адресу Указанная_Для_Распаковки_Папка*\_work\data\scripts\_compiled.
Нажимаем ОК. А потом "Действие" -> "Декомпилировать" (горячая клавиша F8).
Теперь в принципе можно начинать перевод. НО настоятельно рекомендуется для начала разобраться с технической стороной дела. Потому как будет очень обидно, если вы переведете массу текста, а потом окажетесь не в состоянии доделать перевод из-за технических трудностей. Нужно исправить ошибки, которые появились в результате декомпиляции. Появляются они в большинстве случаев работы с немецкими скриптами. Найдите и исправьте их. Поскольку ошибки зачастую содержат скрипты оригинальной немецкой Готики, вы можете просто скопировать аналогичный скрипт из декомпилированых скриптов от Акеллы. Но опять же, будьте внимательны, чтобы своими действиями не спровоцировать ошибок в работе мода.
Совет: если у вас возникают технические проблемы, советую вам обратится за помощью к человеку, который хорошо смыслит в этом деле. Он может помогать вам, выполняя всю техническую работу, а вы сможете сосредоточить свое внимание на непосредственно переводе мода.
Как понять, что переводить? Если по-простому, то нужно переводить все, что подсвечивается коричневым цветом. Кроме названий вейпоинтов и распорядков дня. Ну и конечно же диалоги, что записываются после команды AI_Output...\\строка диалога и подсвечивается зеленым цветом.
Если вы хотя бы немного разбираетесь в скриптах, то сами все поймете.
Вот список файлов, которые нужно переводить:
- story\Dialoge
- story\NPC
- story\NPC\monster
- Items
- Story\Log_Entries
- Story\Dialoge_Mobsis
- Story\Assing_Ambientinfos
- Text.d
Должен заметить, список довольно общий. В большинстве случаев вам придется искать текст, что нуждается в переводе самим.
Бывает такое, что разработчики добавляют новые скрипты к оригинальным и никак их не отделяют. Это усложняет процесс поиска нужных для перевода файлов. Чтобы найти нужные диалоги и персонажей, используйте файл Story\startup.d. Откройте его!
В этом файле вы можете найти всех (или большинство) неписей, которые вставляются в игровой мир после начала игры. Бывает также, что разработчики добавляют инициализацию своего мира, не удаляя при этом инициализации оригинальных миров.
Тут уже приходится искать. Как правило, новые скрипты пишут либо в самом верху либо в самом низу.
Видим сверху функцию:
func void startup_erztal()
Это именно то, что нам нужно. Ищем неписей, которые вставляются в мир в этой функции.
Вот первый по списку непись:
Wld_InsertNpc(pal_7000_marric,"WP_MINE_01");
В верхней части окна ищем значок папки с биноклем. Нажимаем на него и вставляем инстанцию непися pal_7000_marric. Программа найдет нам все файлы, в которых есть эта строчка. Среди них будет файл непися и файл с его диалогами. Таким вот нехитрым образом мы с вами нашли то, что нужно перевести.
Совет: для начала рекомендуется перевести файл с диалогами одного непися, потом скомпилировать скрипты и протестить переведенный диалог в моде.
"Файл" -> "Новое решение".
В появившемся окне нужно ввести некоторые данные.
Имя решения - рекомендуется вводить название мода с постфиксом _RUS, то есть в нашем случае Sarkeras_RUS.
Платформа - Готика 2.
Проект для декомпиляции - выбираем файл Gothic.dat, который лежит по адресу Указанная_Для_Распаковки_Папка*\_work\data\scripts\_compiled.
Нажимаем ОК. А потом "Действие" -> "Декомпилировать" (горячая клавиша F8).
Теперь в принципе можно начинать перевод. НО настоятельно рекомендуется для начала разобраться с технической стороной дела. Потому как будет очень обидно, если вы переведете массу текста, а потом окажетесь не в состоянии доделать перевод из-за технических трудностей. Нужно исправить ошибки, которые появились в результате декомпиляции. Появляются они в большинстве случаев работы с немецкими скриптами. Найдите и исправьте их. Поскольку ошибки зачастую содержат скрипты оригинальной немецкой Готики, вы можете просто скопировать аналогичный скрипт из декомпилированых скриптов от Акеллы. Но опять же, будьте внимательны, чтобы своими действиями не спровоцировать ошибок в работе мода.
Совет: если у вас возникают технические проблемы, советую вам обратится за помощью к человеку, который хорошо смыслит в этом деле. Он может помогать вам, выполняя всю техническую работу, а вы сможете сосредоточить свое внимание на непосредственно переводе мода.
Как понять, что переводить? Если по-простому, то нужно переводить все, что подсвечивается коричневым цветом. Кроме названий вейпоинтов и распорядков дня. Ну и конечно же диалоги, что записываются после команды AI_Output...\\строка диалога и подсвечивается зеленым цветом.
Если вы хотя бы немного разбираетесь в скриптах, то сами все поймете.
Вот список файлов, которые нужно переводить:
- story\Dialoge
- story\NPC
- story\NPC\monster
- Items
- Story\Log_Entries
- Story\Dialoge_Mobsis
- Story\Assing_Ambientinfos
- Text.d
Должен заметить, список довольно общий. В большинстве случаев вам придется искать текст, что нуждается в переводе самим.
Бывает такое, что разработчики добавляют новые скрипты к оригинальным и никак их не отделяют. Это усложняет процесс поиска нужных для перевода файлов. Чтобы найти нужные диалоги и персонажей, используйте файл Story\startup.d. Откройте его!
В этом файле вы можете найти всех (или большинство) неписей, которые вставляются в игровой мир после начала игры. Бывает также, что разработчики добавляют инициализацию своего мира, не удаляя при этом инициализации оригинальных миров.
Тут уже приходится искать. Как правило, новые скрипты пишут либо в самом верху либо в самом низу.
Видим сверху функцию:
func void startup_erztal()
Это именно то, что нам нужно. Ищем неписей, которые вставляются в мир в этой функции.
Вот первый по списку непись:
Wld_InsertNpc(pal_7000_marric,"WP_MINE_01");

В верхней части окна ищем значок папки с биноклем. Нажимаем на него и вставляем инстанцию непися pal_7000_marric. Программа найдет нам все файлы, в которых есть эта строчка. Среди них будет файл непися и файл с его диалогами. Таким вот нехитрым образом мы с вами нашли то, что нужно перевести.

Совет: для начала рекомендуется перевести файл с диалогами одного непися, потом скомпилировать скрипты и протестить переведенный диалог в моде.
3. Запаковка:
Когда перевод готов, нужно его запаковать. Создайте папку, назовем ее Sarkeras_tranlation.
В нем создадите следующую структуру папок:
_work\data\scripts\_compiled
_work\data\scripts\Content\Cutscene
В папку _compiled положите полученный в результате компиляции Gothic.dat. А в папку Cutscene - полученный в результате компиляции Ou.bin.
Теперь открываем GothicVDFS. Переходим в режим Builder.
В поле Filename переходим в папку Gothic II\Data\modvdf и сохраняем туда наш перевод с именем Sarkeras_RUS.
В поле Root path выбираем папку, в котором лежат данные для мода. В нашем случае это папка Sarkeras_tranlation.
В поле над надписью File(mask)(s) to search for вводим *.* после чего нажимаем на значок "+" правее от этого поля.
Нажмите Build Volume. ОК.
Вы создали mod-архив вашего перевода.
Теперь нужно создать для него ini-файл.
ini-файлы мода лежат в папке Gothic II\System.
Идем туда и копируем Sarkeras-ArtefaktDerAhnen.ini, давая ему имя SarkerasArtefaktDerAhnen_RUS.ini
Откройте скопированный файл.
Нас интересуют следующие строчки:
Title=Sarkeras - Artefakt der Ahnen - все, что после знака "=" считается названием мода и будет выводиться в GothicStarter'e
Description= - описание мода. Также выводится в GothicStarter'e;
lang1031 - кодировка. Чтобы описание мода отображалось корректно на всех системах, нужно поменять число 1031 на 1049(для русского языка).
VDF=Sarkeras.mod - здесь указываем, какой mod-архив использует модификация. Мод может использовать несколько архивов одновременно, при этом самый высокий приоритет будет у последнего. В эту строчку через 2 пробела нужно дописать название mod-архива вашего перевода. В нашем случае будет так:
VDF=Sarkeras.mod Sarkeras_RUS.mod
Объясню, как это работает.
При запуске мода mod-архивы считываются по порядку. В архиве мода есть модели, текстуры, скриптовые архивы и т.д. Игра считала всё, что в нем есть и идет ко второму архиву (архиву вашего перевода). И в нём тоже есть скриптовые архивы при чем с такими же названиями, как и в Sarkeras.mod. Игра заменяет ими ранее считанные скрипты. Таким образом мы можем заменить игровые тексты, не затрагивая при этом другие материалы.
Всё, теперь вы можете открыть GothicStarter и запустить с него мод со своим переводом.
В нем создадите следующую структуру папок:
_work\data\scripts\_compiled
_work\data\scripts\Content\Cutscene
В папку _compiled положите полученный в результате компиляции Gothic.dat. А в папку Cutscene - полученный в результате компиляции Ou.bin.
Теперь открываем GothicVDFS. Переходим в режим Builder.
В поле Filename переходим в папку Gothic II\Data\modvdf и сохраняем туда наш перевод с именем Sarkeras_RUS.
В поле Root path выбираем папку, в котором лежат данные для мода. В нашем случае это папка Sarkeras_tranlation.
В поле над надписью File(mask)(s) to search for вводим *.* после чего нажимаем на значок "+" правее от этого поля.
Нажмите Build Volume. ОК.

Вы создали mod-архив вашего перевода.
Теперь нужно создать для него ini-файл.
ini-файлы мода лежат в папке Gothic II\System.
Идем туда и копируем Sarkeras-ArtefaktDerAhnen.ini, давая ему имя SarkerasArtefaktDerAhnen_RUS.ini
Откройте скопированный файл.
Нас интересуют следующие строчки:
Title=Sarkeras - Artefakt der Ahnen - все, что после знака "=" считается названием мода и будет выводиться в GothicStarter'e
Description= - описание мода. Также выводится в GothicStarter'e;
lang1031 - кодировка. Чтобы описание мода отображалось корректно на всех системах, нужно поменять число 1031 на 1049(для русского языка).
VDF=Sarkeras.mod - здесь указываем, какой mod-архив использует модификация. Мод может использовать несколько архивов одновременно, при этом самый высокий приоритет будет у последнего. В эту строчку через 2 пробела нужно дописать название mod-архива вашего перевода. В нашем случае будет так:
VDF=Sarkeras.mod Sarkeras_RUS.mod

Объясню, как это работает.
При запуске мода mod-архивы считываются по порядку. В архиве мода есть модели, текстуры, скриптовые архивы и т.д. Игра считала всё, что в нем есть и идет ко второму архиву (архиву вашего перевода). И в нём тоже есть скриптовые архивы при чем с такими же названиями, как и в Sarkeras.mod. Игра заменяет ими ранее считанные скрипты. Таким образом мы можем заменить игровые тексты, не затрагивая при этом другие материалы.
Всё, теперь вы можете открыть GothicStarter и запустить с него мод со своим переводом.
Пара советов:
1. Если вы вдруг распаковали архивы мода, и увидели вместо привычных Gothic.dat и Ou.bin, файлы такого же формата, например Velaya.dat и OuV.bin (как в моде "Велая") не стоит беспокоиться: это нормальное явление. Немцы любят называть скриптовые архивы своего мода по-другому, не как в оригинале.
2. Если GothicSourcer_3.14 вылетает на стадии декомпиляции мода, значит, вам нужно попробовать добыть исходники по-другому. Можете попробовать декомпилировать их другими версиями GothicSourcer'a, например версией 2.40. Все же, это не гарантирует вам положительного результата. Еще вы можете попытаться связаться с разработчиками. Большинство из них можно найти на worldofgothic.de. Общаться с ними можно как на немецком, так и на английском.
3. Если вы не можете скомпилировать скрипты из-за ошибок, попросите помощи у других. Опытные мододелы с радостью сделают свой вклад в перевод очередного мода.
4. Если вам нужно перевести текст главного меню, декомпилируйте архив Menu.dat. С ним никаких проблем быть не должно.
5. Если во время теста переведенный вами текст не отображается адекватно, скорее всего, дело в том, что в mod-архиве с модом лежат немецкие шрифты. В таком случае просто скопируйте русские шрифты из папки Gothic II\_work\data\Textures\Fonts\nomip и добавьте его к mod-архиву вашего перевода.
6. Перед релизом обязательно потестите мод лично, хотя бы один раз.
2. Если GothicSourcer_3.14 вылетает на стадии декомпиляции мода, значит, вам нужно попробовать добыть исходники по-другому. Можете попробовать декомпилировать их другими версиями GothicSourcer'a, например версией 2.40. Все же, это не гарантирует вам положительного результата. Еще вы можете попытаться связаться с разработчиками. Большинство из них можно найти на worldofgothic.de. Общаться с ними можно как на немецком, так и на английском.
3. Если вы не можете скомпилировать скрипты из-за ошибок, попросите помощи у других. Опытные мододелы с радостью сделают свой вклад в перевод очередного мода.
4. Если вам нужно перевести текст главного меню, декомпилируйте архив Menu.dat. С ним никаких проблем быть не должно.
5. Если во время теста переведенный вами текст не отображается адекватно, скорее всего, дело в том, что в mod-архиве с модом лежат немецкие шрифты. В таком случае просто скопируйте русские шрифты из папки Gothic II\_work\data\Textures\Fonts\nomip и добавьте его к mod-архиву вашего перевода.
6. Перед релизом обязательно потестите мод лично, хотя бы один раз.