func_door
func_door | |
---|---|
Type |
brush |
Status |
supported |
Simple entity for objects moving in a straight line. Mostly used for plain sliding doors. Func_doors are triggered on touch, unless they have a name, in which's case they require to be triggered manually. The movement-direction is set by the angles keyvalue. The distance traveled is computed by the extents of the door's hull into the set direction. If your door is 64 units in width (X-axis) and set to move east, it will move 64 units east when triggered. If your door is 96 units in length (Y-axis) and set to move north, it will move 96 units north. If your angle is not a multiple of 90, it gets weird and complicated; couldn't figure out what's the maths behind that. When the door is blocked while moving, it will apply its damage and, by default, move back into the position it came from and idle without further action. An exception is when the door has already been opened and its movement is a result of automatic delayed closing; it will then attempt to close every time the delay runs out, till it closes without getting blocked. The door can be blocked multiple times as it moves forth/back, changing its direction and goal-position every time - also applying damage every time - till it reaches the goal-position.
1 Keyvalues
Speed : speed
Movement-speed in units per second.
Master : master
Put the name of a multisource entity to lock this door.
Move Sound : movesnd
Sound that is played while the door is moving.
Move Sound Loops? : movesnd_loop
Sets if Move Sound should be looped during brush movement until it stops.
Stop Sound : stopsnd
Sound which is played once as the door stops moving.
Delay before close; -1 stay open : wait
Delay till the door will automatically close after having opened. Setting this to -1 makes the door never close again. When the door is toggleable, this is obsolete.
Lip : lip
Length in units to subtract from the precomputed movement-distance of the door. Negative values increase the movement-distance.
Damage inflicted when blocked : dmg
Damage to apply to whatever blocks the door.
Fire on open (obsolete) : fireonopen
Target to trigger when the door finishes opening.
Fire on close (obsolete) : netname
Target to trigger when the door finishes closing.
Fire On Open Start : fireonopening
Entity to trigger when door starts opening.
Fire On Open Start Trigger State : fireonopening_triggerstate
Set the use-type with which the entity specified above will be fired.
Fire On Close Start : fireonclosing
Entity to trigger when door starts closing.
Fire On Close Start Trigger State : fireonclosing_triggerstate
Set the use-type with which the entity specified above will be fired.
Fire On Open End : fireonopened
Entity to trigger when door ends opening.
Fire On Open End Trigger State : fireonopened_triggerstate
Set the use-type with which the entity specified above will be fired.
Fire On Close End : fireonclosed
Entity to trigger when door end closing.
Fire On Close End Trigger State : fireoncloed_triggerstate
Set the use-type with which the entity specified above will be fired.
Strength : health
It used to be damage amount for door to be opened, it is not supported anymore. Now it's amount of damage to take before they gets destroyed (when "Breakable" is set to 'Yes').
Locked Sound : locked_sound
Sound to play when a player tries to open the door but it's locked because it has a targetname or uses a multisource entity.
Unlocked Sound : unlocked_sound
Another sound to play when the door is opened.
Locked Sentence : locked_sentence
Sentence to play when a player tries to open the door but it's locked because it has a targetname or uses a multisource entity. (Only works a few times, probably because it'd be weird if the announcer was spamming all the time)
Unlocked Sentence : unlocked_sentence
Sentence to play when the door is opened. (Only works a few times, probably because it'd be weird if the announcer was spamming all the time)
Sound Replacement File : soundlist
Allows you to setup a sound replacement file for the func_door sounds. The path begins in 'svencoop/sound/mapname', whereas 'mapname' would be your map's name. You can go to the parent directory using '../'. A valid sound replacement file contains one or more lines with two sound-paths, which are separated by a space and wrapped into quotes. The first sound is the sound to be replaced. The second sound is the new sound. Sound-paths start in the sound directory. You cannot go to the parent directory using '../' in that case. These sounds do not need to be precached using a custom_precache point entity.
Who can open this : m_iOpenFlags
Specify who can open this door by touching/using it (if it has no targetname, or targetname is set to be ignored (see below)). If set to something other than default, this will cause the old spawnflags which are usually used to keep track of this to be ignored and causes the door to only orient using this setting instead.
Ignore Targetname : m_fIgnoreTargetname
Set whether the door should ignore its targetname or not. This is useful when you need to reference the func_door in another entity but still want the door to open on touch.
Obey Trigger Mode : m_iObeyTriggerMode
Originally, func_door would not interpret use-types "Off" and "On" as "Toggle". This keyvalue allows you to use "On" to open the door and "Off" to close the door. You can also set this to have the door react to "On"- and "Off"-triggering while it is moving, and go closing when it is currently opening and vice versa.
Move Sound Override : noise1
Custom sound file that is playing when entity is moving. Overrides default "Move Sound" sound.
Stop Sound Override : noise2
Custom sound file to play when the entity ends movement. Overrides default "Stop Sound" sound.
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.
Breakable : breakable
If set to 'Yes', the doors also breakable, just like func_breakable entity. All breakable keyvalues are functional when this
key is set to 'Yes':
Strength : health
Set how many hit points this entity has.
Fire on break : target
The entity triggers its target when it breaks.
Material type : material
Choose the material which matches what your entity is supposed to be the most. The material type affects the entity's sounds emitted when it takes damage, as well as which gibs are created when it is destroyed.
If the material is set to 'Unbreakable glass', the entity is, regardless of how funny that is, in fact, unbreakable.
Instant break : instantbreak
If set to 'Yes', this entity will break instantly if hit with a crowbar.
Instant break weapon : weapon
Allows you to specify an instant-break weapon other than the crowbar.
Gibs direction and velocity : explosion
Set whether the gibs fly relative to where the attack came from, damage received and material (e.g. concrete gibs fly with less velocity) or randomly. This has no effect on entities destroyed via a trigger. Note: Blowing up stuff is much more fun when shit goes flying instead of just falling to the ground as if nothing happened.
Gib model : gibmodel
Custom model of broken entity parts. Models with multiple 'Submodels' uses all of sub-models
for gibs.
explodemagnitude : If greater than zero, the entity will cause an explosion at its position when it breaks. The greater the magnitude, the more damage the explosion will cause. Note that explosion damage values above 200 are know to cause explosion damage to even go through walls.
HUD info name : displayname
If "Show HUD Info" is set to 'Yes', this is a name of entity to display on-screen when player is looking at this entity.
Only Trigger : onlytrigger
Set it to 'Yes' to make entity breakable only via triggering it.
Break on Trigger : breakontrigger
Set it to 'Yes' to make entity breakable via trigger. It is not a duplicate
of keyvalue above.
Repairable : repairable
If set to 'Yes', this entity can be repaired by using weapon_pipewrench on it.
Show HUD info : showhudinfo
If set to 'Yes', the HUD information (name, health e.t.c.) are shown.
Immune to Clients : immunetoclients
Players can't deal a damage to this entity when this option is set to 'Yes'.
Explosives Only : explosivesonly
If set to 'Yes', this entity can be damaged by explosives only.
Classification : classify
Classification of this entity. If specified, enemies of this class will attack this entity.
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.
2 Flags
1 : Starts Open
If set, the door will treat its predetermined open- and close-position as swapped, meaning it will start in its open position, but treat it as its closed position. This is useful when you want your door to start open and still receive proper lighting, or the node-graph to generate properly before closing the door manually (if it is a toggleable door).
4 : Don't link
If set, this door won't synchronize its movement with identically named doors. This is useful when triggering many doors with different speeds or different movement-lengths by the same name. If not set, doors with the same name will adjust their individual speeds to open/close simultaneously, orienting at how the first related door the game engine finds would behave timing-wise.
8 : Passable
If set, the door is entirely non-solid. It also cannot be triggered on-touch anymore then.
32 : Toggle
If set, this door ignores its delay before closing; nonetheless, it must not be 0 then for some reason.
256 : Use Only
If set, this door can be triggered by using it but not by touching it anymore. This does not outrule activation by triggering, though.
512 : Monsters Can't
If set, monsters cannot cause this door to move. They can, otherwise, even if it is a use-only- or trigger-only-door, so don't forget to set this when you need it!
1024 : No Link-Checking
If set, the door won't check for doors to link with, causing this door to not be considered for link-orientation by the game engine; it can still be caused to be linked by other func_doors.
3 Notes
If the func_door kills something which blocked it, it will proceed instead of returning (behavior was changed to this in SC 4.5).
4 Issues
The "Message if triggered"-keyvalue does nothing.
5 Changes
5.0 Steam Release: Added 'Inventory Rules', 'Sound Override', 'Locked Sound Override', 'Unlocked Sound Override',
'Locked Sentence Override', 'Unlocked Sentence Override', 'Move Sound Override' and 'Stop Sound Override' keyvalues.