DialogEditor — S.T.A.L.K.E.R. Inside Wiki

DialogEditor

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

Перейти к: навигация, поиск

Подготовка к работе DialogEditor

1. Запустить DialogEditor (кликнуть на !DialogEditor.cmd что находится в X-Ray CoP SDK\editors\)
2. Открыть таблицу с дискрипшенами (нажать на клавишу Open STRING TABLE XML, выбрать файл из configs\text\rus\)
3. Открыть таблицу с структурой диалога (нажать на клавишу Open DIALOG description XML, выбрать файл с диалогом из configs\gameplay\ типа dialogs_локация.xml)

!Обратите внимание на то что кнопкой Open DIALOG description XML открывают не дискрипшены, а именно сами диалоги. Что странно (учитывая название кнопки), можно легко перепутать... Хотя если сделать наоборот - открыть кнопкой Open DIALOG description XML файл с дискрипшенами, вы всеравно нечего не сможете сделать (будет вылазить ошибка: Wrong Strings XML file).

Содержимое xml-заготовок

Файл с дискрипшенами (скажем st_dialogs_mod.xml)

<?xml version="1.0" encoding="windows-1251" ?>
<string_table>
 
</string_table>

После того как диалог будет готов и записан в xml-файл, поместить его в configs\text\rus\

Файл с структурой диалога (скажем dialogs_mod.xml)

<?xml version="1.0" encoding="windows-1251" ?>
<game_dialogs>
 
</game_dialogs>

После того как диалог будет готов и записан в xml-файл, поместить его в configs\gameplay\ и зарегать в configs\system.ltx

[dialogs]
files = dialogs_mod, dialogs

Создание диалога в DialogEditor

Итак, открыли оба файла. Все поля стали доступными. Создаём диалог.

1. Для начала создаём новый диалог: слева вверху в поле между кнопками Add и Del вводим id нашего диалога, к примеру mod_dialog_01. Нажимаем Add слева от поля ввода. Видим что у нас в списке диалогов появился наш mod_dialog_01.

!Вот ещё один нюанс: если попробовать открыть пустые dialogs2.xml и string_table2.xml и попробовать добавить туда свой диалог, DialogEditor сразу вырубится. Почему не знаю.

2. Итак создали мы диалог. Теперь нужно написать текст: выделяем курсором свой диалог в списке слева вверху, видим что в нижнем окне слева появился синий квадратик и цифрой 0 - это стартовый текст диалога (принадлежит он ГГ - синие квадратики - это диалоги ГГ, зелёные - это диалоги npc).
Выделяем диалог ГГ курсором, справа внизу в поле Content заменяем текст default text на свой: "Привет! Как жизнь?".
Теперь добавляем ответ npc: слева снизу в поле пишем 1 и нажимаем кнопку Add. Появился зелёный квадратик с цифрой 1 - это ответ npc на диалог ГГ.
Выделяем зелёный квадратик с цифрой 1 и в поле Content заменяем текст default text на ответ npc: "Да хреново, вчера водки перепил." ну и так далее... Основы работы с DialogEditor я кажется разжевал.

3. Сохранение диалога: сверху правее находим кнопку save both, жмём. Всё проверяем наши файлы, в одном появился наш диалог:

<dialog id="mod_dialog_01">
<phrase_list>
<phrase id="0">
<text>mod_dialog_01_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>mod_dialog_01_1</text>
</phrase>
</phrase_list>
</dialog>

Во втором дискрипшены диалога:

<string id="mod_dialog_01_0">
<text>Привет! Как жизнь?</text>
</string>
<string id="mod_dialog_01_1">
<text>Да хреново, вчера водки перепил.</text>
</string>

Создание одноразового диалога

Итак, как сделать диалог одноразовым? Реализуется это посредством инфопорций. Назовём её скажем mod_dialog_01_done.
Для начала эту инфопорцию нужно добавить в игру: открыть любой список с инфопорциями (скажем configs\gameplay\info_portions.xml) и добавить строчку с нашей инфопорцией:

<info_portion id="mod_dialog_01_done"></info_portion>

Далее, выделяем в DialogEditor наш диалог mod_dialog_01 (в окне слева вверху).
Кликаем на него дважды, должно открыться окошко Dialog properties. Находим окошко dont_has_info, жмём кнопку <-Edit.
Открылось ещё одно окошко List Editor, справа в поле пишем mod_dialog_01_done, нажимаем <-Add.
В окне dont_has_info, появилась наша инфопорция mod_dialog_01_done. Жмём Ok.
Теперь наш диалог будет доступен, при отсутствии инфопорции mod_dialog_01_done.
Теперь нужно сделать так, чтобы инфопорция mod_dialog_01_done, выдавалась после завершения диалога.
Переключаем наше внимание на окно слева внизу. Выделяем последний квадратик в списке (в нашем варианте: зелёный квадратик с цифрой 1).
Немного выше центра окна DialogEditor находим окно, сверху которого написано give_info. Левее этого окна жмём на кнопку Edit-> и добавляем инфопорцию mod_dialog_01_done так же, как мы делали в окне dont_has_info.
Всё, записываем изменения - жмём save both.

В файле dialogs_mod.xml должно появится такое содержимое:

<dialog id="mod_dialog_01">
<dont_has_info>mod_dialog_01_done</dont_has_info>
<phrase_list>
<phrase id="1">
<text>mod_dialog_01_1</text>
<give_info>mod_dialog_01_done</give_info>
</phrase>
<phrase id="0">
<text>mod_dialog_01_0</text>
<next>1</next>
</phrase>
</phrase_list>
</dialog>

Автор THE_ATLAS

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