Случайная подборка модов
Legend Returns 0.9.2
4.0
Под прикрытием смерти
3.9
Туман войны: Закалённые Зоной
3.2
Игра Душ: Начало
3.6
Путь человека: Шаг в неизвестность
3.8
Равновесие
3.2
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 1 из 1
  • 1
Архив - только для чтения
[CoP] Создание квеста принести предмет.
Казахстан  Janel
Суббота, 14.12.2019, 12:40 | Сообщение # 1
Статус:
Гость:
Сообщений: 40
Награды: 0
Регистрация: 09.10.2019

Приветствую всех мододелов! Сегодня я вам покажу как создать квест принести что-либо.

Разбираем параметры:



Примечание: Награда выдается двумя методами: от NPC или просто свалится с неба. Если не найден NPC, с которым мы в диалоге, то валится с неба.

Практика

Используемые файлы:
1- configs\gameplay\dialogs_zaton.xml
2- configs\gameplay\info_zaton.xml
3- configs\gameplay\character_desc_zaton.xml
4- configs\text\rus\st_quests_zaton.xml
5- configs\misc\tm_zaton.ltx
6- scripts\dialogs_zaton.script

Открываем файл dialogs_zaton.xml и добавляем перед </game_dialogs>:

Код
<dialog id="vodka_quest_dialog">
<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>
<dont_has_info>quest_vodka_done</dont_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">
        <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>Бармен попросил принести пару бутылок водки.</text>
</string>


Всё наш квест готов! Сохраняем и идём проверять. Если есть вопросы пишите. Удачи в модинге!
Сообщение отредактировал Janel - Воскресенье, 15.12.2019, 17:31
  Злобная реклама
Суббота, 14.12.2019, 12:40
Статус:
Сообщений: 666
Регистрация: 09.10.2019
  • Страница 1 из 1
  • 1
Поиск: