Регистрация новых текстовых файлов — S.T.A.L.K.E.R. Inside Wiki

Регистрация новых текстовых файлов

Материал из S.T.A.L.K.E.R. Inside Wiki

Версия от 21:39, 29 января 2017; OlegatoR (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Вступление

Наверное, большинство людей, вскрывавших архивы игры, знают, что 90% текстов "Сталкера" находятся в XML-файлах из папки configs/text/rus. Бывает, нет желания впихивать свои тексты в оригинальные файлы. Тогда создаются новые XML-документы, и там уже прописывается все, что нужно. Создать документ и прописать - это одно. А вот регистрация этих документов - уже другое. Сложного в регистрации новых файлов ничего нет, но не всем начинающим модмейкерам этот процесс известен. Будем исправлять.

Способ первый

Предположим, мы создали файл my_dialogs.xml в папке configs/text/rus. Чтобы его зарегистрировать мы задействуем любой оригинальный файл из этой же папки. Например, st_dialogs.xml. Откроем его и где-нибудь между <string_table> и </string_table> пропишем наш файл через известную форму include. Прописать можно в любом месте, не прерывая секции другого текста. Я пропишу прямо под <string_table>:

<?xml version="1.0" encoding="windows-1251" ?>
<string_table>
#include "text\rus\my_dialogs.xml"
	<string id="about_quests_dialog_bandit_0">
		<text>Подскажи мне насчёт одного дела...</text>
	</string>
	<string id="about_quests_dialog_bandit_1">
		<text>А чё за дело?</text>
	</string>
	<string id="about_quests_dialog_bandit_10">
		<text>Что ты думаешь про Шустрого?</text>
	</string>
	<string id="about_quests_dialog_bandit_101">
		<text>Про Шустрого? Я, короче, так думаю, как-нибудь мы его таки встретим в тихом месте и чутка эту суку потрясём.</text>
	</string>
	<string id="about_quests_dialog_bandit_11">
		<text>Что ты слышал про Оазис?</text>
	</string>
	<string id="about_quests_dialog_bandit_111">
		<text>Х-хы-ы! Я, короче, такую хохму сышал - ваще, умереть не встать! Короче, как-то, на Свалке ещё, пацаны беса погнали: толкнули адресок Оазиса с темой, типа это полный верняк. Ну и приныкались там на нычке кодлой. Ну и чё те сказать... там, короче, с бакланов стока поснимали, шо пацаны на завтра тупо из Зоны свалили! На всю оставшуюся жизнь каждому хватит. Один тока пацанчик тут остался - ему Йога погоняло было.</text>
	</string>
	<string id="about_quests_dialog_bandit_112">
		<text>Чё, короче, слышал, так это типа там любые болезни проходят. Я так секу, полезная, мля, штука: и гемора по жизни никакого, от бодуна или передоза там башка не трещит... Короче, ставишь туда гостиничку - и бабло греби лопатой!</text>
	</string>
...

Надеюсь, понятно, что мы зарегистрировали свой файл строкой:

#include "text\rus\my_dialogs.xml"

Способ 2а и 2б

Способ 2а

Сейчас мы уже задействуем другой оригинальный файл - configs/localization.ltx. В нем можно дать ссылку на все наши текстовые файлы. Наполнен файл в чистом ЗП вот-так:

[string_table]
language        = rus
font_prefix     = ;_west ;_cent

Мы возьмем и допишем под всем этим новый параметр files, а в значении укажем названия новых файлов (пускай, my_dialogs, my_items и my_artefacts):

files           = my_dialogs, my_items, my_artefacts

В целом будет выглядеть так:

[string_table]
language        = rus
font_prefix     = ;_west ;_cent
files           = my_dialogs, my_items, my_artefacts

Способ 2б

Фактически, микс между способом 1 и 2а. В папке configs/text/rus создаем XML-файл с любым названием. Я предпочту назвать по назначению - my_text_files.xml. Из него, собственно, и будут идти все отсылки к другим текстовкам. Далее, регистрируем этот файл по принципу из способа 2а. Открываем localization.ltx, и прописываем там наш файл:

[string_table]
language        = rus
font_prefix     = ;_west ;_cent
files           = my_text_files

Возвращаемся к файлу my_text_files.xml, и заполняем его следующим образом:

<?xml version="1.0" encoding="windows-1251" standalone="yes" ?>
<string_table>
#include "text\rus\my_dialogs.xml"
#include "text\rus\my_items.xml"
#include "text\rus\my_character_names.xml"
#include "text\rus\my_artefacts.xml"
#include "text\rus\my_weapons.xml"
</string_table>
<?xml version="1.0" encoding="windows-1251" standalone="yes" ?>
- стандартная кодировка файла

<string_table> и </string_table> - теги файла Через #include прописаны все наши текстовые файлы. Этот способ я сам предпочитаю использовать. Все четко, понятно, нету больших рисков и непоняток с оригинальными файлами. Всем спасибо, на этом мини-урок закончен! =)

Авторы

Автор статьи: FantomICW

Другие места
LANGUAGE