-- 每日好礼(小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