Показать сообщение отдельно
Старый 10.05.2010, 21:48   #2427
Юзер
 
Аватар для FlackS
 
Регистрация: 06.10.2007
Адрес: Ростов-Батюшка
Сообщений: 445
Репутация: 48 [+/-]
"Динамические диалоги"

Написал намедни небольшой и интересный туториал по диалогам.
Вообще урок это усложнённый вариант статьи ( создание веток диалога ), с той лишь небольшой разницей, что у как и у ГГ, так и у НПС будет несколько вариантов ответов. Получившаяся структура диалога:

Скрытый текст:
<dialog id="название диалога">
<phrase_list>
<phrase id="0">
<text>слушаю</text>
<next>10</next>
</phrase>
<phrase id="10">
<text>Привет, как дела?</text>
<next>1</next>
<next>2</next>
<next>3</next>
</phrase>
<phrase id="1">
<text>Отлично!</text>
<next>11</next>
</phrase>
<phrase id="2">
<text>Нормик, что хотел?</text>
<next>21</next>
</phrase>
<phrase id="3">
<text>Плохо, иди отсюда(</text>
<action>dialogs.break_dialog</action>
</phrase>
<phrase id="11">
<text>Это хорошо =)</text>
</phrase>
<phrase id="21">
<text>Да вот {....}</text>
</phrase>
[и так далее]
</phrase_list>
</dialog>


Ну вот как-то так. Рассмотрим наиболее интересную часть:

Скрытый текст:
<phrase id="10">
<text>Привет, как дела?</text>
<next>1</next>
<next>2</next>
<next>3</next>



Здесь мы предоставляем выбор дальнейшего диалога для НПС, причём в этой структуре его выбор получается абсолютно рандомным. Скриншоты:
Скрытый текст:


Можно прописать установки и проверки для ответов, например, можно реализовать возможность отдавания ненужных вещей какому-нибудь нпс, тогда структура будет выглядеть примерно так(писать полностью не буду, только фразы):

Скрытый текст:
ГГ: Привет, у меня тут есть некоторые вещи, взгляни, нужно что?
НПС ответ1: (проверка на АК-47) Да, мне нужна эта пушка!
НПС ответ2: (проверка на консервы) Ух как кушать хочется, можешь мне дать консерву?
НПС ответ3: (без предпроверки) Есть ли у тебя водка?
ГГ на ответ 1 и 2: Да, держи!
ГГ на ответ 3: (проверка) Держи/ Извини, нету((



Ну и напоследок скажу, что можно даже управлять вероятностью ответа НПС на фразу ГГ, если прописать несколько <next>номер ответа</next>. Например, если написать:

Скрытый текст:
<next>1</next>
<next>3</next>
<next>3</next>
<next>3</next>

То вероятность ответа "3" будет составлять 75%

P.S.: Это не просто увлекательная и интересная вещь, но и очень уж трудоёмкая - у меня день уходил на создание простого диалога. Для огромной модификации только на диалоги нужно человек 20-30. Но зато одних диалогов хватит чтобы впечатлить! Аналогов быть не должно, а сама игра использует этот приём только в ЗП и то в 2-х местах(на Затоне, другие локации не глядел).

(с) За мной)) Плюсуйте если поможет)
__________________
the things I have to take
Jesus it never ends
it works it's way inside
if the pain goes on...

http://vkontakte.ru/club2213402
http://vkontakte.ru/club7001079
Добавляйтесь)

Последний раз редактировалось FlackS; 12.05.2010 в 20:53.
FlackS вне форума  
Отправить сообщение для FlackS с помощью ICQ Ответить с цитированием