Лучшие моды
Глобальный мод "SGM 2.2 - StalkerMods edition" на Сталкер Зов Припяти

Скачать Глобальный мод "SGM 2.2 - StalkerMods edition" на Сталкер Зов Припяти Этот глобальный мод впитал в себя все лучшее от Sigerous mod, новый сюжет и персонажи, возможности и интерфейс. Игра переработана с нуля!
Глобальный мод "M.I.S.E.R.Y. v2.0" для Сталкер Зов Припяти

Скачать Глобальный мод "M.I.S.E.R.Y. v2.0" для Сталкер Зов Припяти Один из лучших глобальных модов, который преобразит Зону! Авторы этой модификации сделали упор на графику, на эффектность зоны и им это удалось!
Глобальный мод "Lost Alpha" для Сталкер Тень Чернобыля

Скачать Глобальный мод "Lost Alpha" для Сталкер Тень Чернобыля S.T.A.L.K.E.R. всегда ассоциировался с множеством возможностей, неопределенностью сюжета, игра дает вам ощущение свободы и безграничности ваших действий... Лост Альфа - мод без границ!
Модификация "Lost World: Origin" на Сталкер Тень Чернобыля

Скачать Модификация "Lost World: Origin" на Сталкер Тень Чернобыля Новый сюжет о том, что было в начале игры. Как ученые пытались разгадать «загадку зоны» и куда же делась первая группа ученых с отрядом военных. Зона стала обрастать слухами, а правду узнаете лишь вы!
Глобальный мод "ReBorn v2.51" для Сталкер Чистое Небо

Скачать Глобальный мод "ReBorn v2.51" для Сталкер Чистое Небо Вы прошли всю игру, но Вам хочется еще? Этот мод покажет вам, что произошло после окончания основного сюжета Чистого Неба, что будет с героями и куда вас затянет жажда познания Зоны!
Глобальный мод "Ф.О.Т.О.Г.Р.А.Ф." для Сталкер Тень Чернобыля

Скачать Глобальный мод "Ф.О.Т.О.Г.Р.А.Ф." для Сталкер Тень Чернобыля Очередной мод, пройдя который, вы узнаете много нового про Зону и почему Стрелок так рвался к центру, что его тянуло туда, и как он умудрялся выживать в самых трудных испытаниях...
Глобальный мод "Spectrum Project: Путь во мгле" для Сталкер Зов Припяти

Скачать Глобальный мод "Spectrum Project: Путь во мгле" для Сталкер Зов Припяти Теперь каждый ваш шаг будет влиять на исход боя, концовка игры представляет себе дерево и по какой из ветвей развития пойти, решать Вам. Вам придется думать над каждым своим шагом...
Повелитель Зоны 7.0: Perfect Edition для игры Сталкер Зов Припяти

Скачать Повелитель Зоны 7.0: Perfect Edition для игры Сталкер Зов Припяти Вам надоело искать спрятанные вещи? Проходить сложные квесты? Или вы просто хотите себя почувствовать "повелителем зоны"? Тогда этот мод для вас, он открывает вам доступ ко всем предметам игры!

Скачать учебник "Создание диалогов" для игры STALKER

23.03.2011, 21:39
Прочли: 3239
Скачали: 829



Скачать учебник "Создание диалогов" для игры STALKER Вы сможете прочесть учебник или скачать его.

Создание диалогов

Создание новых веток диалогов

Теория

1) Списки веток диалогов содержатся в файлах вида gamedata/config/gameplay/character_desc_*.xml

Это, например:

character_desc_zombied.xml character_desc_stalker.xml character_desc_garbage.xml ...

Файлы character_desc_*.xml можно сравнить со стволом дерева диалогов. В них перечисляется названия прикрепляемых веток диалогов

Например вот список веток диалога с Сидоровичем взятый из файла character_desc_escape.xml

<start_dialog>escape_trader_start_dialog</start_dialog>

<actor_dialog>escape_trader_talk_info</actor_dialog>

<actor_dialog>escape_trader_jobs</actor_dialog>

<actor_dialog>tm_trader_dialog</actor_dialog>

<actor_dialog>tm_trader_reward</actor_dialog>

<actor_dialog>escape_trader_done_blockpost_box</actor_dialog>

В свою очередь каждая ветка диалога также может ветвится.

2) Ветвление диалогов прописывается уже в других файлах.

Например, ветвление диалога с Сидоровичем содержится в файле gamedata/config/gameplay/dialogs_escape.xml Возьмем оттуда, например, ветвление escape_trader_jobs.

Ветвление имеет довольно большие масштабы, поэтому приведу только часть:

<dialog id="escape_trader_talk_info">

<precondition>escape_dialog.trader_has_talk_info_wr</precondition>

<has_info>tutorial_end</has_info>

<phrase_list>

<phrase id="1">

