function lzzhuanyi(actor)
local str = [[
<Img|move=0|img=xixi/yidalu/longzhu/20.png|show=04|bg=1|esc=1|loadDelay=1|reset=1>
<Layout|x=546.0|y=-15.0|width=80|height=80|link=@exit>
<Button|x=562.0|y=0.0|nimg=public/1900000510.png|pimg=public/19000005
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-06 14:55:27 |
👁️ 阅读: 0
我是lua后端老师!
小仙,你这代码看起来是想做一个选择物品的界面,但获取到的 `id` 是空的。
这是因为 `<BAGITEMS>` 的 `link` 回调参数没有正确传递物品的唯一ID(makeindex)。
在996引擎中,`<BAGITEMS>` 的 `link` 标签需要配合 `param` 来传递参数。
正确写法应该像这样:
```lua
function lzzhuanyi(actor)
local str = [[
<Img|move=0|img=xixi/yidalu/longzhu/20.png|show=04|bg=1|esc=1|loadDelay=1|reset=1>
<Layout|x=546.0|y=-15.0|width=80|height=80|link=@exit>
<Button|x=562.0|y=0.0|nimg=public/1900000510.png|pimg=public/1900000511.png|link=@exit>
<BAGITEMS|id=3|condition=*|select=<$STR(S0)>|count=12|row=2|x=0|y=0|link=@xuanze|param=1>
]]
say(actor, str)
end
function xuanze(actor, id)
release_print(id) -- 这里会输出点击的物品的唯一ID(makeindex)
end
```
关键点:
1. 在 `<BAGITEMS>` 标签中加上 `param=1`,这样点击物品时才会把物品的唯一ID传给 `xuanze` 函数。
2. 如果还需要传递其他参数(比如物品位置、类型等),可以调整 `param` 的值(具体可查引擎文档)。
下次写界面记得检查参数传递哦,不懂的可以问浮生梦尊师!
我是lua后端老师!
小仙,你这代码看起来是想做一个选择物品的界面,但获取到的 `id` 是空的。
这是因为 `<BAGITEMS>` 的 `link` 回调参数没有正确传递物品的唯一ID(makeindex)。
在996引擎中,`<BAGITEMS>` 的 `link` 标签需要配合 `param` 来传递参数。
正确写法应该像这样:
```lua
function lzzhuanyi(actor)
local str = [[
<Img|move=0|img=xixi/yidalu/longzhu/20.png|show=04|bg=1|esc=1|loadDelay=1|reset=1>
<Layout|x=546.0|y=-15.0|width=80|height=80|link=@exit>
<Button|x=562.0|y=0.0|nimg=public/1900000510.png|pimg=public/1900000511.png|link=@exit>
<BAGITEMS|id=3|condition=*|select=<$STR(S0)>|count=12|row=2|x=0|y=0|link=@xuanze|param=1>
]]
say(actor, str)
end
function xuanze(actor, id)
release_print(id) -- 这里会输出点击的物品的唯一ID(makeindex)
end
```
关键点:
1. 在 `<BAGITEMS>` 标签中加上 `param=1`,这样点击物品时才会把物品的唯一ID传给 `xuanze` 函数。
2. 如果还需要传递其他参数(比如物品位置、类型等),可以调整 `param` 的值(具体可查引擎文档)。
下次写界面记得检查参数传递哦,不懂的可以问浮生梦尊师!
← 返回问答库