Случайная подборка модов
Oblivion Lost Remake
4.1
Как вступить в "Долг"?
3.9
Погоня за Праздником
3.8
Зона поражения 2: Ответный удар
4.1
Упавшая звезда. Честь наемника
4.2
Hibernation Evil - Эпизод I
2.8
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
[CoP] Создание типовых квестов в Зове Припяти
Российская Федерация  SlipKnoT
Среда, 15.09.2010, 17:20 | Сообщение # 1
Статус:
Отмычка:
Сообщений: 182
Награды: 6
Регистрация: 09.07.2010

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

  Злобная реклама
Среда, 15.09.2010, 17:20
Статус:
Сообщений: 666
Регистрация: 09.07.2010
Беларусь  nikito-stalker
Среда, 15.09.2010, 18:15 | Сообщение # 2
Статус:
Новичок:
Сообщений: 471
Награды: 1
Регистрация: 13.08.2010

шикарно!
  Злобная реклама
Среда, 15.09.2010, 18:15
Статус:
Сообщений: 666
Регистрация: 13.08.2010
Российская Федерация  Rurik345
Среда, 15.09.2010, 21:10 | Сообщение # 3
Статус:
Опытный:
Сообщений: 4247
Награды: 11
Регистрация: 10.09.2010

ага, точно)))
  Злобная реклама
Среда, 15.09.2010, 21:10
Статус:
Сообщений: 666
Регистрация: 10.09.2010
Российская Федерация  SlipKnoT
Четверг, 16.09.2010, 05:38 | Сообщение # 4
Статус:
Отмычка:
Сообщений: 182
Награды: 6
Регистрация: 09.07.2010

Rurik, nikito-stalker, как хотели. Хотя в "Игромании" всё подробнее расписано.
  Злобная реклама
Четверг, 16.09.2010, 05:38
Статус:
Сообщений: 666
Регистрация: 09.07.2010
Российская Федерация  Rurik345
Четверг, 16.09.2010, 19:09 | Сообщение # 5
Статус:
Опытный:
Сообщений: 4247
Награды: 11
Регистрация: 10.09.2010

ну так мне на форуме удобней это читать))) спс ещё раз)))
  Злобная реклама
Четверг, 16.09.2010, 19:09
Статус:
Сообщений: 666
Регистрация: 10.09.2010
Российская Федерация  Пригоршня
Суббота, 18.09.2010, 14:51 | Сообщение # 6
бывший {wmv}killer
Статус:
Бывалый:
Сообщений: 739
Награды: 12
Регистрация: 11.06.2010

А где его скачать?
  Злобная реклама
Суббота, 18.09.2010, 14:51
Статус:
Сообщений: 666
Регистрация: 11.06.2010
Российская Федерация  Rurik345
Воскресенье, 19.09.2010, 12:00 | Сообщение # 7
Статус:
Опытный:
Сообщений: 4247
Награды: 11
Регистрация: 10.09.2010

что?
  Злобная реклама
Воскресенье, 19.09.2010, 12:00
Статус:
Сообщений: 666
Регистрация: 10.09.2010
Российская Федерация  alex48sic
Четверг, 03.03.2011, 18:54 | Сообщение # 8
Статус:
Отмычка:
Сообщений: 92
Награды: 2
Регистрация: 26.02.2011

блин..нихрена непонял( nuke shutup surrender
  Злобная реклама
Четверг, 03.03.2011, 18:54
Статус:
Сообщений: 666
Регистрация: 26.02.2011
Российская Федерация  fedor
Четверг, 03.03.2011, 19:47 | Сообщение # 9
Статус:
Новичок:
Сообщений: 257
Награды: 8
Регистрация: 10.02.2011

слушай а ты не помажешь я хачю моды создавать какие програмы нужны
  Злобная реклама
Четверг, 03.03.2011, 19:47
Статус:
Сообщений: 666
Регистрация: 10.02.2011
Украина  Бульба
Пятница, 25.03.2011, 18:38 | Сообщение # 10
Статус:
Бывалый:
Сообщений: 823
Награды: 1
Регистрация: 21.11.2010

fedor, Для начала распакуй gamedat'y прогой Data Unpacker, поиграйся там, полазь, а там видно будет.
  Злобная реклама
Пятница, 25.03.2011, 18:38
Статус:
Сообщений: 666
Регистрация: 21.11.2010
Украина  ishodovec
Воскресенье, 09.10.2011, 21:31 | Сообщение # 11
Статус:
Зевака:
Сообщений: 10
Награды: 0
Регистрация: 02.10.2011

Ей народ помогите, я короче хочу сделать мод, но не могу разобраться как делать квесты плизз помогите, а квесты там пойди принеси, подай, убей чела. Но только без all.spawna плиззз
  Злобная реклама
Воскресенье, 09.10.2011, 21:31
Статус:
Сообщений: 666
Регистрация: 02.10.2011
Российская Федерация  Лебедев
Вторник, 03.01.2012, 12:57 | Сообщение # 12
Статус:
Зевака:
Сообщений: 8
Награды: 0
Регистрация: 03.01.2012

Сталкеры помогите! Киньте ссылку на скачивание распаковщика all.spawn для ЗП.
Кто первый скинет ссылку в личку +5 в репу!
  Злобная реклама
Вторник, 03.01.2012, 12:57
Статус:
Сообщений: 666
Регистрация: 03.01.2012
Российская Федерация  Dimonich
Вторник, 03.01.2012, 13:03 | Сообщение # 13
Статус:
Опытный:
Сообщений: 1643
Награды: 6
Регистрация: 17.04.2011

Лебедев, В инете ищи!
  Злобная реклама
Вторник, 03.01.2012, 13:03
Статус:
Сообщений: 666
Регистрация: 17.04.2011
Российская Федерация  Kirk
Воскресенье, 08.01.2012, 23:03 | Сообщение # 14
Статус:
Новичок:
Сообщений: 267
Награды: 0
Регистрация: 08.01.2012

А кто подскажет как к "новому" неписю (которого сам создал) квест привязать? Непись есть, стоит там где нужно, но задание давать не хочет... Да и разговаривать тоже :( Создавал по уроку из ЭТОЙ темы
  Злобная реклама
Воскресенье, 08.01.2012, 23:03
Статус:
Сообщений: 666
Регистрация: 08.01.2012
Российская Федерация  XemyL
Воскресенье, 08.01.2012, 23:27 | Сообщение # 15
Статус:
Новичок:
Сообщений: 384
Награды: 0
Регистрация: 09.11.2011

Kirk, сначала надо заставить говорить :D
Поправь ему логику, должен заговорить:
Code
[logic]   
prior = 200   
active = remark2   
danger = danger_ignore   
level_spot = trader   
can_select_weapon = false   
trade = misc\trade\dcm\trade_radar_a24_pechkin.ltx

[remark2]   
no_move = true
meet = meet

[meet]
use = true
use_wpn = true

А потом уже через диалог выдавай квест.
Сообщение отредактировал XemyL - Воскресенье, 08.01.2012, 23:27
  Злобная реклама
Воскресенье, 08.01.2012, 23:27
Статус:
Сообщений: 666
Регистрация: 09.11.2011
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: