Logic timer

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

Оригинал Logic_timer

Описание

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

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

  • Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
  • Объект может быть установлен в любом месте на карте.
  • На карте может быть установлено множество этих объектов
  • Если используется флажок "Oscillator", то первым будет вызвано событие "OnTimerHigh".

Ошибки

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

Параметры

  • Start Disabled – выключать объект в начале каждого раунда (Нет/Да);
  • Use Random Time – использовать случайный интервал периодического срабатывания таймера (Нет/Да); при этом используются свойства "Min Random Interval" и "Max Random Interval" для указания минимального и максимального интервала времени; если установлено это свойство, то свойство "Refire Interval" не используется;
  • Min Random Interval – минимальный интервал времени через который может сработать таймер; используется только при включенном свойстве "Use Random Time";
  • Max Random Interval – максимальный интервал времени через который может сработать таймер; используется только при включенном свойстве "Use Random Time";
  • Refire Interval – точный интервал времени через который будет периодически срабатывать таймер (секунды); используется только если свойство "Use Random Time" равно "No"; 0.01 - минимальное значение этого свойства.

Флаги

  • Oscillator – вместо события "OnTimer" будут по очереди вызываться события "OnTimerLow" и "OnTimerHigh".

Inputs

  • Enable – включить объект;
  • Disable – выключить объект;
  • Toggle – переключить состояние объекта (Включен/Выключен);
  • FireTimer – выполнить срабатывание таймера вручную; при этом периодичность автоматического срабатывания таймера не меняется;
  • UseRandomTime <integer> - (0 или 1) установить новое значение свойства "Use Random Time"; если для свойства "Use Random Time" этой функцией устанавливается новое значение 0, то интервал срабатывания таймера останется равен последнему случайному значению интервала, поэтому после вызова этой функции можете выполнить функцию "RefireTime", чтобы выставить нужный интервал времени;
  • LowerRandomBound <float> – установить новое значение свойства "Min Random Interval";
  • UpperRandomBound <float> – установить новое значение свойства "Max Random Interval";
  • RefireTime <float> – установить новое значение свойства "Refire Interval".

Outputs

  • OnTimer – выполняется при активации таймера; не используется если установлен флажок "Oscillator";
  • OnTimerLow – выполняется поочерёдно с событием "OnTimerHigh" вместо события "OnTimer"; используется только если установлен флажок "Oscillator";
  • OnTimerHigh – выполняется поочерёдно с событием "OnTimerLow" вместо события "OnTimer"; используется только если установлен флажок "Oscillator".

Карта

csssdk_logic_timer.vmf

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

  • logic_timer
  • func_detail
  • env_muzzleflash
  • weapon_ak47
  • weapon_awp
  • light

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

На карте установлено три небольшие стенки. Возле каждой стенки помещёны источники освещения light, который включаются и выключаются всякий раз при срабатывании соответствующих таймеров logic_timer. Первый таймер срабатывает каждый раз ровно через 1 секунду, "стреляя" при этом из AWP. Второй таймер срабатывает каждый раз через случайный промежуток времени, заданный от 0.1 до 1 секунды, и стреляет при этом из автомата AK-47. Последний таймер использует флажок "Oscillator", поэтому для него не срабатывает событие "OnTimer", зато вместо него срабатывают по очереди события "OnTimerLow" и "OnTimerHigh", включающие и выключающие источник освещения. Для этого таймера на событии "OnTimer" стоит действие, удаляющее сам таймер с карты. Если бы это событие выполнилось хотя бы один раз, то таймер был бы удалён и источник освещения не включался и не выключался.