This article's documentation is for anything that uses the Source engine. Click here for more information.

env_laser

From Valve Developer Community
Jump to: navigation, search
English (en)中文 (zh)
... Icon-Important.png
env_laser的效果被激活。
Not to be confused with env_portal_laser (不要与env_portal_laser实体搞混。).

env_laser is a point entity available in all Source Source games.在自身和给定目标上产生镭射激光束。 请与 env_beam 区分不同之处。主要区别是该实体无法穿过固体。

PlacementTip.png Placement Tip: 确保此实体坐标不在任何一个固体内部。
Note.pngNote:如果你的env_laser实体没有名字的话,那么当游戏地图开始后它会自启动。


In code, it is represented by theCEnvLaserclass, defined in theEnvLaser.cppfile.

标签/Flags

Beam:

  • 1: Start On - 地图生成的时候就自动启动。
  • 2: Toggle - 废弃的。在起源引擎中被Toggle 输入替代。用于beam的开关。
  • 4: Random Strike - 当光束“死亡”后,会自动根据Strike again time (secs)键值来strike。
  • 8: Ring - 以起始点到结束点的距离作为半径,绘制一个环形光束。
  • 16: StartSparks - 每次光束启动或者strike,光束会在 Start Entity起始实体上产生一个小火花。
  • 32: EndSparks - 同上,但是是Ending Entity结束实体。
  • 64: Decal End - 在光束strike到第一个物体上(固体或实体)产生一个火焰灰烬烧焦贴图效果。根据 Decal Name 设置你想要的贴图。
  • 128: Shade Start - 光束向Start Entity起始实体方向淡出。会覆盖Shade End,Strike时和环形光束不起作用。
  • 256: Shade End - 同上,是结束实体。strike时(life >0)和环形光束不起作用。
  • 512: Taper Out -使光束向Ending Entity发生位移?。 strike时(life >0)和环形光束不起作用。
Note.pngNote:2, 4, 8, 128, 256, 和 512 对于env_beam来说是存在的,但是对于 env_laser, 你必须 手动添加, 有可能导致无法工作。

键值

Target of Laser (LaserTarget) <目标实体名称>
用于strike的实体的名称,当是多个同名实体则会每次strike随机选取一个。
Width of Beam (width) <浮点型>
激光束宽度,单位像素。
End Sprite <sprite>
如果设置了,光束末尾会显示此图像。

Beam:

Brightness (1 - 255) (renderamt) <integer> | 整数
误导名称!这是beam的透明度。0为完全不可见。
Beam Color (R G B) (rendercolor) <color255简体中文>
Beam 颜色。
Damage/second (damage) <string简体中文> | 字符串
光束持续中的每秒伤害。或者一次strike时的伤害。持续伤害应该设置为10以上。
Note.pngNote:伤害会根据难度而调整!
  • Easy: 50%
  • Normal: 100%
  • Hard: 150%
HDR color scale (HDRColorScale) <float> | 浮点型
HDR模式下会乘以光束的颜色的值。
Beam clipping (ClipStyle) <choices>
几何切割形状样式。
  • 0: Do not clip (default)
  • 1: Clip to geometry/
  • 2: Clip to everything solid
Dissolve Type (dissolvetype) <choices>
当其造成伤害并杀死物体时,会对周围显示效果:
  • -1: None
  • 0: Energy
  • 1: Heavy Electrical
  • 2: Light Electrical
Amount of noise (0-255) (NoiseAmplitude) <float> | 浮点型
噪点。0为非常直的光束,255则充满锯齿效果。范围: 0 至 64.
Note.pngNote:虽然声明可以是255,但是最大值其实是60,超过60会默认成60。
Sprite Name (texture) <sprite>
光束的材质。
Texture Scroll Rate (0-100) (TextureScroll) <integer> | 整数
光束材质沿着光束滚动率。 范围: 0 至 100.0f.
Starting Frame (framestart) <integer> | 整数
光束生成的指定材质帧数(如果有)。

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


