This article's documentation is for anything that uses the Source engine. Click here for more information.

filter_multi

From Valve Developer Community
Jump to: navigation, search
Underlinked - Logo.png
This article needs more links to other articles to help integrate it into the encyclopedia. Please help improve this article by adding links that are relevant to the context within the existing text.
January 2024
English (en)
... Icon-Important.png
class hierarchy
CFilterMultiple defined in filters.cpp
CBaseFilter
CLogicalEntity
CServerOnlyEntity
CBaseEntity
Filter multiple.png

filter_multi is a point entity available in all Source Source games. It is a filter that tests the activator against multiple other filters. This allows you to build more complex filters, such as "Allow anyone on Team 1 who is also class engineer", or "Allow everything except classes npc_zombie and npc_headcrab". filter_multi can even be used with other filter_multis.

Keyvalues


Targetname:
Name (targetname) <string>
The targetname that other entities refer to this entity by.
Logic Type (FilterType) <choices>
Boolean logic applied when testing the filters. See logic gate for information on more complex checking patterns.
  • 0: AND (all filters must pass)
  • 1: OR (any filter must pass)
Filter 1 (Filter01) to Filter 5 (Filter05) <filter>
Activator filter to test.
Filter 6 (Filter06) to Filter 10 (Filter10) <filter> (in all games since Left 4 Dead)
Activator filter to test.

BaseFilter:

Negate Outcome (Negated) <boolean>
Whether to negate the result of the sub-filters, after combining them using the Logic Type chosen. Negating the outcome using the AND logic type means that any sub-filter must fail for this filter to pass. Negating the outcome using the OR logic type means that all sub-filters must fail for this filter to pass.

Inputs

BaseFilter:

TestActivator
Tests the entity that called the input (the !activator) against the filter, and fires either the OnPass or OnFail output.
Icon-Bug.pngBug:Calling this input will cause the server to crash if the !activator entity no longer exists. Do not use this input to test any entities which may be asynchronously deleted, such as players or projectiles, or in an i/o chain which might be initiated by entity deletion, such as the OnEndTouch output of a trigger.

Outputs

BaseFilter:

OnPass
OnFail
One of these will fire when TestActivator input is sent, depending on if the activator is allowed by the filter or not.