|
|
PDA |
Приветствуем, Бродяга! ------------ Приветствую тебя, Сталкер! Ну что стоишь? Проходи, не стесняйся. Мы рады любым гостям! ------------ Вход Регистрация
|
 |
Партнеры |
|
 |
Теги и рейтинги |
|
 |
|
|
>Главная » 2011 » Июль » 25 » Создание новых веток диалогов
10:43 Создание новых веток диалогов |
Создание новых веток диалогов
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>
Всё. Мы научились писать простые диалоги. |
|
Категория: Для мододелов |
Просмотров: 172 |
Добавил: DiVeR
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|
 |
|
Опрос |
Нужны ли нам конкурсы?
4. Вообще ничего не нужно
Всего ответов: 122
|
 |
Статистика |
 Онлайн всего: 11 Новичков: 11 Сталкеров: 0
Страшина, Талиб, didall, СКПД, Генерал, сахар, Майор_Кальтер, [Шрам], namef, NikKo_best, Vervolf116, артёшка, vano_151096, менделёев, SHRAM, Fikus, Лузга, (Мутный), Лекарь, Drabash, FenixDrive, Dan-Homer, ak-GekToR, Стикс, [Naucka]Минор, POLOVNIK, Oppius, TocapoorN, anaeldlam, admtecha, attallyRarl, Vikaisuria, gagepycle, DyncBymnSmEme |
 |
|