游戏中左侧ADDBUTTON按钮风格的参数数值显示详细说明
使用方式把这类脚本放到玩家登录后会执行的位置,例如:D:\\MirServer\\Mir200\\Envir\\MapQuest_def\\QManage.txt基础结构:[@Login]#ACTSetOnTimer 250 1MOV N$人物显示爆率 0MOV N$

ADDBUTTON 自定义界面按钮/HUD 显示功能 使用方式
把这类脚本放到玩家登录后会执行的位置,例如:
D:\MirServer\Mir200\Envir\MapQuest_def\QManage.txt
基础结构:
[@Login]
#ACT
SetOnTimer 250 1
MOV N$人物显示爆率 0
MOV N$神力倍数 0
MOV N$切割值 0
MOV S$复活状态 无
[@OnTimer250]
#ACT
ADDBUTTON 21 1 131 131 131 0 350 0 .爆率:<$STR(N$人物显示爆率)>% -1
ADDBUTTON 21 2 131 131 131 0 380 0 .神力:<$STR(N$神力倍数)>% -1
ADDBUTTON 21 3 131 131 131 0 410 0 .切割:<$STR(N$切割值)> -1
ADDBUTTON 21 4 131 131 131 0 440 0 .复活:<$STR(S$复活状态)> -1
ADDBUTTON 21 5 131 131 131 0 470 0 .Rmb:<$GAMEPOINT> -1
参数含义
ADDBUTTON 文件号 按钮ID 正常图片 鼠标图片 按下图片 X Y 浮动 文本 扩展文本
你的例子:
ADDBUTTON 21 1 131 131 131 0 350 0 .爆率:<$STR(N$人物显示爆率)>% -1
含义:
21:客户端素材文件序号。1:按钮 ID,当前支持0..31。131 131 131:按钮三态图片序号。0 350:显示坐标。0:浮动模式。.爆率:...:按钮显示文字。-1:扩展文字参数,不需要可固定写-1。
变量说明
<$GAMEPOINT> 是 M2 内置变量,直接显示玩家 RMB 点/游戏点。
<$STR(N$人物显示爆率)> 是玩家数字变量,需要你自己赋值:
MOV N$人物显示爆率 50
显示为:
爆率:50%
<$STR(S$复活状态)> 是玩家字符串变量,需要你自己赋值:
MOV S$复活状态 可复活
显示为:
复活:可复活
刷新机制
SetOnTimer 250 1 表示开启 250 号定时器,每 1 秒执行一次:
[@OnTimer250]
所以 ADDBUTTON 每秒重新下发一次,变量变化后界面会自动刷新。
如果要关闭:
KillTimer 250
DELBUTTON 1
DELBUTTON 2
DELBUTTON 3
DELBUTTON 4
DELBUTTON 5
关键注意
按钮 ID 不要重复。比如你用了 1..5,其它系统就不要再用 1..5,否则会覆盖显示。
推荐规划:
1..10:左侧属性显示。11..20:活动按钮。21..31:插件或临时按钮。
脚本增加自定义按钮
功能说明
通过 NPC 脚本命令给客户端增加自定义按钮。按钮显示在客户端指定界面位置,玩家点击后触发 QF 脚本标签 @ButtonClickX。
当前源码已实现:
ADDBUTTON 增加或刷新按钮。
DELBUTTON 删除按钮。
按钮点击触发 @ButtonClickX。
普通文字标题、换行、空标题。
标题内嵌颜色 {文字|颜色}。
标题图片/特效标签:img、Looks、DnItems、StateItem、NewopUI、PlayImg。
删除、重建、清场时自动清理按钮富标题子控件。
ADDBUTTON
格式
ADDBUTTON 参数1 参数2 参数3 参数4 参数5 参数6 参数7 参数8 参数9 参数10
参数说明
| 参数 | 说明 |
| --- | --- |
| 参数1 | WIL 补丁序号,对应 M2 查看/列表信息二/WIL 资源中配置的资源序号。 |
| 参数2 | 按钮点击后的脚本触发序号,点击后触发 QF 中的 [@ButtonClickX],X 即此参数。 |
| 参数3 | 按钮默认图片序号。 |
| 参数4 | 鼠标经过图片序号。 |
| 参数5 | 按钮按下图片序号。 |
| 参数6 | 距离所属窗口左边的距离,建议用分辨率宽变量计算。 |
| 参数7 | 距离所属窗口顶边的距离,建议用分辨率高变量计算。 |
| 参数8 | 按钮所属窗口或移动模式,见下方“参数8 已支持位置”。 |
| 参数9 | 按钮标题。-1 为空标题;支持 \ 换行;支持 {文字|颜色};支持图片/特效标签。 |
| 参数10 | 鼠标移动到按钮上显示的悬浮提示。-1 为空提示。 |
参数范围
参数1:0-255。
参数2:脚本建议使用 1-50。
参数3、参数4、参数5:必须为大于等于 0 的图片序号。
参数6、参数7:0-32767。
参数8:0-30,但只支持下表列出的已映射位置。
参数9:客户端最多接收 255 字符。
参数10:客户端最多接收 512 字符。
参数8 已支持位置
| 值 | 说明 |
| --- | --- |
| 0 | 主界面,不能移动。 |
| 1 | 主界面,可以移动。 |
| 2 | 人物装备栏。 |
| 3 | 人物背包栏。 |
| 4 | 英雄装备栏。 |
| 5 | 英雄背包栏。 |
| 6 | 聊天框左侧龙界面。 |
| 7 | 聊天框右侧等级界面。 |
| 8 | 商铺界面。 |
| 9 | 时装界面。 |
| 10 | 英雄时装界面。 |
| 11 | 技能栏。 |
| 12 | 英雄技能栏。 |
| 13 | 称号栏。 |
| 15 | 状态栏。 |
| 16 | 英雄状态栏。 |
| 17 | 属性栏。 |
| 18 | 英雄属性栏。 |
| 19 | 人物出战栏。 |
| 20 | 行会界面。 |
| 29 | 新任选窗口界面。 |
| 30 | 小地图界面。 |
未列出的参数8值不要在脚本中使用。
普通示例
[@main]
<自定义按钮/@main1>\
[@main1]
#IF
#ACT
ADDBUTTON 3 1 283 284 285 10 200 1 自定义按钮1\测试增加按钮 这是一个提示信息
点击后触发 QF:
[@ButtonClick1]
#IF
#ACT
SENDMSG 6 你点击了自定义按钮1
空标题示例
#IF
#ACT
ADDBUTTON 3 1 283 284 285 10 200 1 -1 这是一个无标题按钮
DELBUTTON
格式
DELBUTTON 参数1 参数2
参数说明
| 参数 | 说明 |
| --- | --- |
| 参数1 | 按钮序号,建议使用 1-50。 |
| 参数2 | 0 或省略:只删除当前玩家按钮;1:删除全服在线玩家按钮。 |
示例
#IF
#ACT
DELBUTTON 1
#IF
#ACT
DELBUTTON 1 1
参数9 标题颜色
整体标题颜色
标题最前面可以使用 颜色#标题 设置整个按钮标题基础颜色。
#IF
#ACT
ADDBUTTON 38 1 73 73 73 520 1 0 251#装备回收 251#在线回收
内嵌文字颜色
标题中可以使用 {文字内容|颜色0-255} 设置局部文字颜色。
#IF
#ACT
ADDBUTTON 1 6 135 136 137 10 15 6 这是第一行{文字|250}\{这是第二行|249}\这是第3行 这是一个提示信息
参数9 图片和特效标签
图片/特效标签需要写在参数9标题中,格式使用尖括号包住。
支持格式
<img:图片序号:文件序号:X:Y>
<Looks:图片:X:Y>
<DnItems:图片:X:Y>
<StateItem:图片:X:Y>
<NewopUI:图片:X:Y>
<PlayImg:文件序号:开始图片:播放张数:速度:X:Y:绘制模式>
标签说明
| 标签 | 说明 |
| --- | --- |
| img | 从 WIL 补丁资源中绘制静态图片。 |
| Looks | 从包裹物品图资源中绘制图片。 |
| DnItems | 从地面物品图资源中绘制图片。 |
| StateItem | 从状态/装备物品图资源中绘制图片。 |
| NewopUI | 从 NewopUI 资源中绘制图片。 |
| PlayImg | 从 WIL 补丁资源中播放图片序列。 |
PlayImg 绘制模式
| 值 | 说明 |
| --- | --- |
| 0 | 普通绘制。 |
| 1 | 透明绘制。 |
特效按钮示例
#IF
#ACT
ADDBUTTON 1 6 135 136 137 0 15 6 \<PlayImg:0:1670:10:80:0:0:0> 这是一个特效按钮
说明:如果标题只想显示特效,建议保留开头的 \ 或添加其它文字,便于脚本参数保持清晰。
图片加文字颜色示例
#IF
#ACT
ADDBUTTON 1 6 135 136 137 10 15 6 <img:100:0:0:0>{回收|250}\{点击打开|249} 装备回收提示
使用注意
同一按钮序号重复执行 ADDBUTTON 会刷新按钮,并清理旧的富标题控件。
执行 DELBUTTON 会隐藏按钮并清理标题图片/特效子控件。
图片资源不存在、序号越界或标签参数错误时,该图片片段会被跳过,不影响按钮本体显示。
普通尖括号文本不会被当成标签;只有已支持的标签名才会触发图片/特效解析。
参数8 只能使用本文列出的已支持位置。