当前位置:首页 > 实操教程 > GOM引擎 > 正文内容

GOM引擎SetClientBuff命令详解 - BUFF图标显示脚本教程

M2GM2026-10-07GOM引擎52
摘要:SetClientBuff是GOM引擎在屏幕右上角显示常驻图标的脚本命令,图标下方同步倒计时,到期自动消失并触发QF脚本段。本文拆解WIL文件序号、图标序号、倒计时间与附加特效段,说明按钮与倒计时两种模式的触发段名差异,给出NPC配置到QFunction收尾段的实操流程,整理序号冲突、单位混淆等高频踩坑点。…
[TOCM]

用了这个命令之后,屏幕右上角会多出一个自定义小图标,图标下面还挂着一行倒计时数字,时间一到图标自动消失,同时触发一段QF脚本做收尾处理。我第一次在本地版本里把它调通,是为了给临时属性药水做一个到期自动提醒的效果。

SetClientBuff就是GOM引擎提供的屏幕右上角图标显示命令,配合CloseClientBuff可以主动把还没到期的图标提前关掉。它和普通的飘字提示不一样,图标会一直钉在屏幕角落,玩家随时能看到剩余时间。下面把命令格式、每个参数的含义、实际配置步骤和我踩过的坑逐一梳理清楚。

SetClientBuff设置BUFF图标配图 - M2GM

命令作用

这个命令的作用是在屏幕右上角显示一个图标,图标下方同步显示倒计时。倒计时归零时图标自动消失,并且在QF脚本里触发对应的关闭段。做这类BUFF图标设置时,核心就是选对序号和素材。

它有两种工作模式:一种是倒计时模式,传入大于零的秒数,到点自动触发;另一种是按钮模式,传入负一,图标变成可点击按钮,玩家点一下就触发QF里的对应字段。倒计时模式到期触发的是[@CloseClientBuff序号],按钮模式点击触发的是[@文字备注]里填的字段名。

我之前做限时活动buff时,用倒计时模式给玩家挂一个攻击加成图标,玩家随时能在右上角看到屏幕倒计时图标还剩多久。到点图标消失,QF段里再把加成属性清掉,整个流程不需要玩家手动确认。

SetClientBuff BUFF图标参数内容示意图 - M2GM

参数速查

基础命令格式如下,从左到右一共七个主参数,最后跟一个可选的附加特效段。

SetClientBuff WIL文件序号 序号 图片序号 倒计时间 文字备注 微调坐标X 微调坐标Y 附加特性

各参数含义对照如下:

参数位置 参数内容 实际含义
第1个 WIL文件序号 图标素材所在的WIL包序号,对应客户端资源
第2个 序号 图标的编号,范围1到100,关闭和触发都靠它定位
第3个 图片序号 该WIL包内具体显示哪一张图
第4个 倒计时间 负一为按钮模式,大于零为倒计时秒数,负二为永久
第5个 文字备注 按钮模式下点击触发的字段名,倒计时模式可填说明文字
第6个 微调坐标X 图标水平位置微调,零为默认
第7个 微调坐标Y 图标垂直位置微调,零为默认
第8个 附加特性 动态特效段,不用时留空或写星号

附加特效段内部用竖线分隔,一共七个小项:特效WIL序号、特效开始图片、播放张数、播放速度毫秒、播放模式零为特效绘制一为普通绘制、微调X、微调Y。官方给的标准写法是9|840|10|200|0|0|40,表示在序号9的WIL包里从第840张图开始连续播10张,每200毫秒一帧。

2023年版本在末尾追加了两个新参数:参数九控制图标位置,零为按小地图位置、一为屏幕左侧、二为屏幕右侧;参数十控制倒计时结束后是否重新排序。如果不用附加特效又想加这两个新参数,中间用星号占位。

关闭图标的命令格式很简单:

CloseClientBuff 序号

序号填要关闭的图标编号即可。早期版本序号上限是20个,2023年后扩展到100个,倒计时上限也从65535秒提到了2100000秒。

易错提醒

我自己踩过最大的坑,是把倒计时秒数和毫秒搞混。这个命令的倒计时间单位是秒,不是毫秒,填60就是60秒,不是60毫秒。一开始我照着别的延时命令习惯填了3000,结果图标挂着三十多分钟才消失,排查了半天才反应过来单位错了。

第二个坑是序号冲突。序号1到100是全局共享的,不同NPC脚本里如果都用同一个序号挂图标,后执行的会把先挂的顶掉。我习惯在脚本里给不同功能段分配固定序号段,比如活动buff用1到10,临时药水用11到20,这样互不干扰。

第三个坑是QF触发段名对不上。倒计时到点触发的是[@CloseClientBuffX],这里的X是图标序号,不是文字备注里写的内容。按钮模式才是触发[@文字备注]。我早期把两个触发段搞反,结果按钮点了没反应,倒计时到了也不执行,后来对照帮助文档逐字核对段名才修好。

第四个坑是附加特效段里竖线数量不对。特效段要求七个小项用六个竖线隔开,少写一个竖线引擎就会把后面的参数错位解析。不打算用动态特效时,直接在那个位置写一个星号占位最稳妥。

SetClientBuff BUFF图标脚本配置示意图 - M2GM

配置实战

下面以在NPC对话里给玩家挂一个限时攻击加成图标为例,走完整个状态图标脚本配置流程。脚本路径统一放在D:\本地传奇版本\Mir200\Envir\Market_Def下。

第一步,打开NPC脚本文件,在要发放buff的对话段里写入SetClientBuff命令,指定序号、图片和倒计时秒数。

[@攻击buff]
#ACT
SetClientBuff 9 1 275 60 临时攻击加成 0 0 9|840|10|200|0|0|40

第二步,打开QFunction-0.txt,在里面写好倒计时到期触发段。序号是1,所以段名写成[@CloseClientBuff1],段内做属性收尾处理。

[@CloseClientBuff1]
#ACT
SENDMSG 6 临时攻击加成已到期

第三步,如果要用按钮模式,把倒计时间改成负一,文字备注里填要触发的字段名,玩家点击图标就会跳到对应字段段。

[@按钮buff]
#ACT
SetClientBuff 12 4 236 -1 触发字段 4 0

第四步,保存脚本后在M2控制台重新加载NPC脚本和QF脚本,进游戏点击NPC测试图标是否出现在右上角、倒计时是否走动、到期是否触发对应段。

热点问答

1. 问:SetClientBuff挂了图标为什么屏幕右上角什么都不显示?

先检查WIL文件序号和图片序号填的是否对应客户端实际资源,资源包没打进客户端时图标位置是空的。再确认倒计时间参数没填成0,填0等于立即结束。最后检查脚本是否保存后重载,改完NPC脚本不重载是不会生效的。

2. 问:倒计时到点了为什么QF收尾段没有执行?

到期触发的段名必须是[@CloseClientBuff]后面紧跟图标序号,比如序号3就写对应数字。段名写错、序号对不上、或者QF脚本没重载,都会导致到点不触发。按钮模式和倒计时模式的触发段名不一样,别混着写。

3. 问:脚本改完重新进游戏图标还是旧效果怎么办?

NPC脚本和QF脚本都改完后,需要在M2控制台点重新加载对应脚本,而不是重启客户端。如果重载后仍不生效,检查脚本文件编码和段名拼写,多打一个空格或少一个括号都会让整段失效。(本条问题整理自百度知道真实提问:传奇服务端脚本改了游戏里面没变化,2022年11月)

4. 问:SetClientBuff和SENDMSG飘字提示有什么区别?

SENDMSG是一次性弹出的文字提示,看完就消失;SetClientBuff是常驻屏幕角落的图标,带持续倒计时,玩家随时能瞄到剩余时间。要做瞬时反馈用SENDMSG,要做持续状态提醒用SetClientBuff,两者可以配合使用。(本条问题整理自百度知道真实提问:传奇gom引擎脚本命令常用命令分类,2026-07)

5. 问:倒计时参数填60是60秒还是60毫秒?

这个命令的倒计时间单位是秒,填60就是60秒后到期,填300就是5分钟。负一表示按钮模式不倒计时,负二表示永久显示不自动消失。需要毫秒级精度的延时场景不要用这个命令,改用DelayCall。

6. 问:图标序号最多能挂几个,会不会互相顶掉?

2023年版本序号上限扩展到100个,理论上同时挂100个不同序号的图标。但同一个序号重复调用会覆盖之前的显示内容,所以不同功能要分配不同序号。我习惯按功能段划分序号区间,避免后期功能叠加时冲突。

7. 问:攻速类脚本加了图标不生效怎么排查?

先确认触发条件是否满足,脚本段是否真的执行到了SetClientBuff这一行。可以在命令前加一行SENDMSG打印调试信息,看角色点NPC时有没有输出。再核对图标序号、WIL序号、图片序号三个数字是否和客户端资源对应,任何一个填错都可能静默失败。(本条问题整理自百度知道真实提问:gom攻速脚本不生效,2023年7月)

全篇回顾

SetClientBuff解决的是屏幕右上角常驻状态图标的显示需求,倒计时模式做到期自动收尾,按钮模式做可点击入口。参数里WIL序号、图片序号、序号三者要和客户端资源对应,倒计时间单位是秒不是毫秒,QF触发段名按序号拼装。配合CloseClientBuff可以提前主动清掉还没到期的图标。

整篇关于SetClientBuff屏幕图标显示的配置案例,均在本地GOM引擎版本环境逐项跑通验证;该命令仅适配GOM引擎,其他引擎同名命令的参数格式存在差异,跨引擎迁移时需要自行测试调整。以上内容仅供单机本地学习调试使用。

扫描二维码推送至手机访问。

本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。

本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。

本文链接:https://www.m2gm.com/tech/gom/set-buff-icon/

分享给朋友:

相关文章

SD插件SDBMakePosion命令用法 - 宝宝攻击附毒与麻痹状态改变详解

SD插件SDBMakePosion命令用法 - 宝宝攻击附毒与麻痹状态改变详解

SD插件宝宝攻击状态教程:命令SDBMakePosion三个参数,状态编号0绿毒1红毒5麻痹12冰冻13蛛网,在宝宝物理魔法攻击触发调用,含状态效果对比与避坑,适配SD插件脚本学习,仅供单机本地调试。…

996引擎ChangeModeEx使用教程 - 给人物加状态脚本配置

996引擎ChangeModeEx使用教程 - 给人物加状态脚本配置

ChangeModeEx后接模式时间和附加值;模式1-24:1无敌2隐身3HP4MP5攻击力6魔法力7道术力8攻击速度9禁止攻击10锁定,11-24禁锢冰冻蛛网防麻痹护身吸血吸蓝复活破复活,25定身26失明27混乱28流血;无敌参数三0或空立即满血、1只无敌不回血,禁锢参数三为范围;时间1-65535附加值1-21亿。…

ESP插件动画效果相关功能 - 特效编辑配置指南

ESP插件动画效果相关功能 - 特效编辑配置指南

本文讲解ESP插件动画效果脚本的完整用法,以ESPPlayEffect为核心梳理特效编号来源与机制,并给出与ESPRangeHarm范围伤害命令联动的配置方法,包含参数表格、分步配置流程与常见坑点排查,帮助新手在本地环境完成受击动画、自身特效等动画玩法调试与故障定位,脚本示例按帮助文档原文整理可直接对照配置。…

宝宝改变目标状态脚本详解 - 大秦插件麻痹冰冻配置方法

宝宝改变目标状态脚本详解 - 大秦插件麻痹冰冻配置方法

宝宝改变目标状态是大秦插件放在宝宝攻击触发段里给目标挂状态的命令BMAKEPOSION,三个参数分别控制状态类型、持续秒数与威力。本文对照官方文档整理类型对照表,拆解官方示例BMAKEPOSION 5 5 888,给出[@MySlaveAttack]触发段配置步骤,附状态不生效排查与真实提问FAQ。…

996引擎动态调整特殊属性ChangeSP详解 - 限时开关配置教程

996引擎动态调整特殊属性ChangeSP详解 - 限时开关配置教程

996引擎动态调整特殊属性用ChangeSP命令开关指定编号的特殊属性,本文讲解标准格式、参数解析、限时防复活配置流程与边界场景。参数1为属性编号0到14加20对怪隐身、参数2为0关1开、参数3为持续秒数或10到14几率值,到期在QFunction挂[@ChangeSPTimeOutX]收回,命令下线失效不支持假人。…