trigger_look
Описание
Объект trigger_look используется для определения, когда игрок, находящийся внутри этого триггера, смотрит на какой-то объект.
Особенности использования
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов
- Объект для удобства может быть покрыт материалом tools/toolstrigger.
- Объект может контролировать взгляд только игроков.
- Игрок должен находиться внутри триггера (задевать триггер), чтобы этот объект начал работать.
Ошибки
Не обнаружены.
Заметки
Гранаты, брошенные игроком, являются физическими объектами, поэтому могут контактировать с триггерами. Все виды оружия, которое можно подобрать, не контактируют с триггерами.
Углы "Pitch Yaw Roll" могут быть использованы для поворота триггера на нужный угол в начале каждого раунда. На этот угол автоматически поворачиваются Brush-объекты при своём появлении на карте, поэтому этот объект будет работать как задумано только при "Pitch Yaw Roll" = "0 0 0". Если же указать другой угол, например "30 -45 15", то придётся вручную поворачивать весь триггер на углы соответственно "30 -45 15". Выполнить это можно при помощи утилиты поворота, масштабирования и перемещения "Transform [Ctrl+M]". Правильность постановки этого объекта на карте можно проверить при помощи консольной команды "showtriggers_toggle", которая позволяет отображать триггеры в игре.
Консольная переменная "showtriggers 1" позволяет включить отображение материала tools/toolstrigger в игре, точно так же как он отображается в редакторе Hammer. Для переключения отображения этого материала (Показать/Скрыть) используется консольная команда "showtriggers_toggle".
Параметры
- Pitch Yaw Roll (Y Z X) – ориентация объекта на карте (направление распространения);
- Start Disabled – выключать объект в начале каждого раунда (Нет/Да);
- Look Target – имя объекта в сторону которого должен будет смотреть игрок, находясь внутри триггера, в течение времени "Look Time", чтобы событие "OnTrigger" было выполнено;
- Look Time – время в течение которого игрок должен смотреть на объект "Look Target" чтобы событие "OnTrigger" было выполнено;
- Field Of View – допустимое отклонение взгляда игрока от направления взгляда на объект "Look Target", при котором считается что игрок смотрит на него;
- Timeout – время через которое будет выполнено событие "OnTimeout", если игрок за это время не увидит объект "Look Target";
- Filter Name – имя объекта-фильтра для фильтрации объектов, которым будет разрешено активировать этот триггер;
- Origin (X Y Z) – точка опоры объекта (указывается при помощи Helper’а).
Флаги
- Clients – игроки могут активировать этот объект;
- Pushables – объекты func_pushable могут активировать этот объект; не используется если установлен флажок "Physics Objects";
- Physics Objects – физические объекты могут активировать этот объект;
- Debris – физические объекты, отмеченные как "Debris" могут активировать этот объект; используется только если установлен флажок "Physics Objects"; для физических объектов не обязательно устанавливать флажок "Force Debris Touch Triggers";
- Everything – абсолютно любой объект может активировать своим прикосновением этот триггер; если установлен этот флажок, все предыдущие флажки можно не устанавливать; установка этого флажка позволяет контролировать касание триггера заложниками (hostage_entity).
- Fire Once – этот триггер будет удалён сразу после того как будет впервые выполнено одно из событий "OnTrigger" или "OnTimeout"; триггер снова появится в следующем раунде;
- Use Velocity instead of facing – использовать направление движения игрока вместо его направления взгляда, для определения видимости объекта "Look Target" этим игроком.
Inputs
- Enable – включить объект;
- Disable – выключить объект;
- Toggle – переключить состояние объекта (Включен/Выключен);
- FieldOfView <float> - установить новое значение для свойства "Field Of View";
- LookTime <float> - установить новое значение для свойства "Look Time";
- StartTouch – сымитировать прикосновение к объекту другого объекта, который выполняет эту функцию (!caller); вызов этой функции позволяет выполнять только событие "OnStartTouch"; после вызова этой функции будет считаться что объект (!caller) продолжает контактировать с этим объектом; использование этой функции может привести к тому, что событие "OnEndTouchAll" может вообще не быть выполненным;
- EndTouch – сымитировать прекращение прикосновений с объектом другого объекта, который выполняет эту функцию (!caller); вызов этой функции позволяет выполнять события "OnEndTouch" и "OnEndTouchAll".
Outputs
- OnTrigger – выполняется тогда, когда любой игрок находясь внутри этого триггера видит объект "Look Target"; если два игрока одновременно видят объект "Look Target", то это событие выполнится сразу два раза, если три игрока – то три раза и т.д.; если не установлен флажок "Fire Once", то это событие будет выполняться множество раз с периодичностью "Look Time", пока игрок продолжает смотреть на объект "Look Target"; после выполнения события "OnTimeout" это событие не выполняется;
- OnTimeout – выполняется тогда, когда игрок находясь внутри этого триггера НЕ видит объект "Look Target" в течение времени "Timeout"; это событие не выполняется если значение свойства "Timeout" равно нулю; это событие может выполниться только один раз за то время пока игрок находится внутри этого триггера; после выполнения события "OnTrigger" это событие не выполняется;
- OnStartTouch – выполняется в момент, когда другой объект или игрок начинает контактировать с этим объектом;
- OnEndTouch – выполняется в момент, когда другой объект или игрок прекращает контактировать с этим объектом; это событие может быть выполнено автоматически, если в течение раунда была выполнена функция "StartTouch" и не была после этого выполнена функция "EndTouch";
- OnEndTouchAll - выполняется в момент, когда все другие объекты прекращают контактировать с этим объектом; если хотя бы один другой объект продолжает контактировать с этим объектом, то это событие не выполнится. это событие может быть выполнено автоматически, если в течение раунда была выполнена функция "StartTouch" и не была после этого выполнена функция "EndTouch".
Карта
csssdk_trigger_look.vmf
Используются объекты
- trigger_look
- func_detail
- point_camera
- func_monitor
- info_overlay
Описание карты
На карте поставлено три камеры и созданы две зоны, в которых размещено по одному объекту trigger_look.
Зайдите в первую область. На стене появится монитор отображающий цифру ноль. В этой зоне у игрока нет ограничений по времени (Timeout = 0), поэтому можете покрутить головой прежде чем посмотреть на монитор. Задача в этой зоне – посмотреть на монитор на стене в течение как минимум 1 секунды. Если вы это сделаете, то на мониторе появится цифра 1, означающая что было выполнено событие "OnTrigger". Больше ничего в этой зоне не произойдёт. Чтобы повторить операцию с камерой выйдите из зоны и снова войдите в неё.
Зайдя во вторую зону вам нужно за короткий промежуток времени успеть посмотреть на появившуюся камеру на стене, иначе она автоматически скроется. Можете пробовать проделать эту операцию несколько раз, выходя из этой зоны и входя в неё снова и снова, пока не получится. Когда у вас получится это сделать на мониторе появится цифра 2, означающая что было выполнено событие "OnTrigger". Больше ничего в этой зоне не произойдёт.
Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё: