..::STALKER.BY::.. http://stalker.by/forum/ |
|
Создаём новый квест для S.T.A.L.K.E.R. Зов Припяти http://stalker.by/forum/viewtopic.php?f=534&t=2608 |
Страница 1 из 1 |
Автор: | DiGGeR225 [ 05 мар 2011, 14:08 ] |
Заголовок сообщения: | Создаём новый квест для 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) - если брать название не из xml, то в игре оно будет отображаться без пробелов Пример использования: title = zat_a9_way_gates_check_transport_workshop_name descr - описание задания (id из xml) - если брать название не из xml, то в игре оно будет отображаться без пробелов Пример использования: descr = zat_a9_way_gates_check_transport_workshop_text target - цель на карте (метка) Примеры использования: target =zat_a2_stalker_barmen (ID нпц, на которого будет поставлена метка) 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)% -- повышаем репу у сталкеров (функция юзаются из xr_effect) 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 и добавляем перед </game_dialogs>: Код <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> Далее добавляем наши диалоги Бороде. Открываем файл character_desc_zaton.xml Находим строчку <actor_dialog>zat_a2_stalker_barmen_actor_info</actor_dialog> и под ней пишем Код <actor_dialog>vodka_quest_dialog</actor_dialog> <actor_dialog>vodka_quest_prines</actor_dialog> Сохраняем Инфопоршни и скриптовые функции Открываем файл info_zaton.xml и добавляем перед </game_information_portions>: Код <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_table> Код <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> |
Страница 1 из 1 | Часовой пояс: UTC + 2 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |