Новости Старт 6го сезона Grim League
  • 650
  • 0
4 мая в 18-00 стартует шестой сезон Community лиги по одной из лучших игр в жанре arpg Grim Dawn. Сезон представляет собой глобальную модификацию игры, включающую в себя расширение мира, изменение...
Новости Дата релиза Baldur's Gate III
  • 20.615
  • 1
Наконец-то дождались - "Baldur's Gate III" покидает ранний доступ, и в августе 2023 выходит в полноценный релиз, о чём стало известно на церемонии "The Game Awards 2022". С момента выхода игры в...
Новости Итоги года от The Game Awards 2022
  • 14.172
  • 0
Вчера прошла ежегодная церемония награждения проектов в индустрии компьютерных игр и киберспорта. Самую главную награда - "Игра года" забрала игра "Elden Ring" от японских разработчиков...
Новости Анонс Assassin's Creed Mirage
  • 19.708
  • 6
На сегодняшнем мероприятии «Ubisoft Forward» была анонсированна новая часть вселенной «Assassin's Creed» под названием «Mirage». В роли протагониста будет Басим ибн Исхак, играющие в «Assassin’s...

Гайд Руководство по переводу модификаций на Готику

Spartak

Рыцарь
Участник форума
Регистрация
15 Авг 2015
Сообщения
2.108
Реакции
1.892
Баллы
333
Лучшие ответы
31
#1
Руководство по переводу модификаций на Готику

Автор: @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.

Руководство_по_переводу_модов_1.jpg

Теперь у нас есть скриптовые архивы мода.

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");

Руководство_по_переводу_модов_2.jpg

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

Руководство_по_переводу_модов_3.jpg

Совет: для начала рекомендуется перевести файл с диалогами одного непися, потом скомпилировать скрипты и протестить переведенный диалог в моде.

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. ОК.

Руководство_по_переводу_модов_4.jpg

Вы создали 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

Руководство_по_переводу_модов_5.jpg

Объясню, как это работает.

При запуске мода 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. Перед релизом обязательно потестите мод лично, хотя бы один раз.
 

Adept

Рыцарь
Команда форума
Редактор раздела
Локализатор
Команда озвучки
 
Почётный пользователь
Участник форума
Регистрация
14 Апр 2010
Сообщения
2.499
Реакции
2.174
Баллы
586
Лучшие ответы
8
#2
Лучше попросить исходники, а не декомпилировать скрипты. Автор(ы) мода будут только рады.
 

TraZag

Избранник богов
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
6 Окт 2012
Сообщения
11.938
Реакции
10.518
Баллы
995
Лучшие ответы
0
#3
@Adept, абсолютно верно. ;) Декомпилировать на самом деле можно без ошибок... только не той версией ГС. И она правда поменяет структуру скриптов.
 
Автор
Автор
Spartak

Spartak

Рыцарь
Участник форума
Регистрация
15 Авг 2015
Сообщения
2.108
Реакции
1.892
Баллы
333
Лучшие ответы
31
#4
Что оставить? Что убрать? Что заменить?
 

TraZag

Избранник богов
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
6 Окт 2012
Сообщения
11.938
Реакции
10.518
Баллы
995
Лучшие ответы
0
#5
@Spartak, тут все не так просто. Помню декомпилировал исходники Ребуса при начале работы над в2. Ошибок там было 0. Но версия ГС была не 3, а второй.....через командную строку или батник. Работа с ним станет для новичком проблемой. Ибо там надо четко соблюдать пути и прочее...короче танцы с бубном. Проще как предложил Адепт просить у разраба исходники. Это будет правильней.
 

Hellkiller

Новичок
Участник форума
Регистрация
12 Май 2017
Сообщения
14
Реакции
0
Баллы
6
Лучшие ответы
0
#6
Помогите плиз, как переводить моды на г1 исходники скриптов есть что мне делать дальше? Мод Час расплаты.Вот исходники
https://github.com/orcwarrior/Czas_Zaplaty
 

TopLayer

Наемник
Участник форума
Регистрация
22 Апр 2017
Сообщения
893
Реакции
363
Баллы
191
Лучшие ответы
24
#7
Сделал программу для извлечения / инжектирования текста из бинарников. Может кому пригодится.
GothicTranslate – Google Диск
Возможности программы:
1. Вывод содержимого .dat файла в человекочитаемов виде.
1. Извлечение строк из бинарников по заданным правилам и добавление их в словарь. Пример солянки правил для Злотых Ворот и Легенд Ассуна смотри в rules.txt.
2. Гуглоперевод словаря.
3. Инжектирование данных из словаря в бинарники по заданным правилам.
4. Так же имеет в составе библиотеку, позволяющую модифицировать код .dat файлов (не Daedalus). Пример использования смотри в ab_cheat_example.cs.

Более подробную инфу об использовании программы смотри в run.py.
 

GeorG

Чародей божьего бага
Команда форума
Администратор форума
Пользователь VIP
Почётный пользователь
 
Участник форума
Регистрация
31 Мар 2010
Сообщения
20.091
Реакции
5.214
Баллы
1.181
Лучшие ответы
84
#8

Niko5511

Труженик
Участник форума
Регистрация
14 Мар 2018
Сообщения
372
Реакции
124
Баллы
49
Лучшие ответы
2
#9

TopLayer

Наемник
Участник форума
Регистрация
22 Апр 2017
Сообщения
893
Реакции
363
Баллы
191
Лучшие ответы
24
#10
@Niko5511, да, можно переводить с любого языка на любой. Только в отличии от транслятора по ссылке этот не задумывался как "Easy_Translator".
Подробнее о моей программе можно почитать здесь: Инструменты - GothicTranslate .
 
Сверху Снизу