传奇全服飘红字SENDMSG类型代码设置与颜色参数配置详解

来源: 作者: 点击:
传奇脚本中,SENDMSG 是常用的文字信息发送命令,可以用来给玩家、全服、当前地图、行会或指定范围发送提示信息。所谓“全服飘红字”,通常是指让所有在线玩家都能看到一条红色或指定颜色的公告文字。

SENDMSG 的效果由两个部分决定:

第一个参数:信息类型代码
后面的参数:消息内容、字体颜色、背景颜色等

不同引擎对 SENDMSG 的支持会有差异,但常见类型代码基本可以按下面方式理解。

一、SENDMSG 常见信息类型代码
类型代码 效果说明 适用场景
0 发送带颜色参数的信息,具体范围看引擎支持 自定义颜色公告

1 发送普通红色广播信息 全服红色公告

2 发送普通红色广播信息,并显示NPC名称 带NPC名的系统公告

3 发送普通红色广播信息,并显示人物或NPC名称 带角色名的系统公告

4 在NPC头顶显示普通说话信息 NPC对话气泡

5 发送红色信息给当前人物 个人红色提示

6 发送绿色信息给当前人物 个人绿色提示

7 发送蓝色信息给当前人物 个人蓝色提示

如果目标是“全服飘红字”,通常优先考虑类型 1、2、3。

其中:

类型 1:适合纯全服红色广播。
类型 2:适合显示“某某NPC提示:内容”。
类型 3:适合显示玩家名或NPC名参与的公告。
类型 5、6、7:一般只发给当前触发脚本的玩家,不是全服公告。

二、SENDMSG 基本格式

常见写法如下:

SENDMSG 信息类型代码 消息内容 字体颜色 背景颜色

也可以带变量:

SENDMSG 信息类型代码 %s消息内容%d 字体颜色 背景颜色

参数说明:

%s:代表当前玩家名称
%d:代表NPC名称
字体颜色:0到255之间的颜色代码
背景颜色:0到255之间的颜色代码

示例:

SENDMSG 1 全服活动已经开启,请尽快参与 249 47

这条命令表示发送一条全服红色广播信息,字体颜色为 249,背景颜色为 47。

如果写成:

SENDMSG 1 恭喜[%s]获得稀有装备 249 47

则会在公告中显示当前玩家名称。

三、全服飘红字常用写法

普通全服红色公告

SENDMSG 1 服务器活动即将开始,请做好准备 249 47

适合做活动开启、系统通知、全服提醒。

带玩家名称的全服公告

SENDMSG 3 恭喜[%s]成功完成挑战任务 249 47

适合做抽奖中奖、装备获得、任务完成等全服播报。

带NPC名称的公告

SENDMSG 2 活动使者提醒:今日双倍经验已开启 249 47

适合让NPC作为公告发布者。

只给当前玩家发红色提示

SENDMSG 5 你的操作已完成 249 47

这种不是全服公告,只会让当前玩家看到。

只给当前玩家发绿色提示

SENDMSG 6 领取奖励成功 249 47

适合个人奖励提示、任务完成提示。

只给当前玩家发蓝色提示

SENDMSG 7 当前状态正常 249 47

适合普通状态提示、战斗状态提示、功能提示。

四、字体颜色和背景颜色设置

SENDMSG 后面的颜色参数通常使用 0到255 的数值。

常见设置方式:

SENDMSG 1 消息内容 字体颜色 背景颜色

例如:

SENDMSG 1 全服公告测试 249 47

这里:

249:字体颜色
47:背景颜色

不同引擎对颜色数值的显示效果可能不完全一样,但一般都可以理解为:

数值不同,颜色不同
字体颜色和背景颜色可以分别设置
颜色值超出范围或填写错误,可能导致显示异常或不显示

如果只想让文字更醒目,可以调整字体颜色;如果希望文字有底色,再设置背景颜色。

五、SENDMSG 和全服公告的区别

SENDMSG 并不一定都是全服公告。

需要区分:
命令类型 作用 是否全服
SENDMSG 1 普通红色广播信息 通常为全服

SENDMSG 2 带NPC名称的红色广播 通常为全服

SENDMSG 3 带人物或NPC名称的红色广播 通常为全服

SENDMSG 5 红色信息给当前人物 仅个人

