传奇服务端沙城主上线红字提示设置教程

来源: 作者: 点击:
在传奇服务端中实现沙巴克城主上线全服红字提示,核心逻辑是在登录触发脚本中检测身份并发送公告。此功能无需修改引擎底层,直接通过修改 QManage.txt 脚本文件即可实现。

一、 核心脚本文件定位

脚本文件路径为:D:\MirServer\Mir200\Envir\MapQuest_def\QManage.txt。
该文件中的 [@Login] 段是玩家每次登录游戏时自动执行的入口,在此处插入检测代码即可。

二、 标准脚本代码(GOM/GEE/HERO引擎)

用文本编辑器打开 QManage.txt,在 [@Login] 段落内添加以下代码:
[@Login]
#IF
ISCASTLEMASTER
#ACT
SENDMSG 0 251 0 【沙城霸主】<$USERNAME> 驾临玛法大陆,众将士速速迎接!
BREAK


代码参数详解:
• #IF ISCASTLEMASTER:检测条件,判断当前登录角色是否为沙巴克城主。

- SENDMSG 0:全服公告命令。参数 0 代表发送给全服玩家。
• 251 0:控制显示样式。251 通常代表红色文字(不同引擎颜色代码可能微调,如 253 为粉色,254 为绿色)。

- BREAK:终止当前判断流程,防止后续脚本冲突。

三、 进阶样式与多引擎适配

不同引擎或版本对颜色和变量的支持略有差异,可根据需求调整:

引擎类型 推荐代码写法 效果说明

通用复古版 SENDMSG 0 沙巴克城主【%s】上线了! 使用 %s 自动填充角色名,显示为普通黄字。

GOM/GEE SENDMSG 0 251 0 沙城主【<$USERNAME>】已上线 使用 <$USERNAME> 变量,251 色号显示为醒目红字。

HGE/翎风 GuildNoticeMsg 251 253 沙老大来了! 使用 GuildNoticeMsg 命令,支持更丰富的背景色。

若需更醒目的滚动广播,可将 SENDMSG 0 改为 SENDMSG 1(滚动广播)或 SENDMSG 6(屏幕中间大对话框提示)。

四、 设置生效流程

1. 修改脚本:将上述代码准确复制到 QManage.txt 的 [@Login] 段中,注意不要破坏原有的 #IF 条件结构。
2. 重载脚本:保存文件后,启动 M2Server(引擎主程序),在顶部菜单点击:控制 -> 重新加载 -> QF脚本(或 QM脚本)。
3. 测试效果:使用沙城主角色下线再上线,观察游戏内是否出现红色公告。若未显示,检查 M2 的“信息列表”是否有脚本报错。

五、 常见问题排查

• 提示不显示:首先确认角色是否为当前沙城拥有行会的会长。ISCASTLEMASTER 仅检测会长,普通沙城成员不会触发。其次检查 M2 是否报“脚本错误”,常见原因是符号使用了全角中文(如应为 " 而非 ”)。

• 颜色不对:若红色代码 251 显示为其他颜色,说明该色号被版本自定义。可在 M2 的“查看”->“列表信息”->“颜色设置”中查询“广播颜色”对应的编号。

• 重复提示:确保脚本结尾有 BREAK 语句。若无此句,可能会导致脚本逻辑穿透,触发多次公告或与其他登录奖励脚本冲突。

六、 扩展:添加头顶封号与音效

若想在红字提示的同时给城主添加头顶封号或上线音效,可在 #ACT 下追加命令:
#ACT
SENDMSG 0 251 0 沙巴克城主【<$USERNAME>】上线!
SetIcon 0 65535 ; 在头顶显示城主图标(需素材支持)
CHANGENAMECOLOR 253 ; 改变角色名字颜色
PLAYSOUND Wav\登录.wav ; 播放登录音效(需有音频文件)
BREAK

此扩展功能需客户端有对应的素材文件支持,否则玩家端可能显示异常。