A very useful entity that can make door/gate, piston, elevator, forming press, etc. Can be made to act very much like a
func_button
.
For doors that rotate round their hinges, use
func_door_rotating
.
Attributes
- Name (targetname) - Property used to identify entities. Leave empty to make it usable by players; otherwise named doors must be triggered by other entities to operate.
- Render FX (renderfx) - Gives objects special render effects. Think of it as modifying whatever the Render Mode puts out. The options are as follows:
- 0 = Normal
- 1 = Slow Pulse
- 2 = Fast Pulse
- 3 = Slow Wide Pulse
- 4 = Fast Wide Pulse
- 5 = Slow Fade Away
- 6 = Fast Fade Away
- 7 = Slow Become Solid
- 8 = Fast Become Solid
- 9 = Slow Strobe
- 10 = Fast Strobe
- 11 = Faster Strobe
- 12 = Slow Flicker
- 13 = Fast Flicker
- 14 = Constant Glow
- 15 = Distort
- 16 = Hologram (Distort and Fade)
- Render Mode (rendermode) - Controls the type of rendering that is used for an object. Options are:
- 0 = Normal
- 1 = Color
- 2 = Texture
- 3 = Glow
- 4 = Solid
- 5 = Additive
- KillTarget (killtarget) - When the door is triggered, it will remove the entity specified by this property from the game.
- Master (master) - The name of a
multisource
(or game_team_master
) entity. A master must usually be active in order for the entity to work. Thus they act almost like an on/off switch, in their simplest form, and like an AND gate in the case of the multisource
.
- Move Sound (movesnd) - The sound that is played when the door opens. Options are:
- 0 = No Sound (
common/null.wav
)
- 1 = Servo (Sliding) (
doors/doormove1.wav
)
- 2 = Pneumatic (Sliding) (
doors/doormove2.wav
)
- 3 = Pneumatic (Rolling) (
doors/doormove3.wav
)
- 4 = Vacuum (
doors/doormove4.wav
)
- 5 = Power Hydraulic (
doors/doormove5.wav
)
- 6 = Large Rollers (
doors/doormove6.wav
)
- 7 = Track Door (
doors/doormove7.wav
)
- 8 = Snappy Metal Door (
doors/doormove8.wav
)
- 9 = Squeaky 1 (
doors/doormove9.wav
)
- 10 = Squeaky 2 (
doors/doormove10.wav
)
- Stop Sound (stopsnd) - The sound that is played after the door closes. Options are:
- 0 = No Sound (
common/null.wav
)
- 1 = Clang with brake (
doors/doorstop1.wav
)
- 2 = Clang reverb (
doors/doorstop2.wav
)
- 3 = Ratchet Stop (
doors/doorstop3.wav
)
- 4 = Chunk (
doors/doorstop4.wav
)
- 5 = Light airbrake (
doors/doorstop5.wav
)
- 6 = Metal Slide Stop (
doors/doorstop6.wav
)
- 7 = Metal Lock Stop (
doors/doorstop7.wav
)
- 8 = Snappy Metal Stop (
doors/doorstop8.wav
)
- Target (target) - When the door is opened, it triggers the entity with the name specified by Target.
- Locked Sound (locked_sound) - Sounds to play when the door is 'locked'. Options are:
- 0 = None (
common/null.wav
)
- 2 = Access Denied (
buttons/button2.wav
)
- 8 = Small zap (
buttons/button8.wav
)
- 10 = Buzz (
buttons/button10.wav
)
- 11 = Buzz Off (
buttons/button11.wav
)
- 12 = Latch Locked (
buttons/latchlocked1.wav
)
- Unlocked Sound (unlocked_sound) - Sound to play when the door is 'unlocked'. Options are:
- 0 = None (
common/null.wav
)
- 1 = Big zap & Warmup (
buttons/button1.wav
)
- 3 = Access Granted (
buttons/button3.wav
)
- 4 = Quick Combolock (
buttons/button4.wav
)
- 5 = Power Deadbolt 1 (
buttons/button5.wav
)
- 6 = Power Deadbolt 2 (
buttons/button6.wav
)
- 7 = Plunger (
buttons/button7.wav
)
- 8 = Small zap (
buttons/button8.wav
)
- 9 = Keycard Sound (
buttons/button9.wav
)
- 10 = Buzz (
buttons/button10.wav
)
- 13 = Latch Unlocked (
buttons/latchunlocked1.wav
)
- 14 = Light Switch (
buttons/lightswitch2.wav
)
- Locked Sentence (locked_sentence) - Sentence that is spoken when the door is 'locked'. Options are:
- 1 = Gen. Access Denied (
NA
)
- 2 = Security Lockout (
ND
)
- 3 = Blast Door (
NF
)
- 4 = Fire Door (
NFIRE
)
- 5 = Chemical Door (
NCHEM
)
- 6 = Radiation Door (
NRAD
)
- 7 = Gen. Containment (
NCON
)
- 8 = Maintenance Door (
NH
)
- 9 = Broken Shut Door (
NG
)
- Unlocked Sentence (unlocked_sentence) - Sentence that is spoken when the door is 'unlocked'. Options are:
- 1 = Gen. Access Granted (
EA
)
- 2 = Security Disengaged (
ED
)
- 3 = Blast Door (
EF
)
- 4 = Fire Door (
EFIRE
)
- 5 = Chemical Door (
ECHEM
)
- 6 = Radiation Door (
ERAD
)
- 7 = General Containment (
ECON
)
- 8 = Maintenance area (
EH
)
- FX Amount (renderamt)
- FX Color (rendercolor)
- Global Entity Name (globalname)
- Pitch Yaw Roll (angles) - Sets the pitch (up / down), yaw (left / right) and roll (bank) respectively. For
func_door
, it sets the direction the door will move when opening.
- Speed (speed) - Speed of movement.
- Delay before close (wait) - Time to wait before the door closes after opening (-1 or 0 makes it stay open, or else use >0.1)
- Lip (lip) - Number of units left after move (the lip value is subtracted from the move distance).
- Damage inflicted when blocked (dmg) - How much damage the player receives if he gets stuck between the door and something solid.
- Message if triggered (message)
- Delay before fire (delay)
- Fire on Close (netname)
- Health (health) - With a non-zero value here, the door will have to be damaged to this extent to open. Bogus entry and not implemented.
- Minimum light level (_minlight) - The minimum light level the entity will have, even if its initial position in the editor is in a purely dark room. This is a very aggressive value, so even a value of 0.02 will make the entity relatively bright.
- Light Origin Target (light_origin) - Overrides the position from which the entity will receive its lighting when the map compiles. Useful if the entity doesn't have the correct lighting in-game. This can be used with an
info_null
.
- ZHLT Lightflags (zhlt_lightflags)
- Give health on use (healthvalue) - [undocumented] Gives this much health to players when they open the door. Used as wall-mounted medkits in the early development of Half-Life.
Flags
- Starts open (1) - Door starts in its 'open' position.
- Don't link (4) - Restricts the door from being linked to a door with the same name (preventing it from opening as part of a pair). Bogus entry and not implemented.
- Passable (8) - Makes the door non-solid, and no longer touch-activated.
- Toggle (32) - If checked, then every time the door is triggered it toggles its open/close state, instead of only opening it.
- Use only (256) - Player must "use" to open.
- Monsters can't (512) - Monsters with arms (e.g. zombies, grunts) can't use the door.
Notes
- A normal door, without a name, activates when touched, or bumped into. If given a name, it will be locked when bumped into and needs to be triggered by other entities such as a
func_button
. If Passable flag is set, you cannot bump into the door to open it.
- To temporarily lock a door (and unlock it later) set its master to a
multisource
entity. Of course both can be combined e.g. a door cannot be operated with the button until the master is enabled.
- A door with Use only flag set can always be used by players, and cannot be locked in the aforementioned ways.
- In addition to speed, the door will move relative to angles and according to its brush size (or more correctly its bounding box); the larger the brush, the longer the time until it reaches the other edge (time can be reduced by lip).
- While moving, it can get blocked by monsters, players,
func_pushable
and some satchels, but not by any other thing. If the wait value is >0, the door will return to its previous position, otherwise it will keep crushing the entities in its way.
- It can be pressed 64 units away from its edge by the player, regardless of anything surrounding it.
- Turning SmartEdit off and adding "Contents (
skin
)" key with value "-16
" to func_doors
allows you to create a moving ladder. The ladder will behave strangely in it's open position, so it's best to keep its open position somewhere the player can't reach. Also, doors with custom skin
value is silent.
- To make "shootable" doors, Use
func_button
instead. You can use the moving/stopping sound values for doors just as well on buttons (and vice-versa) with SmartEdit off.
- To have linked doors (i.e. doors with the same name) open at the same time without obvious external triggers like buttons, place a
trigger_multiple
(or a passable invisible func_button
if use-activated) across the doorway, targeting the visible doors.
- Deathmatch Classic handles door sounds slightly differently than other games/mods (likely to behave Quake's behavior).
Related pages
Team Fortress Classic only
Attributes
- Targetname of teamcheck goal (teamcheck) - Using this in conjunction with an info_tf_teamcheck allows you to switch the entity's team allegiance when the info_tf_teamcheck changes its team setting. The team_no property must be set to Any (0) if you use this value.
- Has item # (items_allowed) - The player must be carrying this item to use this entity. Set 0 to ignore this criterion.
- Has item from group # (h_i_g) - The player must be carrying any item from this group to use this entity. Set 0 to ignore this criterion.
- If goal # active (if_goal_is_active) - Players can only use the entity if this goal is in the active state. Set 0 to ignore this criterion.
- If goal # inactive (if_goal_is_inactive) - Players can only use the entity if this goal is in the inactive state. Set 0 to ignore this criterion.
- If goal # removed (if_goal_is_removed) - Players can only use the entity if this goal is in the removed state. Set 0 to ignore this criterion.
- If group # active (if_group_is_active) - A player can only use the entity if all the goals in this group are in the active state. Set 0 to ignore this criterion.
- If group # inactive (if_group_is_inactive) - A player can only use the entity if all the goals in this group are in the inactive state. Set 0 to ignore this criterion.
- If group # removed (if_group_is_removed) - A player can only use the entity if all the goals in this group are in the removed state. Set 0 to ignore this criterion.
- Affect all on Team (maxammo_shells) - This allows an entity's effects (giving ammo, taking health, etc.) to be performed on an entire team rather than just the Activating Player. Options are:
- 0 = Disabled
- 1 = Blue
- 2 = Red
- 3 = Yellow
- 4 = Green
- Affect all not on Team (maxammo_nails) - This allows an entity's effects (giving ammo, taking health, etc.) to be performed on all players in teams other than the one selected, ignoring the Activating Player. Options are:
- 0 = Disabled
- 1 = Blue
- 2 = Red
- 3 = Yellow
- 4 = Green
- ...activate goal # (last_impulse) - Use this in conjunction with all_active to specify a goal # to activate.
- Activate goal # (activate_goal_no) - When the entity is activated, it will activate the goal specified here.
- Inactivate goal # (inactivate_goal_no) - When the entity is activated, it will deactivate the goal specified here.
- Activate goals in group # (activate_group_no) - When the entity is activated, it will activate all the goals in the group specified here.
- Inactivate goals in group # (inactivate_group_no) - When the entity is activated, it will deactivate all the goals in the group specified here.
- Remove goals in group # (rv_gr) - When the entity is activated, it will remove all the goals in the group specified here.
- Restore goals in group # (rs_gr) - When the entity is activated, it will restore all the goals in the group specified here.
- Remove spawn group # (rv_s_h) - On activation, the entity will remove the group of info_player_teamspawn entities with the Goal Group # entered here. While the spawnpoints are removed, players cannot spawn at them.
- Restore spawn group # (rs_s_h) - On activation, the entity will restore the group of removed info_player_teamspawn entities with the Goal Group # entered here. After being restored, players can once again spawn at the spawnpoints.
- Name(targetname) (targetname) - This entity can be triggered to open. Giving it a name automatically 'locks' it (providing the Use Only flag is not enabled).
- Goal Activation bitfields (g_a)
- Goal Effects bitfields (g_e)
- Goal Results bitfields (goal_results)
- Team allowed to activate entity (team_no) - The team you specify here will be able to use this entity Values are:<BR>
- Any (0)
- Blue (1)
- Red (2)
- Yellow (3)
- Green (4)
- Playerclass allowed to activate (playerclass) - You can limit the use of this entity to specific playerclasses. Values are:<BR>
- Any (0)
- Scout (1)
- Sniper (2)
- Soldier (3)
- Demoman (4)
- Medic (5)
- HWGuy (6)
- Pyro (7)
- Spy (8)
- Engineer (9)
- Hasnt Item from group # (hasnt_item_from_group) -The player must not be carrying any item from this group to use this entity. Setting this to 0 will allow any player to use the entity if he meets the other criteria.
- If item has moved # (if_item_has_moved) -This item must not be in its original spawn location for any player to use this entity. Setting this to 0 will always allow players to use the entity if they meet the other criteria.
- If item hasnt moved # (if_item_hasnt_moved) -This item must be in its original spawn location for any player to use this entity. Setting this to 0 will always allow players to use the entity if they meet the other criteria.
- Effect radius 0=infinite (t_length)
- If criteria fails activate Goal# (else_goal)
- If all goals in group # activate (all_activate)
- Remove goal (rv_g)
- Restore goal (rs_g)
- Remove Spawnpoint # (remove_spawnpoint)
- Restore spawnpoint # (restore_spawnpoint)
- Remove item form AP (axhitme)
- Return item # (return_item_no)
- Remove items in group # (r_i_g)
- Add/Subtract frags (frags)
- Add/Subtract lives (lives)
- Add/Subtract health (health)
- Armor Value % (armorvalue)
- Armor Class (armorclass)
- Add/Subtract shells (a_s)
- Add/Subtract nails (a_n)
- Add/Subtract rockets (a_r)
- Add/Subtract cells (a_c)
- Add/Subtract detpack (ammo_detpack)
- Add/Subtract grenades#1 (no_grenades_1)
- Add/Subtract grenades#2 (no_grenades_2)
- Invincibility duration (invincible_finished)
- Invisibility duration (invisible_finished)
- Quad Duration (super_damage_finished)
- Rad suit duration (radsuit_finished)
- Score to AP team (count)
- Team check team point gain (increase_team)
- Blue point gain (increase_team1)
- Red point gain (increase_team2)
- Yellow point gain (increase_team3)
- Green point gain (increase_team4)
- Owned by-for msg&itemglow (owned_by)
- Owned by team check (owned_by_team_check)
- Death Type (deathtype)
- Message to all (b_b)
- Message to AP (message)
- Message to AP team (b_t)
- Message to non AP team (b_n)
- Message to non-owner team(s) (non_owners_team_broadcast)
- Console msg. to all,%s=AP name (n_b)
- Console msg to AP team (n_t)
- Console msg. to non-AP team (n_n)
- Console msg to Owner team (n_o)
- Speak (Global) (speak)
- speak (AP) (AP_speak)
- speak (APteam) (team_speak)
- Speak (non-APteam) (non_team_speak)
- Speak (owner team) (owners_team_speak)
- Speak (non-owner team) (non_owners_team_speak)
- Angular Velocity (PYR) (avelocity)