找回密码
 立即注册
搜索
查看: 71|回复: 2

[已关闭] actor:returnBoxItem-OK框中物品返回到包裹获取的是放入前的框中物品,

  [复制链接]
发表于 2026-7-2 14:30:58 | 显示全部楼层 |阅读模式
BUG反馈
引擎版本号: 260506
登陆器版本号: 20250310
BUG描述: lua 中actor:returnBoxItem-OK框中物品返回到包裹获取的是放入前的框中物品,假如放入之前框中无物品,返回结果0,失败,鼠标拾取的是物品B,框中物品是A,获取的是B的信息,
BUG重现方式: function LongHun_ItemInto(player,box)
if box < 0 or box > 11 then return end
print("放入魂槽:"..box)
local item = player:getNpcDlgBoxItem(box+100)--物品位置(-1)表示默认OK框上物品 100..119表示自定义OK框上物品
local itemName = item:getName()--物品名称
--顶层魂槽
if box <= 2 then
print("放入物品:"..itemName)
local info1 = LongHun_getSkillInfo(itemName)
if info1 then
print(string.format("判断成功:【%s】组别: %s, 等级: %d", itemName, info1.group, info1.level))
--判断成功,更新逻辑
--player:takeNpcDlgBoxItem(100+box,1)
player:setVal_S_Ex("额外魂槽1", "1")
else
local item = player:getNpcDlgBoxItem(100+box)
local ItemName = item:getName()--物品名称
print("框中物品是:"..ItemName)
player:returnBoxItem(box+100)
local result = player:returnBoxItem(box+100)
print("返回结果:"..result)
player:sendMsg(1, "请放入正确物品", -1, -1)
--判断失败,更新逻辑

--日志
2026-07-02 14:22:12.948 放入魂槽:1
2026-07-02 14:22:12.948 放入物品:火龙树结晶
2026-07-02 14:22:12.948 框中物品是:火龙树结晶
2026-07-02 14:22:12.948 返回结果:0
修复后应达到的效果: 在NPC自定义OK框中,已有A的情况放入鼠标拾取的B时,判断失败就只会返回A,B又放进去了,实际B判断失败的,应该是已有A,放入B时,返回原来的A,判断B是否正确,正确放入B,错误返回B
联系QQ: 隐藏内容
function LongHun_ItemInto(player,box)
    if box < 0 or box > 11 then return end
    print("放入魂槽:"..box)
    local item = player:getNpcDlgBoxItem(box+100)--物品位置(-1)表示默认OK框上物品 100..119表示自定义OK框上物品
    local itemName = item:getName()--物品名称
--顶层魂槽
    if box <= 2 then
        print("放入物品:"..itemName)
        local info1 = LongHun_getSkillInfo(itemName)
        if info1 then
            print(string.format("判断成功:【%s】组别: %s, 等级: %d", itemName, info1.group, info1.level))
            --判断成功,更新逻辑
            --player:takeNpcDlgBoxItem(100+box,1)
            player:setVal_S_Ex("额外魂槽1", "1")
        else
            local item = player:getNpcDlgBoxItem(100+box)
            local ItemName = item:getName()--物品名称
            print("框中物品是:"..ItemName)
            player:returnBoxItem(box+100)
            local result = player:returnBoxItem(box+100)
            print("返回结果:"..result)
            player:sendMsg(1, "请放入正确物品", -1, -1)
            --判断失败,更新逻辑

        end
    end


日志---
2026-07-02 14:22:06.398 Lua 脚本加载完成...2026-07-02 14:22:06.399 Lua 脚本(Npc)加载完成...2026-07-02 14:22:12.948 放入魂槽:12026-07-02 14:22:12.948 放入物品:火龙树结晶2026-07-02 14:22:12.948 框中物品是:火龙树结晶2026-07-02 14:22:12.948 返回结果:02026-07-02 14:25:17.402 在线数: 1 (在线:1 离线:0 假人:0)


回复

使用道具 举报

 楼主| 发表于 2026-7-2 14:39:37 | 显示全部楼层
自己说明书没仔细读,参数不用+100 自己看错了
回复

使用道具 举报

 楼主| 发表于 2026-7-2 14:40:21 | 显示全部楼层
大大大定位 发表于 2026-7-2 14:39
自己说明书没仔细读,参数不用+100 自己看错了

参数说明
参数类型 是否必填 说明描述
整型 必填 -1默认OK框 0-19自定义OK框
            player:returnBoxItem(box)
            local result = player:returnBoxItem(box)
代码也有问题,前面执行了 再执行赋值 永远是0
请版主删帖,多谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2026-7-13 17:32 , Processed in 0.257688 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表