func_door
Class hierarchy |
---|
CBaseDoor |
doors.cpp
|
func_door
is a brush entity available in all Source games. It creates a simple sliding door. See func_door_rotating
for its rotating counterpart.
Contents
The travel distance will always be the doors brush size.
If the door should move a shorter distance, use a positive value in Lip
to have that many units be subtracted from its total travel distance. Alternatively, you may add negative values to Lip
to have it travel an even greater distance.
Example:A door that is 128 units tall will move 128 units up. Adding a Lip of 20 makes it move only 108 units up. But adding a Lip of -20 makes it move 148 units upwards.
Keyvalues
Note:For Keyvalues and Inputs affecting brush rendering, see Brush entity/Rendering related keyvalues and inputs
- Name
(targetname)
<string> - The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
- Move Direction
(movedir)
<angles> - The direction in which the door will move when it opens. It will open far enough that it does not occupy the space it spawned in.
BaseDoor:
- Linked Door
(chainstodoor)
<targetname> !FGD - Passes the door's
+use
inputs and touch events onto a different door, so it also is activated. - Block Filter Name
(filtername)
<targetname> - (For Half-Life: Source) Filter to use to determine entities that can block the door.
- Speed
(speed)
<float> - Speed that the door moves, in units (sliding door) or degrees (rotating door) per second.
- Start Sound
(noise1)
<sound> - Sound to play when the door starts opening. Also plays when door starts closing if startclosesound is absent.
- Stop Sound
(noise2)
<sound> - Sound to play when the door stops opening. Also plays when door stops closing if closesound is absent.
- Start Close Sound
(startclosesound)
<sound> - Sound to play when the door starts closing.
- Stop Close Sound
(closesound)
<sound> - Sound to play when the door stops closing.
- Delay Before Reset
(wait)
<float> - Time until the door returns to the closed position. A value of -1 means the door never auto-closes.
- Lip
(lip)
<float> - When the door opens, it will move its full length minus this many units. Negative values will make the door move that many more than its length.
- Blocking Damage
(dmg)
<float> - Amount of damage done to entities that block the movement of this door, per frame.
- Bug:Normally a door will damage things blocking it, however if the player is teleported by a
trigger_teleport
while usingnoclip
, they will not be damaged. [todo tested in?] - Force Closed
(forceclosed)
<boolean> - Makes the door close no matter what. Useful for doors that have to close even if the player tries to block them with objects.
- Ignore Debris
(ignoredebris)
<boolean> - Changes the door's collision group to
COLLISION_GROUP_INTERACTIVE
, which ignores debris objects. Not compatible with the Non-solid to Player spawnflag as it also sets a collision group. Health (shoot open)(health)
<integer>- Deprecated.
In Quake and GoldSrc, if this was set, the door would open when it took this much damage. Nonfunctional in most Source games; can be emulated by parenting an invisiblefunc_button
with spawnflag 512 set, and having the button target this door. Message If Triggered(message)
<string>- Deprecated.
In Quake and GoldSrc, if this was set, a message would appear on the the player's hud when the door is locked and they attempt to open the door. Nonfunctional in most Source games; can be emulated by calling anenv_message
with the door'sOnLockedUse
output. - Locked Sound
(locked_sound)
<sound> - Sound played when the player tries to open the door, and fails because it's locked.
- Unlocked Sound
(unlocked_sound)
<sound> - Sound played when door is unlocked.
- Spawn Position
(spawnpos)
<choices> - State the door should begin in.
- 0: Closed
- 1: Open
- Locked Sentence
(locked_sentence)
<choices> (only in ) - Intercom voiceline for when the player tries to use the door, but it's locked.
- Unlocked Sentence
(unlocked_sentence)
<choices> (only in ) - Intercom voiceline for when the door is unlocked.
- Loop Moving Sound?
(loopmovesound)
<boolean> - Makes the door's Start Sound loop until the door finishes moving.
- Bug:If an already-looping sound is played with this enabled, it can continue forever. Further attempts to open or close the door will only add another looping sample to the noise. [todo tested in?]
Flags
- Deprecated.
Door behaves more like the doors in Half-Life. Some outputs don't work.
Non-solid to Player : [4]
- Sets the collision group to
COLLISION_GROUP_PASSABLE_DOOR
, so the player cannot collide with it while other things can. This is not compatible with Ignore Debris as that also sets a collision group.
Passable : [8]
- This door is solid to nothing at all.
Toggle : [32]
- Inputs are interpreted as to open if the door is closed and to close if open, instead of the default behavior where inputs are always interpreted as to open. This sets the delay before reset to -1 (overriding
wait
), i.e., the door will never reset.
Use Opens : [256]
NPCs Can't : [512]
- NPCs can't open this door.
Touch Opens : [1024]
- When a player or NPC touches the door, it will count as an attempt to open it.Bug:The door will play it's Locked Sound when touched, even if Touch Opens is disabled [todo tested in?]
Starts locked : [2048]
- This door spawns locked and cannot be opened by the player or NPCs (but buttons can still trigger it).
Door Silent : [4096]
- This door makes no noise.
New Use rules : [65536]
!FGD
- Door can only be used if it's not moving, is closing, or when it's open.
Inputs
Door:
Open
- Opens door.
Close
- Closes door.
Toggle
- Opens door if closed, closes door if opened.
Lock
- Prevent door from opening, but can still close.
Unlock
- Allow door to operate as normal.
SetSpeed
<float>- Sets Speed.
Outputs
BaseDoor:
OnClose
- Fired when the door starts to close.
OnOpen
- Fired when the door starts to open.
OnFullyClosed
- Fired when the door finishes closing. Reversed if Start Open flag is set.
OnFullyOpen
- Fired when the door finishes opening. Reversed if Start Open flag is set.
OnBlockedClosing
- Fired when the door has been blocked from closing.
!activator
is whatever blocks the door.
OnBlockedOpening
- Fired when the door has been blocked from opening.
!activator
is whatever blocks the door.
OnUnblockedClosing
- Fired when the door is no longer blocked from closing.
OnUnblockedOpening
- Fired when the door is no longer blocked from opening.
OnLockedUse
- Fired when the player tries to open the door but fails because it is locked.
See also
func_door_rotating
prop_door_rotating
func_lookdoor
func_water
- deprecated entity linked to the same c++ class asfunc_door
- Creating Brush Entities (tutorial using
func_door
)