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

Reading Mode

Этап 0. Введение

Глава 0. Первый квест

В этой главе не будет никаких терминов или сложного синтаксиса, мы просто научимся ставить, запускать и редактировать уже готовый шаблон Квеста

Шаг 1. Скачать квест

У вас откроется Google Drive. Нажмите там на иконку загрузки и скачайте файл

Шаг 2. Установка в игру

Перебросьте скачанный FirstQuest.xml в папку Quests (Документы –> Block Story –> Quests)

Если Android: /Andoid/data/com.mindblocks.blocks/files/Quests

Если доступ заблокирован (Android 13+), то читайте Гайд по разблокировке папки Android (нажмите на текст)

Шаг 3. Запустите игру и найдите Волшебника

Нажмите на Волшебника и выберите там «Мой Первый Квест»

Шаг 4. Проверяем Квест

Если заговорить с Волшебником в первый раз, то он скажет это:

Если заговорим во второй и последующие разы, то он будет говорить уже другой текст:

Шаг 5. Редактируем слова Волшебника

Пока что откроем FirstQuest.xml через Блокнот

Перед нами код:

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

ㅤㅤ<option to="#close" text="Хай!"/>
ㅤ</step>

ㅤ<step id="#end"/>
</quest>

Теперь попробуем поменять текст на свой. Я буду писать своё для примера, вы же можете писать туда что угодно:

  1. За текст, который игрок видит при первом общении с NPC отвечает <intro> (его текст подсвечен Фиолетовым). Давайте заменим его, например, на: «Здарова, братанчик!»
  2. За то, что отвечает NPC при повторном обращении отвечает <desc> (его текст подсвечен Желтым). Здесь пусть будет: «О, а вот и снова ты!»
  3. Чтобы поменять текст на самой кнопке, нужно заменить текст в кавычках у <option> (текст на кнопке подсвечен Красным). Пускай это будет «Алоха»

У меня получилось это:

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

ㅤㅤ<option to="#close" text="Алоха"/>
ㅤ</step>

ㅤ<step id="#end"/>
</quest>

Сохраняем квест (сочетание Ctrl+S, либо Файл –> Сохранить)

Шаг 6. Проверяем изменения

Перед проверкой обязательно перезайдите в мир, чтобы квесты перечитались и изменения применились

С Волшебником мы уже говорили, поэтому будет выводиться только: «О, а вот и снова ты!». Если хотите проверить приветственный первый текст, то создайте нового персонажа и зайдите за него

Я зашел за нового персонажа:

Теперь попробуйте сами поэкспериментровать, заменяя текст на свой. Попробуйте поставить длинный текст на кнопку или, например, посмотрите как выглядят разные символы в диалоговом окне

Если все сломалось

  1. Проверьте, что квест точно находиться в папке Quests (Документы –> Block Story –> Quests)
  2. Если вы меняли текст у кнопки, то проверьте, что вы не удалили кавычки (” “). Должно быть только так: text=”ВашТекст”
  3. Проверьте, что вы не задели угловые скобки (< >)

Если ничего пункты 2 и 3 не помогли, то переустановите шаблон и снова попробуйте поменять его под себя

Заключение

Отлично! Вы научились ставить кастомные квесты, изменять под себя и тестировать их. В следующих главах разберем подробнее что вы конкретно изменили

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