Глава 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) с фразой Крестьнина
Отличный гайд, но осталось несколько вопросов:
1) Куда делся раздел с кастомным магазином из прошлой версии руководства. В 13.5.0? Его больше нельзя кастомизировать?
2) У Фуза в 13.5.0 есть свой магазин, следовательно, они тоже стали квестовыми НПС и для них можно делать кастомные квесты. Или нельзя?
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 только что обновил, просто изначально забыл добавить
Из нюансов: У них пока что нет своего портрета, поэтому будет видно просто имя