| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- -- 每日累充
- local Util = require("common.Util")
- local CommonDB = require("common.CommonDB")
- local Log = require("common.Log")
- local PresentExcel = require("excel.present")
- local MailExcel = require("excel.mail")
- local MailManager = require("mail.MailManager")
- local Msg = require("core.Msg")
- local ObjHuman = require("core.ObjHuman")
- local BagLogic = require("bag.BagLogic")
- local Grid = require("bag.Grid")
- local SceneHandler = require("scene.Handler")
- local function getConfig()
- local subDay = CommonDB.getServerOpenDay()
- if subDay == nil then
- return
- end
- if subDay <= 7 then
- -- 开服首周
- return PresentExcel.dailyLeichong[1]
- else
- -- 开服第二周和以后
- return PresentExcel.dailyLeichong[2]
- end
- end
- function isOpen(human)
- if true then
- return
- end
- if not SceneHandler.canCharge(human) then
- return
- end
- local config = getConfig()
- if config == nil then return end
-
- return true
- end
- function query(human)
- local config = getConfig()
- if config == nil then return end
- local now = os.time()
- local msgRet = Msg.gc.GC_DAILY_LEICHONG_QUERY
- msgRet.sec = Util.getDayStartTime(now) + 24 * 3600 - now
-
- -- 今日累充金额
- ObjHuman.updateDaily(human)
- local nowDailyCharge = human.db.topupAcountDaily or 0
-
- for i = 1, #config.pay do
- msgRet.weekPay[i].id = i
- msgRet.weekPay[i].cur = nowDailyCharge
- msgRet.weekPay[i].max = config.pay[i]
- msgRet.weekPay[i].desc = Util.format(config.desc, config.pay[i])
- msgRet.weekPay[i].reward[0] = #(config.reward[i])
- for j = 1, msgRet.weekPay[i].reward[0] do
- local itemID = config.reward[i][j][1]
- local itemCnt = config.reward[i][j][2]
- Grid.makeItem(msgRet.weekPay[i].reward[j], itemID, itemCnt)
- end
- end
- msgRet.weekPay[0] = #config.pay
- Msg.send(msgRet, human.fd)
- end
- function charge(human, price)
- if isOpen(human) ~= true then
- return
- end
- active(human, price)
- end
- function active(human, price)
- local config = getConfig()
- if config == nil then return end
-
- local nowDailyCharge = human.db.topupAcountDaily
- local lastDailyCharge = nowDailyCharge - price
- local dailyLeiChong = human.db.dailyLeiChong
- for i = 1, #config.pay do
- if not dailyLeiChong or not dailyLeiChong[i] then
- local needPay = config.pay[i]
- if needPay <= nowDailyCharge and needPay > lastDailyCharge then
- human.db.dailyLeiChong = human.db.dailyLeiChong or {}
- human.db.dailyLeiChong[i] = i
-
- -- 发放奖励
- local items = { }
- for z, v in ipairs(config.reward[i]) do
- items[z] = { v[1], v[2] }
- end
-
- --[[local title = MailExcel.mail[62].title
- local content = Util.format(MailExcel.mail[62].content, config.pay[i])
- local senderName = MailExcel.mail[62].senderName
- MailManager.add(MailManager.SYSTEM, human.db._id, title, content, items, senderName)]]
- end
- end
- end
- end
|