Регистрация новых текстовых файлов — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(Мы платим за лайки! - Оплата ежедневно!) |
OlegatoR (обсуждение | вклад) м (Откат правок 77.37.156.108 (обсуждение) к версии 91.218.192.254) |
||
Строка 1: | Строка 1: | ||
− | + | ==Вступление== | |
− | + | Наверное, большинство людей, вскрывавших архивы игры, знают, что 90% текстов "Сталкера" находятся в XML-файлах из папки '''configs/text/rus'''. Бывает, нет желания впихивать свои тексты в оригинальные файлы. Тогда создаются новые XML-документы, и там уже прописывается все, что нужно. Создать документ и прописать - это одно. А вот регистрация этих документов - уже другое. Сложного в регистрации новых файлов ничего нет, но не всем начинающим модмейкерам этот процесс известен. Будем исправлять. | |
− | + | ==Способ первый== | |
− | + | Предположим, мы создали файл '''my_dialogs.xml''' в папке '''configs/text/rus'''. Чтобы его зарегистрировать мы задействуем любой оригинальный файл из этой же папки. Например, '''st_dialogs.xml'''. Откроем его и где-нибудь между ''<string_table>'' и ''</string_table>'' пропишем наш файл через известную форму ''include''. Прописать можно в любом месте, не прерывая секции другого текста. Я пропишу прямо под ''<string_table>'': | |
− | + | <xml><?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> | ||
+ | ...</xml> | ||
+ | Надеюсь, понятно, что мы зарегистрировали свой файл строкой: | ||
+ | <code>#include "text\rus\my_dialogs.xml"</code> | ||
+ | ==Способ 2а и 2б== | ||
+ | ===Способ 2а=== | ||
+ | Сейчас мы уже задействуем другой оригинальный файл - '''configs/localization.ltx'''. В нем можно дать ссылку на все наши текстовые файлы. Наполнен файл в чистом ЗП вот-так: | ||
+ | <ini>[string_table] | ||
+ | language = rus | ||
+ | font_prefix = ;_west ;_cent</ini> | ||
+ | Мы возьмем и допишем под всем этим новый параметр ''files'', а в значении укажем названия новых файлов (пускай, '''my_dialogs''', '''my_items''' и '''my_artefacts'''): | ||
+ | <code>files = my_dialogs, my_items, my_artefacts</code> | ||
+ | В целом будет выглядеть так: | ||
+ | <ini>[string_table] | ||
+ | language = rus | ||
+ | font_prefix = ;_west ;_cent | ||
+ | files = my_dialogs, my_items, my_artefacts</ini> | ||
+ | ===Способ 2б=== | ||
+ | Фактически, микс между способом 1 и 2а. В папке '''configs/text/rus''' создаем XML-файл с любым названием. Я предпочту назвать по назначению - '''my_text_files.xml'''. Из него, собственно, и будут идти все отсылки к другим текстовкам. | ||
+ | Далее, регистрируем этот файл по принципу из способа 2а. Открываем '''localization.ltx''', и прописываем там наш файл: | ||
+ | <ini>[string_table] | ||
+ | language = rus | ||
+ | font_prefix = ;_west ;_cent | ||
+ | files = my_text_files</ini> | ||
+ | Возвращаемся к файлу '''my_text_files.xml''', и заполняем его следующим образом: | ||
+ | <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> | ||
+ | <code><?xml version="1.0" encoding="windows-1251" standalone="yes" ?></code> | ||
+ | - стандартная кодировка файла | ||
+ | ''<string_table>'' и ''</string_table>'' - теги файла | ||
+ | Через ''#include'' прописаны все наши текстовые файлы. | ||
+ | Этот способ я сам предпочитаю использовать. Все четко, понятно, нету больших рисков и непоняток с оригинальными файлами. | ||
+ | Всем спасибо, на этом мини-урок закончен! =) | ||
+ | ==Авторы== | ||
+ | '''Автор статьи:''' FantomICW | ||
+ | |||
+ | [[Категория: Конфигурационные файлы]] |
Текущая версия на 21:39, 29 января 2017
Вступление
Наверное, большинство людей, вскрывавших архивы игры, знают, что 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