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

Reading Mode

Глава 21. Дополнительный функционал

В этой Главе собрано всё, что по той или иной причине не вместилось в основные главы. Это просто дополнительный функционал, которому почти нет применения. В основном, он нужен, чтобы обслуживать внутренние потребности официальных квестов. Например, интерактивные условия или магазин

Шаг 1. Интерактивные условия (ИУ)

Все интерактивные условия размещаются в авто-опциях

Клик по интерфейсу <click/>

Срабатывыет, когда игрок нажимает на какой-то элемент интерфейса

ㅤ<click id="ЭлементИнтерфейса"/>

Пример из оригинального квеста Tutorial (шаг set_plank)

<option auto="set_plank">
ㅤ<craft name="Plank" type="Player"/>
ㅤ<click id="CraftPlayer"/>
</option>

Открытие элемента интерфейса <window>

Отрабатывает, когда игрок открывает определенное окно

ㅤ<window id="ЭлементИнтерфейса"/>

Пример из оригинального квеста Tutorial (шаг talk_book3)

<option auto="talk_book3">
<window id="Inventory"/>
</option>

Использование телепорта <useteleporter/>

Проверяет, телепортировался ли игрок через Телепорт. Не имеет атрибутов

<useteleporter/>

Пример из оригинального квеста Quantum Theory (шаг teleporter_placed)

<option auto="teleporter_placed">
<useteleporter/>
<attention/>
</option>

Действия игрока <look/> <walk/> <jump/>

Три тега без атрибутов.

<look/> — Проевряет, двигал ли игрок камерой

<walk/> — Проверяет перемещался ли игрок

<jump/> — Проверяет, прыгал ли игрок

Пример из оригинального квеста Tutorial (шаги ask_walk, ask_jump, ask_log)

<option auto="ask_walk" start="1" check="0.25" end="1">
<look/>
</option>

<option auto="ask_jump" start="1" check="0.25" end="1">
<walk/>
</option>

<option auto="ask_log" start="1" check="0.25" end="1">
<attention/>
<jump/>
</option>

Обратите внимание на проверки с помощью check, они делаются 4 раза в секунду (проверка раз в 0.25 сек), чтобы точно успеть зафиксировать момент телодвижения игрока

Шаг 2. Проверка типа устройства <condition/> (ТУ)

С помощью этого шага вы можете проводить те или иные действия в шаге, в зависимости от типа управления игрока (Клава-мышь, Сенсор, Геймпад)

АтрибутЗначениеПояснение
type1. Не указан, атрибут type отсутствует — сенсорное управления
2. type=”Standalone” — Управление Клава-мышь
3. type=”Joystick” — Управление с Геймпада
Используйте, если какие-то опции или какой-то текст должен меняться в зависимости от устройства

Порядок блоков не имеет значения, обязательно добавляйте блок без type, он будет использован в случае, если возникнут какие-либо ошибки с другими блоками <condition>
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