bayuMIR/Mirserver/Mir200/Envir/QuestDiary/游戏功能/A2_二大陆/斗笠升级.lua
2026-06-21 19:32:27 +08:00

45 lines
No EOL
1.3 KiB
Lua

DouLiShengJiOBJ = Up_BaseClass:new()
DouLiShengJiOBJ._name = "DouLiShengJiOBJ"
DouLiShengJiOBJ.id = { 53 }
for _, v in ipairs(DouLiShengJiOBJ.id or {}) do
Npc.clicknpcCfg[v] = DouLiShengJiOBJ
end
DouLiShengJiOBJ.cfg = Func.require("cfg_斗笠升级")
Player.sycCfg[DouLiShengJiOBJ._name] = DouLiShengJiOBJ.cfg
DouLiShengJiOBJ.allowFunc = { "up" }
function DouLiShengJiOBJ:main(actor, npcID)
Message:SubLink(actor, self._name .. "_main", { cfg = self.cfg, npcid = npcID })
end
function DouLiShengJiOBJ:up(actor, p1, p2, p3, data)
local id = data and tonumber(data[1]) or nil
if not id or not self.cfg[id] then
return
end
local cfg = table.Copy(self.cfg[id])
local cost = {}
for _, v in ipairs(cfg.cost or {}) do
table.insert(cost, { v.itemname, v.itemnum, v.itembind })
end
if Func.batchcheckitem(actor, cost, true, true) then
if Func.random(cfg.success or 0) then
local gives_tbl = {}
for _, v in ipairs(cfg.reward or {}) do
table.insert(gives_tbl, string.format("%s#%d#%d", v.givename, v.givenum, v.bind))
end
gives(actor, table.concat(gives_tbl, "&"))
Func.sendmsg9(actor, "[提示]:#70|斗笠升级成功!")
else
Func.sendmsg9(actor, "[提示]:#70|斗笠升级失败,请重新尝试!")
end
end
end
return DouLiShengJiOBJ