搜索
查看: 397|回复: 3

[沟通中] 客户端端LUA获取装备实体对象问题(主动脱掉装备后对象依...

[复制链接]
发表于 2023-9-30 15:22:39 | 显示全部楼层 |阅读模式
BUG反馈
引擎版本号: 0320
登陆器版本号: 0903
BUG描述: c.item.getMyEquipPos(i)
c.item.getHeroEquipPos(i)
c.item.getUser1EquipPos(i)
客户端LUA获取主体、英雄、物品对象,当主动脱装备后物品对象依然存在,即使身上装备位为空依然还是脱装备之前的物品对象,只有小退或者替换装备该物品对象才会变更!
BUG重现方式: c.item.getMyEquipPos(i)
c.item.getHeroEquipPos(i)
c.item.getUser1EquipPos(i)
客户端LUA获取主体、英雄、物品对象,当主动脱装备后物品对象依然存在,即使身上装备位为空依然还是脱装备之前的物品对象,只有小退或者替换装备该物品对象才会变更!
修复后应达到的效果: 主动脱装备该对象应为nil
联系QQ: 隐藏内容
服务端LUA
for i=17,28 do
   DBitem_ = nil
   if itemFrom == const.ift_state then
    DBitem_ = c.item.getMyEquipPos(i)
   elseif itemFrom == const.ift_herostate then
    DBitem_ = c.item.getHeroEquipPos(i)
   elseif  itemFrom == const.ift_user1state then
    DBitem_ = c.item.getUser1EquipPos(i)
   end
   if DBitem_ ~= nil then
   for t=1,6 do
   c.event.sendNetMsg(99,serialize(DBitem_:getExt(t)))
   end
   end
end

客户端LUA
function TESTmsgFunc(actor, smsg)
svmsg = deserialize(smsg)--反序列化
print(svmsg)
end

打印结果
2023-09-30 15:17:33 4558
2023-09-30 15:17:33 4513
2023-09-30 15:17:33 4539
2023-09-30 15:17:33 4542
2023-09-30 15:17:33 4523
当主动脱掉装备后,该装备位为空!
但是依然会print出脱装备前该所属装备位的物品变量值!




 楼主| 发表于 2023-9-30 16:52:22 | 显示全部楼层
解决了,真的很奇怪!明明获取不到物品对象,名字获取不到但是物品变量依然可以获取.....
一个奇葩的问题,物品对象检测不到难道不应该返回nil嘛!!!
发表于 2023-10-1 14:33:10 | 显示全部楼层
我用这个写额外的套装属性,写显示,也是这样,穿戴,替换,都没问题,取下就会出现一样的情况!
发表于 2023-10-23 10:14:31 | 显示全部楼层
yan5225822 发表于 2023-9-30 16:52
解决了,真的很奇怪!明明获取不到物品对象,名字获取不到但是物品变量依然可以获取.....
一个奇葩的问题, ...

没看懂,具体是哪个方法的问题呢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2024-11-23 19:34 , Processed in 0.532503 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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