Сталкер зов припяти диалоги

Обновлено: 05.07.2024


К примеры ты хочешь написать диалог Сидоровичу, заходишь в character_desc_escape.xml и со строчки:
< specific_character id="escape_trader" no_random = "1">
и до
< /specific_character>
это описание самого Сидоровича, диалоги которые можно с ним вести написаны так:
< 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_para_voprosov < /actor_dialog> выглядеть это будет так:
< 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_para_voprosov < /actor_dialog>
то что подчеркнуто можно назвать по другому. Далее ты наверное определился какой у тя будет диалог, ну дак вот составляем диалог идешь в configtextrusstable_dialogs_escape.xml и начинаешь писать (у меня вот такой диалог):
< string > --это начало диалога должно быть 0
< text >Сидорович, у меня к тебе несколько вопросов. Мог ты мне на них ответить?.< /text > --сам текст
< /string>
< string >
< text >Ну задавай, че знаю то скажу.< /text >
< /string>
< string >
< text >Кто такой Стрелок.< /text >
< /string>
< string >
< text >Не могу вспомнить кто я, ты меня раньше видал?< /text >
< /string>
< string >
< text >А что дальше за военным блок-постом?< /text >
< /string>

< text >Что дальше за мостом?< /text >
< /string>

< text >Что здесь вообще нужно делать?< /text >
< /string>
< string >
< text >Как ты сюда попал?< /text >
< /string>
< string >
< text >Стрелок это очень крутой Сталкер. Говорят, что он смог пробраться к центру зоны, и вернуться обратно живым. Больше этого кроме него и его команды никто не смог сделать.< /text >
< /string>

< text >Ты мне кого то напоминаешь, вот только не могу вспомнить, заходид ко мне похожий на тебя, но така я не могу вспомнить.< /text >
< /string>
< string >
< text >А что поможет тебе вспомнить?< /text >
< /string>

< text >Ого! Серьезный ты человек, Меченый. Да ладно. Серьезно говорю что вспомнить не могу, сам понимаешь возраст.< /text >
< /string>

< text >За военным блокпостом там совершенно другой мир, там гражданские со своими правами, ну в общем это там совсем не то что зона!< /text >
< /string>
< string >
< text >Ну дальше за мостом продолжается кордон метров так 400, а там уже идет свалка - не очень хорошее место . < /text >
< /string>
< string >
< text >Что здесь нужно делать? Странный вопрос. Здесь нужно выживать, стрелять, бегать и может останешься жив.< /text >
< /string>
< string >
< text >Эх меченый, попал я сюда давно еще, когда был молодым еще зеленым сталкером. На свободе мне не было места, да и проблемы с законом. Потом освоился. А ведь на воле я тоже торговлей занимался. Тоже продавал незаконно и много вот и посадили, а потом выдался случай мне. Сидели мы не далеко от зоны ну километра так 4. И вот в одну ночь ну так как я был торгашем я всеже договорился с подполковников, не помню как его зовут, что я смогу на 2 часа в конвое съездить домой повидать родственников, за это он сменя требовал 2000 долларов! Ну что делать я согласился и мы поехали. Приехав домой никаких родственников у меня уже не было, даже не заю куда они пропали, отдал деньги майору который меня сопровождал и тут возле раковины увидал я нож, когда в дверь кто то потучал майор оглянулся, два солдата, сопровождающих меня, подошли к двери, открыли а там никого. Я в это время вспомнил что у меня под раковиной пистолет, тихо нашарив пистолет я выскочил и в это время они стояли все у двери и выстрелил.< /text >
< /string>
< string >
< text >И что дальше?< /text >
< /string>

Общение с NPC — один из важнейших элементов геймплея серии S.T.A.L.K.E.R. Только через диалоги можно торговать, получать/давать деньги, получать информацию, задания. При этом следует помнить, что с некоторыми NPC общаться невозможно.

Описание

