这篇条目有关 Source引擎。如需详情,点击这里。

func_door

From Valve Developer Community
Jump to: navigation, search

func_door是一个固实体存在于所有的 起源 起源 游戏。 它创建了一个简单的滑动门。参见 func_door_rotating 了解其对应功能。
移动距离始终是固体门的尺寸。 如果门的移动距离较短,可在 Lip 中使用正值,从总移动距离中减去该单位。或者,你也可以在 Lip 中加入负值,使其移动更远的距离。

PlacementTip.png示例:128个单位高的门会向上移动 128 个单位。增加一个 20 的 Lip 只会使它向上移动 108 个单位。但增加一个 -20 的 Lip 会使它向上移动 148 个单位。
Blank image.png待完善: This template is currently using deprecated suf or {{Lang}}-based translations. Please use the main {{Code class}} instead, which uses {{Autolang}}.

在源代码中,它由 class CBaseDoor 代表,定义于 doors.cpp


关键值

Move Direction (movedir) (???) <angles>
门打开时的移动方向。它打开的距离将不会占据它生成时的空间。

BaseDoor:

Linked Door (chainstodoor) <string简体中文> | 字符串 不存在于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 moving (regardless of opening or closing).
Stop Sound (noise2) <sound>
Sound to play when the door stops moving (regardless of opening or closing).
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.
Icon-Bug.png错误:Normally a door will damage things blocking it, however if the player is teleported by a trigger_teleport while using noclip, they will not be damaged.
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 (health) <integer> | 整数 Obsolete
已弃用。 Do not use.
Message If Triggered (message) <string简体中文> | 字符串 Obsolete
已弃用。 Do not use.
Locked Sound (locked_sound) <string简体中文> | 字符串
Sound played when the player tries to open the door, and fails because it's locked.
Unlocked Sound (unlocked_sound) <string简体中文> | 字符串
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> (存在于 半衰期:起源 之中)
Intercom voiceline for when the player tries to use the door, but it's locked.
Unlocked Sentence (unlocked_sentence) <choices> (存在于 半衰期:起源 之中)
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.
Icon-Bug.png错误: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.

Internal keyvalues used by VRAD:
Minimum Light Level (_minlight) <float> | 浮点型
Multiplier of minimum amount of light to hit this brush.
Shadows (vrad_brush_cast_shadows) <choices>
Determines if this entity will cast lightmap shadows.
  • 0: No shadows
  • 1: Cast shadows

VisibleBrush:
Render Mode (rendermode) <choices>
Set a non-standard rendering mode on this entity.
Render Modes
  • 0: Normal
  • 1: Color
  • 2: Texture
  • 3: Glow
  • 4: Solid/Alphatest Obsolete
  • 5: Additive
  • 6: Removed, does nothing Obsolete
  • 7: Additive Fractional Frame
  • 8: Alpha Add
  • 9: World Space Glow
  • 10: Don't Render
