trigger_multiple

Modified

12-Jul-2023

A simple brush-based trigger which triggers its target when a players enters it and whenever something enters it or is still inside of it when its delay before reset runs out. In simple words, this entity works as the trigger_once does, except this can be triggered multiple times.

Keyvalues


Target target : Entity to trigger when trigger_multiple is touched (or when stop touched if "Fire On Exit" flag is selected).

Delay Before Trigger delay : Delay before trigger entity specified in "Target".

Kill Target killtarget : Entity to remove when trigger_multiple is touched (or when stop touched if "Fire On Exit" flag is selected).

OnDestroy Function ondestroyfn : Name of the function to use from already parsed .as script files when entity is destroyed (killed) in any way. If the function belongs to namespace, you must use prefix with the namespace name (e.g. mynamespace::MyFunction) for the keyvalue.

Name targetname : Set name of trigger_multiple. Can be kill-targeted.

Name In Filter tinfilter : Semicolon-separated list of targetnames to either be forbidden or required (specified in "Name In Filter Type") on the caller-entity. Can also specify only one.

Name In Filter Type tinfiltertype : Set whether to forbid or require certain targetname(s) (specified in "Name In Filter") on the entity which tries to trigger me in order to accept triggering.

  • 0 : Exclude
  • 1 : Include

Class In Filter cinfilter : Semicolon-separated list of classnames to either be forbidden or required (specified in "Class In Filter Type") on the caller-entity. Can also specify only one.

Class In Filter Type cinfiltertype : Set whether to forbid or require certain classname(s) (specified in "Class In Filter") on the entity which tries to trigger me in order to accept triggering.

  • 0 : Exclude
  • 1 : Include

Name Out Filter toutfilter : Semicolon-separated list of targetnames to either be forbidden or required (specified in "Name Out Filter Type") on targeted entities. Can also specify only one.

Name Out Filter Type toutfiltertype : Set whether to forbid or require certain targetname(s) (specified in "Name Out Filter") on the target entities.

  • 0 : Exclude
  • 1 : Include

Class Out Filter coutfilter : Semicolon-seperated list of classnames to either be forbidden or required (specified in "Class Out Filter Type") on targeted entities. Can also specify only one.

Class Out Filter Type coutfiltertype : Set whether to forbid or require certain classname(s) (specified in "Class Out Filter") on the target entities.

  • 0 : Exclude
  • 1 : Include

Inventory: Need item(s) item_name_required : Item(s) (names separated by spaces) required to use this entity. Refers to "Item name" value of item_inventory.

Inventory: Need item(s) from group(s) item_group_required : Groups (separated by spaces), in which carried items belong to, required to use this entity. Refers to "Item group name" value of item_inventory.

Inventory: Item count in group need have (0 = all) item_group_required_num : Minimal number of items, that belong to specified group, required to use this entity. Use with "Inventory: Need item(s) from group(s)" keyvalue. Value of '0' means that all items from current group are required.

Inventory: CAN'T have item item_name_canthave : Items in player inventory that will fail the test, and disallow usage of this entity. Refers to "Item name" value of item_inventory.

Inventory: CAN'T have item from group item_group_canthave : Items in player inventory, which belong to specified group, that will fail the test, and disallow usage of this entity. Refers to "Item group name" value of item_inventory.

Inventory: Item count in group CAN'T have (0 = all) item_group_canthave_num : Minimal number of items in player inventory, which belong to specified group, that will fail the test, and disallow usage of this entity. Refers to "Item group name" value of item_inventory. Value of '0' means no single item from current group should be equipped to pass the test.

On pass: Ignore item's on use triggers? pass_ignore_use_triggers : If set to 'Yes' item's trigger targets from 'Target: On use (by trigger)' will not be triggered when item is used by this entity.

  • 0 : No
  • 1 : Yes

On pass: Drop item(s) pass_drop_item_name : Items to force-drop when the test result is positive, and entity is used successfully. Refers to "Item name" value of item_inventory. Multiple item names are separated by spaces.

On pass: Drop item(s) from group(s) pass_drop_item_group : Items to force-drop, that belong to specified group, when the test result is positive and entity is used successfully. All items from this group will be dropped. Refers to "Item group name" value of item_inventory. Multiple item names are separated by spaces.

On pass: Ignore item's on drop triggers? pass_ignore_drop_triggers : If set to 'Yes' item's trigger targets from "Target: On drop" will not be triggered when item is dropped by this entity with "Drop items(s)" events above.

  • 0 : No
  • 1 : Yes

On pass: Return item(s) pass_return_item_name : Items to return to their starting positions when test result is positive. Refers to "Item name" value of item_inventory. Multiple item names are separated by spaces.

On pass: Return item(s) from group(s) pass_return_item_group : Items, that belong to specified group, to return to their starting positions when test result is positive. All items from this group will be returned. Refers to "Item group name" value of item_inventory. Multiple group names are separated by spaces.

On pass: Ignore item's on return triggers? pass_ignore_return_triggers : If set to 'Yes' item's trigger targets from "Target: On return" will not be triggered when item is returned by this entity with "Return items(s)" events above.

  • 0 : No
  • 1 : Yes

