Случайная подборка модов
Холодная кровь: Факты.Часть первая
1.9
Под прикрытием смерти
3.9
Road To The North
3.7
Doomed to Eternal Torment
3.9
Зимний путь
3.4
The Project Medeiros
3.7
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 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
  • »
Поиск: