Корсары создание модов: Написание диалогов

воскресенье, 11 декабря 2016 г.

Написание диалогов

Как-то раз предложил Дориусу написать квест к игре "Корсары: Проклятие Дальних морей" то что он прислал было похоже на то, что он рассказывает про свои приключения в клубе, на что я написал шуточный мини квест, а точнее сказать создал персонажа, который олицетворял бы его самого.
 И так... Вечер. Тортуга. Таверна.



Если вы вдруг захотите написать для игрового персонажа свой диалог первое, что надо знать, диалоги хранятся сразу по двум адресам:
..\Корсары\Resourse\Dialogs\ и в папке ..\Корсары\Resourse\Ini\Dialogs\

т.е. если вы сохранили диалог в одной директории, то его нужно схоронить и в другой

Что же представляет собой диалог? Это текстовый файл с расширением d. Начинается он всегда с имени того персонажа, который его использует. То есть, например, диалоги с Дорусом всегда будут начинаться с dorius_
Открыть файл диалога можно при помощи простого блокнота, лично я пользуюсь редактором  Notepad++ Далее буду пояснять на примере:
Spoiler:
Как видите, диалог состоит из вполне нормального текста и неких загадочных команд, вроде <N node_1>. Вот с нее и начнем
Скобки < и > открывают и закрывают все команды и текст. Забудете поставить открывающую или закрывающую скобку - и игра игнорирует текст или команду между ними. N - означает, что говорит NPC, в нашем случае это Дориус.
node_1 - условное обозначение, вроде как номер этой фразы Дориуса. А все вместе обозначает, что сейчас пойдет фраза номер один, причем произносит ее Дориус. Далее, опять же в скобках, идет сам текст - что собственно он говорит. Причем, чтобы игра поняла, что это уже не скрытая команда, а текст, который надо показывать, в начале стоит латинское T.
После текста, который произносит NPC, идут ответы (или вопросы) игрока, т. е. Николаса Шарпа. Команда, запускающая ответ Николаса после первой фразы Дориуса в данном случае выглядит, как: <L link_1,1,1,node_2>. Большое L означает, что это ссылка - т. е. выбрав этот вариант ответа, игрок перейдет к соответствующему продолжению диалога.
Ну а node_2 - это идентификатор фразы, которая прозвучит в ответ на реплику Шарпа. В данном случае, имеется ввиду, что кликнув на текст после этой команды, игрок увидит фразу, помеченную, как node_2. Если же в конце этой команды вместо node_ поставить exit, то выбрав такой вариант ответа, Николас закончит разговор.
* Обязательно в конце ответа нужно поставить знак препинания: точку (.)  вопросительный  (?) или восклицательный знак (!) для того чтобы реплика ответа отображаться полностью
Кроме тестового редактора, можно воспользоваться SDEditor-ом (Редактором Корсаров).


   1. Имя файла персонажа в папке ..\Корсары\RESOURCE\CHARACTERS\
   2. Название диалога
   3. Название реплики короную говорит персонаж
   4. Сам текст реплики NPС
   5. Название ответа
   6. Текст ответа Главного героя
   7. Идентификатор фразы, которая прозвучит в ответ на реплику
Именно на основе таких команд и строится любой диалог в игре. Как видите, не так уж и сложно.