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

翎风引擎ShowCustomButton自定义UI按钮显示控制教程

M2GM2026-10-14翎风引擎64
摘要:本文详解翎风引擎自定义UI按钮显示控制命令ShowCustomButton,覆盖命令格式、两个参数的状态值与编号含义、主界面背包新行会等24个界面段预留编号对照,以及QF中CustomButtonClick配合$CustomButtonID实现按钮点击触发的方法,并给出按钮不显示、QF不触发等问题的排查思路。…
[TOCM]

自定义UI按钮显示控制用到的核心命令就是ShowCustomButton,在翎风引擎脚本里,靠它就能按脚本把指定编号的按钮显示出来或隐藏掉,不用每次手动去界面配置里开关。

这篇把这条链路拆开讲清楚:ShowCustomButton的命令格式、参数到底怎么填、各界面按钮预留编号从哪段选,以及按钮点击后在QF里怎么用CustomButtonClick和$CustomButtonID触发对应脚本。

下面的示例都基于翎风引擎的本地调试场景整理,命令格式和编号对照来自引擎帮助说明,直接照做就能把按钮显示隐藏和点击触发配置起来。

翎风引擎自定义UI按钮显示控制配图 - M2GM

ShowCustomButton命令格式

ShowCustomButton的完整命令格式是下面这一行,第一个参数填按钮编号,第二个参数填显示或隐藏的状态值:

ShowCustomButton 编号 0/1

命令格式里的编号,对应的是自定义UI界面上各界面段预留给你的按钮编号;状态值0代表隐藏按钮,状态值1代表显示按钮。脚本里按实际要控制的按钮把这两个值填进去即可。

参数怎么填

ShowCustomButton一共两个参数,下面用表格把参数内容、参数释义和实操用法列清楚:

参数内容 参数释义 实操用法
编号 自定义UI按钮的预留编号,取值落在各界面段内 要控制主界面按钮就填主界面段内的编号,要控制背包按钮就填背包段内的编号
状态值0 隐藏该编号按钮 想让按钮暂时不出现时,状态值填0
状态值1 显示该编号按钮 想让按钮正常显示出来时,状态值填1

填编号时注意,编号必须落在目标界面对应的预留段内,否则命令不会对到你要控制的那个按钮。

各界面按钮预留编号对照

不同界面有各自独立的界面按钮编号段,选编号先看你要控制的是哪个界面的按钮。完整对照如下表:

界面 预留编号段
主界面 0到9
背包 20到24
老行会 30到32
系统商铺 40到42
新行会 50到52
装备 60到62
时装 70到71
状态 80到82
属性 90到92
称号 100到102
技能 110到112
出战 120到129
神佑 130到132
首饰盒 140到142
内功状态 300到302
内功技能 310到312
内功经络 3320到322
内功连击 330到332
他人装备 800到802
他人时装 810到812
他人称号 820到822
他人神佑 830到832
他人首饰 840到842
宠物界面 850到858

表里内功经络一行的编号区间在原始说明中记为3320到322,实际使用时请以你引擎版本的具体配置为准,其他界面段按上表对应即可。

设置按钮显示与隐藏的实操步骤

配置自定义UI按钮的显示和隐藏,按下面几步做,每一步都独立生效。

第一步,先在自定义UI界面里开启要用的预留按钮。翎风引擎的登录器、配置器里有预留按钮开关,对应界面段内的按钮默认是预留状态,先打开它,按钮才有编号可控制。

第二步,准备按钮素材。系统自带2张默认素材可以直接用;要换样式就用PS把图片素材改好,再导入PAK补丁文件,按钮外观就会更新。

第三步,在脚本里写ShowCustomButton,把目标按钮编号和状态值填好。要显示按钮就填1,要隐藏就填0,脚本里用这个命令即可随时切换按钮可见状态。

第四步,重载脚本后登录测试。本地重载生效后进游戏看按钮是否按脚本显示或隐藏,状态不对就检查编号是否落在对应界面段内。

