Difference between revisions of "Func button"

From Sven Co-op
Jump to navigation Jump to search
(Import of converted entguide pages from Sven Manor.)
 
m (Add more details about "Lip" and "Delay before reset")
 
(One intermediate revision by one other user not shown)
Line 16: Line 16:
 
{{Entity_keyvalue|Speed|speed|Speed at which the button moves when pressed, unless 'Don't move' is set. The button moves for its width in the move direction, specified by 'angle'.}}
 
{{Entity_keyvalue|Speed|speed|Speed at which the button moves when pressed, unless 'Don't move' is set. The button moves for its width in the move direction, specified by 'angle'.}}
 
{{Entity_keyvalue|Health (shootable if >0)|health|If you enter here value higher than 0, the button becomes shootable only, and can be activated when it's out of health. }}
 
{{Entity_keyvalue|Health (shootable if >0)|health|If you enter here value higher than 0, the button becomes shootable only, and can be activated when it's out of health. }}
{{Entity_keyvalue|Lip|lip|This value will be deducted from the buttons move distance. Negative values are allowed.}}
+
{{Entity_keyvalue|Lip|lip|This value will be deducted from the buttons move distance. Negative values are allowed. It is blank by default.}}
 
{{Entity_keyvalue|Master|master|Allows you to specify the name of a multisource entity to lock/unlock this button.}}
 
{{Entity_keyvalue|Master|master|Allows you to specify the name of a multisource entity to lock/unlock this button.}}
 
{{Entity_keyvalue|Sounds|sounds|Set the sound to be played when the button is pressed. It will play when the button is locked, too.}}
 
{{Entity_keyvalue|Sounds|sounds|Set the sound to be played when the button is pressed. It will play when the button is locked, too.}}
{{Entity_keyvalue|Delay before reset|wait|When the button is pressed, it will remain in its pressed state for this amount of time. This also affects any toggleable textures on it. If set to '-1', the button can be pressed only once, and will then remain in its pressed state forever. If a multisource entity is among the func_button's targets, that multisource entity will recognize the button's input to be active only for this amount  
+
{{Entity_keyvalue|Delay before reset|wait|When the button is pressed, it will remain in its pressed state for this amount of time. This also affects any toggleable textures on it. If set to '-1', the button can be pressed only once, and will then remain in its pressed state forever, even with the "Toggle" flag checked.
 
+
* If the "Toggle" flag is checked, you must specify a value equal to or greater than 0.
of time.}}
+
* If a multisource entity is among the func_button's targets, that multisource entity will recognize the button's input to be active only for this amount of time. }}
 
{{Entity_keyvalue|Classification|classify|Classification of this button. If specified, enemies of this class will attack this button.}}
 
{{Entity_keyvalue|Classification|classify|Classification of this button. If specified, enemies of this class will attack this button.}}
 
{{Entity_keyvalue|Locked Sound Override|locked_sound_override|Sound file to use when attempting to open locked entity. Useful when you don't want to use sound from default sound list.
 
{{Entity_keyvalue|Locked Sound Override|locked_sound_override|Sound file to use when attempting to open locked entity. Useful when you don't want to use sound from default sound list.
Line 59: Line 59:
 
{{Entity_keyvalue|Use Type|use_type|Set the use-type with which the button will fire its targets. Default is 'Toggle'.}}
 
{{Entity_keyvalue|Use Type|use_type|Set the use-type with which the button will fire its targets. Default is 'Toggle'.}}
  
 +
== Issues ==
 +
Buttons are able to be pushed from behind walls (within a certain thickness) completely outside line-of-sight. If you want to prevent this, consider making adjustments to the button's position, or using a setup that locks the button via [[multisource]] that unlocks when a player reaches a trigger that is directly in front of the button so that it is usable from there.
 
== Flags ==
 
== Flags ==
  

Latest revision as of 13:25, 1 May 2023

func_button
Type

brush

Status

supported

 


A brush entity, which can be triggered by the player by issuing his 'Use'-command on it while standing next to it and looking at it. The func_button then triggers its target. This is the most common entity for players interacting with other map entities or entity systems.

1 Keyvalues

Target : target

The func_button triggers its target when used or triggered by another entity. You can add 'killtarget' manually.

Locked Sound : locked_sound

Sound to play if the button is pressed while locked.

Unlocked Sound : unlocked_sound

Sound to play if the button is pressed while not locked.

Locked Sentence : locked_sentence

Sentence to be heard if the button is pressed while locked. It is spoken with the voice of Half-Life's Black Mesa announcer.

Unlocked Sentence : unlocked_sentence

Sentence to be heard if the button is pressed while not locked. It is spoken with the voice of Half-Life's Black Mesa announcer.

Speed : speed

Speed at which the button moves when pressed, unless 'Don't move' is set. The button moves for its width in the move direction, specified by 'angle'.

Health (shootable if >0) : health

If you enter here value higher than 0, the button becomes shootable only, and can be activated when it's out of health. 

Lip : lip

This value will be deducted from the buttons move distance. Negative values are allowed. It is blank by default.

Master : master

Allows you to specify the name of a multisource entity to lock/unlock this button.

Sounds : sounds

Set the sound to be played when the button is pressed. It will play when the button is locked, too.

Delay before reset : wait

When the button is pressed, it will remain in its pressed state for this amount of time. This also affects any toggleable textures on it. If set to '-1', the button can be pressed only once, and will then remain in its pressed state forever, even with the "Toggle" flag checked.

  • If the "Toggle" flag is checked, you must specify a value equal to or greater than 0.
  • If a multisource entity is among the func_button's targets, that multisource entity will recognize the button's input to be active only for this amount of time.

Classification : classify

Classification of this button. If specified, enemies of this class will attack this button.

Locked Sound Override : locked_sound_override

Sound file to use when attempting to open locked entity. Useful when you don't want to use sound from default sound list.

This overrides default "Locked Sound" sound.

Unlocked Sound Override : unlocked_sound_override

Sound file to use when entity is unlocked. Useful when you don't want to use sound from default sound list.

This overrides default "Locked Sound" sound.

Locked Sentence Override : locked_sentence_override

Sentence from sentences.txt to use when attempting to open locked entity. Useful when you want to override locked sentence with your own sentence.

Unlocked Sentence Override : unlocked_sentence_override

Sentence from sentences.txt to use when entity is unlocked. Useful when you want to override unlocked sentence with your own sentence.

Sound Override : noise

Custom sound, that overrides default sound from "Sounds" list to play when the button is pressed. It will play when the button is locked, too.

Inventory Rules, InventoryRules @BaseClass: List of inventory-related keyvalues used with item_inventory entity. Whenever player is attempting to use an entity, the inventory test runs. If test result is negative, the entity won't work. In other case, entity can be used as normal, but only by player who passed the test with required inventory conditions:"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 : 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 : 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 fired when item is used by this entity.

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 fired when item is dropped by this entity with 'Drop items(s)' events above.

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 fired when item is returned by this entity with 'Return items(s)' events above.

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 fired when item is destroyed by this entity with 'Destroy items(s)' events above.

Target: Inventory rules failed : target_on_fail

Entity to trigger whenever test result is negative.

Use Type : use_type

Set the use-type with which the button will fire its targets. Default is 'Toggle'.

2 Issues

Buttons are able to be pushed from behind walls (within a certain thickness) completely outside line-of-sight. If you want to prevent this, consider making adjustments to the button's position, or using a setup that locks the button via multisource that unlocks when a player reaches a trigger that is directly in front of the button so that it is usable from there.

3 Flags

1 : Don't move

If set, this func_button won't move when pressed and be activated instantly instead.

32 : Toggle

If set, this func_button will ignore its delay before reset and be toggleable instead, switching between the texture states whenever pressed, if such a texture is assigned on one of its faces. The delay before reset still needs to be greater than zero in order for this to work, though.

64 : Sparks

If set, the func_breakable ocassionally emits sparks. You can use this for easily creating buttons which appear to be broken.

256 : Touch activates

If set, this func_button can be activated by touching it. This disables activating per use-key.

4 Changes

5.0 Steam Release: Added 'Inventory Rules', 'Sound Override', 'Locked Sound Override', 'Unlocked Sound Override', 'Locked Sentence Override' and 'Unlocked Sentence Override' keyvalues. 5.11: Added 'Use Type' keyvalue.