在 GOM 引擎的传奇私人服务器里,让【赞助大使】的人名显示红色,而其他玩家保持正常颜色,需要通过脚本命令结合引擎的颜色控制功能来实现。虽然你已经能正常显示称号和上线提示,但人名颜色的调整需要额外的设置,下面就来说说具体该如何操作,包括所需的代码和步骤。
首先要了解 GOM 引擎中控制文字颜色的基础命令。在 GOM 引擎的脚本里,文字颜色通常通过 “颜色代码” 来控制,比如红色对应的代码是 “<COLOR=255>”(不同引擎的颜色代码可能有差异,GOM 常用 255 代表红色)。当需要让某个玩家的名字显示为红色时,需要在调用玩家名称的地方,用颜色代码包裹住名字变量。
你现有的脚本已经能通过 “checknamelist” 判断玩家是否在赞助大使名单中,并设置称号,在此基础上,需要添加控制名字颜色的命令。关键在于找到玩家名称显示的触发点,比如聊天、人物列表、上线提示等场景,其中上线提示的颜色修改相对简单,而聊天和列表中的名字颜色则需要额外的脚本支持。
先处理上线提示中的人名颜色。你现有的上线提示代码是:
#IF
checknamelist ..\QuestDiary\ 赞助大使 \ 赞助大使名单一千.txt
#ACT
SENDMSG 0 赞助大使『<$USERNAME>』进入游戏!
SETRANKLEVELNAME % s\『赞助大使』
break
这里的 “<$USERNAME>” 是调用玩家名称的变量,要让它显示红色,只需在变量前后加上红色代码,修改为:
SENDMSG 0 赞助大使『<COLOR=255><$USERNAME>』进入游戏!
这样,当赞助大使上线时,提示信息中的人名就会以红色显示,其他玩家的上线提示仍保持默认颜色。
接下来处理聊天时的人名颜色。这需要修改 “聊天触发” 的脚本,让系统在检测到赞助大使发送聊天信息时,自动给其名字加上红色代码。在 GOM 引擎中,聊天触发脚本通常放在 “Envir\QuestDiary\Chat.txt” 或类似文件中,添加以下代码:
[@Chat]
#IF
checknamelist ..\QuestDiary\ 赞助大使 \ 赞助大使名单一千.txt
#ACT
SENDMSG % d <COLOR=255>[% s]: %s
return
#ELSE
#ACT
SENDMSG %d [%s]: %s
return
这里的 “% d” 是聊天频道,“[% s]” 是玩家名称和称号,“% s” 是聊天内容。通过判断玩家是否在赞助名单中,给赞助大使的名字加上红色代码 “<COLOR=255>” 和结束标记 “”,其他玩家则按默认格式发送。
再处理人物列表和头顶名字的颜色。这部分需要用到 GOM 引擎的 “SetNameColor” 命令,该命令可以直接设置玩家名字的颜色。在赞助大使上线时的脚本中添加颜色设置命令,修改后的完整上线脚本如下:
#IF
checknamelist ..\QuestDiary\ 赞助大使 \ 赞助大使名单一千.txt
#ACT
SENDMSG 0 赞助大使『<COLOR=255><$USERNAME>』进入游戏!
SETRANKLEVELNAME % s\『赞助大使』
SetNameColor 255 // 设置名字颜色为红色(255 对应红色)
break
#ELSE
#ACT
SetNameColor 0 // 其他玩家默认颜色(0 为白色,根据需求调整)
break
“SetNameColor” 命令后的数字即颜色代码,255 代表红色,0 代表白色(默认),你可以根据引擎的颜色对照表调整数值(比如 167 为黄色、66 为绿色等)。这样设置后,赞助大使在人物列表、头顶显示的名字都会变成红色,其他玩家则保持默认颜色。
需要注意的是,“SetNameColor” 命令的生效范围可能受引擎版本影响,部分 GOM 引擎需要在 “M2Server - 选项 - 功能设置” 中开启 “支持名字颜色设置”,否则命令可能无效。打开 M2Server 后,依次进入 “选项 - 功能设置 - 显示设置”,勾选 “允许脚本设置名字颜色”,点击保存并重启引擎,确保设置生效。
另外,颜色代码的数值需要与你的引擎匹配。如果 255 不是红色,可以在 GOM 引擎的 “颜色代码表” 中查询(通常在服务端 “工具” 文件夹的 “颜色拾取器” 中),找到红色对应的数值替换即可。比如有些版本中红色代码是 “192”,则将上述代码中的 “255” 改为 “192”。
测试时,让一个在赞助名单中的账号上线,观察上线提示、聊天信息、人物头顶和列表中的名字是否变为红色;再用非赞助账号测试,确认名字颜色正常。如果只有部分场景生效,检查对应场景的脚本是否添加了颜色代码,或引擎设置是否开启。
如果需要在其他场景(比如排行榜、私聊)中也显示红色名字,方法类似:找到对应场景的脚本触发点,在调用玩家名称的地方添加颜色代码,或使用 “SetNameColor” 命令预先设置。例如排行榜脚本中,将 “<\(USERNAME>”改为“<COLOR=255><\)USERNAME>”。
总的来说,在 GOM 引擎中设置【赞助大使】人名显示红色,核心是利用 “<COLOR = 颜色代码>” 包裹名字变量,结合 “SetNameColor” 命令,并在相关触发脚本(上线、聊天、列表)中添加判断条件。按上述步骤修改后,赞助大使的名字就能在各种场景中显示为红色,其他玩家则保持正常,既突出了特殊身份,又不影响整体显示效果。

