脚本实现逻辑与引擎适配
实现“人物在公告栏打字发送时提示等级要求”的功能,核心在于拦截公告栏发言指令并插入等级检测。不同引擎的脚本节点名称不同,需根据服务端类型选择对应代码。
引擎类型 触发节点 核心命令说明
HERO / LEGEND [@SendMsg] 通用聊天检测节点,需配合CheckLevelEx检测
GOM / GEE [@SendNotice] 专门用于公告栏控制的节点
BLUE [@公告栏输入] 部分老版本使用此节点
完整脚本代码(HERO/LEGEND引擎示例)
以下代码以45级为解禁条件,当玩家等级不足时发送红色提示,并阻止消息发出。
[@SendMsg]
#IF
CheckLevelEx < 45 ;检测等级是否小于45级
#ACT
SendMsg 6 【系统】等级需达到45级才可解除禁言,自动发送公告!
Break ;中断脚本,阻止消息发送
#ELSEACT
;等级达标,不执行任何操作,消息正常发送
代码参数详解:
• CheckLevelEx < 45:判断人物当前等级是否小于45。若满足条件,执行#ACT下的动作。
• SendMsg 6:发送红色文字提示给当前玩家(参数6通常代表红色私聊提示)。
• Break:强制终止脚本,使当前的发言指令失效,玩家看不到自己发出的字。
GOM/GEE引擎特殊配置
GOM与GEE引擎需使用@SendNotice命令,且需开启功能开关。
[@SendNotice]
#IF
CheckLevelEx < 45
#ACT
SendMsg 6 等级需45级以上才可以自动解除禁言!
Break
关键设置:在GOM引擎的M2Server → 选项 → 功能开关 → 脚本控制中,必须勾选“启用公告发言控制”,否则[@SendNotice]节点不会生效。
常见问题排查(脚本不生效)
1. 提示未显示:检查SendMsg后的参数(如6或5),确保是玩家可见的频道。部分版本需使用SENDMSG 7(蓝色)才显眼。
2. 禁言未解除:此脚本仅负责“提示”和“拦截”,不包含自动解除禁言逻辑。若需达到45级自动解禁,需在QManage.txt的[@PlayLevelUp]段添加GMEXECUTE ReleaseShutUp SELF命令。
3. 节点无效:确认引擎类型。BLUE引擎可能需使用[@公告栏输入]节点;若脚本写在QFunction-0.txt中,确保文件名和路径无误。
自动解禁与登录触发补充
若需实现“上线检测+升级自动解禁”的完整闭环,需配合登录脚本。
登录触发(QManage.txt):
[@Login]
#IF
CheckLevelEx < 45
#ACT
GMEXECUTE SHUTUP SELF ;上线即禁言
SendMsg 6 当前处于禁言状态,升级至45级自动解除。
[@PlayLevelUp]
#IF
CheckLevelEx > 44 ;升级检测,达到45级时
#ACT
GMEXECUTE ReleaseShutUp SELF ;执行解禁命令
SendMsg 6 恭喜!禁言状态已自动解除。
此方案通过SHUTUP命令实现硬性禁言,配合升级事件[@PlayLevelUp]自动解除,公告栏脚本仅作为前端提示,逻辑更严密。
传奇人物禁言脚本配置:公告栏发言触发等级提示
来源:
作者:
点击:

