multisource
multisource | |
---|---|
Type |
point |
Status |
supported |
The multisource entity is an only master-entity which starts disabled/locked and sets its state to be enabled/unlocked when all entities having the multisource entity as their target (or killtraget). It is hence also referred to as an 'AND-Gate'.The multisource can be used in multiple ways:As a master entity: "locking" entities, triggers, buttons and doors. You can lock or temporary disable some entities by specifying 'multisource' name as a "master" entity of trigger/button/door e.t.c. When 'multisource' is triggered by all possible triggers (when all entities having this multisource as a target has triggered it) the trigger/button/door is unlocked. Func_button has special ability to revert it's trigger signal when button resets (it's not pressed anymore, see "Delay Before Reset" keyvalue in func_button), that means the trigger/button/door gets locked again and awaits multisource be enabled again. You can create two buttons that unlocks the door but only for limited amount of time, or func_trigger that activates button only when someone step into it e.t.c.As a multiple-triggering entity: multisource will trigger it's target whenever it's triggered by all possible triggers (when all entities having this multisource as a target has triggered it). Func_button has special ability to revert it's trigger when button resets (it's not pressed anymore, see "Delay Before Reset" keyvalue in func_button), that means the multisource can be triggered again by pressing that button(s) and this very multisource can trigger it's target again, even when passing signal through mutli_manager! With this feature you can create well-known "twin buttons" that must be pressed by two players simultaneously in order to open the door.As a single-triggering entity: but what if we need single-triggering entity instead of mutliple triggering, even if multisource can be enabled/disabled repeatedly because of buttons? The solution for this is triggering trigger_relay entity before triggering goal entity, e.g. when mutlisource is targetting door to be opened or multi_manager or anything else, we should add trigger_relay between multisource and goal door/multi_manager/any other entity, like: 'multisource' --> 'trigger_relay' --> 'some entity' instead of directly 'multisource' --> 'some entity' triggering. The state of trigger_relay should be set to "On" to enable triggered entity (or entities) forever, or to "Off" to turn those entities off. You can create two buttons that need to be pressed simultaneously by two players in order to open the door. When the door opens, button can be still pressed but the door won't be triggered again.
1 Keyvalues
Name : targetname
Name by which other entities refer to this entity, either to use it as their master, or to act as one of its required inputs to enable.
Target : target
The multisource entity will fire its target in every instant after it has changed its state to be enabled. You can specify an entity using the multisource entity as its master here to make sure it will be triggered the instant the multisource entity goes into its enabled state.
Global state master : globalstate
If set, the multisource entity will read its initial state from the global state variable specified here on map load. See env_global for more information about this. You should not have any entities targeting this multisource entity when using this.
2 Notes
- If a valid entity does not target a multisource that is being used as a master, or the targetting entity no longer exists, the multisource will not lock entities until something is able to target it.
- If you change the target of an entity targeting a multisource entity, the multisource entity will automatically no longer expect input from it. Note that entity takes only
target
s andkilltarget
s keys into account, so other triggering inputs likeTriggerTarget
won't work. In that case use trigger_relay like a bridge between entity with atypical-triggering output and multisource.
3 Issues
Kill Target is count as a normal targetting in multisource, do not "kill target" this entity or it won't work expecting a kill input.