This is an old revision of the document!
Инвентарь игрока
Движок QEng поддерживает систему виртуального инвентаря команд или одиночных игроков. Это позволяет реализовывать квесты с поиском и использованием предметов (ключей, инструментов, валюты).
Что такое инвентарь?
В интерфейсе игрового окна инвентарь отображается как список предметов с изображениями, кратким описанием и кнопкой действия.
Каждый предмет представляет собой уникальный текстовый идентификатор (ключ), который можно добавлять, удалять или “активировать” (использовать).
Как отобразить инвентарь на уровне
1. В тексте задания (в режиме **"Источник"**) вставьте HTML-блок, где должен отображаться список предметов:
<div id="inventory_container">Загрузка инвентаря...</div>
2. В скрипт задания (поле скрипта внизу уровня) добавьте JS-вызов:
showInventoryItems('inventory_container');
Управление предметами
Добавление предмета в инвентарь
Добавление предметов привязано к решению бонусов (или сквозных бонусов).
1. Создайте бонус на уровне (например, "Найти молоток"). 2. В поле **"Текст после решения"** бонуса в режиме **"Источник"** (Source) вставьте скрипт:
<script>
addInventoryItem('hammer123');
</script>
После того как команда введет верный ответ для этого бонуса, предмет с ключом hammer123 появится в их инвентаре.
Изображения предметов
Для корректного отображения предмета hammer123 загрузите на cdn игры два файла картинок со строгими названиями:
item_hammer123.jpg— превью предмета, показываемое в списке инвентаря.item_hammer123_big.jpg— детальное изображение, показываемое при клике по значку глаза (детальный просмотр).
Удаление предмета из инвентаря (Использование/Потеря)
Чтобы забрать предмет у команды (например, при отдаче персонажу или использовании для открытия двери):
1. Создайте бонус, активируемый при прохождении. 2. В его **"Текст после решения"** в режиме **"Источник"** пропишите:
<script>
removeInventoryItem('hammer123');
</script>
<note important> Важно: Если предмет был добавлен с помощью сквозного бонуса, то удалить его обычным бонусом нельзя. Его нужно удалять также через сквозной бонус с более высоким порядковым номером. </note>
Кнопка "Использовать"
При клике игроком по кнопке “Использовать” у предмета в инвентаре, движок автоматически пытается вбить код, совпадающий с идентификатором предмета.
* Например, при использовании предмета hammer123 в поле ввода ответов автоматически отправится код hammer123.
Демонстрация
Рабочий пример уровня с инвентарем и кодом можно посмотреть в Демо-игре для авторов.