输入

Beam:

TurnOn
开启光束。
TurnOff
关闭光束。
Toggle
一个开关,切换光束开关状态。
Width<float> | 浮点型
设置光束宽度,单位像素。
Noise<float> | 浮点型 不存在于FGD!
设置允许偏离光束中心点的距离。
Alpha<integer> | 整数
设置光束透明度(0 - 255)。
Color<color255简体中文>
设置颜色(R G B)。
ColorRedValue<float> | 浮点型
设置红色通道值(0 - 255)。
ColorGreenValue<float> | 浮点型
同上,这是绿色(0 - 255).
ColorBlueValue<float> | 浮点型
同上,蓝色。(0 - 255).
ScrollSpeed<float> | 浮点型
设置每秒滚动速度(0 - 100).

Base:
AddContext<string简体中文> | 字符串
添加到实体的 Response Contexts/响应上下文列表。格式是<key>:<value>
AddOutput<string简体中文> | 字符串
在此实体上分配新的键值/输出。对于键值,有些依赖于额外的必要代码来运行,如果它只是通过这个输入改变就行不通。必须遵循严格的格式:
语法:

ClearContext
从此实体的列表中删除所有上下文。
ClearParent
从移动层次结构中删除该实体,使其可以自由移动。
FireUser1FireUser4
触发相应的OnUser输出;详见 User Inputs and OutputsEnglish
Kill
从这个世界中删除此实体。
KillHierarchy
功能类似Kill,尽管此实体与其父实体都被删除了,但比Kill快一点。
RemoveContext
从实体列表删除一个上下文。名字应与现有上下文进行匹配。
SetParent<string简体中文> | 字符串
跟随此实体移动,详见 实体层级(依赖关系)
SetParentAttachment<string简体中文> | 字符串
更改此实体到其父级上的特定附属English点。实体将传送,以至于其骨骼方位English与附属匹配。在使用此输入前必须设置好实体的父实体。
SetParentAttachmentMaintainOffset<string简体中文> | 字符串
同上,但没有传送。在接收到输入时,实体保持其相对于附件的位置。
Use 不存在于FGD!
与调用 +use English 的玩家相同[玩家按 +use(使用,默认E按钮)];大多数情况下没有影响。
DispatchResponse<string简体中文> | 字符串 不存在于FGD!
向实体发送一个上下文。 详见 ResponseEnglishConceptEnglish.
DispatchEffect<string简体中文> | 字符串 (自从 Left 4 Dead移除) 不存在于FGD!
在实体的原点坐标设置一个特定效果;参见 List of Client EffectsEnglish。自从Left 4 Dead Left 4 Dead后由粒子系统取代。
RunScriptFile<script> | 脚本 (存在于自 Left 4 Dead 2 以来)
从硬盘执行一个 VScript 脚本文件,不带文件后缀名。会合并接收实体的脚本域。
RunScriptCode<string简体中文> | 字符串 (存在于自 Left 4 Dead 2 以来)
在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。
Icon-Bug.pngBug:在 Hammer 中,使用带有字符串的参数会破坏 VMFEnglish 文件的结构,使下一个 Hammer 会话无法查看该文件。
Fix: 使用文本编辑器手动删除带有字符串的参数。
CallScriptFunction<string简体中文> | 字符串 (存在于自 Left 4 Dead 2 以来) 不存在于FGD!
在接受实体脚本域上执行一段 VScript 函数。
SetLocalOrigin<coordinates> (存在于自 Alien Swarm 以来) 不存在于FGD!
将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
SetLocalAngles<angles> (存在于自 Alien Swarm 以来) 不存在于FGD!
设置该实体的角度。

输出

Base/基础:

OnUser1OnUser4
这些输出将分别响应于 FireUser1FireUser4 输入。 详见 User Inputs and Outputs
OnKilled (only in Left 4 Dead series)
当实体被Kill输入时响应此输出。

参见