[13.5] Создание Своих Квестов для Игры

Reading Mode

Глава 7. Вторая концовка #end_dark_side

Функционально является точным клоном #end. С помощью него можно делать 2 завершающие квест концовки.

Шаг 1. Подвяжем кнопки к концовкам

Сделаем так, чтобы шаг my_first_step вел на обычный #end, а шаг bad_mood_step на #end_dark_side:

<step id="my_first_step">
ㅤ ㅤ <intro>Это хорошо, что хорошо. Пока, Наездник Дракона!</intro>
ㅤ ㅤ <desc>Снова ты? Я занят, не могу говорить. Пока!</desc>

ㅤ ㅤ <option to="#end" text="Пока"/>
ㅤ ㅤ <option to="#start" text="Назад"/>
</step>

<step id="bad_mood_step">
ㅤ ㅤ <intro>Очень жаль! Крепись там. Удачи, Наездник Дракона!</intro>
ㅤ ㅤ <desc>Понимаю, что тебе сейчас не хорошо, но у меня сейчас нет времени на разговоры</desc>

ㅤ ㅤ <option to="#end_dark_side" text=":("/>
ㅤ ㅤ <option to="#start" text="Назад"/>
</step>

Шаг 2. Настроим и добавим концовки

Немного изменим текст в #end и добавим новую концовку #end_dark_side. Не забываем про кнопки «Назад» для тестов

<quest npc="Wizard" title="Мой Первый Квест">

. . .

ㅤ <step id="#end">
ㅤ ㅤ <desc>Прощай, Наездник Дракона! Рад был повидаться</desc>

ㅤ
ㅤ <option to="#start" text="Назад"/>

ㅤ ㅤ <option to="#close" text="Пока"/>
ㅤ </step>

ㅤ <step id="#end_dark_side">
ㅤ ㅤ <desc>Я... я тебя понимаю, Наездник Дракона. Крепись, я верю в тебя, а теперь прощай!</desc>
ㅤ

ㅤ ㅤ <option to="#start" text="Назад"/>
ㅤ ㅤ <option to="#close" text=". . ."/>
ㅤ </step>
</quest>

Шаг 3. Проверяем

И здесь тоже все работает. Текст и кнопки функционируют. Если нажать «Пока» или «. . .» (в зависимости от концовки), то квест завершиться и останется только встроенный Tutorial

Итоговый код Глав 6 и 7

<?xml version="1.0" encoding="UTF-8"?>
<quest npc="Wizard" title="Мой Первый Квест ">
ㅤ <step id="#start">
ㅤ ㅤ <intro>Привет, как дела?</intro>
ㅤ ㅤ <desc>Рад тебя снова видеть! Как дела?</desc>

ㅤ ㅤ <option to="bad_mood_step" text="Плохо"/>
ㅤ ㅤ <option to="my_first_step" text="Норм"/>
ㅤ </step>

ㅤ <step id="my_first_step">
ㅤ ㅤ <intro>Это хорошо, что хорошо. Пока, Наездник Дракона!</intro>
ㅤ ㅤ <desc>Снова ты? Я занят, не могу говорить. Пока!</desc>

ㅤ ㅤ <option to="#end" text="Пока"/>
ㅤ ㅤ <option to="#start" text="Назад"/>
ㅤ </step>

ㅤ <step id="bad_mood_step">
ㅤ ㅤ <intro>Очень жаль! Крепись там. Удачи, Наездник Дракона!</intro>
ㅤ ㅤ <desc>Понимаю, что тебе сейчас не хорошо, но у меня сейчас нет времени на разговоры</desc>

ㅤ ㅤ <option to="#end_dark_side" text=":("/>
ㅤ ㅤ <option to="#start" text="Назад"/>
ㅤ </step>

ㅤ <step id="#end">
ㅤ ㅤ <desc>Прощай, Наездник Дракона! Рад был повидаться</desc>

ㅤ ㅤ <option to="#start" text="Назад"/>
ㅤ ㅤ <option to="#close" text="Пока"/>
ㅤ </step>

ㅤ <step id="#end_dark_side">
ㅤ ㅤ <desc>Я... я тебя понимаю, Наездник Дракона. Крепись, я верю в тебя, а теперь прощай!</desc>

ㅤ ㅤ <option to="#start" text="Назад"/>
ㅤ ㅤ <option to="#close" text=". . ."/>
ㅤ </step>
</quest>

Заключение по Главам 6 и 7

В этих главах вы научились работать с концовками, завершая квесты. Теперь ваши квесты будут иметь реальную полноценную концовку(и).

Мини-задания: 1. Сделайте квест с Волшебником. Волшебник говорит, что «искренне верит в Игрока и считает его настоящим другом». Игрок отвечает: «Спс», после чего квест завершается

2. Крестьянин (PeasantMale) спрашивает: «Кто лучше готовит? Крестьяне или Гоблины?». От выбора зависит итоговая концовка (#end/#end_dark_side) с фразой Крестьнина

2
0

Comments

  1. Northern_77
    Northern_77

    Отличный гайд, но осталось несколько вопросов:
    1) Куда делся раздел с кастомным магазином из прошлой версии руководства. В 13.5.0? Его больше нельзя кастомизировать?
    2) У Фуза в 13.5.0 есть свой магазин, следовательно, они тоже стали квестовыми НПС и для них можно делать кастомные квесты. Или нельзя?

    1
    0
    • Da-Damych
      Da-Damych

      1) Кастомные магазины полностью убраны (даже для Алхимика, Фуза и Крестьян). Теперь игра не будет подгружать квесты, содержащие в коде тег <store>

      В логах будет писать:
      Skipped custom quest ‘ИмяКвеста’ from file [Путь до XML-файла квеста]: NPC stores are not allowed in custom quests
      UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
      UnityEngine.Logger:Log(LogType, Object)
      UnityEngine.Debug:LogWarning(Object)
      QuestManager:AddUserQuests(XmlSerializer, String)
      d__77:MoveNext()
      UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

      2) Да, для Фуза можно теперь тоже делать квесты. Список Квестовых NPC только что обновил, просто изначально забыл добавить
      Из нюансов: У них пока что нет своего портрета, поэтому будет видно просто имя

      1
      0

Leave a Reply