Содержание

Назад: Действия

Предметы (инвентарь)

Очень часто главному герою даётся возможность носить с собой разные предметы, которые можно по разному применять в различных ситуациях. Например, на деньги можно купить оружие, оружием кого-нибудь победить, ключом открыть дверь, и так далее. Герой может нести предметы в руках, в карманах, в заплечном мешке, даже катить, но в общем случае говорят, что предметы помещаются в "инвентарь".

Иными словами, инвентарь - это список всех предметов, что есть у героя в данный момент.

В QSP предусмотрено отдельное окно для вывода списка предметов, которое так и называется Окно предметов (в плеере — Предметы). Иногда его называют Списком предметов, Инвентарём или Рюкзаком. С этим окном, в зависимости от нужд вашей игры, вы можете проделывать разные манипуляции. Вы можете:

Команды для работы с Окном предметов

Включение и выключение Окна предметов

Команды для управления предметами

Команды очистки Окна предметов

Функции для обработки предметов

Снять выделение с предмета

Предметы в QSP выделяются с помощью нажатия (щелчка "мышью" по предмету), и выделение не снимается до применения специальной команды:

Другие примеры:

Код, подсчитывающий в массиве OBJECTS число предметов с одинаковыми названиями:

local i = 1
loop while i <= countobj step i += 1:
  OBJECTS[$GETOBJ(i)] += 1
end

Событие "Выделение предмета"

Когда вы щёлкаете мышью по предмету, в классическом плеере этот предмет подсвечивается голубым цветом, и это означает, что предмет становится выделенным. При этом функция $SELOBJ, вызванная в любом месте игры, будет возвращать название такого выделенного предмета.

Выделение предмета — это событие, которое происходит в момент нажатия на предмет, и к этому событию вы можете привязать автоматическое выполнение кода. Делается это с помощью системной переменной $ONOBJSEL:

Более подробная информация в разделе "Служебные локации".

Если предмет уже выделен, повторное выделение при нажатии не происходит. Чтобы повторно выделить предмет, нужно предварительно снять с него выделение с помощью команды UNSELECT.

Вперёд: Порядок работы интерпретатора