On pass: Destroy item(s) pass_destroy_item_name : Items to remove when test result is positive. Refers to "Item name" value of item_inventory. Multiple item names are separated by spaces.

On pass: Destroy item(s) from group(s) pass_destroy_item_group : Items, that belong to specified group, to remove when test result is positive. All items from this group will be removed. Refers to "Item group name" value of item_inventory. Multiple group names are separated by spaces.

On pass: Ignore item's on destroy triggers? pass_ignore_destroy_triggers : If set to 'Yes' item's trigger targets from "Target: On Destroy" will not be triggered when item is destroyed by this entity with "Destroy items(s)" events above.

  • 0 : No
  • 1 : Yes

Target: Inventory rules failed target_on_fail : Entity to trigger whenever test result is negative.

ZHLT Template Model Target zhlt_usemodel : For Brush entities: sets brush model template of this entity. Set it to the name of other brush entity (now called a template) and it's brush model will be used instead. Templates might save server resources by "copying" single brush entity (template identified by name) and using it in multiple places (can be used for entities like tables, columns, barrels, cars e.t.c.). Also one template occupies only one entity slot when compiling a map, no matter how many entities refers to it. For model-based point entities: copy display model of specified entity, to use it's model instead. Using "Custom model" is more appropriate in most cases, however, when it's not possible, use "ZHLT Copy Lighting From Target".

ZHLT Copy Lighting From Target zhlt_copylight : For Brush entities: copies light info from specified entity. This can be useful when we want this entity to be light up in a similar way the other entity of the map is, e.g. we have few func_pushables on map, and they are lit differently, tough they can be moved (and lightning is not updated on dynamic entities), it may looks shabby. With this keyvalue we can prevent this making all func_pushables received light in a same way. Another example: we have few windows in corridor (e.g. func_breakables), all of them receive a light in acceptable way, but the last window receive part of the light from another room and breaking whole atmosphere. We can set this window "Copy Lightning From Target" to any other window to fix this. Note that this can be also used for completely different entities, so we copy lightning from func_door to func_breakable as well. For model-based point entities: if model lightning does not satisfy you (e.g. it's too dark) you can specify a name of entity here to copy it's lightning values- it can be other model-based entity or simply info_target.

ZHLT Disable Clipping zhlt_noclip : Enable or disable collision of entity.

  • 0 : Default : Keep default collision.
  • 1 : Always non-solid : This makes entity non-solid- all collision info from this entity will be ignored. Use it in case when entity have no build-in collision disabling ability (e.g. by selecting "Passable" flag in func_door) and you much desire to disable collision for this entity.

ZHLT Invisible zhlt_invisible : Brush entities only. Determines if entity should be visible.

  • 0 : Visible (default)
  • 1 : Invisible

ZHLT Custom Shadow (when opaque) zhlt_customshadow : Opaque brush entities only. If "ZHLT Ligth Flags" of this entity uses any of the option with 'Opaque' word, this will allow to customize shadow dropped by this entity. Value format: [0 - 1.0] [0 - 1.0] [0 - 1.0], use three values for color or only one for transparency.

ZHLT Embed Light Map (when translucent) zhlt_embedlightmap : Transparent brush entities only. Set it to 'Yes' and this transparent entity will take a light from environment making it looks much more natural. Use it when entities (e.g. glass represented by func_wall) omits lightning from surrounding. Note that this is expensive so shouldn't be used too often, but resolution of those lightmaps can be controlled by keyvalue explained below.

  • 0 : No (default)
  • 1 : Yes

ZHLT Embed Light Map Resolution zhlt_embedlightmapresolution : Value of power of two that controls the resolution of embedded lightmaps of transparent textures (see keyvalue above). Higher value for better optimization. Default and recommended value is 4.

Target Path netname : Non functional.

Master master : Name of the multisource entity that (temporary) disables this trigger_multiple. If master is specified the trigger_multiple will be disabled and will not work. When multisource entity is triggered/being triggering by all possible inputs, the trigger_multiple will work again. When multisource lost at least one input signal, the entities becomes disabled again.

Sound style sounds : Non functional.

  • 0 : No Sound

Message (set sound too!) message : Non functional.

Allow tiny monsters (insects/hornets) tiny_monsters : If set to 'Yes', monsters like cockroaches can trigger this entity as well as other monsters.

  • 0 : No
  • 1 : Yes

Delay before reset wait : Time, in seconds, the trigger_multiple can fire it's target again after touched.

Flags


  • 1 : Monsters : If set, monsters can trigger this but only works when monster is moving within trigger.

  • 2 : No Clients : If set, players won't be able to trigger this.

  • 4 : Pushables : If set, func_pushable entities can trigger this.

  • 8 : Everything else : If set, everything other than monsters, clients and pushables can trigger this. Does not exclude the above.

  • 16 : Fire On Enter : If set, trigger_multiple will fire on initial entry and not continuously while touching the entity, requiring re-entry to trigger again.

  • 32 : Fire On Exit : If set, trigger_multiple will trigger as soon as something that entered it left it, instead of the instant something enters it.

  • 2048 : Not in Deathmatch : Obsolete in Sven Co-op. Makes the entity don't appear in Multiplayer Games.

Monsters are only able to trigger brush trigger entities while moving inside of them.