..::STALKER.BY::..
http://stalker.by/forum/

Разбор диалога
http://stalker.by/forum/viewtopic.php?f=534&t=2734
Страница 1 из 1

Автор:  Chester [ 12 мар 2011, 22:16 ]
Заголовок сообщения:  Разбор диалога

Вечером,как всегда,мне делать нечего.Вот и решил написать небольшой урок по диалогам.
Код:
<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 из 1 Часовой пояс: UTC + 2 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/