Render FX (renderfx) <choices>
Various somewhat legacy alpha effects.
Render Effects
Icon-Bug.png错误:Alpha effects from 0 to 10 are unavailable due to the bug in code in 反恐精英:全球攻势 反恐精英:全球攻势
  • 0: None
  • 1: Slow Pulse (varies alpha by ±16 over a period of 1.5 s)
  • 2: Fast Pulse (varies alpha by ±16 over a period of 0.4 s)
  • 3: Slow Wide Pulse (varies alpha by ±64 over a period of 1.5 s)
  • 4: Fast Wide Pulse (varies alpha by ±64 over a period of 0.4 s)
  • 5: Slow Fade Away (decreases alpha by -1 per frame/(in all games since 求生之路) Fades out over 4 s)
  • 6: Fast Fade Away (decreases alpha by -4 per frame/(in all games since 求生之路) Fades out over 1 s)
  • 7: Slow Become Solid (increases alpha by +1 per frame/(in all games since 求生之路) Fades in over 4 s)
  • 8: Fast Become Solid (increases alpha by +4 per frame/(in all games since 求生之路) Fades in over 1 s)
  • 9: Slow Strobe (transparent 0.8 s, visible 0.8 s, repeat)
  • 10: Fast Strobe (transparent 0.2 s, visible 0.2 s, repeat)
  • 11: Faster Strobe (transparent 0.09 s, visible 0.09 s, repeat)
  • 12: Slow Flicker (transparent 0.18 s, visible 1.5 s, repeat)
  • 13: Fast Flicker (transparent 0.14 s, visible 0.2 s, repeat)
  • 14: Constant Glow ("NoDissipation;" purpose uncertain—for sprites?) (not in 反恐精英:全球攻势)
  • 15: Distort (causes unnatural flickering and position shifting)/(in all games since 求生之路) Fade Out (instant; not very useful outside of code)
  • 16: Hologram (Distort + "distance fade")/(in all games since 求生之路) Fade In (instant; not very useful outside of code)
  • 17: Scale Up ("Explode"/"scale up really big!" causes wild stretching of model parts) (in 起源2013)/Fade Wider Pulse (varies alpha by ±255 over a period over a period of 0.26 s) (in all games since 求生之路)
    证实:which branches/games is it available in, and where does it do what?
  • 18: Glow Shell (purpose unclear) (in all games since 起源2013) (not in 反恐精英:全球攻势)
    证实:what does this do? and which games is it in?
  • 19: Clamp Minimum Scale ("keep this sprite from getting very small (SPRITES only!)") (not in 反恐精英:全球攻势)
  • 20: Environmental Rain ("for environmental rendermode, make rain") (in 起源2013) (not in 反恐精英:全球攻势)
    证实:which games? may be nonfunctional.
  • 21: Environmental Snow ("for environmental rendermode, make snow") (in 起源2013) (not in 反恐精英:全球攻势)
    证实:which games? may be nonfunctional.
  • 22: Spotlight FX ("TEST CODE for experimental spotlight") (in 起源2013) (not in 反恐精英:全球攻势)
  • 23: Ragdoll ("HACKHACK: TEST CODE for signalling death of a ragdoll character;" ragdolls an entity but doesn't kill it) (in 起源2013) (not in 反恐精英:全球攻势)
    证实:which games? may be nonfunctional?
  • 24: Fade Wider Pulse (varies alpha by ±255 over a period over a period of 0.26 s) (in 起源2013) (not in 反恐精英:全球攻势)
  • 25: kRenderFXMax/Fade Near (removed since 求生之路) (not in 反恐精英:全球攻势)
Blank image.png待完善: what does this do? may be nonfunctional
Render FX / Transparency (0–255) (renderamt) <integer> | 整数 0-255
Transparency amount; requires a Render Mode other than Normal. 0 is invisible, 255 is fully visible.
Render Color (R G B) (rendercolor) <color255简体中文>
Color tint.
Texture Frame (texframeindex) <integer> | 整数 不存在于FGD!
The frame number for any animated textures on this entity.

Shadow:
Disable Shadows (disableshadows) <boolean> | 布尔值
Prevents the entity from creating cheap render-to-texture shadows, or lightmap shadows if the entity is a prop_static. Does not affect shadow mapping.
Disable Receiving Shadows (disablereceiveshadows) <boolean> | 布尔值
Prevent the entity from receiving dynamic shadows on itself.
Shadow Cast Distance (shadowcastdist) <integer> | 整数 不存在于FGD!
Sets how far the entity casts dynamic shadows. 0 means default distance from the shadow_control entity.
Disable ShadowDepth (disableshadowdepth) <boolean> | 布尔值 (in all games since 传送门2)
Used to disable rendering into shadow depth (for projected textures) for this entity.
Disable flashlight (disableflashlight) <boolean> | 布尔值 (in all games since 传送门2)
Used to disable projected texture lighting and shadows on this entity.
Projected Texture Cache (shadowdepthnocache) <choices> (in all games since 传送门2)
Used to hint projected texture system whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead.
Choices
  • 0 : Default
  • 1 : No cache - render every frame
  • 2 : Cache it - render only once

SystemLevelChoice:

Minimum / Maximum Effect Details Level (mincpulevel / maxcpulevel) <choices> (存在于自 求生之路 以来)
Don't render for players with Effect Details levels that exceed the minimum or maximum.[Note.pngKey names are related to cpu_level cvar used by Effect Details.]
Choices
  • 0: Default ("Low" formincpulevel, "High" formaxcpulevel)
  • 1: Low
  • 2: Medium
  • 3: High
Minimum / Maximum Shader Details Level (mingpulevel / maxgpulevel) <choices> (存在于自 求生之路 以来)
Don't render for players with Shader Details levels that exceed the minimum or maximum.[Note.pngKey names are related to gpu_level cvar used by Shader Details.]
Choices
  • 0: Default ("Low" formingpulevel, "Very High" formaxgpulevel)
  • 1: Low
  • 2: Medium
  • 3: High
  • 4: Very High

DXLevelChoice:

Minimum / Maximum DX Level (mindxlevel / maxdxlevel) <choices> (被移除求生之路 以来)
The entity will not exist if the engine is running outside the given range of DirectX Versions.
Choices
Warning.png警告:If these are used, the object may break when the user switches their DirectX settings.

Base:
Collisions (solid) <choices>
该实体的碰撞方式。


Name (targetname) <string简体中文> | 字符串
其他实体用来指代该实体的名称。
Parent (parentname) <targetname> | 目标名
实体的父级实体,该实体可以与父实体保持移动偏移。名称后面可以添加一个附属点,以逗号隔开。 (parentname [targetname],[attachment]
Tip.png提示:转换至下一张地图的实体关系会依然存在。
Tip.png提示:一些不适合做父实体的实体可能难以运行,利用phys_constraint可以解决。
Origin (X Y Z) (origin) <coordinates>
实体处于世界中的位置,旋转实体会以实体坐标原点旋转。
Note.png注意:Hammer 不会仅在编辑器中相应地移动实体。
Pitch Yaw Roll (X Y Z) (angles) <angle>
实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。
Note.png注意:尽管 Hammer 不显示新角度,但其仍然适用于固实体。
Classname (classname) <string简体中文> | 字符串 不存在于FGD!
确定实体之前它生成的特征。
Tip.png提示:使用AddOutput输入更改 Classname 仍然会影响游戏的代码,例如使类名与 S_PreserveEnts 列表中的一个元素匹配将使实体在新一轮中持续存在!
Spawnflags (spawnflags) <flags> 不存在于FGD!
实体所具有的标志/标签,依实体所具有而定。
Effects (effects) <flags> 不存在于FGD!
要使用的效果标志的组合。
Entity Scripts (vscripts) <scriptlist> | 脚本列表 (in all games since 求生之路2) (也存在于 军团要塞2 之中)
在所有实体生成后执行的 VScript简体中文 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。在 worldspawn 实体上执行的脚本将放置在根作用域中。
Think function (thinkfunction) <string简体中文> | 字符串 (in all games since 求生之路2) (也存在于 军团要塞2 之中)
此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
Lag Compensation (LagCompensate) <boolean> | 布尔值 (in all games since 求生之路2) 不存在于FGD!
设置为以延迟补偿此实体。应该非常谨慎地使用!
Is Automatic-Aim Target (is_autoaim_target) <boolean> | 布尔值 (in all games since 反恐精英:全球攻势) 不存在于FGD!
如果设置为 1,当实体位于十字准线下方时,该实体将减慢控制台和操纵杆控制器的瞄准移动速度。

标志

BaseDoor:

  •  [1] : Starts Open Obsolete
       已弃用。 Door behaves more like the doors in 半衰期 半衰期. Some outputs don't work.
  •  [4] : Non-solid to Player
       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.
  •  [8] : Passable
       This door is solid to nothing at all.
  •  [32] : Toggle
       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.
  •  [256] : Use Opens
  •  [512] : NPCs Can't
       NPCs can't open this door.
  •  [1024] : Touch Opens
       When a player or NPC touches the door, it will count as an attempt to open it.
    Icon-Bug.png错误:The door will play it's Locked Sound when touched, even if Touch Opens is disabled
  •  [2048] : Starts locked
       This door spawns locked and cannot be opened by the player or NPCs (but buttons can still trigger it).
  •  [4096] : Door Silent
       This door makes no noise.
  •  [65536] : New Use rules 不存在于FGD!
       Door can only be used if it's not moving, is closing, or when it's open.

输入

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.

Visible Brush:
Alpha <integer> | 整数 0-255
Sets the entity's transparency to a number from 0 (invisible) to 255 (fully visible). Requires the entity to have its Render Mode (rendermode) set to a number other than 0.
AlternativeSorting <boolean> | 布尔值
Swaps the rendering order of the entity. Used to attempt to fix sorting problems when rendering, for example an object rendering in front of translucent materials.
Color <color255简体中文>
Sets an RGB color for the entity.
SetDamageFilter <targetname> | 目标名
Sets a filter for this entity for when it receives damage.
EnableDamageForces
Allows the entity to be pushed by damage done to it (usually force amount correlates with the damage done).
DisableDamageForces
Prevents the entity from being pushed by damage done to it.
EnableDraw  (in all games since 传送门2)
Removes EF_NODRAW from the entity.
DisableDraw  (in all games since 传送门2)
Applies EF_NODRAW to the entity. Note that this is different from rendermode 10.
EnableReceivingFlashlight  (in all games since 传送门2)
Makes it so that the entity is lit by env_projectedtextures.
DisableReceivingFlashlight  (in all games since 传送门2)
Prevents the entity from being lit by env_projectedtextures. The shadow made by the texture will still cast.

Reflection:

DisableDrawInFastReflection  (in all games since 传送门2)
Turns off rendering of this entity in reflections when using $reflectonlymarkedentities in water material.
EnableDrawInFastReflection  (in all games since 传送门2)
Turn on rendering of this entity in reflections when using $reflectonlymarkedentities in water material.

Shadow:

DisableShadow
Turn dynamic shadows off for this entity. Identical to applying  EF_NOSHADOW.
EnableShadow
Turn dynamic shadows on for this entity.
DisableReceivingFlashlight  (in all games since 传送门2)
This object will not receive light or shadows from projected textures.
EnableReceivingFlashlight  (in all games since 传送门2)
This object may receive light or shadows from projected textures.

Base:
AddContext <string简体中文> | 字符串
Adds to the entity's list of response contexts. See Context.
AddOutput <string简体中文> | 字符串
Assigns a new keyvalue/output on this entity. For keyvalues, some rely on extra necessary code to be ran and won't work if its simply just changed through this input. There is a strict format that must be followed:
// Format of changing KeyValues: "AddOutput [key] [value]"
//// Raw text:
"OnUser1" "!self,AddOutput,targetname new_name"

// Format of adding an Output: "AddOutput {targetname}:{inputname}:{parameter}:{delay}:{max times to fire, -1 means infinite}"
//// Raw text:
"OnUser1" "!self,AddOutput,OnUser1:SetParent:!activator:0.0:-1"
// Arguments can be left blank, but the empty blank should still be contained.
//// Raw text:
"OnUser1" "!self,AddOutput,OnUser1:ClearParent::0.0:-1"
ClearContext
Removes all contexts from this entity's list.
ClearParent
Removes this entity from the the movement hierarchy, leaving it free to move independently.
FireUser1 to FireUser4
Fires the respectiveOnUseroutputs; see User Inputs and Outputs.
Kill
Removes this entity and any entities parented to it from the world.
KillHierarchy
Functions the same as Kill, although this entity and any entities parented to it are killed on the same frame, being marginally faster thanKillinput.
RemoveContext <string简体中文> | 字符串
Remove a context from this entity's list. The name should match the key of an existing context.
SetParent <string简体中文> | 字符串
Move with this entity. See Entity Hierarchy (parenting).
SetParentAttachment <string简体中文> | 字符串
Change this entity to attach to a specific attachment point on its parent. The entity will teleport so that the position of its root bone matches that of the attachment. Entities must be parented before being sent this input.
SetParentAttachmentMaintainOffset <string简体中文> | 字符串
As above, but without teleporting. The entity retains its position relative to the attachment at the time of the input being received.
Use  不存在于FGD!
Same as a player invoking +use; no effect in most cases.
DispatchResponse <string简体中文> | 字符串 不存在于FGD!
Dispatches a response to the entity. See Response and Concept.
DispatchEffect <string简体中文> | 字符串 (被移除求生之路 以来) 不存在于FGD!
Dispatches a special effect from the entity's origin; See also List of Client Effects. Replaced by the particle system since 求生之路.
RunScriptFile <script> | 脚本 (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode <string简体中文> | 字符串 (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中)
Execute a string of VScript source code in the scope of the entity receiving the input. String quotation may be needed when fired via console.
Icon-Bug.png错误:In Hammer, using string arguments will corrupt the VMF file's structure, making the file unviewable for the next Hammer session.
Note.png修复:Remove the string argument manually with a text editor.
Note.png注意:军团要塞2 Backtick characters ` are replaced with quotation marks at runtime, allowing quotation marks to be used when normally not possible.
CallScriptFunction <string简体中文> | 字符串 (存在于自 求生之路2 以来) (也存在于 军团要塞2 之中) 不存在于FGD!
Calls a VScript function defined in the scope of the receiving entity.
TerminateScriptScope  (存在于 军团要塞2 之中) 不存在于FGD!
Destroys the script scope of the receving entity.
SetLocalOrigin <coordinates> (存在于自 异形丛生 以来) 不存在于FGD!
Send this entity to a spot in the map. If the entity is parented to something, it will be offset from the parent by this amount.
SetLocalAngles <angles> (存在于自 异形丛生 以来) 不存在于FGD!
Set this entity's angles.

输出

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.

Base:

OnUser1 to OnUser4
These outputs each fire in response to the firing of the like-numbered FireUser1 to FireUser4 Input; see User Inputs and Outputs.
OnKilled  (存在于 求生之路 之中)
This output fires when the entity is killed and removed from the game.

参见