| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- -- 每日好礼(小7渠道专属)
- -- db.roleDailyGiftData = { getTime = 领取时间戳 }
- local Util = require("common.Util")
- local Lang = require("common.Lang")
- local Msg = require("core.Msg")
- local Broadcast = require("broadcast.Broadcast")
- local Grid = require("bag.Grid")
- local BagLogic = require("bag.BagLogic")
- local ObjHuman = require("core.ObjHuman")
- local CommonDefine = require("common.CommonDefine")
- -- local RoleSystemLogic = require("roleSystem.RoleSystemLogic")
- -- local RoleSystemDefine = require("roleSystem.RoleSystemDefine")
- local LOGTYPE = "roleDailyGift"
- local REWARD_ITEM_ID = 31
- local REWARD_ITEM_CNT = 648
- local function getChannelId(human)
- return human.db.phpChanelID or human.phpChanelID
- end
- local function isXiaoQiChannel(human)
- local channelID = getChannelId(human)
- return channelID == CommonDefine.CHANNEL_TAG_XIAOQI
- or channelID == tostring(CommonDefine.CHANNEL_TAG_XIAOQI)
- end
- function ModuleisOpen(human)
- return isXiaoQiChannel(human)
- end
- local function isClaimedToday(human)
- local data = human.db.roleDailyGiftData
- if not data or not data.getTime then
- return false
- end
- return Util.isSameDay(data.getTime)
- end
- local function getPrizeState(human)
- if isClaimedToday(human) then
- return CommonDefine.COMMON_PRIZE_STATE_GET
- end
- return CommonDefine.COMMON_PRIZE_STATE_CANGET
- end
- -- function isDot(human)
- -- if not ModuleisOpen(human) then
- -- return false
- -- end
- -- return getPrizeState(human) == CommonDefine.COMMON_PRIZE_STATE_CANGET
- -- end
- function updateDaily(human)
- if not ModuleisOpen(human) then
- return
- end
- -- RoleSystemLogic.onDot(human, RoleSystemDefine.ROLE_SYS_ID_113)
- if human.fd then
- Query(human)
- end
- end
- function Query(human)
- if not ModuleisOpen(human) then
- return
- end
- ObjHuman.updateDaily(human)
- local msgRet = Msg.gc.GC_ROLE_DAILY_GIFT_QUERY
- msgRet.status = getPrizeState(human)
- Grid.makeItem(msgRet.item, REWARD_ITEM_ID, REWARD_ITEM_CNT)
- Msg.send(msgRet, human.fd)
- end
- function Get(human)
- if not ModuleisOpen(human) then
- return Broadcast.sendErr(human, Lang.COMMON_SYSTEM_READY)
- end
- ObjHuman.updateDaily(human)
- if isClaimedToday(human) then
- return Broadcast.sendErr(human, "今日已领取")
- end
- local itemArr = {{REWARD_ITEM_ID, REWARD_ITEM_CNT}}
- BagLogic.addItemList(human, itemArr, LOGTYPE)
- human.db.roleDailyGiftData = human.db.roleDailyGiftData or {}
- human.db.roleDailyGiftData.getTime = os.time()
- -- RoleSystemLogic.onDot(human, RoleSystemDefine.ROLE_SYS_ID_113)
- Query(human)
- end
|