Создание новой книги для Risen
Первый том книги Слова Богов у нас уже есть. Сегодня добавим на Фарангу второй том.
Потребуется:
- Tpledit v002
- Risen PAK Viewer
- Risen PAK Generator
- Risen TAB to CSV converter
- Risen CSV to TAB converter
- Lrenter v0.2b
- MS Excel
- Hex-редактор. Тут я буду использовать Tiny Hexer 1.8.1.6
- Risen с установленным патчем 1.10
Сразу скажу, что здесь я не буду говорить, как пользоваться конвертерами и распаковщиками. Их использование отлично описано в приложении к самим утилитам, да и в модстартере имеется простой и удобный интерфейс для работы с ними.
Для начала распакуем из strings.pak три файла - documents.tab, focus.tab и items.tab. Далее с помощью Risen TAB to CSV converter конвертируем tab файлы в формат csv.
Новую книгу будем делать на основе шаблона уже существующей книги о магических рунах. Ее имя It_Book_MagicRunes.
Придумаем уникальное имя для новой книги. Например: It_Book_GodsWords2. Запомним это имя оно нам понадобится еще не один раз.
ВАЖНО: Количество символов в имени нового предмета должно совпадать с количеством символов в имени базового предмета. В данном случае в It_Book_MagicRunes и в It_Book_GodsWords2 количество символов равно 18.
Открываем documents.csv. Например, в MS Excel.
В конец документа нам нужно добавить три новые строки: заголовок книги, содержание левой стороны книги, содержание правой стороны книги. Первый столбец это уникальный идентификатор каждой строки.
Зададим новый идентификатор для заголовка. Например: BOOK_GODSWORDS2T_HEADER. В этой же строке в столбце Russian_Text добавим содержание заголовка. В нашем случае это:
Слова Богов - Том Второй.
Зададим новый идентификатор для содержания левой стороны книги. Например: BOOK_GODSWORDS2T_LEFT. В этой же строке в столбце Russian_Text добавим содержание левой стороны книги. В нашем случае это:
О начале времен: Не было ни дня, ни ночи, и не было ни одной твари живой. Потом пришел Иннос, дал жизнь этому миру и принес с собой свет. Но слишком ярок был свет Инноса, а потому породил он Солнце. Однако и это было непереносимо для живых тварей, и тогда Иннос разделил себя и породил Белиара. Белиар породил ночь. Теперь человек мог жить. Тогда Иннос разделил себя вновь и породил Аданоса..
Зададим новый идентификатор для содержания правой стороны книги. Например: BOOK_GODSWORDS2T_RIGHT. В этой же строке в столбце Russian_Text добавим содержание левой стороны книги. В нашем случае это:
Аданос наделил человека подвижностью, жаждой знания, любопытством и смелостью. И посмотрел Иннос на дело рук своих и решил, что это хорошо. После Иннос отдыхал, а Аданос следил за людьми. Люди не поклонялись Белиару, потому что ночью они спали. В гневе и ярости Белиар породил одного человека, чтобы хотя бы он поклонялся ему. Но это был все равно человек, а потому ночью он тоже спал. Белиар убил его и сказал: если они не поклоняются мне, так пусть хотя бы боятся. И породил он смерть, и стали люди умирать.
В итоге это выглядит так:
Идентификаторы BOOK_GODSWORDS2T_HEADER, BOOK_GODSWORDS2T_LEFT, BOOK_GODSWORDS2T_RIGHT так же нужно запомнить они нам еще понадобятся.
Закрываем documents.csv. Excel предлагает сохранить изменения. Нажимаем Да и нажимаем Да в следующем диалоге.
Теперь открываем items.csv. Тут нам нужно записать описание предмета, которое будет отображаться в инвентаре.
В конце документа в первом столбце добавляем новый идентификатор в формате ITEMDESC_<имя предмета>. В нашем случае это ITEMDESC_ It_Book_GodsWords2. В этой же строке в столбце Russian_Text добавим само описание предмета. В нашем случае будет это например Слова Богов - Том Второй.
В итоге это выглядит так:
Сохраняем items.csv как и предыдущий документ.
Теперь открываем focus.csv. Тут нам нужно записать имя предмета, которое появляется когда предмет оказывается в фокусе персонажа.
В конце документа в первом столбце добавляем новый идентификатор в формате FO_<имя предмета>. В нашем случае это FO_It_Book_GodsWords2. В этой же строке в столбце Russian_Text добавим само описание предмета. В нашем случае будет это например Слова Богов.
В итоге это выглядит так:
Сохраняем focus.csv как и предыдущий документ.
Файлы documents.csv, focus.csv и items.csv с помощью Risen CSV to TAB converter конвертируем обратно в tab формат.
Файлы documents.tab, focus.tab и items.tab помещаем в папку strings (создаем сами, где угодно) и с помощью Risen PAK Generator упаковываем. На выходе получается strings.00. Копируем strings.00 в каталог Risen\data\compiled. Переименовываем strings.00 в strings.p0x (где x следующий порядковый номер после существующего пака, то есть если уже существует файл strings.p00, то strings.00 переименовываем в strings.p01).
Теперь нам нужно распаковать файл шаблона базовой книги. Для этого распаковываем из templates.pak файл It_Book_MagicRunes.tple, который находится в каталоге Items\Written внутри pak файла.
В свойствах файла It_Book_MagicRunes.tple снимаем галочку с атрибута Только чтение и переименовываем файл в It_Book_GodsWords2.tple.
Открываем файл It_Book_GodsWords2.tple в Tpedit и переходим к параметру gCBook_PS. Здесь у нас хранятся ссылки на содержимое книги в documents.tab.
Сменим текущие строки на наши новые идентификаторы содержимого книги. Для этого нажимаем на кнопку с тремя точками в конце поля.
Далее нажимаем на кнопку Edit strings
В поле меняем строку на наш идентификатор заголовка книги. В нашем случае это BOOK_GODSWORDS2T_HEADER. И нажимаем кнопку Change.
Заменим остальные две строки на наши идентификаторы тем же способом. В итоге это должно выглядеть так:
Так же очень важно сменить GUID предмета. GUID это глобальный уникальный идентификатор предмета. Для смены GUID в поле GUID2 просто меняем любое число, не забывая, что в шестнадцатеричной системе счисления разряд числа имеет максимальное значение равное F. Я сменил 22 разряд с 6 на 7. Этого достаточно, так как вероятность, что новый GUID совпадет с уже существующим очень мала.
Для разнообразия можно сменить иконку предмета. Для этого переходим к параметру gCItem_PC и меняем содержимое поля имени иконки тем же способом, что описано выше.
Вот некоторые, известные мне, иконки книг и их названия:
Я поменял имя иконки на ic_it_book_closed_03.
Сохраняем файл.
Внешне это уже другой файл, но внутреннее имя все еще значится как It_Book_MagicRunes. Нам нужно сменить его на наше It_Book_GodsWords2. Для этого открываем файл It_Book_GodsWords2.tple в Tiny Hexer. Пункт меню Edit, в выпадающем меню выбрать Find/Replace
В верхнем поле вводим то, что нам надо найти. В нашем случае это It_Book_MagicRunes. Ставим галочку на Find Text и нажимаем Find.
Если строка найдена, то стает доступной кнопка Replace>>. Нажимаем ее. В появившемся нижнем поле вводим то, на что нужно заменить. В нашем случае это It_Book_GodsWords2. Ставим галочку на Is text и нажимаем на кнопку Replace all.
Должно появится сообщение об успешных двух заменах. Закрываем форму поиска и сохраняем файл.
Теперь откроем файл It_Book_GodsWords2.tple в Tpledit для того чтобы просто убедится, что файл нормально читается. Название вот этих полей должны быть без изменений:
Файл It_Book_GodsWords2.tple помещаем в каталог templates\Items\Written (создаем сами, где угодно) и с помощью Risen PAK Generator упаковываем. На выходе получается templates.00. Копируем templates.00 в каталог Risen\data\common. Переименовываем templates.00 в templates.p0x (где x следующий порядковый номер после существующего пака, то есть если уже существует файл templates.p00, то templates.00 переименовываем в templates.p01).
Запускаем Risen. Проверим существование нового предмета. Для этого вводим minsky, чтобы была возможность воспользоваться консолью.
Для проверки открываем консоль клавишей ~ и вводим команду:
give It_Book_GodsWords2
Если все в порядке, то новый предмет должен появиться в инвентаре.
Новую книгу можно получить так же с помощью команды:
spawn It_Book_GodsWords2
Новый предмет появится рядом с персонажем.
Теперь разместим готовую книгу где-нибудь на Фаранге.
Чтобы далеко не ходить разместим новую книгу рядом с уже существующей книгой о магических рунах. Информация о размещении предметов в мире хранится в lrent файлах. Распаковываем из projects.pak файл Monastery_Item.lrent, который находится в каталоге World\Cities\Monastery внутри pak файла.
Запускаем Lrenter. File > Open > открыть Monastery_Item.lrent, Entities > manage. В верхнем комбобоксе находим It_Book_MagicRunes и нажимаем на кнопку save bin.
В итоге рядом с файлом Monastery_Item.lrent появятся два файла: Monastery_Item-It_Book_MagicRunes.bino и Monastery_Item-It_Book_MagicRunes.TEs.
Открываем файл Monastery_Item-It_Book_MagicRunes.TEs в любом текстовом редакторе и меняем строку It_Book_MagicRunes на It_Book_GodsWords2.
Больше ничего здесь менять не нужно. Сохраняем изменения.
Теперь добавим новую запись о новом предмете в lrent файл. Для этого в группе append нажимаем кнопку obj и выбираем файл Monastery_Item-It_Book_MagicRunes.bino. Нажимаем OK, File > Save. Файл сохранится как _Monastery_Item.lrent.
Файл Monastery_Item.lrent больше не нужен, его можно удалить. Теперь откроем в Lrenter файл _Monastery_Item.lrent, далее Entities > manage. В верхнем комбобоксе находим It_Book_GodsWords2.
Теперь нам нужно сменить координаты предмета. Текущие координаты это координаты книги It_Book_MagicRunes. Сместим предмет немного по оси Z.
[Bild: 462]
Нажимаем change и OK, File > Save. Файл сохранится как _Monastery_Item.lrent. Теперь переименуем файл _Monastery_Item.lrent в Monastery_Item.lrent (просто убрать подчеркивание). Закрываем Lrenter.
Теперь нам нужно сменить GUID нового предмета на правильный GUID. Пока в lrent файле у предмета It_Book_GodsWords2 стоит GUID предмета It_Book_MagicRunes.
Запускаем Tiny Hexer, открываем в нем файл It_Book_MagicRunes.tple.
Находим и выделяем следующую последовательность байт:
Это и есть GUID предмета It_Book_MagicRunes. Tiny Hexer не закрываем.
Теперь в Tiny Hexer открываем файл It_Book_GodsWords2.tple. Находим и выделяем следующую последовательность байт:
Это и есть GUID предмета It_Book_GodsWords2. Tiny Hexer не закрываем.
Теперь в Tiny Hexer открываем файл Monastery_Item.lrent. Снова воспользуемся поиском и заменой. В верхнее поле формы поиска скопируем последовательность байт, которая выделена в окне It_Book_MagicRunes.tple файла. Снять галочку на Find Text (если стоит) и нажимаем Find.
Так как новый предмет был добавлен последним в lrent файл, то ищем последнее совпадение. (В данном случае нужно было нажать Find два раза)
Теперь нажимаем кнопку Replace>>. В нижнее поле формы поиска скопируем последовательность байт, которая выделена в окне It_Book_GodsWords2.tple файла. Снять галочку на Is text (если стоит) и нажимаем Replace.
Закрываем форму поиска, сохраняем изменения в Monastery_Item.lrent, закрываем Tiny Hexer.
Файл Monastery_Item.lrent помещаем в каталог projects\World\Cities\Monastery (создаем сами, где угодно) и с помощью Risen PAK Generator упаковываем. На выходе получается projects.00. Копируем projects.00 в каталог Risen\data\common. Переименовываем projects.00 в projects.p0x (где x следующий порядковый номер после существующего пака, то есть если уже существует файл projects.p00, то projects.00 переименовываем в projects.p01).
Запускаем Risen. Если все нормально, то новая книга появится на столе в библиотеке монастыря.
Координаты предметов можно смотреть с помощью консольной команды edit. Для книги созданной в этом туториале команда будет выглядеть так:
edit It_Book_GodsWords2
Только координаты немного меняют свой вид, в отличии от координат в Lrenter.
Вот и все. Это на самом деле легче чем кажется. Главное попробовать
Ergebnis 1 bis 8 von 8
-
Gendert von Digan (05.11.2010 um 20:05 Uhr)
-
Вариант туториала без использования Hex-редактора
Для начала распакуем из strings.pak три файла - documents.tab, focus.tab и items.tab. Далее с помощью Risen TAB to CSV converter конвертируем tab файлы в формат csv.
Новую книгу будем делать на основе шаблона уже существующей книги о магических рунах. Ее имя It_Book_MagicRunes.
Придумаем уникальное имя для новой книги. Например: It_Book_GodsWords2. Запомним это имя оно нам понадобится еще не один раз.
ВАЖНО: Количество символов в имени нового предмета должно совпадать с количеством символов в имени базового предмета. В данном случае в It_Book_MagicRunes и в It_Book_GodsWords2 количество символов равно 18.
Открываем documents.csv. Например, в MS Excel.
В конец документа нам нужно добавить три новые строки: заголовок книги, содержание левой стороны книги, содержание правой стороны книги. Первый столбец это уникальный идентификатор каждой строки.
Зададим новый идентификатор для заголовка. Например: BOOK_GODSWORDS2T_HEADER. В этой же строке в столбце Russian_Text добавим содержание заголовка. В нашем случае это:
Слова Богов - Том Второй.
Зададим новый идентификатор для содержания левой стороны книги. Например: BOOK_GODSWORDS2T_LEFT. В этой же строке в столбце Russian_Text добавим содержание левой стороны книги. В нашем случае это:
О начале времен: Не было ни дня, ни ночи, и не было ни одной твари живой. Потом пришел Иннос, дал жизнь этому миру и принес с собой свет. Но слишком ярок был свет Инноса, а потому породил он Солнце. Однако и это было непереносимо для живых тварей, и тогда Иннос разделил себя и породил Белиара. Белиар породил ночь. Теперь человек мог жить. Тогда Иннос разделил себя вновь и породил Аданоса..
Зададим новый идентификатор для содержания правой стороны книги. Например: BOOK_GODSWORDS2T_RIGHT. В этой же строке в столбце Russian_Text добавим содержание левой стороны книги. В нашем случае это:
Аданос наделил человека подвижностью, жаждой знания, любопытством и смелостью. И посмотрел Иннос на дело рук своих и решил, что это хорошо. После Иннос отдыхал, а Аданос следил за людьми. Люди не поклонялись Белиару, потому что ночью они спали. В гневе и ярости Белиар породил одного человека, чтобы хотя бы он поклонялся ему. Но это был все равно человек, а потому ночью он тоже спал. Белиар убил его и сказал: если они не поклоняются мне, так пусть хотя бы боятся. И породил он смерть, и стали люди умирать.
В итоге это выглядит так:
Идентификаторы BOOK_GODSWORDS2T_HEADER, BOOK_GODSWORDS2T_LEFT, BOOK_GODSWORDS2T_RIGHT так же нужно запомнить они нам еще понадобятся.
Закрываем documents.csv. Excel предлагает сохранить изменения. Нажимаем Да и нажимаем Да в следующем диалоге.
Теперь открываем items.csv. Тут нам нужно записать описание предмета, которое будет отображаться в инвентаре.
В конце документа в первом столбце добавляем новый идентификатор в формате ITEMDESC_<имя предмета>. В нашем случае это ITEMDESC_ It_Book_GodsWords2. В этой же строке в столбце Russian_Text добавим само описание предмета. В нашем случае будет это например Слова Богов - Том Второй.
В итоге это выглядит так:
Сохраняем items.csv как и предыдущий документ.
Теперь открываем focus.csv. Тут нам нужно записать имя предмета, которое появляется когда предмет оказывается в фокусе персонажа.
В конце документа в первом столбце добавляем новый идентификатор в формате FO_<имя предмета>. В нашем случае это FO_It_Book_GodsWords2. В этой же строке в столбце Russian_Text добавим само описание предмета. В нашем случае будет это например Слова Богов.
В итоге это выглядит так:
Сохраняем focus.csv как и предыдущий документ.
Файлы documents.csv, focus.csv и items.csv с помощью Risen CSV to TAB converter конвертируем обратно в tab формат.
Файлы documents.tab, focus.tab и items.tab помещаем в папку strings (создаем сами, где угодно) и с помощью Risen PAK Generator упаковываем. На выходе получается strings.00. Копируем strings.00 в каталог Risen\data\compiled. Переименовываем strings.00 в strings.p0x (где x следующий порядковый номер после существующего пака, то есть если уже существует файл strings.p00, то strings.00 переименовываем в strings.p01).
Теперь нам нужно распаковать файл шаблона базовой книги. Для этого распаковываем из templates.pak файл It_Book_MagicRunes.tple, который находится в каталоге Items\Written внутри pak файла.
В свойствах файла It_Book_MagicRunes.tple снимаем галочку с атрибута Только чтение.
Открываем файл It_Book_MagicRunes.tple в Tpledit и переходим к параметру gCBook_PS. Здесь у нас хранятся ссылки на содержимое книги в documents.tab.
Сменим текущие строки на наши новые идентификаторы содержимого книги. Для этого нажимаем на кнопку с тремя точками в конце поля.
Далее нажимаем на кнопку Edit strings
В поле меняем строку на наш идентификатор заголовка книги. В нашем случае это BOOK_GODSWORDS2T_HEADER. И нажимаем кнопку Change.
Заменим остальные две строки на наши идентификаторы тем же способом. В итоге это должно выглядеть так:
Для разнообразия можно сменить иконку предмета. Для этого переходим к параметру gCItem_PC и меняем содержимое поля имени иконки тем же способом, что описано выше.
Вот некоторые, известные мне, иконки книг и их названия:
Я поменял имя иконки на ic_it_book_closed_03.
Сохраняем файл.
Внешне это уже другой файл, но внутреннее имя все еще значится как It_Book_MagicRunes. Нам нужно сменить его на наше It_Book_GodsWords2. Так же нужно сменить GUID2.
GUID это глобальный уникальный идентификатор предмета.
Запускаем Risen GUID Manager.
Указываем в поле tple File файл It_Book_MagicRunes.tple. Затем генерируем новый GUID для предмета нажатием на кнопку Generate new GUID. Затем ниже указываем имя нашего нового предмета в нашем случае это It_Book_GodsWords2. И нажимаем на кнопку Create a new template file.
Новый файл должен появится рядом с исполняемым файлом Risen GUID.
Risen GUID Manager пока не закрываем.
Теперь разместим готовую книгу где-нибудь на Фаранге.
Чтобы далеко не ходить разместим новую книгу рядом с уже существующей книгой о магических рунах. Информация о размещении предметов в мире хранится в lrent файлах. Распаковываем из projects.pak файл Monastery_Item.lrent, который находится в каталоге World\Cities\Monastery внутри pak файла.
Запускаем Lrenter. File > Open > открыть Monastery_Item.lrent, Entities > manage. В верхнем комбобоксе находим It_Book_MagicRunes и нажимаем на кнопку save bin.
В итоге рядом с файлом Monastery_Item.lrent появятся два файла: Monastery_Item-It_Book_MagicRunes.bino и Monastery_Item-It_Book_MagicRunes.TEs.
Открываем файл Monastery_Item-It_Book_MagicRunes.TEs в любом текстовом редакторе и меняем строку It_Book_MagicRunes на It_Book_GodsWords2.
Больше ничего здесь менять не нужно. Сохраняем изменения.
Теперь добавим новую запись о новом предмете в lrent файл. Для этого в группе append нажимаем кнопку obj и выбираем файл Monastery_Item-It_Book_MagicRunes.bino. Нажимаем OK, File > Save. Файл сохранится как _Monastery_Item.lrent.
Файл Monastery_Item.lrent больше не нужен, его можно удалить. Теперь откроем в Lrenter файл _Monastery_Item.lrent, далее Entities > manage. В верхнем комбобоксе находим It_Book_GodsWords2.
Теперь нам нужно сменить координаты предмета. Текущие координаты это координаты книги It_Book_MagicRunes. Сместим предмет немного по оси Z.
[Bild: 462]
Нажимаем change и OK, File > Save. Файл сохранится как _Monastery_Item.lrent. Теперь переименуем файл _Monastery_Item.lrent в Monastery_Item.lrent (просто убрать подчеркивание). Закрываем Lrenter.
Теперь нам нужно сменить GUID нового предмета на правильный GUID. Пока в lrent файле у предмета It_Book_GodsWords2 стоит GUID предмета It_Book_MagicRunes.
Для этого переходим снова к Risen GUID Manager (надеюсь вы не закрывали).
В нижнем поле lrent File указываем полученный ранее в lrenter файл Monastery_Item.lrent. И нажимаем на кнопку Create a new lrent file.
Новый файл должен появится рядом с исполняемым файлом Risen GUID.
Теперь рядом с исполняемым файлом Risen GUID должно находится 2 нужных нам файла: It_Book_GodsWords2.tple и Monastery_Item.lrent.
Файл It_Book_GodsWords2.tple помещаем в каталог templates\Items\Written (создаем сами, где угодно) и с помощью Risen PAK Generator упаковываем. На выходе получается templates.00. Копируем templates.00 в каталог Risen\data\common. Переименовываем templates.00 в templates.p0x (где x следующий порядковый номер после существующего пака, то есть если уже существует файл templates.p00, то templates.00 переименовываем в templates.p01).
Файл Monastery_Item.lrent помещаем в каталог projects\World\Cities\Monastery (создаем сами, где угодно) и с помощью Risen PAK Generator упаковываем. На выходе получается projects.00. Копируем projects.00 в каталог Risen\data\common. Переименовываем projects.00 в projects.p0x (где x следующий порядковый номер после существующего пака, то есть если уже существует файл projects.p00, то projects.00 переименовываем в projects.p01).
Запускаем Risen. Если все нормально, то новая книга появится на столе в библиотеке монастыря.
-
Я ни черта не поняла, но имхо это гениально!
Спасибо огромное за этот туториал.
У меня вопрос, доведено ли это как-то до сведения наших немецких коллег?
Поскольку Нико следил за твоей разработкой, возможно, он поможет с информацией о ней в Форуме модификаций для Ризен.
Я, к сожалению, не в состоянии перевести такой объем текста, в котором я ничегошеньки не понимаю.
Если эта разработка еще не дошла до немецких коллег, то, наверное, нам следует обратиться за помощью в переводе к Voland, который мог бы связаться с Нико.Gendert von elind (07.12.2010 um 19:26 Uhr)
-
Я на форуме модификаций писал, что добавил новую книгу в Ризен.
http://forum.worldofplayers.de/forum...1#post14374471
Скрин выкладывал. Выложил так же недавно свою программу, чтобы облегчить рутину.
http://forum.worldofplayers.de/forum...0#post14652720
В результате ни одного ответного поста... Сделал вывод, что это пока никому не интересно.Gendert von Digan (07.12.2010 um 19:53 Uhr)
-
Жень, я догадываюсь, с чем это связано.
Во-первых, далеко не все немецкие мододелы знают английский.
Во-вторых, не очень завлекательное название темы.
В-третьих, из твоего короткого поста далеко не все сразу сообразили, что можно сделать с помощью твоей проги.
нужно расписать все почти также подробно, как ты сделал в этой теме.
В этом тебе может помочь только Воланд. Напиши ему, попроси кратко изложить на немецком суть твоей проги и переназвать ее как-то более интригующе - типа "Как самому создать книгу в Ризен".
-
Для начала думаю нужно выложить готовый мод. Большинству наверное легче запустить мод, чем разбираться в туториале. Для русской версии я уже в соседней теме как-то выкладывал.
Возможно ли выложить текст книги "Слова Богов. Том первый" из немецкой версии Готики?
-
- Registriert seit
- Jun 2013
- Ort
- Russia
- Beitrge
- 38
Приветствую всех, подскажите, пожалуйста - изменение параметров оружия и доспехов в Risen 1 возможно осуществить вышеуказанным методом?
-
- Registriert seit
- Jun 2013
- Ort
- United Kingdom, London
- Beitrge
- 94
О, WinXP. Спасибо за ман.