Нравится ли вам дизайн сайта?
Всего ответов: 403


Мой Профиль
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Зарег. на сайте
Главная » Статьи » Уроки Моддинга в Сталкер

Разбор системы квестов в 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) - если брать название не из 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> 

Сохраняем 

Статья написана: Xmk
Категория: Уроки Моддинга в Сталкер | Добавил: SR® (27.04.2012)
Просмотров: 1879 | Теги: Разбор системы квестов в S.T.A.L.K. | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Бродяга

---
Ну, чё стоишь?
Заходи, раз пришёл!
---

Зачем нужна регистрация?
Что можно гостям?
Энциклопедия S.T.A.L.K.E.R. SoC [2]
Энциклопедия S.T.A.L.K.E.R. CS [0]
Энциклопедия S.T.A.L.K.E.R. CoP [2]
Энциклопедия The Witcher [12]
Все для игр [40]
Все для игровых сайтов [2]
Разное [1]
Энциклопедия Skyrim [20]
Уроки Моддинга в Сталкер [7]
HD ретекстур клинка Горя [0]
HD ретекстур роб вампиров [0]
Эколог - Зомби для сталкер тч [0]
KS-MOD сталкер тч [0]
Oblivion lost 1.3 [0]
Библиотекаря из игры Метро 2033 для тень чернобыля [0]