Env message
![Env message.png](/w/images/5/59/Env_message.png)
env_message
是一个存在于所有的 起源 游戏的点实体。 在玩家hud上显示信息的实体, 定义于 /scripts/titles.txt
文件。
![Icon-Bug.png](/w/images/thumb/b/b4/Icon-Bug.png/10px-Icon-Bug.png)
![Blank image.png](/w/images/b/ba/Blank_image.png)
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)
<字符串 > - 显示的信息,见上面的条目。
- Sound Effect
(messagesound)
<sound > - 当信息显示后会播放此声音效果, 由实体的位置发出。.
- Volume 0-10
(messagevolume)
<字符串 > - 声音效果的音量大小。
- Sound Radius
(messageattenuation)
<choices> - 声音效果的播放半径:
- 0: Small Radius /小范围
- 1: Medium Radius /中等
- 2: Large Radius /大
- 3: Play Everywhere /任何地方
标签
- [
1
] : Play Once
只显示一次
- [
2
] : All Clients
对所有客户端显示
输入
ShowMessage
- 显示信息并播放声音效果。
Base:
AddContext
<字符串 >- 添加到实体的 Response Contexts/响应上下文列表。格式是
<key>:<value>
。
语法:
ClearContext
- 从此实体的列表中删除所有上下文。
ClearParent
- 从移动层次结构中删除该实体,使其可以自由移动。
FireUser1
到FireUser4
- 触发相应的
OnUser
输出;详见 User Inputs and Outputs。
Kill
- 从这个世界中删除此实体。
KillHierarchy
- 功能类似
Kill
,尽管此实体与其父实体都被删除了,但比Kill
快一点。
RemoveContext
- 从实体列表删除一个上下文。名字应与现有上下文进行匹配。
SetParent
<字符串 >- 跟随此实体移动,详见 实体层级(依赖关系)。
SetParentAttachmentMaintainOffset
<字符串 >- 同上,但没有传送。在接收到输入时,实体保持其相对于附件的位置。
DispatchResponse
<字符串 > 不存在于FGD!- 向实体发送一个上下文。 详见 Response
和 Concept
.
DispatchEffect
<字符串 > (自从被移除) 不存在于FGD!
- 在实体的原点坐标设置一个特定效果;参见 List of Client Effects
。自从
求生之路后由粒子系统取代。
RunScriptCode
<字符串 > (存在于自以来)
- 在接收输入的实体范围内执行一串 VScript 源代码。通过控制台触发时可能需要字符串引用。
错误:在 Hammer 中,使用带有字符串的参数会破坏 VMF
文件的结构,使下一个 Hammer 会话无法查看该文件。
修复: 使用文本编辑器手动删除带有字符串的参数。
SetLocalOrigin
<coordinates > (存在于自以来) 不存在于FGD!
- 将此实体设置到地图中的某个位置。如果此实体是某实体父级,那么它的子级也会随着移动。
输出
OnShowMessage
- 当显示信息时触发。
Base/基础:
OnUser1
到OnUser4
- 这些输出将分别响应于
FireUser1
到FireUser4
输入。 详见 User Inputs and Outputs。 OnKilled
(仅存在于之中)
- 当实体被Kill输入时响应此输出。
参见
game_text
- 类似的实体,可以定义文本位置。env_hudhint
- 类似的实体。