| | |
| | | ## 设置某一天已登录,可领奖
|
| | | dayIndex = actInfo.get(ShareDefine.ActKey_DayIndex, 0)
|
| | | loginState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginState)
|
| | | if loginState & pow(2, dayIndex):
|
| | | loginCount, lastRecordDay = loginState / 10, loginState % 10
|
| | | curDay = dayIndex + 1
|
| | | if lastRecordDay >= curDay:
|
| | | GameWorld.DebugLog(" 节日登录未达记录录登天或已记录登录! dayIndex=%s,loginState=%s,lastRecordDay(%s) >= curDay(%s)" % (dayIndex, loginState, lastRecordDay, curDay))
|
| | | return
|
| | | updLoginState = loginState | pow(2, dayIndex)
|
| | | loginCount += 1
|
| | | updLoginState = loginCount * 10 + curDay
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastLoginState, updLoginState)
|
| | | GameWorld.DebugLog(" 节日登录设置天登录: dayIndex=%s,loginState=%s,updLoginState=%s" % (dayIndex, loginState, updLoginState))
|
| | | GameWorld.DebugLog(" 节日登录设置天登录: dayIndex=%s,loginState=%s,updLoginState=%s,loginCount=%s" % (dayIndex, loginState, updLoginState, loginCount))
|
| | | return True
|
| | |
|
| | | def GetFeastLoginAward(curPlayer, dayNum):
|
| | |
| | |
|
| | | awardIndex = dayNum - 1
|
| | | loginState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginState)
|
| | | if not loginState & pow(2, awardIndex):
|
| | | GameWorld.DebugLog("节日登录活动该天未登录,无法领奖!dayNum=%s,awardIndex=%s,loginState=%s" % (dayNum, awardIndex, loginState))
|
| | | loginCount = loginState / 10
|
| | | if dayNum > loginCount:
|
| | | GameWorld.DebugLog("节日登录活动登录天不足,无法领奖!dayNum=%s > loginCount=%s,loginState=%s" % (dayNum, loginCount, loginState))
|
| | | return
|
| | |
|
| | | awardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginAwardState)
|
| | |
| | |
|
| | | def Sync_FeastLoginPlayerInfo(curPlayer):
|
| | | ## 通知活动玩家信息
|
| | | loginState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginState)
|
| | | loginCount = loginState / 10
|
| | | clientPack = ChPyNetSendPack.tagMCFeastLoginPlayerInfo()
|
| | | clientPack.LoginState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginState)
|
| | | clientPack.LoginState = pow(2, loginCount) - 1
|
| | | clientPack.LoginAward = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastLoginAwardState)
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | | return
|