{{indexmenu_n>30}} ====== Інвентар гравця ====== Движок QEng підтримує систему віртуального інвентарю команд або одиночних гравців. Це дозволяє реалізовувати квести з пошуком та використанням предметів (ключів, інструментів, валюти). ===== Що таке інвентар? ===== В інтерфейсі ігрового вікна інвентар відображається як список предметів із зображеннями, коротким описом та кнопкою дії. {{ :authors_main:inventory.png?800 |Приклад відображення інвентарю на рівні}} Кожен предмет являє собою унікальний текстовий ідентифікатор (ключ), який можна додавати, видаляти або "активувати" (використовувати). ===== Як відобразити інвентар на рівні ===== - У тексті завдання (в режимі **"Джерело"**) вставте HTML-блок, де повинен відображатися список предметів:
Завантаження інвентарю...
- У скрипт завдання (поле скрипта внизу рівня) додайте JS-виклик: showInventoryItems('inventory_container'); ===== Керування предметами ===== ==== Додавання предмета до інвентарю ==== Додавання предметів прив'язане до вирішення бонусів (або наскрізних бонусів). - Створіть бонус на рівні (наприклад, "Знайти молоток"). - У полі **"Текст після вирішення"** бонусу в режимі **"Джерело"** (Source) вставте скрипт: Після того як команда введе правильну відповідь для цього бонусу, предмет із ключем ''hammer123'' з'явиться в їхньому інвентарі. ==== Зображення предметів ==== Для коректного відображення предмета ''hammer123'' завантажте на cdn гри два файли картинок із точними назвами: * **''item_hammer123.jpg''** — прев'ю предмета, що показується в списку інвентарю. * **''item_hammer123_big.jpg''** — детальне зображення, що показується при кліку по значку ока (детальний перегляд). ==== Зображення при копіюванні гри ==== За замовчуванням картинки предметів беруться з папки cdn **поточної** гри. При копіюванні гри файли на cdn не копіюються, тому в копії картинки предметів зникнуть. Щоб цього не сталося, прив'яжіть інвентар до гри, в яку залиті картинки. Виклик достатньо зробити один раз на всю гру — у полі **"Загальний HTML заголовок"** у налаштуваннях гри (в режимі **"Джерело"**): де ''1234'' — id гри з картинками (номер папки на cdn). Загальний HTML заголовок копіюється разом із грою, тому копія продовжить брати картинки з вихідної гри. Якщо картинки залиті в нову гру — змініть id у цьому виклику. Той самий id можна задати точково, лише для одного рівня, другим параметром: showInventoryItems('inventory_container', 1234); ==== Видалення предмета з інвентарю (Використання/Втрата) ==== Щоб забрати предмет у команди (наприклад, при віддачі персонажу або використанні для відкриття дверей): - Створіть бонус, який активується при проходженні. - У його **"Текст після вирішення"** в режимі **"Джерело"** пропишіть: > **Важливо:** Якщо предмет був доданий за допомогою **наскрізного** бонусу, то видалити його звичайним бонусом не можна. Його потрібно видаляти також через наскрізний бонус із вищим порядковим номером. ==== Кнопка "Використовувати" ==== При кліку гравцем по кнопці **"Використовувати"** у предмета в інвентарі, движок автоматично намагається ввести код, який збігається з ідентифікатором предмета. * Наприклад, при використанні предмета ''hammer123'' в поле введення відповідей автоматично відправиться код ''hammer123''. ===== Демонстрація ===== Робочий приклад рівня з інвентарем та кодом можна подивитися в демо-грі для авторів: [[https://qeng.org/game.php?jump_to&gid=3493&task_id=68367|Приклад у грі]].