Trigger hurt (Source)

Материал из CSM Wiki
Перейти к навигации Перейти к поиску

Оригинал Trigger_hurt

Описание

Объект trigger_hurt используется для нанесения повреждений тем объектам, которые задевают его.

Особенности использования

  • Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
  • Объект должен быть установлен там, где будет использоваться.
  • На карте может быть установлено множество этих объектов
  • Объект для удобства может быть покрыт материалом 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 – выключать объект в начале каждого раунда (Нет/Да);
  • Damage (dmg/sec) – количество повреждений в секунду, которое наносит этот триггер другим объектам и/или игроку; может быть положительным и отрицательным значением; при отрицательном значении триггер добавляет здоровье, а не отнимает;
  • Max Damage (dmg/sec) – максимальное количество повреждений в секунду, которое наносит этот триггер другим объектам и/или игроку; используется только если свойство "Damage Model" равно "Doubling w/forgiveness";
  • Damage Model – тип модели повреждений:
    • Normal – нормальный; у объектом и/или игроков каждую секунду отнимается всегда одинаковое количество здоровья равное значению свойства "Damage";
    • Doubling w/forgiveness – удвоенный/сбрасывающийся; у объектом и/или игроков с каждой следующей секундой отнимается в два раза больше здоровья чем в предыдущей, а если эти объекты и/или игроки выйдут из триггера, то через три секунды после этого количество повреждений опять станет минимальным; количество повреждений нарастает со значения "Damage" до "Max Damage";
  • Damage Type – тип повреждений, наносимых этим триггером; (см. filter_damage_type);

Флаги

  • Clients – игроки могут активировать этот объект;
  • Pushables – объекты func_pushable могут активировать этот объект; не используется если установлен флажок "Physics Objects";
  • Physics Objects – физические объекты могут активировать этот объект;
  • Debris – физические объекты, отмеченные как "Debris" могут активировать этот объект; используется только если установлен флажок "Physics Objects"; для физических объектов не обязательно устанавливать флажок "Force Debris Touch Triggers";
  • Everything – абсолютно любой объект может активировать своим прикосновением этот триггер; если установлен этот флажок, все предыдущие флажки можно не устанавливать; установка этого флажка позволяет контролировать касание триггера заложниками (hostage_entity).

Inputs

  • Enable – включить объект;
  • Disable – выключить объект;
  • Toggle – переключить состояние объекта (Включен/Выключен);
  • SetDamage <float> - установить новое значение свойства "Damage";
  • StartTouch – сымитировать прикосновение к объекту другого объекта, который выполняет эту функцию (!caller); вызов этой функции позволяет выполнять только событие "OnStartTouch"; после вызова этой функции будет считаться что объект (!caller) продолжает контактировать с этим объектом; использование этой функции может привести к тому, что событие "OnEndTouchAll" может вообще не быть выполненным;
  • EndTouch – сымитировать прекращение прикосновений с объектом другого объекта, который выполняет эту функцию (!caller); вызов этой функции позволяет выполнять события "OnEndTouch" и "OnEndTouchAll".

Outputs

  • OnHurt – выполняется тогда, когда любой объект, кроме игрока, получает повреждение от этого триггера;
  • OnHurtPlayer - выполняется тогда, когда игрок получает повреждение от этого триггера;
  • OnStartTouch – выполняется в момент, когда другой объект или игрок начинает контактировать с этим объектом;
  • OnEndTouch – выполняется в момент, когда другой объект или игрок прекращает контактировать с этим объектом; это событие может быть выполнено автоматически, если в течение раунда была выполнена функция "StartTouch" и не была после этого выполнена функция "EndTouch";
  • OnEndTouchAll - выполняется в момент, когда все другие объекты прекращают контактировать с этим объектом; если хотя бы один другой объект продолжает контактировать с этим объектом, то это событие не выполнится. это событие может быть выполнено автоматически, если в течение раунда была выполнена функция "StartTouch" и не была после этого выполнена функция "EndTouch".

Карта

csssdk_trigger_hurt.vmf

Используются объекты

  • trigger_hurt
  • func_brush
  • prop_physics

Описание карты

На карте установлено три зоны в которых игроки и физические объекты могут получать повреждения. Все три зоны отмечены на земле рамкой. В самой левой зоне в момент получения повреждений на соседней стене подсвечивается красная фигурка человечка. Красный цвет выбран только лишь для визуализации того, что повреждения в этой области фиксируются событием "OnHurt", которое выполняется только когда повреждение получает не игрок, а какой-то другой объект, в нашем случае – это физический объект. В правой зоне, так же как и в левой, игроки и физические объекты могут получать повреждения, но фигурка человечка подсвечивается зелёным цветом, и только в моменты получения повреждений игроком, а не физическими объектами. Так же в этой зоне выбрана модель повреждений "Doubling w/forgiveness", поэтому игрок может тут сдохнуть быстрее чем в левой. Последняя зона самая интересная. Вместо того, чтобы отнимать здоровье, она его добавляет по 5 процентов каждую секунду.

В самом конце карты находится "яма смерти", прыгнув в которую игрок погибнет, получив смертельную дозу повреждений на сумму 1000 единиц. Обратите внимание, что повреждения, получаемые игроком в "яме смерти" достаточно велики, поэтому труп игрока может вылететь из ямы.

Смотрите также