Env message

From Valve Developer Community
Jump to: navigation, search
English (en)Русский (ru)中文 (zh)
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(en) 文本,并且前缀是 #

文本可以采用不同的格式设置,取决于语法提供的内容. 这个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) <字符串(en)>
显示的信息,见上面的条目。
Sound Effect (messagesound) <sound(en)>
当信息显示后会播放此声音效果, 由实体的位置发出。.
Volume 0-10 (messagevolume) <字符串(en)>
声音效果的音量大小。
Sound Radius (messageattenuation) <choices>
声音效果的播放半径:
  • 0: Small Radius /小范围
  • 1: Medium Radius /中等
  • 2: Large Radius /大
  • 3: Play Everywhere /任何地方

Template:KV BaseEntity:zh-cn

标签

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

输入

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

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

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

输出

OnShowMessage
当显示信息时触发。

Base/基础:

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

参见