filter_multi
Описание
Объекты-фильтры используются чтобы разрешать или запрещать другим объектам или игрокам, активировавшим цепочку событий, выполнять те или иные действия, фильтруя активаторов (!activator) по указанному признаку.
Объекты-фильтры могут использоваться некоторыми объектами неявно (без использования функции "TestActivator"). Объект filter_multi объединяет до пяти объектов-фильтров, с целью проверки активаторов (!activator) сразу по нескольким известным признакам.
Особенности использования
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов
Ошибки
Внимание: Для многих триггер-объектов (trigger_*), и образованных от них объектов, может применяться событие "OnEndTouch". Нельзя использовать функцию "TestActivator" при событии "OnEndTouch". Это может привести к краху игры(!), в тот момент когда игрок, находясь внутри триггера, отключится от игры.
Заметки
Параметры
- Negate Outcome – режим в котором работает фильтр (Разрешать/Запрещать);
- Logic type – логический тип операции при проверке объектов-фильтров:
- AND (all filters must pass) – логическое умножение; все фильтры "Filter 1-5" при проверке должны вызвать своё событие "OnPass", чтобы этот объект filter_multi вызвал своё событие "OnPass";
- OR (any filter must pass) – логическое сложение; хотя бы один из фильтров "Filter 1-5" при проверке должен вызвать своё событие "OnPass", чтобы этот объект filter_multi вызвал своё событие "OnPass";
- Filter 1-5 – имя объекта-фильтра на карте, который будет использоваться в процессе фильтрации.
Inputs
- TestActivator – проверить активатора (!activator) на признак класса; после вызова этой функции сразу же выполняется одно из событий "OnPass" или "OnFail", в зависимости от результата фильтрации; (у этой функции есть баг, см. пункт "Ошибки").
Outputs
- OnPass – выполняется если активатор (!activator) соответствует критерию фильтра; выполняется только при явном вызове функции "TestActivator";
- OnFail - выполняется если активатор (!activator) НЕ соответствует критерию фильтра; выполняется только при явном вызове функции "TestActivator".
Карта
csssdk_filter_multi.vmf
Используются объекты
- filter_multi
- filter_activator_class
- filter_activator_name
- func_detail
- prop_physics
- prop_static
- trigger_multiple
- logic_auto
- light
Описание карты
На этой карте есть небольшая функциональная область, попадая в которую, объекты и игроки активируют объект trigger_multiple. Объект trigger_multiple в свою очередь продолжает цепочку событий, используя функцию TestActivator для фильтра filter_multi. Чтобы лампочки загорелись, необходимо поместить в функциональную область любой объект имя класса которого начинается на "prop_" и имя которого равно "MyBarrel". В нашем случае, только одна бочка удовлетворяет этим условиям, поэтому лампочки загорятся только тогда, когда эта бочка коснется функциональной области. Если игрок встанет на функциональную область или в неё попадёт какой-то другой объект, то лампочки погаснут.
Если Вам понравилась эта страница, Вы можете разместить где-нибудь ссылку на неё: