| | |
| | | AssistType_TeamFB, # 组队副本
|
| | | ) = range(3)
|
| | |
|
| | | def RemoveOutofdateAssistThanks():
|
| | | ## 移除过期的未完结感谢数据
|
| | | |
| | | timeoutDate = GameWorld.GetDatetimeByDiffDays(-7)
|
| | | assistThanksMgr = PyDataManager.GetPlayerAssistThanksPyManager()
|
| | | maxDoCount = len(assistThanksMgr.allAssistThanksList)
|
| | | syncPlayerIDList = []
|
| | | removeCountTotal, delNoThanksCount, delUnGetThanksCount = 0, 0, 0
|
| | | doCount = 0
|
| | | while doCount < maxDoCount and assistThanksMgr.allAssistThanksList:
|
| | | doCount += 1
|
| | | thanks = assistThanksMgr.allAssistThanksList[0]
|
| | | thanksDate = GameWorld.ChangeStrToDatetime(thanks.TimeStr)
|
| | | if thanksDate > timeoutDate:
|
| | | break
|
| | | |
| | | removeCountTotal += 1
|
| | | # 移除过期的感谢数据
|
| | | popThanks = assistThanksMgr.allAssistThanksList.pop(0)
|
| | | playerID = popThanks.PlayerID
|
| | | GUID = popThanks.GUID
|
| | | assistPlayerIDList = popThanks.AssistPlayerDict.keys()
|
| | | |
| | | if playerID in assistThanksMgr.playerThanksDict:
|
| | | playerThanksList = assistThanksMgr.playerThanksDict[playerID]
|
| | | for i, thanks in enumerate(playerThanksList):
|
| | | if GUID == thanks.GUID:
|
| | | delNoThanksCount += 1
|
| | | playerThanksList.pop(i)
|
| | | #GameWorld.DebugLog(" 移除未感谢的数据: i=%s,GUID=%s,len=%s" % (i, thanks.GUID, len(playerThanksList)))
|
| | | break
|
| | | |
| | | for assistPlayerID in assistPlayerIDList:
|
| | | if assistPlayerID not in assistThanksMgr.assistPlayerThanksDict:
|
| | | continue
|
| | | assistThanksList = assistThanksMgr.assistPlayerThanksDict[assistPlayerID]
|
| | | for i, thanks in enumerate(assistThanksList):
|
| | | if GUID == thanks.GUID:
|
| | | delUnGetThanksCount += 1
|
| | | assistThanksList.pop(i)
|
| | | #GameWorld.DebugLog(" 移除未接受感谢的数据: i=%s,GUID=%s,assistPlayerID=%s,len=%s" % (i, thanks.GUID, assistPlayerID, len(assistThanksList)))
|
| | | if assistPlayerID not in syncPlayerIDList:
|
| | | syncPlayerIDList.append(assistPlayerID)
|
| | | break
|
| | | |
| | | playerMgr = GameWorld.GetPlayerManager()
|
| | | for playerID in syncPlayerIDList:
|
| | | assistPlayer = playerMgr.FindPlayerByID(playerID)
|
| | | if assistPlayer:
|
| | | SyncCanGetAssistThanksGiftCount(assistPlayer, isForce=True)
|
| | | |
| | | if removeCountTotal:
|
| | | GameWorld.DebugLog("移除过期的未完结感谢数据: doCount=%s,maxDoCount=%s,removeCountTotal=%s,delNoThanksCount=%s,delUnGetThanksCount=%s,remainCount=%s" |
| | | % (doCount, maxDoCount, removeCountTotal, delNoThanksCount, delUnGetThanksCount, len(assistThanksMgr.allAssistThanksList)))
|
| | | return
|
| | |
|
| | |
|
| | | def OnPlayerLogin(curPlayer, isTJ=False):
|
| | | ## 玩家上线
|