<text>escape_trader_talk_info_1</text>

<next>100</next>

<next>99</next>

<next>9995</next>

</phrase>

...

<phrase id="0">

<text>escape_trader_talk_info_0</text>

<next>1</next>

</phrase>

</phrase_list>

</dialog>

Здесь <precondition>…</precondition> - это проверка выполнения условия. Ветка появится в диалоге, только если условие выполняется. Конкретно <precondition>escape_dialog.trader_has_talk_info_wr</precondition> из ветки escape_trader_talk_info - это обращение к функции trader_has_talk_info_wr, находящейся в файле скрипте gamedata/scripts/escape_dialog.script

Функция выглядит так:

function trader_has_talk_info_wr( trader, actor )

return true

end

То есть, судя по его структуре, <precondition>escape_dialog.trader_has_talk_info_wr</precondition> выполняется всегда, т.к. функция всегда возвращает истину и <dialog id="escape_trader_talk_info"> пропускается в списк реплик.

Но для конкретной ветки может быть несколько precondition и других условий.

Далее, <has_info>tutorial_end</has_info> - это еще одна проверка, на этот раз на наличие у игрока так называемых infoportions, выдаваемы в процессе ключевых диалогов. В данном случае это проверка на то, закончена ли определенная стадия туториала, или нет. Т.е. ветка допустится в список реплик если стадия туториала закончена.

Более детально мы это разберем в конце статьи.

А далее идут конкретные фразы, содержащие ссылки на вытекающие фразы, например:

<phrase id="0">

<text>escape_trader_talk_info_0</text>

<next>1</next>

</phrase>

Это основа ветки escape_trader_talk_info.

Важно! В любой основной ветке любого диалога фраза <phrase id="0"> будет основой, из которой далее будет все вытекать. Она должна обязательно присутствовать и в вашем диалоге.

<next>1</next> - это ссылка на вытекающую фразу <phrase id="1">:

<phrase id="1">

<text>escape_trader_talk_info_1</text>

<next>100</next>

<next>99</next>

<next>9995</next>

</phrase>

В свою очередь <next>100</next>, <next>99</next>, <next>9995</next> это ссылки на фразы веточки растущие из фразы <phrase id="1">.

3) Текст каждой фразы содержится в третьем файле. Для диалога с Сидоровичем тексты лежат в файле gamedata/config/text/rus/stable_dialogs_escape.xml

<string id="escape_trader_talk_info_0">

<text>Есть несколько вопросов.</text>

</string>

<string id="escape_trader_talk_info_1">

<text>Спрашивай, только я ведь всего не знаю. Сам понимаешь, сижу тут

целыми днями, а жизнь - она вся там, снаружи, в Зоне. Могу рассказать о Зоне вообще, а немного

могу о ближайших окрестностях, где сам ходил.</text>

</string>

...

Эти строки содержат тексты для фраз <phrase id="0"> и <phrase id="1">

Итого диалоги разложены по трем, а то и более файлам.

Да кстати, путь по веткам может быть зацикленным, если того требует диалог. Например так:

<phrase id="0">

<text>...</text>

<next>1</next>

<next>2</next>

</phrase>

<phrase id="1">

<text>...</text>

<next>11</next>

<next>12</next>

</phrase>

<phrase id="11">

<text>...</text>

<next>1</next>  - Это возврат к фразе №1 (зацикливание)

<next>111</next>

</phrase>

Практика

Добавим в диалог с Сидоровичем ветку своего собственного изготовления.Например такую:

Меченый: Сидрыч, а чего это у тебя зеленые человечки, что по столу бегают, такие худые?

Сидорович: Чего?!

Меченый: Ты их совсем, совсем не кормишь?

Сидорович: В следующий раз, как пойдешь в зону, бери-ка  вместо водяры побольше антирада. А то

мало что таким перегаром дышишь, уже до зеленых человечков долечился... Шутник.

Для этого:

1) В файле gamedata/config/gameplay/character_desc_escape.xml в конце списка веток для trader припишем свою ветку с произвольным названием. Это будет, например, <actor_dialog>escape_trader_letat_gusi</actor_dialog>.

Т.е у нас получится так:

<specific_character id="escape_trader" no_random = "1">

...

<start_dialog>escape_trader_start_dialog</start_dialog>

<actor_dialog>escape_trader_talk_info</actor_dialog>

<actor_dialog>escape_trader_jobs</actor_dialog>

<actor_dialog>tm_trader_dialog</actor_dialog>

<actor_dialog>tm_trader_reward</actor_dialog>

<actor_dialog>escape_trader_done_blockpost_box</actor_dialog>

<actor_dialog>escape_trader_letat_gusi</actor_dialog>

</specific_character>

Записываем изменения, с этим файлом пока всё.

2) Теперь берем файл gamedata/config/gameplay/dialogs_escape.xml

