Предисловие
Как вы думаете что произойдет если объединить ACS и Dialogue? Получится самая классная вещь на свете. Те кто работал с ACS, понимают что в нем можно сделать, почти все что захочешь.
Запускаем ACS скрипт в Dialogue.
Пропишите код блока page в Dialogue:
page
{
name = "God";
dialog = "What do you want?";
choice
{
text = "i wanna go to heaven";
special = 80;
arg0 = 2;
arg1 = 0;
}
}
Разберем новые строки:
special = 80;
Слово special указывает действие (Action), которое будет выполняться при выборе choice. В данном случае при выборе «i wanna go to heaven» будет выполнятся скрипт. Число 80, здесь не спроста, оно отвечает за действие «Выполнить скрипт«.
arg0 = 2;
arg1 = 0;
В первом аргументе (arg0) мы задаем номер скрипта, во втором аргументе (arg1), мы задаем карту, на которой установлен скрипт.
По аналогии с привязкой Action в Doom Builder.

Теперь, при выборе «i wanna go to heaven«, выполнится 2-ой скрипт. Ниже, приведен этот скрипт:
script 2 (void)
{
SetFont("BIGFONT");
print(s:"OK");
FadeTo(255,255,255,1.0,1.0);
}
А вот так, выглядит результат.

Добавляем голос.
Разумеется, вы можете проиграть голос через ACS, но есть способ проще. Поэтому я его здесь привожу.
Перед началом, добавьте звуковой файл:
- Для wad, добавляйте файл между маркерами V_START и V_END.
- Для pk3, создайте папку Voices, и туда добавляйте файл.

Теперь, чтобы добавить голос, пропишите в блоке page свойство voice, по следующему шаблону.
voice = "название_файла"
- название_файла — название звукового файла, без расширения.
Ниже, приведен пример моего блока page:
page
{
name = "God";
dialog = "What do you want?";
voice = "NES";
choice
{
text = "i wanna go to heaven";
special = 80;
arg0 = 2;
arg1 = 0;
}
}
Теперь, диалог стал более живым.
Заключение.
В этом уроке мы объединили ACS и Dialogue, а также, научили нашего персонажа разговаривать. Вы, уже можете делать интересных персонажей. Этот урок, скорее всего, завершает серию уроков по Dialogue.
Разумеется, я не рассказал о Yes/No стейтах в Decorate, но зачем эти ограниченные стейты, когда есть ACS? В любом случае, для подробной информации вы всегда можете почитать потрясающий гайд Zergeant, посмотреть его можно здесь. Я сам по нему учился, поэтому крайне рекомендую.
Итоговый результат.
