Logic relay

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

Оригинал Logic_relay

Описание

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

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

  • Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
  • Объект может быть установлен в любом месте на карте.
  • На карте может быть установлено множество этих объектов
  • По умолчанию объект не может повторно запускать цепочки действий до тех пор, пока выполняется хотя бы одна из них. Чтобы разрешить одновременное выполнение сразу нескольких цепочек действий, смотрите флажок "Allow Fast Retrigger".

Ошибки

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

Параметры

  • Start Disabled – выключать объект в начале каждого раунда (Нет/Да);

Флаги

  • Remove On Fire – объект может быть активирован только один раз функцией "Trigger", после чего объект автоматически будет удалён, поэтому запущенную цепочку действий нельзя будет отменить;
  • Allow Fast Retrigger – разрешить повторные выполнения контролируемых цепочек действий в то время, как выполняются другие; если этот флажок не установлен, то всё равно есть возможность выполнить цепочку действий повторной, для этого используется функция "EnableRefire", которая разрешает однократный дополнительный запуск цепочки действий; не используется если установлен флажок "Remove On Fire".

Inputs

  • Enable – включить объект;
  • Disable – выключить объект;
  • Toggle – переключить состояние объекта (Включен/Выключен);
  • Trigger – запустить на выполнение контролируемую цепочку действий; может быть выполнена только при включенном объекте; если установлен флажок "Remove On Fire", то сразу же после вызова этой функции этот объект будет удалён и цепочку действий нельзя будет отменить; (см. флажок "Allow Fast Retrigger");
  • CancelPending – остановить выполнение всех контролируемых цепочек действий; может быть выполнена даже тогда, когда объект выключен;
  • EnableRefire – разрешить однократный дополнительный запуск цепочки действий, как если бы был включен флажок "Allow Fast Retrigger"; после вызова этой функции, цепочка действий не будет запущена самостоятельно, однако функция "Trigger" сможет быть выполнена не дожидаясь завершения текущей цепочки событий.

Outputs

  • OnTrigger – выполняется всегда, когда выполняется функция "Trigger";
  • OnSpawn – выполняется при создании объекта, например: в начале каждого раунда; удобно использовать если этот объект logic_relay клонируется объектом point_template, в этом случае это событие будет выполняться каждый раз сразу после клонирования; если у объекта logic_relay есть хотя бы один Output с названием "OnSpawn", а так же установлен флажок "Remove On Fire", то этот объект logic_relay выполнит своё событие "OnSpawn" и после этого будет автоматически удалён.

Карта

csssdk_logic_relay.vmf

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

  • logic_relay
  • func_button
  • func_detail
  • light

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

На карте установлено три пульта, каждый из которых контролирует действия своего объекта logic_relay. На каждом из этих пультов по две кнопки – одна запускает цепочку действий, включающих и выключающих лампочки, а вторая – выполняет функцию "CancelPending", прекращая выполнение цепочек действий.

Первый объект logic_relay имеет настройки по умолчанию, поэтому не может запускать одновременно сразу две цепочки событий. До тех пор, пока не погаснет последняя лампочка, нельзя будет выполнить функцию "Trigger" для первого объекта logic_relay. Попробуйте понажимать на левую кнопку первого пульта и убедитесь в этом сами.

Второй объект logic_relay использует флажок "Allow Fast Retrigger", позволяющий ему выполнять функцию "Trigger" не дожидаясь окончания выполнения других цепочек. Попробуйте понажимать на левую кнопку второго пульта и убедитесь в этом сами.

Третий объект logic_relay НЕ использует флажок "Allow Fast Retrigger", однако так же как и второй может выполнять функцию "Trigger" не дожидаясь окончания выполнения других цепочек. Это результат работы функции "EnableRefire".

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