Последнее на форуме

Вопросы и ответы (Моды) (736)
Ответил sal777 17:57:03

Досчитай до 10000 [v.4.0] (3743)
Ответил Letopisec 18:32:57

Школа модинга (1177)
Ответил Rogeropilk 18:48:54

Бар «100 рентген» v.28 (3107)
Ответил Фенрир 15:07:44

Чистое небо. Вопросы и ответы (1728)
Ответил myjayl 12:26:52

Люди говорят

kir_420 ответил в Подборка лучших фильмов про Постапокалипсис (20:26:00)
Дорога, письма мертвого человека.... гдье?

PUPS2 ответил в Вещи погибшего (13:00:55)
Блин, полгода ждал продолжения. Просто немного коротковато, для того что бы оценить по достоинству. Определённо интригует, есть "изюминка". Так что там дальше? Или уже "запал" прошёл? Зря. "Накидывая" расказы, мы можем натолкнуть режиссёров на очень интересный сюжет, который в свою очередь, может заставить ("свербить") талантливых людей сварганить С2.
Желаю удачи.

thestrelok220 ответил в Военный корреспондент 2: Зов Донбасса (15:52:58)
ЩА заценим)

geek580 ответил в Remake (15:02:35)
Ссылка нерабочая, пишет, что нет такой папки.

Oshiro ответил в Смерти Вопреки. В паутине лжи. (00:09:54)
Отличная игра. Создателям огромное спасибо!
Жаль нельзя было прокачать M4 и HK416 я так и не встретил.

Страница 1 из 11
Архив - только для чтения
Модератор форума: FAN, V@Dik008 
Форум настоящего сталкера » Техническая поддержка » Свалка » Создание разговорного квеста
Создание разговорного квеста
# 1
Суббота, 01.02.2014, 12:04:15

Ранг: Мастер
Сообщений: 706
Награды: 34 Регистрация: 08.11.2012  

Создание квеста типа "разговор" для NPC


Нам понадобятся:
1. stable_dialogs_escape.xml
2. character_desc_escape.xml
3. dialogs_escape.xml
4. game_tasks.xml
5. info_l01escape.xml

Начнем.
1. Набросаем сюжет квеста. Допустим, Сидрыч отправил Меченого сходить к Волку потрясти должок, а Волк сказал Меченому, что денег нет и отправил обратно к Сидрычу. Итак, будем отталкиваться от этого.

2. Открываем character_desc_escape.xml, находим в секции Сидрыча такую строчку: "escape_trader_done_blockpost_box". После нее пишем такие строчки:
Код
  <actor_dialog>trader_dolg_start</actor_dialog>
    <actor_dialog>trader_dolg_done</actor_dialog>


Также в секции Волка ищем эту строчку: "tm_wolf_reward". После нее пишем эту:
Код
<actor_dialog>wolf_dolg_dialog</actor_dialog>


Сохраняем, выходим.

3. Открываем dialogs_escape.xml. В самом конце пишем:

Код
<dialog id="trader_dolg_start" priority="2"> ; id диалога, который мы написали в секции Сидрыча.
<dont_has_info>money_dolg_start</dont_has_info>  ; после получения инфопоршня этот диалог мы не увидим
          <has_info>tutorial_end</has_info> ; диалог будет показываться только после получения этого инфопоршня.
          <phrase_list>
              <phrase id="0">
                  <text>trader_dolg_start_0</text> ; текст диалога
                  <next>1</next>
              </phrase>
              <phrase id="1">
                  <text>trader_dolg_start_1</text>
                  <next>2</next>
                  <next>3</next>
              </phrase>
              <phrase id="2">
                  <text>trader_dolg_start_2</text>
                  <give_info>money_dolg_start</give_info> ; выдача инфопоршня
                  <action>dialogs.break_dialog</action> ; конец диалога   
              </phrase>
              <phrase id="3">
                  <text>trader_dolg_start_3</text>
                  <action>dialogs.break_dialog</action>
              </phrase>
          </phrase_list>
      </dialog>

<dialog id="wolf_dolg_dialog" priority="2">
<dont_has_info>volk_dialog_done</dont_has_info>   
          <has_info>money_dolg_start</has_info>
          <phrase_list>
              <phrase id="0">
                  <text>wolf_dolg_dialog_0</text>
                  <next>1</next>
              </phrase>
              <phrase id="1">
                  <text> wolf_dolg_dialog_1</text>
                  <give_info>volk_dialog_done</give_info>
                  <next>2</next>
              </phrase>
              <phrase id="2">
                  <text> wolf_dolg_dialog_2</text>
                  <action>dialogs.break_dialog</action>
              </phrase>
          </phrase_list>
      </dialog>

