GOM引擎SetClientBuff命令详解 - BUFF图标显示脚本教程
摘要:SetClientBuff是GOM引擎在屏幕右上角显示常驻图标的脚本命令,图标下方同步倒计时,到期自动消失并触发QF脚本段。本文拆解WIL文件序号、图标序号、倒计时间与附加特效段,说明按钮与倒计时两种模式的触发段名差异,给出NPC配置到QFunction收尾段的实操流程,整理序号冲突、单位混淆等高频踩坑点。…
用了这个命令之后,屏幕右上角会多出一个自定义小图标,图标下面还挂着一行倒计时数字,时间一到图标自动消失,同时触发一段QF脚本做收尾处理。我第一次在本地版本里把它调通,是为了给临时属性药水做一个到期自动提醒的效果。
SetClientBuff就是GOM引擎提供的屏幕右上角图标显示命令,配合CloseClientBuff可以主动把还没到期的图标提前关掉。它和普通的飘字提示不一样,图标会一直钉在屏幕角落,玩家随时能看到剩余时间。下面把命令格式、每个参数的含义、实际配置步骤和我踩过的坑逐一梳理清楚。
![]()
命令作用
这个命令的作用是在屏幕右上角显示一个图标,图标下方同步显示倒计时。倒计时归零时图标自动消失,并且在QF脚本里触发对应的关闭段。做这类BUFF图标设置时,核心就是选对序号和素材。
它有两种工作模式:一种是倒计时模式,传入大于零的秒数,到点自动触发;另一种是按钮模式,传入负一,图标变成可点击按钮,玩家点一下就触发QF里的对应字段。倒计时模式到期触发的是[@CloseClientBuff序号],按钮模式点击触发的是[@文字备注]里填的字段名。
我之前做限时活动buff时,用倒计时模式给玩家挂一个攻击加成图标,玩家随时能在右上角看到屏幕倒计时图标还剩多久。到点图标消失,QF段里再把加成属性清掉,整个流程不需要玩家手动确认。
![]()
参数速查
基础命令格式如下,从左到右一共七个主参数,最后跟一个可选的附加特效段。
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是图标序号,不是文字备注里写的内容。按钮模式才是触发[@文字备注]。我早期把两个触发段搞反,结果按钮点了没反应,倒计时到了也不执行,后来对照帮助文档逐字核对段名才修好。
第四个坑是附加特效段里竖线数量不对。特效段要求七个小项用六个竖线隔开,少写一个竖线引擎就会把后面的参数错位解析。不打算用动态特效时,直接在那个位置写一个星号占位最稳妥。
![]()
配置实战
下面以在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发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。










