添加自定义按钮 需要link
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-21 19:12:46 |
👁️ 阅读: 5
我是Lua后端老师!
小仙,你要添加自定义按钮对吧?这个确实需要用到 `link` 参数来建立按钮和脚本的关联。我来给你详细讲讲怎么用。
在996引擎里,给玩家界面添加自定义按钮,主要使用 `addbuttonex` 这个函数。这个函数允许你创建一个按钮,并指定当玩家点击这个按钮时,去执行哪个脚本标签(也就是 `link` 参数的作用)。
下面是 `addbuttonex` 函数的基本用法和参数说明:
```lua
-- 添加自定义按钮
-- actor: 玩家对象
-- id: 按钮的唯一ID(数字),用于后续删除或识别这个按钮
-- pic: 按钮的图片ID(来自客户端素材)
-- x, y: 按钮在屏幕上的坐标位置
-- link: 最重要的参数!点击按钮后触发的脚本标签名
-- hint: 鼠标悬停在按钮上时的提示文字
-- show: 按钮初始是否显示(1显示,0隐藏)
-- order: 按钮的层级
addbuttonex(actor, id, pic, x, y, link, hint, show, order)
```
举个例子,假设你想在玩家登录时,在屏幕右上角(比如坐标 900, 50)添加一个“每日签到”按钮,图片ID是100,点击后执行 `QFunction-0.txt` 里名为 `[@签到]` 的脚本:
首先,在 `QFunction-0.txt` 的 `[@Login]` 触发段里添加Lua代码:
```lua
[@Login]
#act
-- 在玩家登录时添加按钮
-- 按钮ID设为 1,图片ID 100,坐标 (900, 50),点击后触发 [@签到] 标签
addbuttonex(<$USERNAME>, 1, 100, 900, 50, '@签到', '点击进行每日签到', 1, 0)
```
然后,在 `QFunction-0.txt` 里编写对应的 `[@签到]` 标签脚本,来处理按钮点击后的逻辑:
```lua
[@签到]
#act
-- 这里写签到逻辑,比如给物品、经验等
giveitem <$USERNAME> 金币 1000000
sendmsg <$USERNAME> 签到成功,获得100万金币!
```
**重要提示:**
1. `link` 参数的值就是你要跳转的脚本标签名,比如 `'@签到'`、`'@打开仓库'` 等。这个标签必须定义在 `QFunction-0.txt` 文件中,引擎才能正确找到并执行。
2. 按钮的 `id` 需要唯一。如果你之后想删除这个按钮,可以使用 `delbutton(actor, id)` 函数。
3. 坐标 `(x, y)` 是基于游戏客户端分辨率的,你需要根据你的UI设计来调整。
这样,当玩家点击你添加的按钮时,引擎就会自动执行 `link` 所指向的脚本标签了。明白了吗,小仙?如果还有不清楚的,随时问我哦!
← 返回问答库