<dialog id="trader_dolg_done" priority="2">
<dont_has_info>money_dolg_done</dont_has_info>   
          <has_info>volk_dialog_done</has_info>
          <phrase_list>
              <phrase id="0">
                  <text>trader_dolg_done_0</text>
                  <next>1</next>
              </phrase>
              <phrase id="1">
                  <text>trader_dolg_done_1</text>
                  <next>2</next>
              </phrase>
              <phrase id="2">
                  <text>trader_dolg_done_2</text>
                  <give_info>money_dolg_done</give_info>
                  <next>3</next>
              </phrase>
              <phrase id="3">
                  <text>trader_dolg_done_3</text>
                  <action>dialogs.break_dialog</action>
              </phrase>
          </phrase_list>
      </dialog>


Сохраняем, выходим.
4. В самом конце game_tasks.xml пишем эту секцию:

Код
<game_task id="money_dolg"> ;  id задания из info_l01escape.xml   
   <title>Поговорить с Волком о долге</title>
    <objective>
     <text>Подойти к Волку</text>
     <icon>ui_iconsTotal_artefact</icon> ;  иконка задания в КПК
     <infoportion_complete>volk_dialog_done</infoportion_complete> ;  отметка инфопоршня
    </objective>
    <objective>
     <text>Поговорить с Волком</text>
     <icon>ui_iconsTotal_artefact</icon>
     <infoportion_complete>volk_dialog_done</infoportion_complete>
    </objective>

    <objective>
     <text>Поговорить с Сидоровичем</text>
     <infoportion_complete>money_dolg_done</infoportion_complete>   
    </objective>
</game_task>


Закрываем, сохраняем.

5. В конце файла info_l01escape.xml пишем эту секцию:

Код
<info_portion id="money_dolg_start"> ;  регистрация инфопоршня
   <task>money_dolg</task> ;  ссылка на задание из game_tasks.xml
</info_portion>   
<info_portion id="volk_dialog_done">    
</info_portion>
<info_portion id="money_dolg_done">
</info_portion>


Сохраняем.

6. В конце файла stable_dialogs_escape.xml добавляем эти строчки:

Код
<string id="trader_dolg_start_0">
    <text>Здорово, Сидорович! Есть работенка для меня?</text>
   </string>
   <string id="trader_dolg_start_1">
    <text>Есть тут дельце. Волк как-то деньжат занимал у меня, а до сих пор не вернул. Сходи, потряси его, глядишь совесть-то и проснется.</text>
   </string>
   <string id="trader_dolg_start_2">
    <text>Ну, ладно, схожу.</text>
   </string>
   <string id="trader_dolg_start_3">
    <text>Нет, спасибо, я с Волком еще работать буду.</text>
   </string>
   <string id="wolf_dolg_dialog_0">
    <text>Здорово, Волк. Я от Сидоровича. Он говорит, ты задолжал ему.</text>
   </string>
   <string id="wolf_dolg_dialog_1">
    <text>Слушай, у меня денег нет, и в ближайшее время они не появятся. А если он будет и дальше меня с этими долгами дергать, я весь хабар буду к Бармену таскать. Так ему и передай.</text>
   </string>
   <string id="wolf_dolg_dialog_2">
    <text>Хорошо, передам.</text>
   </string>
   <string id="trader_dolg_done_0">
    <text>Ну что, Сидрыч, поговорил я с твоим должником.</text>
   </string>
   <string id="trader_dolg_done_1">
    <text>Ну и что?</text>
   </string>
   <string id="trader_dolg_done_2">
    <text>Сказал, что денег нет. А еще сказал, что если дальше его дергать будешь по поводу долга, он весь хабар будет таскать к Бармену.</text>
   </string>
   <string id="trader_dolg_done_3">
    <text>Ну, на нет - и суда нет. Правда, Меченый? Ну, ступай я тебя больше не держу...</text>
   </string>


Вот и все, мы создали полноценный квест - трепалку. Нужно начинать новую игру.
Автор: [MarveL]



Форум настоящего сталкера » Техническая поддержка » Свалка » Создание разговорного квеста
Страница 1 из 11
Поиск:
Вверх