bayuMIR/Mirserver/Mir200/Envir/QuestDiary/游戏功能/A0_通用类/月卡.lua
2026-06-22 20:06:03 +08:00

52 lines
No EOL
1.6 KiB
Lua

YueKaOBJ = Up_BaseClass:new()
YueKaOBJ._name = "YueKaOBJ"
YueKaOBJ.cfg = {
price = 680,
days = 30,
xh = { { "元宝", 680, 1 } },
}
---* 加入上线同步数据
Player.sycCfg[YueKaOBJ._name] = YueKaOBJ.cfg
function YueKaOBJ:getExpireTime(actor)
return Player.getTLint(actor, VarCfg.Player.TL.int["月卡"]) or 0
end
function YueKaOBJ:getRemainDays(actor)
local expireTime = self:getExpireTime(actor)
local nowTime = os.time()
if expireTime <= nowTime then
return 0
end
return math.ceil((expireTime - nowTime) / 86400)
end
function YueKaOBJ:main(actor)
local data = {}
data.cfg = self.cfg
data.expireTime = self:getExpireTime(actor)
Message:SubLink(actor, self._name .. "_main", data)
end
function YueKaOBJ:buy(actor)
local nowTime = os.time()
local expireTime = self:getExpireTime(actor)
local baseTime = expireTime > nowTime and expireTime or nowTime
local newExpireTime = baseTime + self.cfg.days * 24 * 60 * 60
if Func.takeitmes(actor, self.cfg.xh, true, true) then
Player.setTLint(actor, VarCfg.Player.TL.int["月卡"], newExpireTime, newExpireTime)
changemoney(actor,ConstCfg.sysMoney["绑定金币"],"+",100000,"开通月卡",true)
local remainDays = math.ceil((newExpireTime - nowTime) / 86400)
Func.sendmsg9(actor, string.format("[月卡]:#70|开通成功,当前剩余#251|%d天#215|.", remainDays))
sendmsgnew(actor, 251, 0,
string.format("<[月卡特权]/FCOLOR=70>恭喜<[%s]/FCOLOR=249>成功开通月卡,掉落装备不绑定!", Player.getname(actor)), 1, 3)
end
end
YueKaOBJ.allowFunc = { "main", "buy" }
return YueKaOBJ