Меню

Пда

Чатик

Поиск

Главная » Статьи » Моды и моддинг » Моддинг

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

Создание новых веток диалога.
1) Списки веток диалогов содержатся в файлах вида
gamedata/config/gameplay/character_desc_*.xml
Это например:
character_desc_zombied.xml
character_desc_stalker.xml
character_desc_g arbage.xml
итд.
Файлы character_desc_*.xml можно сравнить со стволом дерева
диалогов.
В них перечисляется названия прикрепляемых веток диалогов
Например вот список веток диалога с Сидоровичем взятый из файла
character_desc_escape.xml
escape_trader_start_dialog
escape_trader_talk_info
escape_trader_jobs
tm_trader_dialog
tm_trader_reward
escape_trader_done_blockpost_box< br>
В свою очередь каждая ветка диалога также может ветвится.
2) Ветвление веток прописывается уже в других файлах.
Например ветвление веток диалога с Сидоровичем содержится в
файле gamedata/config/gameplay/dialogs_escape.xml
Возьмем оттуда к примеру ветвление ветки escape_trader_jobs
(ветвление веток обычно очень большое поэтому я приведу только
часть):
escape_dialog.trader_has_talk_info_w r
tutorial_end
escape_trader_talk_info_1
100
99
9995
………
escape_trader_talk_info_0
1
Здесь … - это проверка выполнения условия. Ветка появится в
диалоге, только если условие выполняется.
Конкретно escape_dialog.trader_has_talk_info_w r из ветки
escape_trader_talk_info есть обращение к функции
trader_has_talk_info_wr находящейся в файле скрипте gamedata/scripts/
escape_dialog*****ipt
Функция выглядит так:
function trader_has_talk_info_wr( trader, actor )
return true
end
Насколько понимаю она возвращает true только в случае если мы
разговариваем с trader_ом т.е. с Сидоровичем.
Т.е проверкой условия escape_dialog.trader_has_talk_info_w r
проверяется с кем ведется диалог,
и если диалог ведется с Сидоровичем в ветке по крайней мере этим
условием пропускается в списк реплик.
Но для конкретной ветки может быть несколько precondition и других
условий.
Далее tutorial_endЕсли я верно понимаю, это так же своего рода
проверка условия В данном случае проверка на то закончена стадия
tutorialа или нет. Т.е ветка допустится в список реплик если стадия
tutorialа закончена.
А далее идут конкретные фразы содержащие ссылки на вытекающие
фразы
Фраза:
escape_trader_talk_info_0
1
это основа ветки escape_trader_talk_info.
(Вообще как я понял в любой основной ветке любого диалога фраза
будет основой из которой далее будет все вытекать)
1 - это ссылка на вытекающую фразу :
escape_trader_talk_info_1
100
99
9995
В свою очередь 100, 99, 9995 это ссылки на фразы веточки растущие
из фразы
.
3) Текст каждой фразы содержится уже в четвертом файле. Для
диалога с Сидоровичем тексты лежат в файле
gamedata/config/text/rus/stable_dialogs_escape.xml
Есть несколько вопросов.
Спрашивай, только я ведь всего не знаю. Сам понимаешь, сижу тут
целыми днями, а жизнь - она вся там, снаружи, в Зоне. Могу
рассказать о Зоне вообще, а немного могу о ближайших окрестностях,
где сам ходил.
Эти строки содержат тексты для фраз и
Итого диалоги разложены по 4 а то и более файлам.
Ветки диалога могут быть цикличными.
Как в этом случае:
…12
…1
1
12
…1
- Это возврат к фразе 1. (зацикливание)
111
Теперь пример практического применения того, о чем было сказано
выше:
Добавим в диалог с Сидоровичем ветку своего собственного
изготовления.
Например такую:
Меченый: Сидрыч а что это у тебя зеленые человечки, что по столу
бегают, такие худые?
Сидорович: Чего?!!
Меченый: Ты их совсем, совсем не кормишь?
Сидорович: В следующий раз, как пойдешь в зону, бери-ка вместо
водяры побольше антирада. А то мало что таким перегаром дышишь,
уже до зеленых человечков долечился… Шутник.
1) В файле gamedata/config/gameplay/character_desc_escape.xml в
конце списка веток для trader_а суем свою ветку с произвольным
названием. (например escape_trader_letat_gusi)
Т.е у нас получится так

………
escape_trader_start_dialog
escape_trader_talk_info
escape_trader_jobs
tm_trader_dialog
tm_trader_reward
escape_trader_done_blockpost_box< br> escape_trader_letat_gusi
… Записываем изменения и
с
файлом character_desc_escape.xml все.
2) Теперь берем файл gamedata/config/gameplay/dialogs_escape.xml
Диалогу:
Меченый: Сидрыч а что это у тебя зеленые человечки, что по столу
бегают, такие худые?
Сидорович: Чего?!!
Меченый: Ты их совсем, совсем не кормишь?
Сидорович: В следующий раз, как пойдешь в зону, бери-ка вместо
водяры побольше антирада. А то мало что таким перегаром дышишь,
уже до зеленых человечков долечился… Шутник.
Который мы хотим реализовать будет соответствовать такая
структура:
escape_trader_ letat_gusi_0
1
escape_trader_ letat_gusi_1
2
escape_trader_ letat_gusi_2
3
escape_trader_ letat_gusi_3
условия наличия ветки в диалоге можно взять из ветки
Т.е берем условия escape_dialog.trader_has_talk_info_w r и tutorial_end
(Можно было конечно прописать в скрипте еще одно условие для
ветки, чтоб она появилась только один раз,
а потом больше не возникала. Но об этом как нибудь позже допишу.)
В итоге у нас получилась такая структура:
escape_dialog.trader_has_talk_info_w r
tutorial_end
escape_trader_letat_gusi_0
1
escape_trader_letat_gusi_1
2
escape_trader_letat_gusi_2
3
escape_trader_letat_gusi_3
Которую нужно вставить в любом месте между dialog id_шниками
других веток в файле dialogs_escape.xml.
Главное не промахнутся и засунуть именно между, а не внутрь одного
из dialog id
Все что находится между тегами и это внутенности конкретного dialog
id
Т.е совать наш
….
надо

здесь

но
не здесь
После сохранения внесенных изменений с файлом dialogs_escape.xml
все.
3) Теперь вбиваем сами текстовички в файле
gamedata/config/text/rus/stable_dialogs_escape.xml
Т.е нам надо в файле stable_dialogs_escape.xml вставить такую
конструкцию:
Сидрыч а что это у тебя зеленые человечки, что по столу бегают,
такие худые?
Чего?!!
Ты их совсем, совсем не кормишь?
В следующий раз, как пойдешь в зону, бери-ка вместо водяры
побольше антирада. А то мало что таким перегаром дышишь, уже до
зеленых человечков долечился… Шутник.
в любом месте между уже существующими string id
сюда
Но не внутрь одного из существующих string id
не сюда
После сохранения изменений, у вас все готово. Можно грузить игру и
смотреть что получилось.
Категория: Моддинг | Добавил: Gluck (22.07.2012)
Просмотров: 631 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Наши партнеры


Книги сталкер
Найти другие книги

Новые Темы

Популярные Темы

Новые Файлы

Популярные Файлы

В вылазке: 1
Новичков: 1
Сталкеров: 0


Кто был сегодня на сайте:


Вакансии
Яндекс.Метрика Рейтинг@Mail.ru
Яндекс.Метрика