| |
| |
| |
| |
| |
|
| Форум сталкер S.T.A.L.K.E.R.: Школа моддинга Создание квестов и сценарий Создание обычных квестов в Зов Припять (Создание простых квестов в зов Припять) |
| Создание обычных квестов в Зов Припять |
|
Разбор системы квестов в S.T.A.L.K.E.R.: Зов Припяти
В данном материале подробно разбирается система заданий в игре S.T.A.L.K.E.R.: Зов Припяти. Рассмотрим основные параметры квестов, а также процесс создания простого задания с нуля. Основные параметры квестов icon — иконка задания в ПДА Пример использования: Код icon = ui_inGame2_Put_v_pripyat prior — приоритет квеста (чем выше значение, тем выше в списке) Пример использования: Код prior = 112 storyline — флаг задания • true — сюжетное • false — несюжетное Пример использования: Код storyline = true title — название задания • Используется ID строки из XML • Если указать текст напрямую — в игре он будет отображаться без пробелов Пример использования: Код title = zat_a9_way_gates_check_transport_workshop_name descr — описание задания (ID из XML) Пример использования: Код descr = zat_a9_way_gates_check_transport_workshop_text target — цель на карте (метка) [color=# attachments التالي] Примеры использования: Код target = zat_a2_stalker_barmen Код target = {+название_инфопоршня}zat_a2_stalker_barmen on_init — инфопоршень, который активирует задание Пример использования: Код on_init = %+название_инфопоршня% condlist_x — блок условий завершения задания Возможные значения: • complete — выполнено • reversed — отменено / повторяемо • fail — провалено Примеры использования: Код condlist_0 = {+название_инфопоршня} complete Код condlist_1 = {+название_инфопоршня} reversed Код condlist_2 = {+название_инфопоршня} fail on_complete — действия при выполнении задания on_reversed — действия при провале Примеры использования: Код on_complete = %=inc_faction_goodwill_to_actor(stalker:200)% Код on_reversed = {+название_инфопоршня} %=inc_faction_goodwill_to_actor(stalker:200)% Код on_complete = %+название_инфопоршня% reward_money — денежная награда Пример использования: Код reward_money = 5000 Создание примитивного квеста Используемые файлы: configs\gameplay\dialogs_zaton.xml configs\gameplay\info_zaton.xml configs\gameplay\character_desc_zaton.xml configs\text\rus\st_quests_zaton.xml configs\misc\tm_zaton.ltx scripts\dialogs_zaton.script Создание диалога Файл: dialogs_zaton.xml Добавляем перед : Код <dialog id="vodka_quest_dialog"> <dont_has_info>quest_vodka_done</dont_has_info> <dont_has_info>quest_vodka_give</dont_has_info> <phrase_list> <phrase id="1"> <text>Принеси бутылочку</text> <give_info>quest_vodka_give</give_info> <action>dialogs_zaton.give_vodka_quest</action> </phrase> <phrase id="0"> <text>Привет, тебе водки не принести?</text> <next>1</next> </phrase> </phrase_list> </dialog> <dialog id="vodka_quest_prines"> <has_info>quest_vodka_give</has_info> <precondition>dialogs_zaton.is_has_vodka_borode</precondition> <phrase_list> <phrase id="1"> <text>Спасибо, чувак. Выручил</text> <give_info>quest_vodka_done</give_info> </phrase> <phrase id="0"> <has_info>quest_has_vodka</has_info> <text>Вот твоя водяра</text> <action>dialogs_zaton.transfer_vodka_to_boroda</action> <next>1</next> </phrase> </phrase_list> </dialog> Добавление диалогов NPC Файл: character_desc_zaton.xml Код <actor_dialog>vodka_quest_dialog</actor_dialog> <actor_dialog>vodka_quest_prines</actor_dialog> Инфопоршни Файл: info_zaton.xml Код <info_portion id="quest_vodka_give"></info_portion> <info_portion id="quest_has_vodka"></info_portion> <info_portion id="quest_vodka_done"></info_portion> Скриптовые функции Файл: dialogs_zaton.script Код function give_vodka_quest() task_manager.get_task_manager():give_task("quest_vodka_give") end function is_has_vodka_borode() if db.actor:object("vodka") then return true end return false end function transfer_vodka_to_boroda(first_speaker, second_speaker) dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "vodka") end Описание квеста Файл: tm_zaton.ltx Код [quest_vodka_give] icon = ui_inGame2_Put_v_pripyat prior = 2 storyline = false title = {=actor_has_item(vodka)}vodka_barmen_prinesti_name, vodka_barmen_naiti_name descr = vodka_barmen_descr target = {=actor_has_item(vodka)}zat_a2_stalker_barmen condlist_0 = {+quest_vodka_done} complete Текстовые строки Файл: st_quests_zaton.xml Код <string id="vodka_barmen_naiti_name"> <text>Найти водку для бармена</text> </string> <string id="vodka_barmen_prinesti_name"> <text>Принести водку бармену</text> </string> <string id="vodka_barmen_descr"> <text>Бармен в тестовых целях попросил найти и принести ему 2 бутылки водки</text> </string>
|
| |||
| |||