Диалог представлен диалоговым окном. Окно открывается при нажатии соответствующей клавиши (по умолчанию F), приблизившись к персонажу, с которым возможно вести диалог, однако есть ряд исключений, когда NPC сам заводит диалог с игроком. Диалоговое окно состоит из двух частей: большей — слова персонажа и меньшей — слова главного героя. Внизу окна расположена кнопка «Торговать» (в ЗП она называется «Торговля»), нажав на которую можно начать торговать (не у всех диалогов).

Диалог будет идти, пока протагонист самостоятельного его не завершит, однако из этого правила есть два исключения:

Интересные факты


Диалог с сюжетным NPC


Диалог с несюжетным NPC

Там, где содержимое диалога отличается от игровых аудиофайлов, текст был приведён в соответствии с аудиодорожкой. Помимо этого, был исправлен ряд опечаток, грамматических и пунктуационных ошибок. В связи с этим текст может отличаться от того, что вы можете видеть в игре.

Кроме того, при определении порядка опций диалога или самих веток, приоритет берёт хронология появления: таким образом, фраза в игре, находящаяся на первом месте, здесь может быть перечислена гораздо позже, если условия её появления не всегда дают ей там появиться.

Если диалог начинается с фразы NPC, то он является вступительным, то есть происходит сразу при открытии окна разговора. Если же он начинается с фразы игрока, то он является инициированным, то есть происходит при выборе игроком соответствующей опции диалога.

Если условия появления позволяют появиться сразу нескольким вариантам диалога, то тот, какой именно будет показан игрой, выбирается случайно.

  • Необходимо добавить ветки диалогов взятия и сдачи неуникальных заданий.

Содержание

Начальный диалог

Активируется при первом открытии диалогового окна в начале игры.

  • Меченый: Давай как с новичком. Ничего не помню.
    (выбор этого варианта ответа прерывает диалог и включает обучение использованию КПК)
  • Меченый: Давай как с опытным.
    (выбор этого варианта ответа продолжает диалог и сразу переводит игрока к брифингу)

Первый брифинг

