Часть 20. Интерактивные условия
Последняя часть этого гайда. Здесь мы рассмотрим буквально несколько простеньких тега, отслеживающих нажатия, телепортацию, открытия окон и действия игрока.
Все они размещаются в авто-опциях
Клик по интерфейсу <click>
Срабатывыет, когда игрок нажимает на какой-то элемент интерфейса. Состоит из 1 обязательного тега
| Атрибут | Значение | Пояснение |
| id | Элемент интерфейса “HUD” — Весь экран (по умолчанию) “InventorySlot” — Диалоговое окно с NPC (да, это странно). Скорее всего, это кнопка открытия инвентаря на Смартфонах (три точки) “RecipeBookButton” — Кнопка “Книга Рецептов” “QuestLogButton” — Кнопка “Журнал Квестов” “CraftPlayer” — Окно крафта у игрока (2×2) “CraftTable” — Окно крафта у Верстака “Use” — Кнопки в правой нижнйе части экрана “Joystick” — около Джойстика (на Смарфтонах) | Элемент интерфейса, нажатия по кторому отслеживаются |
Пример из оригинального квеста Tutorial (шаг set_plank)
option auto="set_plank"<>
ㅤcraft name="Plank" type="Player"/<>
ㅤclick id="CraftPlayer"/<>/option<>
Открытие элемента интерфейса <window>
Отрабатывает, когда игрок открывает определенное окно. Атрибут — id
| Атрибут | Значение | Пояснение |
| id | Элемент интерфейса “HUD” — Весь экран (по умолчанию) “InventorySlot” — Диалоговое окно с NPC (да, это странно). Скорее всего, это кнопка открытия инвентаря на Смартфонах (три точки) “RecipeBookButton” — Кнопка “Книга Рецептов” “QuestLogButton” — Кнопка “Журнал Квестов” “CraftPlayer” — Окно крафта у игрока (2×2) “CraftTable” — Окно крафта у Верстака “Use” — Кнопки в правой нижнйе части экрана “Joystick” — около Джойстика (на Смарфтонах) | Элемент интерфейса, нажатия по кторому отслеживаются |
Пример из оригинального квеста Tutorial (шаг talk_book3)
<option auto="talk_book3">
<window id="Inventory"/>
</option>
Использование телепорта <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 сек), чтобы точно успеть зафиксировать момент телодвижения игрока
Проверка типа устройства <condition>
С помощью этого шага вы можете проводить те или иные действия в шаге, в зависимости от типа управления игрока (Клава-мышь, Сенсор, Геймпад)
| Атрибут | Значение | Пояснение |
| type | Не указан, атрибут type отсутствует — сенсорное управления type=”Standalone” — Управление Клава-мышь type=”Joystick” — Управление с Геймпада | Используйте, если какие-то опции или какой-то текст должен меняться в зависимости от устройства Порядок блоков не имеет значения, обязательно добавляйте блок без type, он будет использован в случае, если возникнут какие-либо ошибки с другими блоками |