QF点击触发怎么联动

按钮显示出来后,点击动作统一进入事件段CustomButtonClick,QF触发脚本里用变量$CustomButtonID拿到被点击按钮的编号,再判断编号执行对应脚本。下面是基础检测脚本,点击任意自定义UI按钮都会提示编号:

[@CustomButtonClick]
#act
SENDMSG 7 按钮点击编号为<$CustomButtonID>

要在指定编号的按钮上触发功能,用equal判断编号即可。以新行会界面的编号50为例,匹配后执行动作并break结束分支:

[@CustomButtonClick]
#IF
equal <$CustomButtonID> 50
#ACT
SENDMSG 7 你触发了50编号的按钮
break

他人装备界面也走同一套逻辑,编号800对应的按钮点击后,可以读取他人名称变量做后续处理:

[@CustomButtonClick]
#IF
equal <$CustomButtonID> 800
#ACT
SENDMSG 7 你触发了他人装备栏自定义按钮1
SENDMSG 7 他人名称<$USERSTATENAME>
break

常见问题

1. ShowCustomButton命令怎么控制按钮显示隐藏?

ShowCustomButton命令填两个参数,第一个是按钮预留编号,第二个是状态值,0代表隐藏按钮,1代表显示按钮。要显示某个按钮就写ShowCustomButton加对应编号加1,要隐藏就写编号加0。编号必须取自目标界面对应的预留段,命令才会作用到正确按钮。(整理自传奇素材网自定义按钮教程)

2. 自定义UI按钮改了显示状态不生效怎么排查?

先确认按钮在自定义UI界面里已经开启为预留状态,没开启的话编号不会被命令识别;再检查ShowCustomButton里填的编号是不是落在对应界面段内,编号填错命令不会生效。素材层面确认PAK补丁里的按钮图片已正确导入,图片没导入按钮即使显示也是空白。最后重载脚本登录测试。

3. 按钮编号要怎么选才不会冲突?

按界面段选编号就不会冲突,每个界面段内的编号只服务本界面按钮,跨界面不会互相覆盖。比如主界面用0到9、背包用20到24、新行会用50到52,各段独立。要控制他人装备就选800到802段。避免拿其它界面段的编号控制本界面按钮,那样命令对不上。(整理自翎风引擎问题反馈专区)

4. 点击自定义UI按钮QF没触发原因有哪些?

先看事件段名是否写成CustomButtonClick,段名拼写错误触发不了;再看判断编号用的变量$CustomButtonID和脚本里equal的编号是否一致,编号对不上分支不执行;确认按钮在UI里已开启预留并显示出来,隐藏状态点不到自然不触发;最后确认脚本重载过,未重载的旧脚本不会响应新配置。(整理自传奇技术公开课背包按钮教程)

5. 预留按钮数量不够用能加吗?

各界面段预留的按钮数量由引擎在UI界面里预设,段内编号段的大小决定了能用的按钮数。比如主界面预留0到9共10个、背包20到24共5个、他人装备800到802共3个。需要更多按钮时,先看该界面段编号容量是否用满,再用其他空闲界面段的编号来扩展功能入口。

6. ShowCustomButton和自定义UI界面直接开关有什么区别?

自定义UI界面里的开关是人工手动配置,改一次管一次;ShowCustomButton是脚本命令,可以在脚本里按条件动态控制按钮显示隐藏,比如达到等级、满足条件时用命令显示按钮,条件不满足时隐藏。需要运行时切换按钮可见状态的场景用命令更灵活。

总结要点

自定义UI按钮显示控制的关键就两点:选对界面段编号,写对ShowCustomButton的状态值。本文从命令格式、参数、编号对照到QF点击触发脚本都覆盖了,照这个流程就能在翎风引擎脚本里把按钮显示隐藏和点击触发配好。ShowCustomButton相关命令示例已在本地环境逐项跑通;命令与机制在这些引擎中普遍适用,但不同引擎存在参数与路径差异,跨引擎使用需要自行测试修改。

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

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

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

