Filter activator class

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

Оригинал [1]

Описание

Объекты-фильтры используются чтобы разрешать или запрещать другим объектам или игрокам, активировавшим цепочку событий, выполнять те или иные действия, фильтруя активаторов (!activator) по указанному признаку.

Объекты-фильтры могут использоваться некоторыми объектами неявно (без использования функции "TestActivator"). Объект filter_activator_class фильтрует активаторов (!activator) по признаку их класса (classname).

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

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

Ошибки

  Warning.png Внимание:  Для многих триггер-объектов (trigger_*), и образованных от них объектов, может применяться событие "OnEndTouch". Нельзя использовать функцию "TestActivator" при событии "OnEndTouch". Это может привести к краху игры(!), в тот момент когда игрок, находясь внутри триггера, отключится от игры.

Параметры

  • Filter Mode – режим в котором работает фильтр (Разрешать/Запрещать);
  • Filter Classname – имя класса объектов, которое будет фильтроваться; допускается использование символов-джокеров * (Wildcard), например:
    • prop_* (фильтровать все объекты, имя класса которых начинается на "prop_"),
    • player (фильтровать все объекты, имя класса которых равно "player").

Inputs

  • TestActivator – проверить активатора (!activator) на признак класса; после вызова этой функции сразу же выполняется одно из событий "OnPass" или "OnFail", в зависимости от результата фильтрации; (у этой функции есть баг, см. пункт "Ошибки").

Outputs

  • OnPass – выполняется если активатор (!activator) соответствует критерию фильтра; выполняется только при явном вызове функции "TestActivator";
  • OnFail - выполняется если активатор (!activator) НЕ соответствует критерию фильтра; выполняется только при явном вызове функции "TestActivator".

Карта

csssdk_filter_activator_class.vmf

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

  • filter_activator_class
  • func_detail
  • prop_physics
  • prop_static
  • trigger_multiple
  • logic_auto
  • light

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

На этой карте есть небольшая функциональная область, попадая в которую, объекты и игроки активируют объект trigger_multiple. Объект trigger_multiple в свою очередь продолжает цепочку событий, используя функцию TestActivator для фильтра filter_activator_class. Чтобы лампочки загорелись, необходимо поместить в функциональную область любой объект, имя класса которого начинается на "prop_", то есть любой физический объект. В нашем случае, если бочка или бутылка попадут в функциональную область, то лампочки загорятся, а если игрок встанет на функциональную область или в неё попадёт какой-то другой объект, то лампочки погаснут.

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