SENDMSG 6 绿色信息给当前人物 仅个人

SENDMSG 7 蓝色信息给当前人物 仅个人

所以,如果脚本里写的是:

SENDMSG 6 领取成功

这通常只是当前玩家看到绿色提示,并不是全服飘红字。

如果要做全服飘红字,应优先使用:

SENDMSG 1 消息内容 字体颜色 背景颜色

或者:

SENDMSG 3 恭喜[%s]获得奖励 字体颜色 背景颜色

六、脚本中常见使用位置

SENDMSG 通常放在 NPC脚本、QFunction脚本、触发脚本中。

例如 NPC脚本中:

[@main]
IF
ACT
SENDMSG 1 全服活动已经开启 249 47

例如 QFunction脚本中:

[@TestMsg]
IF
ACT
SENDMSG 3 玩家[%s]触发了测试公告 249 47

也可以配合条件判断使用:

[@GiveReward]
IF
CHECKITEM 圣战戒指 1
ACT
SENDMSG 3 恭喜[%s]获得圣战戒指 249 47

这样当玩家满足条件时,就会触发全服公告。

七、SENDMSG 参数填写注意事项

类型代码不能写错

如果写成:

SENDMSG 6 全服公告内容 249 47

虽然命令本身可能正常执行,但效果通常只是当前玩家看到绿色提示,而不是全服飘红字。

颜色参数要写数字

正确写法:

SENDMSG 1 全服公告 249 47

错误写法:

SENDMSG 1 全服公告 红色 黑色

颜色参数一般不能直接写中文颜色名,需要使用 0到255 的数字。

消息内容不要包含非法符号

如果消息内容里有特殊符号、换行符、未闭合的变量,可能导致公告显示异常。

建议写成简单文本:

SENDMSG 1 活动开启,请前往土城参与 249 47

不要写成复杂格式:

SENDMSG 1 活动开启n请前往土城参与 249 47

除非当前引擎明确支持换行符。

%s 和 %d 要对应使用

%s 通常代表玩家名称:

SENDMSG 3 恭喜[%s]获得奖励 249 47

%d 通常代表NPC名称:

SENDMSG 2 %d提示:活动已开启 249 47

如果脚本中没有对应对象,%s 或 %d 可能无法正常显示。

八、常见配置示例

活动开启全服红字

SENDMSG 1 全服活动正式开启,请所有玩家前往土城参加 249 47

玩家获得装备全服播报

SENDMSG 3 恭喜[%s]获得稀有装备,实力大幅提升 249 47

NPC发布系统公告

SENDMSG 2 %d发布系统公告:今晚八点开启攻城战 249 47

个人红色提示

SENDMSG 5 你的元宝不足,无法继续操作 249 47

个人绿色提示

SENDMSG 6 奖励已发放到背包,请查看 249 47

个人蓝色提示

SENDMSG 7 当前功能冷却中,请稍后再试 249 47

九、类型选择建议

如果要做全服飘红字,建议按下面规则选择:

普通系统公告:使用 SENDMSG 1
需要显示NPC名:使用 SENDMSG 2
需要显示玩家名:使用 SENDMSG 3
只给当前玩家红色提示:使用 SENDMSG 5
只给当前玩家绿色提示:使用 SENDMSG 6
只给当前玩家蓝色提示:使用 SENDMSG 7

简单判断:

想让所有人看到:优先 1、2、3
只想让当前玩家看到:用 5、6、7
想让文字更醒目:调整字体颜色
想让文字有底色:设置背景颜色

十、实际测试方法

配置完成后,可以按以下步骤测试:

登录测试角色。
触发对应NPC或脚本标签。
观察聊天框是否出现公告。
确认公告是否为红色或目标颜色。
确认是否只有当前玩家看到,还是全服玩家都能看到。
检查 %s、%d 是否正常显示名称。
调整字体颜色和背景颜色,观察显示效果。
如果公告没有显示,检查类型代码是否写错。
如果颜色异常,调整颜色数值。
如果不同引擎表现不同,以当前引擎实际效果为准。

SENDMSG 的核心作用是发送文字信息,类型代码决定发送范围和显示方式,颜色参数决定文字和背景效果。全服飘红字一般使用 SENDMSG 1、SENDMSG 2、SENDMSG 3,再配合 0到255 的字体颜色和背景颜色进行设置。