在激活皮肤的时候 提示异常
藐视是1个数字无法正常读取,但是无法定位是哪个地方出错,能否 在后端日志打印出这个错误具体是哪个值引起的
能否添加剪短的代码 从后端日志 打印出 报错的定位点
代码如下:
在激活皮肤的时候 提示异常
藐视是1个数字无法正常读取,但是无法定位是哪个地方出错,能否 在后端日志打印出这个错误具体是哪个值引起的
能否添加剪短的代码 从后端日志 打印出 报错的定位点
代码如下:
function handleActive(actor, packet)
local id = LDataPack.readInt(packet)
local sssid = LDataPack.readInt(packet)
local roleindex = checkZhuangbanIdGetRoleIndex(actor, id,sssid)
print("收到id:"..id.." ,和type:"..sssid)
if not roleindex then
print("zhuangban handleActive not found roletype " .. tostring(id) .. " - " .. sssid)
return
end
local conf = Classconfig(id,sssid)
local var = getStaticVar(actor)
if var.zhuangban[id] then
print("zhuangban handleActive already active" .. tostring(id))
return
end
for _,v in pairs(conf.cost) do
if not LActor.consumeItem(actor,v.itemId,v.num,false,"zhuangban active") then return false end
end
local invalidTime = 0
if conf.invalidtime then
invalidTime = conf.invalidtime + System.getNowTime()
end
var.zhuangban[id] = invalidTime
LActor.log(actor, "zhuangbansystem.handleActive", "mark1", id, var.zhuangban[id])
--激活默认等级为1
if not var.zhuangbanlevel then var.zhuangbanlevel = {} end
if not var.zhuangbantype then var.zhuangbantype = {} end
var.zhuangbanlevel[id] = 1
var.zhuangbantype[id] = sssid
local pack = LDataPack.allocPacket(actor, systemId, Protocol.sZhuangBanCmd_Active)
if not pack then return end
LDataPack.writeInt(pack, id)
LDataPack.writeInt(pack, invalidTime)
LDataPack.writeInt(pack, var.zhuangbanlevel[id])
LDataPack.writeInt(pack, var.zhuangbantype[id])
LDataPack.flush(pack)
calcAttr(actor,"装备系统-激活装扮"..(conf.name or ""))
if invalidTime ~= 0 then
setInvalidTimer(actor, true, true)
end
-- 广播
local actorname = LActor.getActorName(LActor.getActorId(actor))
local posname = ZhuangBanConfig.zhuangbanpos[conf.pos]
local noticeids = conf.noticeid
if not noticeids then return end
noticemanager.broadCastNotice(noticeids, actorname, posname, conf.name)
end