当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇全服飘红字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之间的颜色代码

示例:

SENDMSG1全服活动已经开启,请尽快参与24947

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

如果写成:

SENDMSG1恭喜[%s]获得稀有装备24947

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

三、全服飘红字常用写法

普通全服红色公告

SENDMSG1服务器活动即将开始,请做好准备24947

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

带玩家名称的全服公告

SENDMSG3恭喜[%s]成功完成挑战任务24947

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

带NPC名称的公告

SENDMSG2活动使者提醒:今日双倍经验已开启24947

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

只给当前玩家发红色提示

SENDMSG5你的操作已完成24947

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

只给当前玩家发绿色提示

SENDMSG6领取奖励成功24947

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

只给当前玩家发蓝色提示

SENDMSG7当前状态正常24947

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

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

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

常见设置方式:

SENDMSG1消息内容字体颜色背景颜色

例如:

SENDMSG1全服公告测试24947

这里:

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

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

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

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

五、SENDMSG和全服公告的区别

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

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

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

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

SENDMSG5红色信息给当前人物仅个人

SENDMSG6绿色信息给当前人物仅个人

SENDMSG7蓝色信息给当前人物仅个人

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

SENDMSG6领取成功

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

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

SENDMSG1消息内容字体颜色背景颜色

或者:

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

六、脚本中常见使用位置

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

例如NPC脚本中:

[@main]
IF
ACT
SENDMSG1全服活动已经开启24947

例如QFunction脚本中:

[@TestMsg]
IF
ACT
SENDMSG3玩家[%s]触发了测试公告24947

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

[@GiveReward]
IF
CHECKITEM圣战戒指1
ACT
SENDMSG3恭喜[%s]获得圣战戒指24947

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

七、SENDMSG参数填写注意事项

类型代码不能写错

如果写成:

SENDMSG6全服公告内容24947

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

颜色参数要写数字

正确写法:

SENDMSG1全服公告24947

错误写法:

SENDMSG1全服公告红色黑色

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

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

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

建议写成简单文本:

SENDMSG1活动开启,请前往土城参与24947

不要写成复杂格式:

SENDMSG1活动开启n请前往土城参与24947

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

%s和%d要对应使用

%s通常代表玩家名称:

SENDMSG3恭喜[%s]获得奖励24947

%d通常代表NPC名称:

SENDMSG2%d提示:活动已开启24947

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

八、常见配置示例

活动开启全服红字

SENDMSG1全服活动正式开启,请所有玩家前往土城参加24947

玩家获得装备全服播报

SENDMSG3恭喜[%s]获得稀有装备,实力大幅提升24947

NPC发布系统公告

SENDMSG2%d发布系统公告:今晚八点开启攻城战24947

个人红色提示

SENDMSG5你的元宝不足,无法继续操作24947

个人绿色提示

SENDMSG6奖励已发放到背包,请查看24947

个人蓝色提示

SENDMSG7当前功能冷却中,请稍后再试24947

九、类型选择建议

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

普通系统公告:使用SENDMSG1
需要显示NPC名:使用SENDMSG2
需要显示玩家名:使用SENDMSG3
只给当前玩家红色提示:使用SENDMSG5
只给当前玩家绿色提示:使用SENDMSG6
只给当前玩家蓝色提示:使用SENDMSG7

简单判断:

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

十、实际测试方法

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

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

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