Env beam (Source)

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

Оригинал Env_beam

Описание

Объект env_beam используется для создания световых лучей. Примеры: лазер, кольцо, электрическая дуга, электрическое кольцо и т.п.

Тип наносимых лучом повреждений: ENERGYBEAM (см. filter_damage_type)

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

  • Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
  • Объект должен быть установлен там, где будет использоваться.
  • На карте может быть установлено множество этих объектов
  • Если у объекта не указано хотя бы одно из свойств "Start Entity" или "Ending Entity", то луч не будет наносить повреждений.
  • Если значение свойства "Damage" равно 0, то луч не будет наносить повреждений и не будет контактировать с окружающим миром.
  • Если не указать свойство "Ending Entity", а "Start Entity" – указать, то луч будет исходить из объекта "Start Entity" в случайно выбранную точку на карте в радиусе, указанном в свойстве "Radius". Если наоборот "Ending Entity" – указать, а "Start Entity" – НЕ указать, то луч не будет отображаться.
  • Если не указать свойство "Ending Entity" и свойство "Start Entity", то объект env_beam будет случайно выбирать начальную и конечную точку на карте в радиусе, указанном в свойстве "Radius".
  • Луч виден даже за препятствиями, возникающими на его пути, но луч не наносит повреждения тем объектам, которые находятся за препятствием

Ошибки

Не обнаружены.

Параметры

  • Team Num – команда к которой принадлежит этот объект (Нет/Террористы/Контр-Террористы); если игрок и этот объект находятся в одной команде, то игрок не сможет наносить визуальный урон объекту если на сервере mp_friendlyfire равно 0; (см. фильтр filter_activator_team);
  • Radius – радиус вокруг объекта env_beam, в котором будет выбираться случайная точка на карте, куда "ударит" луч; это свойство используется только когда не указано значение свойства "Ending Entity" и/или "Start Entity";
  • Life Time – время жизни луча (в секундах), прежде чем он "умрёт"; если это свойство равно 0, то луч будет постоянно активным, а так же:
- свойство "Radius" не будет использоваться;
- свойство "Strike Again Time" и флажок "Random 'Strike Again Time'" не будут использоваться;
- урон "Damage" будет причиняться объектам только в момент появления нового луча;
- свойство "Touch Type" не будет использоваться, а событие "OnTouchedByEntity" не будет выполняться;
- свойство "HDR Color Scale" не будет использоваться;
- свойство "Render FX" не будет использоваться;
- флажок "Ring" не будет использоваться;
- флажок "Start Sparks" не будет использоваться;
- флажок "End Sparks" не будет использоваться;
  • Strike Again Time – время с момента "смерти" луча, через которое будет создан новый луч; используется только если значение свойства "Life Time" не равно нулю; если установлен флажок "Random 'Strike Again Time'", то время создания нового луча будет выбираться случайно от нуля до значения этого свойства; если значение этого свойства меньше нуля, то это позволяет этому объекту создавать и отображать множество лучей одновременно;
  • Width of Beam – (от 0 до 102.3) толщина луча;
  • Amount of Noise – (от 0 до 64) шум на луче; 0 луч абсолютно без шума – идеальная прямая или идеальное кольцо; 10 – достаточно сильный шум и т.п.;
  • Damage – количество урона в секунду для объекта, на которого действует данная энтитя. если значение свойства "Life Time" не равно нулю, то луч наносит повреждения только в момент своего создания, иначе луч наносит повреждения 10 раз в секунду, и в сумме за секунду отнимает количество здоровья, равное значению этого свойства;
  • Sprite Name – имя файла спрайта, применяемого для рисования объекта (выбирается в окне Textures с фильтром "sprites/") для имён файлов спрайтов всегда добавляйте окончание ".vmt", если оно не указано;
  • Texture Scroll Rate – (от 0 до 100) скорость с которой текстура спрайта будет двигаться по лучу, создавая эффект движения воздуха; зависит от размера спрайта;
  • Sprite Starting Frame – номер кадра спрайта, указанного в свойстве "Sprite Name", с которого начинается анимация;
  • Start Entity – имя объекта(-ов) с которого начинается луч;
  • Ending Entity – имя объекта(-ов) на котором заканчивается луч;

Touch Type (tripwire) – тип объектов с которыми контактирует луч; при пересечении таких объектов и луча выполняется событие "OnTouchedByEntity"; используется только если значение свойства "Life Time" равно нулю; луч наносит повреждения без учёта значения этого свойства; (см. свойство "Filter Name"); None – не использовать это свойство; событие "OnTouchedByEntity" не будет выполняться; Player Only – выполнять событие "OnTouchedByEntity" только если луч пересечёт игрок; Player or Physprop - выполнять событие "OnTouchedByEntity" если луч пересечёт игрок или какой-нибудь физически Prop-объект;

  • Filter Name – имя объекта-фильтра, указывающего критерий при котором выполняется событие "OnTouchedByEntity"; используется только если значение свойства "Touch Type" НЕ равно "None"; луч наносит повреждения без учёта значения этого свойства; (см. filter_activator_class, filter_activator_name, filter_activator_team, filter_multi);
  • FX Color (R G B) – цвет объекта;
  • FX Alpha (0-255) – прозрачность объекта; 255 – полностью не прозрачен; 0 - полностью прозрачен; не используется если свойство "Render Mode" равно "Normal" или "Don’t Render";
  • HDR Color Scale - множитель яркости луча в режиме HDR; используется только если значение свойства "Life Time" равно нулю;
  • Render FX – эффект рендеринга объекта; например: мигание, плавное появление/исчезновение и т.п.;; используется только если значение свойства "Life Time" равно нулю;
  • Minimum DX Level – запретить размещение этого объекта на карте при компиляции карты на компьютере, уровень аппаратной поддержки видеокарты которого ниже этого значения; используется только компилятором VBSP в процессе компиляции карты;
  • Maximum DX Level – запретить размещение этого объекта на карте при компиляции карты на компьютере, уровень аппаратной поддержки видеокарты которого выше этого значения; используется только компилятором VBSP в процессе компиляции карты.

