player_keycatcher
Данная энтить является логическим расширением функционала, предоставляемого trigger_impulse. Позволяет перехватывать кнопки игрока для активации событий на карте.
Настройки
m_iszKeyToCatch | Имя кнопки, которую требуется отслеживать. Один player_keycatcher может отслеживать только одну кнопку (любую). |
m_iszKeyPressed | Цель, которая будет однократно вызвана, когда игрок нажмёт отслеживаемую кнопку. |
m_iszKeyHoldDown | Цель, которая будет вызываться каждый кадр, пока игрок держит отслеживаемую кнопку. |
m_iszKeyReleased | Цель, которая будет однократно вызвана, когда игрок отпустит отслеживаемую кнопку. |
master | Мастер для блокировки энтити. Заблокированный player_keycatcher не вызывает свои цели. |
Особенности использования
- Максимальное количество энтить на карте — 64 штуки.
- Вы можете создавать несколько player_keycatcher, которые отслеживают одну и ту же кнопку. Вы можете отслеживать их состояние (кнопка нажата — STATE_ON, кнопка отпущена — STATE_OFF).
- Таблица соответствия виртуальных кнопок приведена ниже:
attack Кнопка первичной атаки jump Прыжок duck Приседание forward Движение вперёд back Движение назад use Активация left Поворот влево right Поворот вправо moveleft Движение влево moveright Движение вправо attack2 Вторичная атака run Бег reload Перезарядка alt1 Свободная кнопка; назначается самостоятельно при помощи команды bind <нужная кнопка> +alt1 score Cвободная кнопка (только для ксаш-мода); назначается самостоятельно при помощи команды bind <нужная кнопка> +score - Физическое расположение player_keycatcher не имеет значения.
- Остерегайтесь использовать энтить в мультиплеере, поскольку она будет отслеживать нажатие кнопок всех игроков на сервере.
- Энтить не будет работать, если игрок заморожен при помощи trigger_playerfreeze или спаунфлага Freeze Player у trigger_camera, поскольку зажатые кнопки обнуляются непосредственно в движке и перехватить это дело нет никакой возможности.