Активируется при открытии диалога после обучения использованию КПК, либо является продолжением вступительного диалога, в зависимости от того, какую опцию выбрал игрок.

  • Меченый: Продолжай.
    • Сидорович: Да всё пока. Принесёшь мне флешку, и будем считать, что частично за своё спасение ты расплатился.
      Новое задание:
      Забрать информацию у разведчика
      • Меченый: Хорошо, я попробую.

      Повторный разговор перед спасением Шустрого

      Активируется после прохождения брифинга и взятия задания «Забрать информацию у разведчика», но до получения в инвентарь флешки Шустрого.

      • Сидорович: Меченый, ты чего здесь делаешь? Я же тебе сказал: дуй искать Шустрого!
        • Меченый: До встречи!

        Разговор после спасения Шустрого

        Активируется после получения в инвентарь флешки Шустрого. После окончания диалог продолжается, сразу давая опции основного диалога.

        Основной диалог

        Активируется после прохождения задания «Забрать информацию у разведчика» при условии отсутствия у игрока в инвентаре документов из лаборатории X18 или получения награды за них. Начальная фраза разнится в зависимости от того, какое спецзадание в данный момент выполняет игрок. Сам диалог содержит в себе несколько прочих диалоговых веток.

        Ветка про спецзадания

        Присутствует всегда. Любой вариант окончания ветки возвращает игрока к опциям основного диалога.

        • Меченый: Продолжай.
          • Сидорович: Проберись втихаря на блокпост да изыми для меня этот ящик. А уж я для тебя ничего не пожалею… в разумных пределах. Возьмёшься, нет?
            • Меченый: Попробую.
              Новое задание:
              Украсть ящик с блокпоста
              • Сидорович: Ну так я денежку готовлю: ты ведь меня, Меченый, ещё ни разу не подводил. Только это… Шуму не наделай, ладно? А то нам всем тут небо с овчинку покажется, если вояки обидятся.
              • Сидорович: Да ладно, чего ты? Там не блокпост, а название одно! Десяток срочников полупьяных с прапором. Ладно. Но я на тебя, Меченый, между прочим, сильно рассчитывал.

              Ветка про вопросы

              • Меченый: Мне нужны ответы на кое-какие вопросы.
                • Сидорович: Спрашивай, только я ведь всего не знаю. Сам понимаешь: сижу тут целыми днями, а жизнь — она вся там, снаружи, в Зоне. Могу рассказать о Зоне вообще, а немного могу о ближайших окрестностях, где сам ходил.
                  • Меченый: Расскажи мне в общих чертах о Зоне.
                    • Сидорович: Спрашивай.
                      • Меченый: Кто такой Стрелок?
                        • Сидорович: Да вроде есть такой сталкер. По слухам, один из немногих, что к Центру Зоны ходил и вернулся. Хотя чего-чего, а легенд про сталкеров-героев тут у нас предостаточно, поэтому гарантировать ничего не могу. Во всяком случае, лично я с ним дел не вёл: видно, у него свои каналы для сбыта… В общем, спрашивай у народа в Зоне — глядишь, кто-нибудь да и подскажет.
                          • Меченый: Спасибо, это всё.
                            (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                          • Меченый: Я бы хотел ещё кое-что узнать.
                            (выбор этого варианта ответа возвращает игрока в начало ветки)
                          • Сидорович: Ну, брат, спросил! Тёмное это дело, понимаешь…
                            Нашли тебя в грузовике смерти — есть такие… труповозки, что ли? Время от времени из Центра Зоны появляются, телами нагружены… Куда едут — никто толком не знает. Так один грузовик разбился, а тебя рядом нашли. И вот это дело — самый разудивительный факт. Разбитые труповозки находили и раньше, а вот живых рядом — ни разу… Извини, больше ничем помочь не могу. Разбираться тебе придётся самому.
                            • Меченый: Спасибо, это всё.
                              (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                            • Меченый: Я бы хотел ещё кое-что узнать.
                              (выбор этого варианта ответа возвращает игрока в начало ветки)
                            • Сидорович: Зона… Это, понимаешь, не просто круг в сколько-то там километров диаметром с центром у атомной станции… Это что-то странное. Очень странное. Знаешь, вряд ли кто-нибудь в нашем мире ответит тебе на этот вопрос. Я думаю, Зона — вообще не часть его. Отдельный, сам по себе, мир — опасный, странный… и чертовски привлекательный. А знаешь почему? Да потому, что здесь каждый, если повезёт, может быстро разбогатеть. Причём чем ближе к Центру Зоны проберёшься, тем быстрее по деньгам поднимешься.
                              • Меченый: Чем опасен этот «отдельный мир»?
                                • Сидорович: Кхм… Да, в общем, ничем — вот только подохнуть здесь можно на каждом шагу. И не только от пули тупого зольда, хотя военных сейчас много нагнали… Смерть от пули — это, считай, самая приятная смерть в Зоне. А вот аномалии — это, знаешь… Такая смерть — это да, это страшно. Их даже мутанты стороной обходят. Кстати, о мутантах: тоже дрянь редкостная, «дети» Зоны, так что без оружия тут лучше не ходить. А вообще по поводу всяких опасностей лучше других сталкеров тебе никто не расскажет.
                                  • Меченый: Спасибо, это всё.
                                    (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                                  • Меченый: Я бы хотел ещё кое-что узнать.
                                    (выбор этого варианта ответа возвращает игрока в начало ветки)
                                  • Сидорович: Ну, дружище, и крепко же тебя приложило! Забыл?!
                                    Артефакты — вот основа всего. За всякие непонятные игрушки из Зоны многие с Большой Земли готовы отвалить целое состояние. Артефакты ценнее золота, бриллиантов и чистого плутония. Почему? Да потому, что ни одна драгоценность в мире не обладает такими сверхъестественными возможностями и делится ими со своим хозяином. Только прикинь: вешаешь ты, скажем, себе на пояс некую хрень — и пули начинают обходить тебя стороной! Что ещё? Ну, всякую мелочь можно часто встретить даже здесь, под боком. А вот за ценными экземплярами ходят только ближе к Центру.
                                    • Меченый: Спасибо, это всё.
                                      (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                                    • Меченый: Я бы хотел ещё кое-что узнать.
                                      (выбор этого варианта ответа возвращает игрока в начало ветки)
                                    • Сидорович: Да разное болтают. Тебе потом столько всякой всячины расскажут… Только я во всю эту потустороннюю чушь не верю. Вот во что я точно верю, так это в то, что в Центре Зоны полно ценных артефактов. Только вот людей, которые смогли бы оттуда вернуться, пока не встречал.
                                      • Меченый: Спасибо, это всё.
                                        (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                                      • Меченый: Я бы хотел ещё кое-что узнать.
                                        (выбор этого варианта ответа возвращает игрока в начало ветки)
                                      • Сидорович: Охраняют, что ж ещё! То ли саму Зону, то ли остальной мир от неё — непонятно. Иногда сюда целые экспедиции проходят, ищут что-то…
                                        Но я тебе вот что скажу. Военные Зону не уважают, так она их за это тоже не любит. То и дело цинковые гробы увозят. Ну, что ещё сказать… Смотрят на всех свысока, как будто богами тут заделались. Сталкерские законы не чтут, на помощь никогда не придут, хоть на глазах у них погибать будешь. Пристрелить могут — это да, запросто, не наказывают их за это… Правда, кое с кем я нашёл общий язык. Нужно же людям водку, журнальчики там разные где-то доставать? Ну, ты понимаешь, о чём я. Но попусту их не зли: смахнут и не заметят.
                                        • Меченый: Спасибо, это всё.
                                          (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                                        • Меченый: Я бы хотел ещё кое-что узнать.
                                          (выбор этого варианта ответа возвращает игрока в начало ветки)
                                        • Сидорович: А! Ну, это предбанник Зоны. Армейский кордон. Относительно спокойно, разве военные иногда развлекаются, шмон наводят. Опытные сталкеры тут в редкость, только новички засиживаются, а кто и навечно остаётся, мда… Вот рядом совсем, на хуторе, лагерь новичков приютился. Смотри: нажимать на курок они тоже умеют, так ты не задирайся попусту.
                                          Что ещё? Ну, хорошего хабара здесь не сыщешь. За дорогой — заброшенная фабрика какая-то. На севере, за железнодорожной насыпью, — остатки фермы, а на юге — блокпост. Кстати, кое-где вояки мины расставили, так что поосторожнее. Ещё в центре мост был, да повалило его. Вот вроде и всё.
                                          • Меченый: Расскажи побольше о блокпосте.
                                            • Сидорович: Несколько солдат с приказом стрелять без предупреждения, потому лучше обходи его стороной. Если их обидеть, то могут вызвать спецназовцев с дальнего кордона. Те наверху такой шмон наведут, что у меня потом месяц клиентов нет… Командира зольдов знаю немного: любит он за воротник заложить. Вот благодаря ему и держусь пока здесь.
                                              • Меченый: Спасибо, это всё.
                                                (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                                              • Меченый: Я бы хотел ещё кое-что узнать.
                                                (выбор этого варианта ответа возвращает игрока в начало ветки)
                                              • Сидорович: Да тут два шага в северном направлении — сразу и увидишь. Раньше там мост над дорогой был, а потом взял да и упал во время одного из выбросов. Военные там пост сделали и вроде как никого не пускают… но подмазать если, вполне пропустят. Вообще там лучше не светиться, разве только нагружен сильно или ранен.
                                                • Меченый: Спасибо, это всё.
                                                  (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                                                • Меченый: Я бы хотел ещё кое-что узнать.
                                                  (выбор этого варианта ответа возвращает игрока в начало ветки)
                                                • Сидорович: Как дорогу перейдёшь, там сразу её и увидишь — кирпичное такое здание. Что смогли украсть оттуда, уже давно украли, осталась одна коробка. Излюбленное место бандюков. Не знаю, есть ли они сейчас там, но на всякий случай поосторожнее. С тебя взять, конечно, пока нечего… Только оно тебе надо — морока эта?
                                                  • Меченый: Спасибо, это всё.
                                                    (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                                                  • Меченый: Я бы хотел ещё кое-что узнать.
                                                    (выбор этого варианта ответа возвращает игрока в начало ветки)
                                                  • Сидорович: Ох ты и нудный! Ну ферма себе как ферма. Свиньи там ещё до перестройки все передохли.
                                                    • Меченый: Спасибо, это всё.
                                                      (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                                                    • Меченый: Я бы хотел ещё кое-что узнать.
                                                      (выбор этого варианта ответа возвращает игрока в начало ветки)

                                                    Ветка про работу

                                                    Одновременно могут быть доступны к взятию лишь четыре квеста — по одному из каждой категории, — и для взятия следующего в цепочке необходимо так или иначе завершить предыдущий, либо выполнив его, либо провалив. Через одни игровые сутки после завершения любого задания с неуникальной целью оно снова появится в списке, параллельно закрывая все последующие поручения в цепочке.

                                                    Подробнее об условиях доступности/недоступности каждого задания см. статьи «Добыть артефакт», «Добыть часть тела монстра», «Убить сталкера», а также отдельно взятые статьи про серии квестов «Уничтожить лагерь».

                                                    • Меченый: Мне нужна работа. Есть что на примете?
                                                      • Сидорович: Есть кое-что:
                                                        (ответ возникает, если у квестодателя есть хотя бы один квест, а точный список предоставленных заданий зависит от того, какие игрок предварительно взял, выполнил или провалил)
                                                        • Меченый: Найти артефакт «Медуза»
                                                          • Сидорович: Мне тут один человек с Большой земли заказал «Медузу». Работа непыльная и деньги небольшие, зато обернёшься быстро. Соглашайся!
                                                            • Меченый: Я берусь.
                                                              (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                                                              Новое задание:
                                                              Найти артефакт «Медуза»
                                                            • Меченый: В другой раз.
                                                              (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                                                            • Сидорович: Есть заказ на «Каменный цветок». От ювелиров, прочим между, так не будем расстраивать прекрасных дам, а? Достанешь — с меня гонорар и бутылка, за их здоровье выпить…
                                                              • Меченый: Я берусь.
                                                                (выбор этого варианта ответа возвращает игрока к опциям основного диалога)
                                                                Новое задание:
                                                                Найти артефакт «Каменный цветок»
                                                              • Меченый: В другой раз.
                                                                (выбор этого варианта ответа возвращает игрока к опциям основного диалога)

                                                              Ветка про ящик

                                                              Появляется во время выполнения задания «Украсть ящик с блокпоста» при наличии у игрока необходимого предмета.

                                                              Ветка окончания диалога

                                                              Присутствует всегда. Мгновенно завершает диалог.

                                                              Диалог про документы

                                                              Берёт приоритет над основным диалогом, если у игрока есть в инвентаре документы из лаборатории X18 и игрок награду ещё не получил. Окончание ветки возвращает игрока к опциям основного диалога.

                                                              В них нам важны, соотвественно, списки присвоения диалогов персонажам, структуры диалогов и текстовые массивы для фраз.

                                                              Структура фраз

                                                              В общем виде диалог выглядит так:

                                                              фраза 0
                                                              "Так, чего хотел-то?"
                                                              следующие фразы: 1

                                                              фраза 1
                                                              "Задание для тебя есть. Возьмешься?"
                                                              следующие фразы: 21, 22

                                                              фраза 21
                                                              "Ну, давай."
                                                              следующие фразы: 3

                                                              фраза 22
                                                              "Не, иди к черту."
                                                              следующие фразы: нет
                                                              действие: выйти из диалога

                                                              [фраза 3 и дальнейшее продолжение. ]

                                                              конец диалога


                                                              В файлах эта структура записывается следующим образом:

                                                              Во-первых, принадлежность фраз. Они могут принадлежать или игроку, или NPC, причем:

                                                              • фраза, принадлежащая игроку, всегда идет первой, а за ней уже по древу диалога игра понимает, чья фраза кому принадлежит (например, у нас 0, 21, 22 - игрока; а 1, 3 - NPC)
                                                              • только у фразы, принадлежащей NPC, можно выбрать несколько вариантов ответа игрока

                                                              Во-вторых, структура фразы. Простейшая фраза выглядит так:

                                                              Но есть возможность строить и такие фразы (в данном случае она принадлежит NPC, а игрок на неё будет давать ответ):

                                                              • 1. Здесь у нас выдается инфопорция, которая может потом использоваться в различных местах (например, её наличие может проверяться каким-нибудь охранником - и если она есть, то он, скажем, отойдет и пропустит игрока внутрь). Важно понимать отличие инфопорции от предмета. Инфопорция - это факт наличия пропуска, а лежащий в инвентаре пропуск - материальный предмет. Можно, кстати, обойтись и без инфопорций, впоследствии пользуясь скриптами, проверяющими инвентарь игрока и ищущими нужный предмет, но этот способ сложен и нам пока не понадобится.
                                                              • 2. Это скрипт, выдающий игроку предмет "пропуск" в инвентарь. Ссылка на скрипты дается в формате имя_файла.имя_функции.

                                                              Как видите, фраза, в которой некий NPC выдает игроку пропуск, позволяющий пройти дальше, достаточно сложна.

                                                              Вот еще один пример (здесь она принадлежит игроку):

                                                              Здесь у нас фраза из диалога игрока с NPC - та, что после вопроса NPC "А пропуск у тебя есть?". Это один из вариантов ответа на неё. Особенность в том, что этот вариант не появится, если пропуска у вас на самом деле нет - она появляется только при наличии нужной инфопорции (за это отвечает строка с <has_info>).

                                                              Далее, поподробнее остановимся на задании условий появления фразы.
                                                              Способов это сделать - два.

                                                              Первый метод мы видели выше, а второй - гораздо более комплексный и многофункциональный. Он запускает скрипт, который проводит проверку определенных вещей, и возвращает true/false. Простой пример - NPC требует денег (скажем, 5000 рублей), а нам нужно, чтобы ответная фраза игрока "Вот, держи свои 5000.", могла быть доступна для выбора, только если у нас действительно есть эти деньги. Для этого пишем такую фразу:

                                                              • 1. Этот скрипт который проверяет наличие денег: если было возвращено true, то фраза доступна.
                                                              • 2. Вызываем другой скрипт, действие - он осуществляет саму передачу денег.

                                                              Да, кстати, порядок расстановки тегов внутри фразы не играет никакой роли - они все выполняются одновременно. Единственное - <next> всегда последний. Еще одно - есть второй вид проверки на инфопорцию - он наоборот, проверяет её отсутствие. Применяется точно так же, но называется не has_info, а dont_has_info.

                                                              Итак, что у нас есть:

                                                              • <phrase ></phrase> - общий тег фразы, задание номера фразы
                                                              • <text>. </text> - тег, содержащий текст фразы
                                                              • <give_info>. </give_info> - выдача инфопорции с именем, записанным в теге
                                                              • <has_info>. </has_info> - проверка на наличие инфопорции с именем, записанным в теге
                                                              • <dont_has_info>. </dont_has_info> - проверка на отсутствие инфопорции с именем, записанным в теге
                                                              • <precondition>. </precondition> - запуск скрипта, возвращающего true или false в зависимости от чего-либо (скриптовая проверка)
                                                              • <action>. </action> - запуск скрипта
                                                              • <next>. </next> - тег ссылки на следующую фразу


                                                              В первой версии - достаточно просто окна с формами для ввода этих параметров. А программа на основе введенных данных будет собирать фразу. Например, на основе вот таких введенных в поля данных:

                                                              Номер фразы: 12

                                                              Текст: Да, там сейчас база военных.
                                                              Я не в курсе, сколько их там точно, но
                                                              могу сказать, не меньше, чем один два отряда.

                                                              Выдать инфопорцию: info_about_military_base

                                                              Проверить наличие инфопорции: info_1
                                                              Проверить отсутствие инфопорции: нет
                                                              Проверить через скрипт: dialogs.is_npc_a_friend
                                                              Совершить действие: dialogs.break_dialog

                                                              Номера следующих фраз: 13

                                                              Нам нужна вот такая запись:

                                                              Текстовые (строковые) массивы

                                                              Мы упустили один важный нюанс, критичный для крупных диалогов.

                                                              Мы записывали текст фразы в <text>. </text>. Это, безусловно, удобно, но на самом деле - может привести к проблемам. Дело в том, что таким образом можно использовать только короткие фразы. Стоит ввести в тег длинный текст, и игра. так сказать, не переварит наш диалог.

                                                              Поэтому нужно использовать не тексты, а ссылки на них. Работает это так:

                                                              Text massive explain.jpg

                                                              То есть фразу мы записываем так:

                                                              А в игре видим нормальный текст - игра по названию my_text_1 находит его в массиве.
                                                              Массивы (для русскоязычной версии игры) находятся в папке:

                                                              Нужные вам тексты фраз вы можете прописывать в любом из находящихся там .xml-файлов, их разделение на специализации - чисто формальное. Лучше всего держать тексты всех ваших диалогов в одном месте, поэтому выберите один файл - этим вы упростите работу тем, кто будет скрещивать ваш мод с другими.

                                                              Запись текста происходит в такой форме:

                                                              Диалоги

                                                              Сейчас нас интересует файл character_desc_escape.xml, хранящий профили персонажей с локации "Кордон" (остальные файлы названы по аналогичной системе - вместо escape, соответственно, идет название других уровней). Открываем его и видим профиль Сидоровича escape_trader - он находится в самом начале файла.

                                                              Подробный разбор параметров профиля мы делать не будем - для этого существует отдельная статья. Сейчас нас интересуют теги <actor_dialog>. </actor_dialog>, ссылающиеся на доступные у этого NPC диалоги. Добавим в этот список и ссылку на наш будущий диалог:

                                                              Далее добавим в любой диалоговый файл, например, в dialogs_escape.xml, следующий диалог:

                                                              Для начала лучше попробовать свои силы в простом линейном диалоге вроде этого.
                                                              Да, и не забудьте добавить строки с текстовыми фразами в массив.

                                                              • Если вам неясно, что за ахинея написана в текстах, вам сюда xD

                                                              "Динамические диалоги"

                                                              Выше был изложен вариант написания простых диалогов вопрос-ответ. Но в этой части статьи я расскажу как написать "динамические диалоги", которые предполагают выбор ответа не только ГГ, но и НПС с которым мы говорим. Рассчитано на опытных пользователей диалога.

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

                                                              Dialog02.jpg

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


                                                              Dialog01.jpg

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

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

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

                                                              Пример реализации динамического диалога

                                                              А теперь я(Ким) покажу, как выглядит вышеописанный диалог в игре(точнее в файлах конфигурации). На самом деле это не так уж и сложно и такой диалог можно сделать минут за 15(я сам сделал за 5 минут). Диалоги такого типа активно используются всё в том же Oblivion Lost. Начнём. Сам диалог:

                                                              Читайте также: