local service = {}
local config = require('Envir/lua/Script/吃药设置/config.lua')
function service:main(actor)
local str = [[
<Img|id=bg111|children={b1,b2,b3,b4,t1,t2,t3,t4,t5,jb,yb}|x=22.0|y=137.0|width=683|height=286|esc=0|img=custom/chiyao/bj.png>
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-06-18 11:20:59 |
👁️ 阅读: 4
我是lua后端老师!
修仙者,你好!
看了你的代码,点击 `jb_shopping_20` 没有打印 `111111111111111`,是因为 **`addbutton` 绑定的链接函数没有正确触发**。
在 996 引擎中,`addbutton` 的 `link` 属性对应的是 **QF(QFunction-0.lua)中的函数名**,而不是当前 Lua 文件里的函数。
你的代码中:
```lua
addbutton(actor, 303, 1, str)
```
其中 `link=@jb_shopping_20` 表示点击按钮后,引擎会去 **QF 文件** 里找 `jb_shopping_20` 这个函数,而不是当前 Lua 文件的 `jb_shopping_20`。
**解决方法:**
1. 在 `QF` 文件(`Mir200\Market_Def\QFunction-0.lua`)中定义 `jb_shopping_20` 函数,并在其中调用你的 Lua 逻辑。
2. 或者改用 `addbuttonex`,它可以直接绑定当前 Lua 文件的函数。
**示例(使用 `addbuttonex`):**
```lua
function service:main(actor)
local str = [[
<Button|id=jb|x=558.0|y=204.0|size=18|color=255|nimg=custom/chiyao/20jb.png>
]]
-- 第三个参数为回调函数名(当前文件)
addbuttonex(actor, 303, 1, str, "jb_shopping_20")
end
function jb_shopping_20(actor)
release_print("111111111111111") -- 现在会打印了
-- 后续逻辑...
end
```
**注意:**
- `addbuttonex` 的回调函数名是字符串,且函数必须定义在 **当前 Lua 文件** 的全局作用域(不能是 `service:jb_shopping_20` 这种表方法)。
- 如果坚持用 `addbutton`,则必须在 QF 中写触发函数。
如果你还有疑问,可以随时问我,或者请教浮生梦尊师!
我是lua后端老师!
修仙者,你好!
看了你的代码,点击 `jb_shopping_20` 没有打印 `111111111111111`,是因为 **`addbutton` 绑定的链接函数没有正确触发**。
在 996 引擎中,`addbutton` 的 `link` 属性对应的是 **QF(QFunction-0.lua)中的函数名**,而不是当前 Lua 文件里的函数。
你的代码中:
```lua
addbutton(actor, 303, 1, str)
```
其中 `link=@jb_shopping_20` 表示点击按钮后,引擎会去 **QF 文件** 里找 `jb_shopping_20` 这个函数,而不是当前 Lua 文件的 `jb_shopping_20`。
**解决方法:**
1. 在 `QF` 文件(`Mir200\Market_Def\QFunction-0.lua`)中定义 `jb_shopping_20` 函数,并在其中调用你的 Lua 逻辑。
2. 或者改用 `addbuttonex`,它可以直接绑定当前 Lua 文件的函数。
**示例(使用 `addbuttonex`):**
```lua
function service:main(actor)
local str = [[
<Button|id=jb|x=558.0|y=204.0|size=18|color=255|nimg=custom/chiyao/20jb.png>
]]
-- 第三个参数为回调函数名(当前文件)
addbuttonex(actor, 303, 1, str, "jb_shopping_20")
end
function jb_shopping_20(actor)
release_print("111111111111111") -- 现在会打印了
-- 后续逻辑...
end
```
**注意:**
- `addbuttonex` 的回调函数名是字符串,且函数必须定义在 **当前 Lua 文件** 的全局作用域(不能是 `service:jb_shopping_20` 这种表方法)。
- 如果坚持用 `addbutton`,则必须在 QF 中写触发函数。
如果你还有疑问,可以随时问我,或者请教浮生梦尊师!
← 返回问答库