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

Ранг: Мастер
Сообщений: 743
Награды: 36 Регистрация: 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 из 1
  • 1
Поиск:
Вверх
Правила чата
Мини-чат
+Мини-чат
0