❌ 一个回调报错,整个事件链中断:
function OnMonsterDie(name, killer)
DropSystem.roll(name) -- 这里报错
LogSystem.write(name) -- 这行就不会执行了
end
✅ 用 pcall 隔离,报错不影响后续逻辑:
function OnMonsterDie(name, killer)
local ok, err = pcall(DropSystem.roll, name)
if not ok then print("[Drop错误] " .. tostring(err)) end