本文链接:https://www.m2gm.com/tech/lfm2/lingfeng-showcustombutton-ui/

分享给朋友:

相关文章

大秦插件NPC设置文字坐标怎么用?NPC文字坐标脚本教程

大秦插件NPC设置文字坐标怎么用?NPC文字坐标脚本教程

大秦插件NPC文字坐标教程:两参数对话框内X Y;原点在对话框左上角不是屏幕;和对话框坐标配合;多行文字自动换行;只设文字坐标对话框默认居中,附避坑与实操步骤。…

SD插件SD_CastSkill脚本命令释放技能教程 - 指定人物释放技能问题排查

SD插件SD_CastSkill脚本命令释放技能教程 - 指定人物释放技能问题排查

本文详解SD插件脚本命令释放技能的参数逻辑和使用场景,覆盖副本BOSS开场技能、任务自动上buff、PK伤害测试等实操场景,对比了脚本释放和模拟点击放技能的稳定性差异,同时整理了技能无伤害、NPC放不出、蓝量不足等高频问题的排查思路。…

宝宝攻击触发常量使用教程 - 大秦插件触发字段配置

宝宝攻击触发常量使用教程 - 大秦插件触发字段配置

宝宝攻击触发常量是大秦插件在宝宝物理攻击、魔法攻击、杀死目标三个瞬间配套的一组只读变量。本文对照官方CHM文档梳理三个触发段名与六个常量含义,讲解SLAVECHECKCURRTARGETRACE区分人物与怪物的写法,逐行核对四个官方示例,给出搭建宝宝触发脚本实操步骤,附触发段不执行、常量取空等报错排查与真实提问FAQ。…

物品双击触发脚本不生效?BLUE引擎双击触发配置

物品双击触发脚本不生效?BLUE引擎双击触发配置

物品双击触发脚本是BLUE引擎里让道具双击后自动执行脚本的配置,核心是物品数据库STDMODE填31、ANICOUNT填触发编号,再在QFUNCTION-0.TXT里写[@STDMODEFUNCX]段。本文按官方CHM文档整理参数对照与字段取位,给出绑定双击脚本的四步实操、开宝箱示例段和双击无反应的排查顺序。…

我调试996引擎杀怪名字检测踩过的3个坑

我调试996引擎杀怪名字检测踩过的3个坑

本文复盘996引擎检查人物杀死怪物名字的调试过程,包括CheckKillMonName命令格式、清除参数防重复机制,ONKILLMON地图参数与[@OnKillMob]段配置,一次奖励与任务统计案例,以及不触发、重复触发等报错排查,帮助新手完成杀怪检测与怪物名字判断配置。…

996引擎npc脚本跳转GOTO命令详解 - 标签段分支跳转配置教程

996引擎npc脚本跳转GOTO命令详解 - 标签段分支跳转配置教程

996引擎npc脚本跳转用GOTO、GOTOLABEL、RandomGoto、DELAYGOTO一组命令实现。GOTOLABEL按0到8模式触发小组行会地图范围人物并可带四个传递变量,RandomGoto按几率跳转且百分百字段要写在后面避免短路,DELAYGOTO按毫秒延时跳转并控制换地图是否删除。…

LFM2引擎设置物品悬浮框背景特效 - SetItemWindowEffectIndex命令用法

LFM2引擎设置物品悬浮框背景特效 - SetItemWindowEffectIndex命令用法

LFM2引擎的SetItemWindowEffectIndex命令用于设置物品悬浮框背景特效,格式为物品位置加特效位置加特效编号,单物品最多三个特效槽位,编号0即关闭。本文按帮助文档原文整理命令格式、参数对照、素材配置步骤、固定坐标与平铺模式填法,并给出悬浮框不显示与平铺错位的排查思路,供版本搭建者完成界面定制。…