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

传奇人物禁言脚本配置:公告栏发言触发等级提示

热度:
脚本实现逻辑与引擎适配

实现“人物在公告栏打字发送时提示等级要求”的功能,核心在于拦截公告栏发言指令并插入等级检测。不同引擎的脚本节点名称不同,需根据服务端类型选择对应代码。

引擎类型触发节点核心命令说明

HERO/LEGEND[@SendMsg]通用聊天检测节点,需配合CheckLevelEx检测

GOM/GEE[@SendNotice]专门用于公告栏控制的节点

BLUE[@公告栏输入]部分老版本使用此节点

完整脚本代码(HERO/LEGEND引擎示例)

以下代码以45级为解禁条件,当玩家等级不足时发送红色提示,并阻止消息发出。
[@SendMsg]
#IF
CheckLevelEx<45;检测等级是否小于45级
#ACT
SendMsg6【系统】等级需达到45级才可解除禁言,自动发送公告!
Break;中断脚本,阻止消息发送
#ELSEACT
;等级达标,不执行任何操作,消息正常发送


代码参数详解:
•CheckLevelEx<45:判断人物当前等级是否小于45。若满足条件,执行#ACT下的动作。

•SendMsg6:发送红色文字提示给当前玩家(参数6通常代表红色私聊提示)。

•Break:强制终止脚本,使当前的发言指令失效,玩家看不到自己发出的字。

GOM/GEE引擎特殊配置

GOM与GEE引擎需使用@SendNotice命令,且需开启功能开关。
[@SendNotice]
#IF
CheckLevelEx<45
#ACT
SendMsg6等级需45级以上才可以自动解除禁言!
Break


关键设置:在GOM引擎的M2Server→选项→功能开关→脚本控制中,必须勾选“启用公告发言控制”,否则[@SendNotice]节点不会生效。

常见问题排查(脚本不生效)

1.提示未显示:检查SendMsg后的参数(如6或5),确保是玩家可见的频道。部分版本需使用SENDMSG7(蓝色)才显眼。
2.禁言未解除:此脚本仅负责“提示”和“拦截”,不包含自动解除禁言逻辑。若需达到45级自动解禁,需在QManage.txt的[@PlayLevelUp]段添加GMEXECUTEReleaseShutUpSELF命令。
3.节点无效:确认引擎类型。BLUE引擎可能需使用[@公告栏输入]节点;若脚本写在QFunction-0.txt中,确保文件名和路径无误。

自动解禁与登录触发补充

若需实现“上线检测+升级自动解禁”的完整闭环,需配合登录脚本。

登录触发(QManage.txt):
[@Login]
#IF
CheckLevelEx<45
#ACT
GMEXECUTESHUTUPSELF;上线即禁言
SendMsg6当前处于禁言状态,升级至45级自动解除。

[@PlayLevelUp]
#IF
CheckLevelEx>44;升级检测,达到45级时
#ACT
GMEXECUTEReleaseShutUpSELF;执行解禁命令
SendMsg6恭喜!禁言状态已自动解除。


此方案通过SHUTUP命令实现硬性禁言,配合升级事件[@PlayLevelUp]自动解除,公告栏脚本仅作为前端提示,逻辑更严密。
[顶部]