| | |
| | |
|
| | | import time
|
| | |
|
| | | '''
|
| | | 特殊说明:
|
| | | 港台主干要修改为创角七日奖励,但是因为前端热更问题,前端无法使用旧表跟旧封包 A3 08 在线奖励信息 #tagMCOnlinePrize
|
| | | 为了保持前后端逻辑统一,后端不再动旧表跟旧封包A308,防止修改后前端报错
|
| | | 使用新表及新封包 B1 13 在线奖励信息新 #tagMCOnlinePrizeNew
|
| | | '''
|
| | |
|
| | | #//A5 06 玩家领取在线奖励 #tagCMGetOnlinePrize
|
| | | #
|
| | | #struct tagCMGetOnlinePrize
|
| | |
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | creatRoleDay = GameWorld.GetCreateRoleDays(curPlayer)
|
| | | prizeIndex = clientPack.Index
|
| | | isDaily = 0 # 主干固定为0,非每日
|
| | | GameWorld.DebugLog("领取每日在线奖励: isDaily=%s,prizeIndex=%s" % (isDaily, prizeIndex))
|
| | | GameWorld.DebugLog("领取在线奖励: creatRoleDay=%s,prizeIndex=%s" % (creatRoleDay, prizeIndex))
|
| | | if prizeIndex <= 0:
|
| | | GameWorld.DebugLog("prizeIndex需要从1开始,我也不想,保留原逻辑吧!!!")
|
| | | return
|
| | | if isDaily:
|
| | | dayID = 0 # 0代表每日的
|
| | | ipyData = IpyGameDataPY.GetIpyGameDataNotLog('OnlineAward', creatRoleDay)
|
| | | if ipyData:
|
| | | GameWorld.DebugLog("当天有创角天定制在线奖励,不能领取日常在线奖励!creatRoleDay=%s" % creatRoleDay)
|
| | | return
|
| | | else:
|
| | | dayID = creatRoleDay
|
| | | ipyData = IpyGameDataPY.GetIpyGameData('OnlineAward', dayID)
|
| | | dayID = creatRoleDay
|
| | | ipyData = IpyGameDataPY.GetIpyGameData('OnlineAwardNew', dayID)
|
| | | if not ipyData:
|
| | | return
|
| | | #先纠正一次时间
|
| | |
| | | # @param None
|
| | | # @return None
|
| | | def SendOnlinePrizeInfo(curPlayer):
|
| | | onlineAwardCount = IpyGameDataPY.IPY_Data().GetOnlineAwardCount()
|
| | | if not onlineAwardCount:
|
| | | dataCount = IpyGameDataPY.IPY_Data().GetOnlineAwardNewCount()
|
| | | if not dataCount:
|
| | | return
|
| | | creatRoleDay = GameWorld.GetCreateRoleDays(curPlayer)
|
| | | sendPack = ChPyNetSendPack.tagMCOnlinePrize()
|
| | | sendPack = ChPyNetSendPack.tagMCOnlinePrizeNew()
|
| | | sendPack.Clear()
|
| | | sendPack.OnlineTime = GetOnlineTime(curPlayer) * 1000
|
| | | sendPack.PrizeInfo = [curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnlinePrizeNote % creatRoleDay)] # 创角7日的与前端约定固定只发当天的
|
| | | # for i in xrange(onlineAwardCount):
|
| | | # for i in xrange(dataCount):
|
| | | # dayID = i + 1#i+1,增加了每日支持,从0开始,代表每日
|
| | | # sendPack.PrizeInfo.append(curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OnlinePrizeNote % dayID))
|
| | | sendPack.Len = len(sendPack.PrizeInfo)
|
| | |
| | | if creatRoleDay <= 1:
|
| | | return
|
| | | mailAwardDay = creatRoleDay - 1
|
| | | ipyData = IpyGameDataPY.GetIpyGameDataNotLog('OnlineAward', mailAwardDay)
|
| | | ipyData = IpyGameDataPY.GetIpyGameDataNotLog('OnlineAwardNew', mailAwardDay)
|
| | | if not ipyData:
|
| | | ipyData = IpyGameDataPY.GetIpyGameDataNotLog('OnlineAward', 0)
|
| | | ipyData = IpyGameDataPY.GetIpyGameDataNotLog('OnlineAwardNew', 0)
|
| | | if not ipyData:
|
| | | return
|
| | | mailAwardDay = 0 # 昨日非定制的,且有配置0常规的,则补发0的
|