搬运自workshop.codes,链接:https://workshop.codes/wiki/articles/tx-fg-textures-and-colors-in-strings
在《守望先锋》中,纹理和带颜色的文本分别通过一种特殊代码来表示,即
<TX>代码和<FG>代码。通常情况下,Workshop 会对字符串中的这些代码进行清理(sanitization)。本文将介绍一种绕过这一检查的方法,从而允许在字符串中使用任意纹理 / 颜色。
感谢 Zezombye 发现了这种方法!
目录
实现
下面这段代码可以让你使用一个存储在变量中的、经过转义的 < 字符。(或者使用国服代码导入:Q4NQC)
变量
{
全局:
0: Left_Parenthesis
}
规则("Setup <tx> / <fg> Code")
{
事件
{
持续 - 全局;
}
动作
{
生成机器人(全部英雄, 队伍2, 假, 空, 空);
开始为机器人强制设置名称(最后创建的实体, 自定义字符串("〼"));
全局.Left_Parenthesis = 字符串分割(首个(最后创建的实体), 空数组);
开始为机器人强制设置名称(最后创建的实体, 自定义字符串("ࡀ"));
全局.Left_Parenthesis = 截取字符串(字符串替换(自定义字符串("〼"), 全局.Left_Parenthesis,
首个(最后创建的实体)), 63, 真);
移除所有机器人;
创建HUD文本(本地玩家, 自定义字符串("{0}fgF0FF00FF>你好 {0}tx0C00000000005A0B> {0}fgA992C7FF>世界", 全局.Left_Parenthesis), 空, 空, 左边, 100, 颜色(白色), 颜色(白色), 颜色(白色), 可见, 始终不可见);
}
}通过使用一个机器人来保存经过转义的
<字符。随后创建一段 HUD Text,并将这个字符作为<TX>和<FG>代码的一部分使用。

机制
为了防止 <TX> 和 <FG> 代码被直接使用,Workshop 会在字符串中加入反斜杠进行清理处理,将 < 替换为 \<。引擎正是通过这种方式来区分普通文本和真正的纹理代码。
机器人名称的长度限制为 127 字节,并且在超出限制时会直接截断字符串,不考虑字符串内容的具体结构。
我们可以通过 开始为机器人强制设置名称 动作来修改机器人名称。
用途
<TX> 代码
<TX> 代码可以在字符串中显示纹理,例如各种图标。
<TX> 代码的格式为:
<tx[0C]>其中 [0C] 是一个 16 位十六进制字符串,例如:
<tx0C0000000002DD5D>查看代码参考:
在游戏中查看全部代码:
<FG> 代码
<FG> 代码可以在字符串中改变文本颜色,例如:
"<fg6C48C5FF>Hello World!"<FG> 代码的格式为:
<fg[RR][GG][BB][AA]>其中 [RR][GG][BB][AA] 是由 4 个颜色通道组成的十六进制颜色值。
例如:
<fg6C48C5FF>对应的 RGBA 颜色值为:
(108, 72, 197, 255)其他信息
- 截至 2025 年 8 月 8 日,这种方法尚未被修复。(版本 2.17.1.1 - 140729)
<TX>和<FG>代码最初被修复,是为了防止玩家滥用这些代码导致其他玩家游戏崩溃。- 在 第 17 赛季推出时,游戏曾出现过一个类似的全局漏洞:游戏无法正确地对这些代码进行清理。这一问题已经在 2025 年 8 月 5 日的补丁中修复。
译者注
1、TX 代码会频繁地随着游戏更新而失效,文章中提到的TX Browser的大部分资源已无法使用,感兴趣可以去体验一下。
外服导入代码:8B9H1;国服导入代码:QD82H
2、TX / FG 代码疑似只能使用于 持续 - 全局 ,不接受事件玩家,也不能储存在变量中。如在其他文本处调用 全局.A = 自定义字符串("{0}fgF0FF00FF>你好", 全局.Left_Parenthesis);并不会使“你好”变成黄色。
3、对应颜色的 FG 代码可以直接询问任意AI。