env_message

From Valve Developer Community
< Env message(Redirected from Env message:zh-cn)
Jump to: navigation, search
Env message.png

起源 env_message是一个存在于所有的 起源 游戏的点实体。 在玩家hud上显示信息的实体, 定义于 /scripts/titles.txt 文件。

Icon-Bug.png错误:求生之路2似乎不可用,但是其实是可以用的,会播放声音,但文本不显示。
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 CMessage 代表,定义于 EnvMessage.cpp


本地信息的语法

每条信息都定义于titles.txt 遵循其他valve文本结构. 譬如: Title { Text Value }. 这条信息可以引用 localized 文本,并且前缀是 #

文本可以采用不同的格式设置,取决于语法提供的内容. 这个resource/clientscheme.res 负责字体的族, 大小和信息的宽度,而改变大小在此文件的这个CenterPrintText 项目内。

可以定义变量,会影响以下信息直到被其他信息取代。

变量 参数 描述
$position 浮点型,浮点型 文本在屏幕上的位置, 第一个是水平方向位置,第二个是垂直方向。 -1则是中间。
$effect 整数型 如何显示。0是淡入淡出类型,1是闪烁,2是逐字写入。
$fxtime 浮点型 一个前沿高光延迟于文本的时间。
$color R G B 颜色,参数是R G B(0~255)。
$fadein 浮点型 信息的每个字符淡入的时间/秒
$fadeout 浮点型 同上,但是是淡出。
$holdtime 浮点型 淡入到淡出的持续时间。

你也可以自己单独修改文件来应用自己的条目,以下是HL2默认的。

信息值 打印的文本
CR1 Testing 1
CR2 Testing 2
CR3 Testing 3
GAMEOVER_ALLY 任务:中止

目标:弗里曼

原因:无法保护任务的关键人员

GAMEOVER_OBJECT 任务:中止

目标:弗里曼

原因:无法保存任务的关键资源

GAMEOVER_TIMER 任务:中止

目标:弗里曼

原因:无法阻止时间关键的结果

GAMEOVER_STUCK 任务:中止

目标:弗里曼

原因:判断力严重不足

CHAPTER1_TITLE 进入地点
CHAPTER2_TITLE 好日子
CHAPTER3_TITLE 运河船道
CHAPTER4_TITLE 水障碍区
CHAPTER5_TITLE 黑山基地东区
CHAPTER6_TITLE “我们不去莱温霍姆...”
CHAPTER7_TITLE 17 号高速公路
CHAPTER8_TITLE 沙地陷阱
CHAPTER9_TITLE 诺瓦矿场
CHAPTER9A_TITLE 牵连设备
CHAPTER10_TITLE 反叛者 1 号
CHAPTER11_TITLE “跟着弗里曼!”
CHAPTER12_TITLE 我们的恩主
CHAPTER13_TITLE 暗能
GAMESAVED 已保存…
GAMETITLE Half-Life

键值

Message Text (message) <string简体中文> | 字符串
显示的信息,见上面的条目。
Sound Effect (messagesound) <sound>
当信息显示后会播放此声音效果, 由实体的位置发出。.
Volume 0-10 (messagevolume) <string简体中文> | 字符串
声音效果的音量大小。
Sound Radius (messageattenuation) <choices>
声音效果的播放半径:
  • 0: Small Radius /小范围
  • 1: Medium Radius /中等
  • 2: Large Radius /大
  • 3: Play Everywhere /任何地方

Base/基础:
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 列表中的一个元素匹配将使实体在新一轮中持续存在!
Flags (spawnflags) <integer> | 整数 不存在于FGD!
实体所具有的标志/标签,依实体所具有而定。
Effects (effects) <integer> | 整数 不存在于FGD!
要使用的效果标志的组合。
Entity Scripts简体中文 (vscripts) <scriptlist> | 脚本列表 (存在于自 求生之路2 以来)
在所有实体生成后执行的 VScript简体中文 文件(无文件扩展名)的空格分隔列表。这些脚本都在同一个脚本范围内执行,以后的脚本会覆盖任何相同的变量和函数。
Thinker Function简体中文 (thinkfunction) <string简体中文> | 字符串 (存在于自 求生之路2 以来)
此实体脚本中的函数名称,该函数将在脚本持续时间内每 100 毫秒(每秒 10 次)自动调用一次。它可用于创建计时器或模拟自主行为。返回值(如果存在)将设置下一次调用之前的时间。尽量避免在此函数中进行昂贵的操作,因为它可能会导致性能问题。
Lag Compensation (LagCompensate) <boolean> | 布尔值 (存在于自 求生之路2 以来) 不存在于FGD!
设置为以延迟补偿此实体。应该非常谨慎地使用!
Is Automatic-Aim Target (is_autoaim_target) <boolean> | 布尔值 (in all games since 反恐精英:全球攻势) 不存在于FGD!
如果设置为 1,当实体位于十字准线下方时,该实体将减慢控制台和操纵杆控制器的瞄准移动速度。


标签

  •  [1] : Play Once
       只显示一次
  •  [2] : All Clients
       对所有客户端显示

输入

ShowMessage
显示信息并播放声音效果。

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简体中文> | 字符串 (自从 求生之路移除) 不存在于FGD!
在实体的原点坐标设置一个特定效果;参见 List of Client EffectsEnglish。自从求生之路 求生之路后由粒子系统取代。
RunScriptFile<script> | 脚本 (存在于自 求生之路2 以来)
从硬盘执行一个 VScript 脚本文件,不带文件后缀名。会合并接收实体的脚本域。
RunScriptCode<string简体中文> | 字符串 (存在于自 求生之路2 以来)
在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。
Icon-Bug.png错误:在 Hammer 中,使用带有字符串的参数会破坏 VMFEnglish 文件的结构,使下一个 Hammer 会话无法查看该文件。
修复: 使用文本编辑器手动删除带有字符串的参数。
CallScriptFunction<string简体中文> | 字符串 (存在于自 求生之路2 以来) 不存在于FGD!
在接受实体脚本域上执行一段 VScript 函数。
SetLocalOrigin<coordinates> (存在于自 异形丛生 以来) 不存在于FGD!
将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
SetLocalAngles<angles> (存在于自 异形丛生 以来) 不存在于FGD!
设置该实体的角度。

输出

OnShowMessage
当显示信息时触发。

Base/基础:

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

参见