| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- -- 累充豪礼
- local Util = require("common.Util")
- local CommonDB = require("common.CommonDB")
- local Msg = require("core.Msg")
- local ObjHuman = require("core.ObjHuman")
- local BagLogic = require("bag.BagLogic")
- local Grid = require("bag.Grid")
- local YunYingLogic = require("yunying.YunYingLogic")
- local PanelDefine = require("broadcast.PanelDefine")
- local SceneHandler = require("scene.Handler")
- local HaoliExcel = require("excel.present").leichongHaoli
- local function checkDB(human)
- human.db.leichongHaoli = human.db.leichongHaoli or {updateTime = 0, day = 0, get = {}}
- local haoliDB = human.db.leichongHaoli
- if haoliDB.day >= #HaoliExcel and not Util.isSameDay(haoliDB.upTime) then
- human.db.leichongHaoli = {updateTime = 0, day = 0, get = {}}
- end
- return human.db.leichongHaoli
- end
- GET_STATE0 = 0 --不可领取
- GET_STATE1 = 1 --未领取
- GET_STATE2 = 2 --已经领取
- local function getState(haoliDB,id,need)
- if haoliDB.day < need then
- return GET_STATE0
- end
- if haoliDB.get[id] then
- return GET_STATE2
- else
- return GET_STATE1
- end
- end
- function query(human)
- local haoliDB = checkDB(human)
- local msgRet = Msg.gc.GC_LEICHONG_HAOLI_QUERY
- local len = 0
- local len1 = 0
- local net
- for k,v in ipairs(HaoliExcel) do
- len = len + 1
- net = msgRet.list[len]
- net.id = k
- net.need = v.day
- net.state = getState(haoliDB,k,v.day)
- len1 = 0
- for k1,v1 in ipairs(v.reward) do
- len1 = len1 + 1
- Grid.makeItem(net.reward[len1], v1[1], v1[2])
- end
- net.reward[0] = len1
- end
- msgRet.list[0] = len
- Msg.send(msgRet, human.fd)
- end
- function get(human, id)
- local haoliDB = checkDB(human)
- local config = HaoliExcel[id]
- if getState(haoliDB,id,config.day) ~= GET_STATE1 then
- return
- end
- -- 改db
- haoliDB.get[id] = 1
-
- --发放奖励
- BagLogic.sendItemGetList(human, config.reward, "leichongHaoli")
-
- local msgRet = Msg.gc.GC_LEICHONG_HAOLI_GET
- Msg.send(msgRet,human.fd)
-
- for k, v in pairs(funcID) do
- YunYingLogic.updateIcon(YYInfo[k], human)
- YunYingLogic.sendGroupUpdate(YYInfo[k], human, PanelDefine.PANEL_ID_3305)
- break
- end
- end
- function isOpen(human)
- if true then
- return
- end
- if not SceneHandler.canCharge(human) then
- return
- end
- if not CommonDB.getServerOpenDay() then
- return
- end
- return true
- end
- function isRed(human)
- local haoliDB = checkDB(human)
- for k,v in ipairs(HaoliExcel) do
- if getState(haoliDB,k,v.day) == GET_STATE1 then
- return true
- end
- end
- end
- MONEY_LIMIT = 6
- function onAddMoney(human,money)
- if isOpen(human) ~= true then
- return
- end
- if money < MONEY_LIMIT then
- return
- end
- local haoliDB = checkDB(human)
- if not Util.isSameDay(haoliDB.upTime) then
- haoliDB.upTime = os.time()
- haoliDB.day = haoliDB.day + 1
-
- for k, v in pairs(funcID) do
- YunYingLogic.updateIcon(YYInfo[k], human)
- YunYingLogic.sendGroupUpdate(YYInfo[k], human, PanelDefine.PANEL_ID_3305)
- break
- end
- end
- end
|