gamedata\configs\gameplay\любой доступный файл.xml
Общий вид диалога:
<dialog id="all_dialog">
<dont_has_info>infoportion</dont_has_info> ;проверка на отсутствие инфопоршня.
<has_info>infoportion</has_info> ;проверка на присутствие инфопоршня.
<precondition>script.function</precondition> ;проверка скриптовой функции.
<phrase_list>
<phrase id="0">
<text>all_dialog_0</text> ;имя диалога в text.
<next>1</next> ;переход к следующей фразе.
</phrase>
<phrase id="1">
<text>all_dialog_1</text> ;имя диалога в text.
<action>script.function</action> ;активация скриптовой функции.
<give_info>infoportion</give_info> ;выдача инфопоршня.
</phrase>
</phrase_list>
</dialog>
Пропись в text.
gamedata\configs\text\rus\любой файл.xml
<string id="all_dialog_0">
<text>Диалоги могут быть любой длины и ширины, то бишь диалог строится в виде дерева, где от каждой ветки расходятся ветки поменьше.</text>
</string>
<string id="all_dialog_1">
<text>Но при вариации необходимо прописывать уникальные условия на их появление, иначе будет ошибка.</text>
</string>
Для более корректного составления диалога лучше использовать DialogEditor, который уже включен в X-Ray SDK Cop 0.7
Чтобы создать новый файл в text отдельные прописи не требуются, достаточно, чтобы файл имел постоянный внутренний вид:
<?xml version="1.0" encoding="windows-1251" ?>
<string_table>
Здесь все секции диалогов.
</string_table>
Но в gameplay, помимо стандартных прописей в файле, еще требуется зарегистрировать новые файлы в документе system.ltx
Дополняем наиболее актуальные секции по аналогии:
[info_portions]
[dialogs]
[profiles]
Чтобы прописать диалог НПС, необходимо добавить в его профиль подобные строки:
</supplies>
<actor_dialog>all_dialog</actor_dialog> ;диалог начинается с слов ГГ.
<start_dialog>all_dialog</start_dialog> ;диалог начинается с слов НПС.
</specific_character>
Либо добавить в активную логику НПС:
[meet]
meet_dialog = all_dialog ;диалог начнется со слов НПС.
Похожие статьи:
Автор: mmihaill