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