🔓 Открой весь функционал!









Обновление Форума  
 📌 Популярные темы
 📌 Топ сталкеров
Anubis Anubis  ⭐️Репутация: 280
Гудвин Гудвин  ⭐️Репутация: 143
СергейПахомов1999 СергейПахомов1999  ⭐️Репутация: 88
ENEWAY ENEWAY  ⭐️Репутация: 74
s-stalk s-stalk  ⭐️Репутация: 60
 📌 Новые сталкеры на форуме
resotyt resotyt  ⏳Пятница
bosavoluk9 bosavoluk9  ⏳Пятница
a72921038 a72921038  ⏳Пятница
prixyelniko prixyelniko  ⏳Пятница
Пейн Пейн  ⏳Пятница



  • Страница 1 из 1
  • 1
Создание обычных квестов в Зов Припять
Anubis

Anubis

Офлайн

Титул: Хранитель Зоны

1101

70

280


Сообщение 1 01:08:51, 2026-01-17
Сталкерское уважение +1 Сталкерское уважение +2 Сталкерское уважение +3 Постоянный житель портала Постоянный житель портала + Постоянный житель портала +2 Постоянный житель портала +2 Постоянный житель портала +2
Разбор системы квестов в 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>







  • Страница 1 из 1
  • 1
Поиск:

Совет по выживанию
Загрузка…
Совет № 1



🔰Заходили сегодня: | Anubis, stalkercom, chino, 3HAXAPb, wasilly, prohnickijoleg, Yohon8198