Флаги

  • Start ON – включать луч в начале каждого раунда; если у этого объекта указано имя, то по умолчанию он будет выключен;
  • Random 'Strike Again Time' – если значение свойства "Life Time" не равно 0, то с момента "смерти" луча до появления нового луча будет браться случайное время от 0 до "Strike Again Time"; если НЕ установлен этот флажок, то с момента "смерти" луча до появления нового луча будет браться время равное ровно "Strike Again Time";
  • Ring – отображать луч как кольцо; работает только если значение свойства "Life Time" НЕ равно нулю, а так же если в качестве начального и конечного объектов луча используются объекты имеющие модели для своего отображения, например: prop_physics, func_brush, prop_dynamic и т.д.; установка этого флажка подразумевает, что значение свойства "Life Time" НЕ равно нулю;
  • Start Sparks – отображать искры в начале луча; искры отображаются только в момент создания нового луча, и только если значение свойства "Life Time" НЕ равно нулю;
  • End Sparks – отображать искры в конце луча; искры отображаются только в момент создания нового луча, и только если значение свойства "Life Time" НЕ равно нулю;
  • Shade Start – сделать луч прозрачным в начале луча; используется только если значение свойства "Life Time" равно нулю;

Shade End - сделать луч прозрачным в конце луча; не используется если установлен флажок "Shade Start"; используется только если значение свойства "Life Time" равно нулю;

  • Taper Out – сузить луч к концу луча; используется только если значение свойства "Life Time" равно нулю.

Inputs

  • TurnOn – включить объект;
  • TurnOff – выключить объект;
  • Toggle – переключить состояние объекта (Включен/Выключен);
  • SetTeam <integer> - установить новое значение свойства "Team Num"; 2 – Террористы; 3 – Контр-Террористы;
  • StrikeOnce – создать один луч; луч "умрёт" через время "Life Time", а если значение свойства "Life Time" равно нулю, то луч продолжит своё отображение до конца текущего раунда; используя эту функцию можно создавать множество лучей, точно так же как если бы они были созданы автоматически при значении свойства "Life Time" не равного нулю; используйте эту функции аккуратно если значение свойства "Life Time" равно 0;
  • ScrollSpeed <float> - установить новое значение свойства "Texture Scroll Rate";
  • Width <float> – установить новое значение свойства "Width of Beam";
  • Noice <float> – установить новое значение свойства "Amount of Noise";
  • Color <R G B> - установить новое значение свойства "FX Color";
  • Alpha <integer> – (от 0 до 255) установить новое значение свойства "FX Alpha";
  • ColorRedValue <integer> – (от 0 до 255) установить новое значение Красной составляющей цвета луча;
  • ColorGreenValue <integer> – (от 0 до 255) установить новое значение Зелёной составляющей цвета луча;
  • ColorBlueValue <integer> – (от 0 до 255) установить новое значение Синей составляющей цвета луча.

Outputs

  • OnTouchedByEntity – выполняется тогда, когда объект с классом, указанным в свойстве "Touch Type", пересекает этот луч, а так же такой объект удовлетворяет условию фильтра, указанного в свойстве "Filter Name"; прежде чем это событие сможет быть выполнено повторно, этот объект необходимо выключить и снова включить функциями "TurnOff" и "TurnOn"; используется только если значение свойства "Life Time" равно нулю.

Карта

csssdk_env_beam.vmf

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

  • env_beam
  • func_detail
  • info_target
  • trigger_multiple
  • func_brush
  • prop_physics

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

На карте расставлено множество лучей. Некоторые из них наносят повреждения, а другие нет. В правом дальнем углу, от точки появлении игрока показан пример использования нескольких объектов info_target, с одним именем, в качестве начальных и конечных точек луча. При этом луч случайным образом выбирает для себя начальную и конечную точку из числа вариантов. Благодаря тому, что значение свойства "Strike Again Time" меньше нуля, создаются и отображаются сразу несколько лучей.

В небольших помещениях размещены пара лучей. У одного из лучей не указано свойство "Ending Entity", поэтому он выбирает случайную точку на стенах в радиусе, указанном в свойстве "Radius". У второго луча не указано сразу 2 свойства - "Ending Entity" и "Start Entity", поэтому он выбирает как начальную, так и конечную точки на карте в радиусе, указанном в свойстве "Radius".

Кольцо, образованное между объектами func_brush и бочкой, стремиться к горизонтальному положению, поэтому, если установить начальный и конечный браш точно друг под другом, то кольца не должно быть видно.

Разные типы спрайтов на карте демонстрируют особенности объекта env_beam.

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