GOM引擎的“悬浮按钮”与“自定义按钮”是扩展游戏界面、实现快捷功能的核心组件。两者本质相同,仅交互逻辑存在差异:悬浮按钮支持玩家拖拽移动,自定义按钮通常固定位置。功能实现均依赖ADDBUTTON脚本命令与素材配置。
一、功能定义与核心差异
•悬浮按钮:参数中移动权限设置为1,玩家可长按拖拽至屏幕任意位置,适合作为“快捷加血”、“一键回收”等高频功能的入口,不遮挡游戏主视野。
*自定义按钮:移动权限设置为0,固定在界面指定坐标,常用于扩展主界面功能栏,如“会员服务”、“在线充值”等入口。
*共同特性:均支持三态图片切换(默认/经过/按下)、自定义悬浮提示文字,且单角色最多同时存在20个按钮(序号1-20)。
二、ADDBUTTON命令参数全解
按钮创建核心命令为ADDBUTTON,需在登录脚本(QManage.txt)或功能脚本中调用。完整格式如下:
ADDBUTTON补丁序号触发序号默认图号经过图号按下图号X坐标Y坐标移动权限按钮文字悬浮提示
参数说明配置要点
参数1WIL补丁序号对应M2“查看-列表信息二-WIL资源”中配置的素材库序号。
参数2触发序号(1-20)点击按钮后,触发QFunction-0.txt中的[@ButtonClickX]标签(X为此序号)。
参数3-5图片编号分别对应按钮的默认状态、鼠标悬停状态、按下状态的素材编号。
参数6-7X坐标Y坐标按钮初始位置。建议使用${Width}、${Height}变量计算,适配不同分辨率。
参数8移动权限0=不可移动(自定义按钮),1=可移动(悬浮按钮)。
参数9按钮文字显示在按钮上的标题,填-1为不显示文字。
参数10悬浮提示鼠标悬停时的说明文字,支持\换行和/颜色代码(如253/红色文字)。
三、配置实操:从素材到脚本
1.素材准备与导入
•准备按钮的三张状态图(如button1.bmpbutton2.bmpbutton3.bmp),建议尺寸统一。
•将图片导入PAK/WIL补丁文件,并在M2的“WIL资源”列表中确认该补丁的加载序号(如序号5)。
2.脚本添加按钮(登录触发示例)
在Mir200\Envir\MapQuest_def\QManage.txt的[@Login]标签下添加脚本,实现上线即显示按钮:
[@Login]
#IF
#ACT
;添加一个悬浮按钮(可移动)
ADDBUTTON51100101102502001-1253/一键回收\254/点击快速回收垃圾装备
;添加一个固定自定义按钮
ADDBUTTON52110111112103000-1253/会员服务
3.功能触发脚本
在Mir200\Envir\Market_Def\QFunction-0.txt中编写按钮点击后的逻辑:
[@ButtonClick1]
#IF
#ACT
;执行一键回收逻辑
GAMEGOLD+1000
SENDMSG6回收成功,获得1000元宝!
BREAK
[@ButtonClick2]
#IF
CHECKGAMEGOLD>999
#ACT
GAMEGOLD-1000
;调用外部会员脚本
CALL[\系统功能\会员系统.txt]@VIP_Open
BREAK
四、进阶应用与排错
•按钮的删除与动态控制:使用DELBUTTON序号命令可删除指定按钮。结合#IF条件判断,可实现达到特定等级或完成任务后动态添加/移除按钮。
•坐标定位技巧:若按钮在不同分辨率下错位,可将坐标参数改为动态计算,如ADDBUTTON...${Width}-100${Height}-100...,使其始终定位在屏幕右下角。
•常见问题:
◦按钮不显示:检查补丁序号是否正确,以及客户端是否加载了对应的PAK密码。
◦点击无反应:确认[@ButtonClickX]标签中的X与ADDBUTTON的触发序号是否严格对应。
◦素材错乱:确保三张图片的编号连续且存在于补丁文件中。
通过灵活运用移动权限与坐标参数,开发者可快速构建出贴合版本特色的悬浮助手或功能导航栏,极大提升玩家操作效率。
一、功能定义与核心差异
•悬浮按钮:参数中移动权限设置为1,玩家可长按拖拽至屏幕任意位置,适合作为“快捷加血”、“一键回收”等高频功能的入口,不遮挡游戏主视野。
*自定义按钮:移动权限设置为0,固定在界面指定坐标,常用于扩展主界面功能栏,如“会员服务”、“在线充值”等入口。
*共同特性:均支持三态图片切换(默认/经过/按下)、自定义悬浮提示文字,且单角色最多同时存在20个按钮(序号1-20)。
二、ADDBUTTON命令参数全解
按钮创建核心命令为ADDBUTTON,需在登录脚本(QManage.txt)或功能脚本中调用。完整格式如下:
ADDBUTTON补丁序号触发序号默认图号经过图号按下图号X坐标Y坐标移动权限按钮文字悬浮提示
参数说明配置要点
参数1WIL补丁序号对应M2“查看-列表信息二-WIL资源”中配置的素材库序号。
参数2触发序号(1-20)点击按钮后,触发QFunction-0.txt中的[@ButtonClickX]标签(X为此序号)。
参数3-5图片编号分别对应按钮的默认状态、鼠标悬停状态、按下状态的素材编号。
参数6-7X坐标Y坐标按钮初始位置。建议使用${Width}、${Height}变量计算,适配不同分辨率。
参数8移动权限0=不可移动(自定义按钮),1=可移动(悬浮按钮)。
参数9按钮文字显示在按钮上的标题,填-1为不显示文字。
参数10悬浮提示鼠标悬停时的说明文字,支持\换行和/颜色代码(如253/红色文字)。
三、配置实操:从素材到脚本
1.素材准备与导入
•准备按钮的三张状态图(如button1.bmpbutton2.bmpbutton3.bmp),建议尺寸统一。
•将图片导入PAK/WIL补丁文件,并在M2的“WIL资源”列表中确认该补丁的加载序号(如序号5)。
2.脚本添加按钮(登录触发示例)
在Mir200\Envir\MapQuest_def\QManage.txt的[@Login]标签下添加脚本,实现上线即显示按钮:
[@Login]
#IF
#ACT
;添加一个悬浮按钮(可移动)
ADDBUTTON51100101102502001-1253/一键回收\254/点击快速回收垃圾装备
;添加一个固定自定义按钮
ADDBUTTON52110111112103000-1253/会员服务
3.功能触发脚本
在Mir200\Envir\Market_Def\QFunction-0.txt中编写按钮点击后的逻辑:
[@ButtonClick1]
#IF
#ACT
;执行一键回收逻辑
GAMEGOLD+1000
SENDMSG6回收成功,获得1000元宝!
BREAK
[@ButtonClick2]
#IF
CHECKGAMEGOLD>999
#ACT
GAMEGOLD-1000
;调用外部会员脚本
CALL[\系统功能\会员系统.txt]@VIP_Open
BREAK
四、进阶应用与排错
•按钮的删除与动态控制:使用DELBUTTON序号命令可删除指定按钮。结合#IF条件判断,可实现达到特定等级或完成任务后动态添加/移除按钮。
•坐标定位技巧:若按钮在不同分辨率下错位,可将坐标参数改为动态计算,如ADDBUTTON...${Width}-100${Height}-100...,使其始终定位在屏幕右下角。
•常见问题:
◦按钮不显示:检查补丁序号是否正确,以及客户端是否加载了对应的PAK密码。
◦点击无反应:确认[@ButtonClickX]标签中的X与ADDBUTTON的触发序号是否严格对应。
◦素材错乱:确保三张图片的编号连续且存在于补丁文件中。
通过灵活运用移动权限与坐标参数,开发者可快速构建出贴合版本特色的悬浮助手或功能导航栏,极大提升玩家操作效率。

