搜索
查看: 335|回复: 7

[沟通中] 为为什么会报错

[复制链接]
发表于 2023-7-30 09:08:39 | 显示全部楼层 |阅读模式
BUG反馈
引擎版本号: 0320
登陆器版本号: 0322
BUG描述: 2023-07-30 8:12:51 {230320} [string "D:\MirServer三战D3\Mir200\LuaScripts\System\BindEvent.lua"]:6508: attempt to index a nil value (global 'playact')
stack traceback:
[string "D:\MirServer三战D3\Mir200\LuaScripts\System\BindEvent.lua"]:6508: in function 'on_DieDropitem'
BUG重现方式: 2023-07-30 8:12:51 {230320} [string "D:\MirServer三战D3\Mir200\LuaScripts\System\BindEvent.lua"]:6508: attempt to index a nil value (global 'playact')
stack traceback:
[string "D:\MirServer三战D3\Mir200\LuaScripts\System\BindEvent.lua"]:6508: in function 'on_DieDropitem'
修复后应达到的效果: 为什么报错.欢迎LUA大神,高手指正
联系QQ: 隐藏内容
脚本段===========================================================


function on_DieDropitem(actor, killActor, item)--死亡物品掉落回调

----击杀者执行获取U变量,不知道为什么会报错,已经区别击杀者主体了
           if killActor:getRace() == 66 then
                  playact = killActor:getMaster()
           end
           if killActor:getRace() == 0 then
                  playact = killActor
           end
       
        local baotaname = {
                "宝塔判官",
                "宝塔巨魔",
                "宝塔神龙",
                }
        local global_G510 =  s.share.getVal_G(510)
        local global_G511 =  s.share.getVal_G(511)
        local stdMode = item:getStdMode()
        local  U400 = playact:getVal_U(400)--这是6508行的报错
        local  U401 = playact:getVal_U(401)
        local  U402 = playact:getVal_U(402)

发表于 2023-7-30 12:38:40 | 显示全部楼层
杀死怪物的对象为空,或者并非玩家(例如大刀卫士)

补充内容 (2023-7-30 12:46):
你这个情况属于后者,但是建议加上nil检测,虽然这种情况很少(击杀对象持续伤害杀死怪物前死亡或者下线)
发表于 2023-7-30 13:15:37 | 显示全部楼层
再加一个大判断if killActor:getRace() == 66 or killActor:getRace() == 0 then...end
 楼主| 发表于 2023-7-30 15:24:46 | 显示全部楼层
鬼雨 发表于 2023-7-30 12:38
杀死怪物的对象为空,或者并非玩家(例如大刀卫士)

补充内容 (2023-7-30 12:46):

感谢大佬
 楼主| 发表于 2023-7-30 15:26:25 | 显示全部楼层
ffffff 发表于 2023-7-30 13:15
再加一个大判断if killActor:getRace() == 66 or killActor:getRace() == 0 then...end

感谢大佬

发表于 2023-7-31 09:10:15 | 显示全部楼层
学习了,确实killActor除了人物英雄还可以是别的。
发表于 2023-7-31 10:29:33 | 显示全部楼层
很明显是你的 playact 没定义为 局部变量
发表于 2023-8-2 15:14:00 | 显示全部楼层
需要判断 playact 是否存在
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2024-11-23 21:21 , Processed in 0.534267 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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