* Sb    * Магазин Текущее время: 22 дек 2024, 11:05

Часовой пояс: UTC + 2 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
{ VISITS } Просмотры: 2992  Добавили в закладки Добавили в закладки: 0  Подписчиков Подписчиков: 0 
Автор Сообщение
 Заголовок сообщения: Разбор диалога
СообщениеДобавлено: 12 мар 2011, 22:16 
Не в сети
Билдоман
Билдоман
Аватара пользователя

Зарегистрирован: 04 апр 2010, 08:18
В кошельке:
50.00

Сообщения: 351
Вечером,как всегда,мне делать нечего.Вот и решил написать небольшой урок по диалогам.
Код:
<dialog id = "volk_new_quest">
   <has_info>new_task_started</has_info>   ---Если нет этого поршня,то диалог не появится
   <dont_has_info>player_talked_with_wolf</dont_has_info>  --- Если есть этот поршень,то диалог не появится
<dont_has_info>player_complete_new_task</dont_has_info>
<dont_has_info>esc_trader_new_quest_complete</dont_has_info>
<phrase_list>
   <phrase id ="0">
      <text>esc_volk_new_quest_0</text>
                            <precondition>test.has_item</precondition>
                            <action>escape_dialog.otday_vodku</action>
      <next>1</next>
   </phrase>
   <phrase id ="1">
      <text>esc_volk_new_quest_1</text>
      <give_info>player_talked_with_wolf</give_info>
                            <give_info>esc_trader_new_quest_complete</give_info>
      <next>2</next>
   </phrase>
   <phrase id ="2">
      <text>esc_volk_new_quest_2</text>
      <action>dialogs.break_dialog</action>
</phrase>

</phrase_list>
</dialog>

<dialog id ="esc_trader_new_quest">
<dont_has_info>player_complete_new_task</dont_has_info>
<dont_has_info>player_talked_with_wolf</dont_has_info>
<phrase_list>
   <phrase id = "0">
      <text>esc_trader_new_quest_0</text>
      <next>1</next>
   </phrase>
   <phrase id = "1">
      <text>esc_trader_new_quest_1</text>
      <give_info>new_task_started </give_info>
      <next>2</next>
   </phrase>
   <phrase id = "2">
      <text>esc_trader_new_quest_2</text>
      <action>dialogs.break_dialog</action>
</phrase>

</phrase_list>
</dialog>

<dialog id ="esc_trader_new_quest_complete">
<dont_has_info>player_complete_new_task</dont_has_info>
<phrase_list>
   <phrase id = "0">
      <text>esc_trader_new_quest_complete_0</text>
      <next>1</next>
   </phrase>
   <phrase id ="1">
      <text>esc_trader_new_quest_complete_1</text>
      <give_info>player_complete_new_task</give_info>
      <next>2</next>
   </phrase>
   <phrase id = "2">
      <text>esc_trader_new_quest_complete_2</text>
      <action>dialogs.break_dialog</action>
</phrase>
</phrase_list>
</dialog>


Из этого мы видим,что тег:
Код:
<dont_has_info>поршень</dont_has_info>

Делает проверку на поршень,и в том случае,если этот поршень у нас есть,он не появится.
Тег:
Код:
<has_info>поршень</has_info>

Тоже делает проверку на поршень,но теперь он не появится только тогда, когда у нас этого инфопоршня нет.
Тег:
Код:
<give_info>поршень</give_info>

Выдает поршень во время диалога.
Тег:
Код:
<action>скриптовый_файл.название_функции</action>

Это выполнение какой-нибудь функции во время диалога.Пример:
Код:
Засовываем функцию в файл test_1.
function test (first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "wpn_ak74", "in")
end
В диалог:
<action>test_1.test</action>

Тут мы выдали предмет актору.
Тег:
Код:
<precondition>скриптовый_файл.имя функции</precondition>

Проверка,но уже функцией.Проверять можно много чего,вот пример:

Код:
Засовываем функции в файл test_2
function test()
    if db.actor:object("wpn_ak74") then
        return true
    end
    return false
end

В диалог:
<precondition>test_2.test</precondition>

Тут мы проверяем,есть ли у актора предмет.Если нет - диалог не появится.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

   Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
В этой теме нет новых непрочитанных сообщений. Разбор секции квеста в ТЧ [в этом окне]

в форуме База знаний

Chester

0

3181

09 мар 2011, 22:27

Chester Перейти к последнему сообщению [в этом окне]

Часовой пояс: UTC + 2 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron

[Мобильная версия]

Создано на основе phpBB® Forum Software © phpBB Group
[ Time : 0.214s | 28 Queries | GZIP : On ]

PlayStation style by HighDefGeek