Диалогу:

Меченый: Сидрыч а почему это у тебя зеленые человечки, что по столу бегают, такие худые?

Сидорович: Чего?!!

Меченый: Ты их совсем, совсем не кормишь?

Сидорович: В следующий раз, как пойдешь в зону, бери-ка  вместо водяры побольше антирада. А то

мало что таким перегаром дышишь, уже до зеленых человечков долечился... Шутник.

Будет соответствовать такая структура:

<phrase id="0">

<text>escape_trader_letat_gusi_0</text>

<next>1</next>

</phrase>

<phrase id="1">

<text>escape_trader_letat_gusi_1</text>

<next>2</next>

</phrase>

<phrase id="2">

<text> escape_trader_letat_gusi_2</text>

<next>3</next>

</phrase>

<phrase id="3">

<text> escape_trader_letat_gusi_3</text>

</phrase>

Условия наличия ветки в диалоге можно взять из ветки <dialog id="escape_trader_talk_info">.

Т.е берем условия <precondition>escape_dialog.trader_has_talk_info_wr</precondition> и <has_info>tutorial_end</has_info>. Можно было, конечно, прописать в скрипте еще одно условие для ветки, чтобы она появилась только один раз, а потом больше не возникала. Но об этом как-нибудь позже.

В итоге у нас получилась такая структура:

<dialog id="escape_trader_letat_gusi">

<precondition>escape_dialog.trader_has_talk_info_wr</precondition>

<has_info>tutorial_end</has_info>

<phrase_list>

<phrase id="0">

<text>escape_trader_letat_gusi_0</text>

<next>1</next>

</phrase>

<phrase id="1">

<text>escape_trader_letat_gusi_1</text>

<next>2</next>

</phrase>

<phrase id="2">

<text> escape_trader_letat_gusi_2</text>

<next>3</next>

</phrase>

<phrase id="3">

<text> escape_trader_letat_gusi_3</text>

</phrase>

</phrase_list>

</dialog>

Её нужно вставить в любом месте между dialog id'ами других веток в файле dialogs_escape.xml. Главное - не промахнутся и засунуть именно между, а не внутрь одного из dialog id.

После сохранения внесенных изменений с файлом dialogs_escape.xml все.

3) Теперь вбиваем сами текстовички в файле gamedata/config/text/rus/stable_dialogs_escape.xml

Т.е нам надо в файле stable_dialogs_escape.xml вставить такую конструкцию:

<string id="escape_trader_letat_gusi_0">

<text>Сидрыч, а чего это у тебя зеленые человечки, что по столу бегают, такие худые?</text>

</string>

<string id="escape_trader_letat_gusi_1">

<text>Чего?!</text>

</string>

<string id="escape_trader_letat_gusi_2">

<text>Ты их совсем, совсем не кормишь?</text>

</string>

<string id="escape_trader_letat_gusi_3">

<text>В следующий раз, как пойдешь в зону, бери-ка  вместо водяры побольше

антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился...

Шутник.</text>

</string>


В любом месте между уже существующими string id. После сохранения изменений, у нас все готово. Можно загружать игру и смотреть что получилось.

Дополнительно

Внимание! После патча 1.002 данный урок перестал работать. Причина - со вторым патчем несовместимо это условие:

<precondition>escape_dialog.trader_has_talk_info_wr</precondition>

Дело в том, что во втором патче из файла escape_dialog.script была удалена функция:

function trader_has_talk_info_wr( trader, actor )

return true

end

Можно либо записать эту функцию обратно в escape_dialog.script, либо использовать другие более-менее подходящие условия, например:

<precondition>escape_dialog.trader_alredy_give_job</precondition>

Всё. Мы научились писать простые диалоги.



Выбор ссылок для скачивания


Ссылка на скачивание не работает?

Автор мода: Не указано
Предназначение: Литература "Сталкер"
Необходимая версия игры: Не указано
Классификация материала: Моддинг S.T.A.L.K.E.R.
Размещен в разделе: Файловый архив
Вес файла: 61 kb


Теги материала: учебник, скачать, STALKER, (Базовый, создание, уровень), Для S.T.A.L.K.E.R., Игры, для, квестов

Всего комментариев: 0

Поиск

English version of WebSite Українська версія сайту
Личный ПДА

Гость, ты здесь -й день
Группа: Гости



Лучшая 5ка
STRELOK

Форум: 2274
Файлы: 195
STALKER

Форум: 2135
Файлы: 840
Napalm

Форум: 1627
Файлы: 0
Волкодав

Форум: 1419
Файлы: 0
Asdolg_Haster

Форум: 1371
Файлы: 0
Обсуждение
Новости
Info...
Сегодня: 22.11.2024 - 21:49

Сейчас на сайте онлайн: 6
Из них гостей: 6
Пользователей: 0