func_door
func_door
是一个固实体存在于所有的 起源 游戏。 它创建了一个简单的滑动门。参见 func_door_rotating
了解其对应功能。
移动距离始终是固体门的尺寸。
如果门的移动距离较短,可在 Lip
中使用正值,从总移动距离中减去该单位。或者,你也可以在 Lip
中加入负值,使其移动更远的距离。
示例:128个单位高的门会向上移动 128 个单位。增加一个 20 的 Lip 只会使它向上移动 108 个单位。但增加一个 -20 的 Lip 会使它向上移动 148 个单位。
待完善: 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.
- 错误: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.
- 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>
| 整数- 已弃用。 Do not use.
Message If Triggered(message)
<string
> | 字符串- 已弃用。 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.
- 错误: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:
VisibleBrush:
- Render Mode
(rendermode)
<choices>
- Set a non-standard rendering mode on this entity.
- Render FX
(renderfx)
<choices>
- Various somewhat legacy alpha effects.
错误:Alpha effects from 0 to 10 are unavailable due to the bug in code in 反恐精英:全球攻势
|
- 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 ) - Used to disable rendering into shadow depth (for projected textures) for this entity.
- Disable flashlight
(disableflashlight)
<boolean>
| 布尔值 (in all games since ) - Used to disable projected texture lighting and shadows on this entity.
- Projected Texture Cache
(shadowdepthnocache)
<choices>
(in all games since ) - 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.
|
SystemLevelChoice:
- Minimum / Maximum Effect Details Level
(mincpulevel / maxcpulevel)
<choices>
(存在于自 以来) - Don't render for players with Effect Details levels that exceed the minimum or maximum.[Key names are related to
cpu_level
cvar used by Effect Details.]
|
- Minimum / Maximum Shader Details Level
(mingpulevel / maxgpulevel)
<choices>
(存在于自 以来) - Don't render for players with Shader Details levels that exceed the minimum or maximum.[Key names are related to
gpu_level
cvar used by Shader Details.]
|
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.
警告:If these are used, the object may break when the user switches their DirectX settings.
|
Base:
- Collisions
(solid)
<choices>
- 该实体的碰撞方式。
- 0: 无
- 1: BSP (QPhysics) 不存在于FGD! 错误:在 中,如果使用 QPhysics 碰撞的实体被 Gel 击中,游戏将崩溃!
- 2: Bounding Box|边界框
- 3: Oriented Bounding Box|定向边界框 (用于运行时生成的要旋转的笔刷实体) 不存在于FGD!
- 4: Oriented Bounding Box|定向边界框,仅限于 Yaw 不存在于FGD!
- 5: Custom/Test|自定义/测试(通常不会与任何东西发生碰撞) 不存在于FGD!
- 6: VPhysics
- Parent
(parentname)
<targetname>
| 目标名 - 实体的父级实体,该实体可以与父实体保持移动偏移。名称后面可以添加一个附属点,以逗号隔开。 (
parentname [targetname],[attachment]
)提示:转换至下一张地图的实体关系会依然存在。提示:一些不适合做父实体的实体可能难以运行,利用phys_constraint
可以解决。
- Origin (X Y Z)
(origin)
<coordinates>
- 实体处于世界中的位置,旋转实体会以实体坐标原点旋转。注意:Hammer 不会仅在编辑器中相应地移动实体。
- Pitch Yaw Roll (X Y Z)
(angles)
<angle>
- 实体在世界中的方位,Pitch围绕X轴旋转,可以称为俯仰角。Yaw围绕Z轴旋转,可以称为偏航角,roll围绕Y轴旋转。注意:尽管 Hammer 不显示新角度,但其仍然适用于固实体。
- Classname
(classname)
<string
> | 字符串 不存在于FGD! - 确定实体之前它生成的特征。提示:使用
AddOutput
输入更改 Classname 仍然会影响游戏的代码,例如使类名与 S_PreserveEnts 列表中的一个元素匹配将使实体在新一轮中持续存在!
- Spawnflags
(spawnflags)
<flags>
不存在于FGD! - 实体所具有的标志/标签,依实体所具有而定。
- Effects
(effects)
<flags>
不存在于FGD! - 要使用的效果标志的组合。
- Entity Scripts
(vscripts)
<scriptlist>
| 脚本列表 (in all games since ) (也存在于 之中) - 在所有实体生成后执行的 VScript 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。在 worldspawn 实体上执行的脚本将放置在根作用域中。
- Think function
(thinkfunction)
<string
> | 字符串 (in all games since ) (也存在于 之中) - 此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
- Lag Compensation
(LagCompensate)
<boolean>
| 布尔值 (in all games since ) 不存在于FGD! - 设置为是以延迟补偿此实体。应该非常谨慎地使用!
- Is Automatic-Aim Target
(is_autoaim_target)
<boolean>
| 布尔值 (in all games since ) 不存在于FGD! - 如果设置为 1,当实体位于十字准线下方时,该实体将减慢控制台和操纵杆控制器的瞄准移动速度。
标志
BaseDoor:
-
[1
] : Starts Open
已弃用。 Door behaves more like the doors in 半衰期. Some outputs don't work.
- [
4
] : Non-solid to Player
Sets the collision group toCOLLISION_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 (overridingwait
), 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.错误: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 )- Removes
EF_NODRAW
from the entity.
DisableDraw
(in all games since )- Applies
EF_NODRAW
to the entity. Note that this is different fromrendermode 10
.
EnableReceivingFlashlight
(in all games since )- Makes it so that the entity is lit by
env_projectedtexture
s.
DisableReceivingFlashlight
(in all games since )- Prevents the entity from being lit by
env_projectedtexture
s. The shadow made by the texture will still cast.
Reflection:
DisableDrawInFastReflection
(in all games since )- Turns off rendering of this entity in reflections when using
$reflectonlymarkedentities
in water material.
EnableDrawInFastReflection
(in all games since )- 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 )- This object will not 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
toFireUser4
- Fires the respective
OnUser
outputs; 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 thanKill
input.
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.
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>
| 脚本 (存在于自 以来) (也存在于 之中)- Execute a VScript file from disk, without file extension. The script contents are merged with the script scope of the receiving entity.
RunScriptCode
<string
> | 字符串 (存在于自 以来) (也存在于 之中)- 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. 错误:In Hammer, using string arguments will corrupt the VMF file's structure, making the file unviewable for the next Hammer session.修复:Remove the string argument manually with a text editor.
CallScriptFunction
<string
> | 字符串 (存在于自 以来) (也存在于 之中) 不存在于FGD!- Calls a VScript function defined in the scope of the receiving entity.
TerminateScriptScope
(仅存在于 之中) 不存在于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.
输出
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
toOnUser4
- These outputs each fire in response to the firing of the like-numbered
FireUser1
toFireUser4
Input; see User Inputs and Outputs. OnKilled
(仅存在于 之中)- This output fires when the entity is killed and removed from the game.
参见
func_door_rotating
prop_door_rotating
func_lookdoor
- Creating Brush Entities (tutorial using
func_door
)