107 lines
2.4 KiB
Lua
107 lines
2.4 KiB
Lua
ZhuanShengOBJ = Up_BaseClass:new()
|
|
|
|
|
|
ZhuanShengOBJ._name = "ZhuanShengOBJ"
|
|
-- NPCID
|
|
ZhuanShengOBJ.id = { 6 }
|
|
|
|
-- 配置文件
|
|
ZhuanShengOBJ.cfg = Func.require("cfg_ZhuanSheng")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- ---* 加入上线同步数据
|
|
-- Player.sycCfg[ZhuanShengOBJ._name] = ZhuanShengOBJ.cfg
|
|
|
|
for i, v in ipairs(ZhuanShengOBJ.id or {}) do
|
|
Npc.clicknpcCfg[v] = ZhuanShengOBJ
|
|
end
|
|
|
|
|
|
|
|
function ZhuanShengOBJ:main(actor, ...)
|
|
local info = { ... }
|
|
|
|
ZhuanShengOBJ:up_sync(actor, "ZhuanShengOBJ_main",info[1])
|
|
end
|
|
|
|
|
|
function ZhuanShengOBJ:up(actor)
|
|
|
|
if not Npc.CheckNPCRange(actor,6) then
|
|
return
|
|
end
|
|
|
|
local re_level = getbaseinfo(actor, ConstCfg.gbase.renew_level) or 0
|
|
|
|
if re_level >= #self.cfg then
|
|
Func.sendmsg9(actor,"[转生]:#70|转生已经满级!")
|
|
return
|
|
end
|
|
|
|
local level = getbaseinfo(actor, ConstCfg.gbase.level) or 0
|
|
|
|
local cfg = self.cfg[re_level + 1]
|
|
|
|
|
|
if level < cfg.level then
|
|
Func.sendmsg9(actor, string.format("[转生]:#70|人物等级不足:%d级", cfg.level))
|
|
return
|
|
end
|
|
|
|
|
|
if Func.takeitmes(actor, cfg.xh, true, true) then
|
|
for i, v in ipairs(self.cfg) do
|
|
deprivetitle(actor, string.format("转生Lv.%d", i))
|
|
end
|
|
if confertitle(actor, string.format("转生Lv.%d", re_level + 1), 0) then
|
|
setbaseinfo(actor, ConstCfg.sbase.level, level - cfg.d_l)
|
|
setbaseinfo(actor, ConstCfg.sbase.renew_level, re_level + 1)
|
|
setlocklevel(actor,2,cfg.level_top)
|
|
|
|
Func.sendmsg9(actor, "[转生]:#70|恭喜你转生成功!")
|
|
self:up_sync(actor, "ZhuanShengOBJ_sync",6)
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
function ZhuanShengOBJ:up_sync(actor, syncTitle,npcid)
|
|
local level = getbaseinfo(actor, ConstCfg.gbase.renew_level) or 0
|
|
|
|
local data = {}
|
|
|
|
data.cfg = {}
|
|
for i = 1, level < #self.cfg and level + 1 or level, 1 do
|
|
if self.cfg[i] then
|
|
data.cfg[i] = self.cfg[i]
|
|
end
|
|
end
|
|
data.npcid = npcid and npcid or nil
|
|
Message:SubLink(actor, syncTitle, data)
|
|
end
|
|
|
|
|
|
|
|
----* 上线重新锁定等级
|
|
local function ZhuanShengOBJ_login(actor)
|
|
local relevel = getbaseinfo(actor,ConstCfg.gbase.renew_level)
|
|
if ZhuanShengOBJ.cfg[relevel] then
|
|
setlocklevel(actor,2,ZhuanShengOBJ.cfg[relevel].level_top)
|
|
else
|
|
setlocklevel(actor,2,65)
|
|
|
|
end
|
|
end
|
|
GameEvent.add(EventCfg.onLogin,ZhuanShengOBJ_login,ZhuanShengOBJ)
|
|
|
|
|
|
|
|
|
|
ZhuanShengOBJ.allowFunc = {"up", "main"}
|
|
return ZhuanShengOBJ
|