From 7a58a47083cb8c7920733c8378ca41964e9330e4 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 02 三月 2020 20:07:26 +0800 Subject: [PATCH] 8389 【后端开发】天星塔挑战榜 --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py | 32 ++++++++++++++++++++++++++++++-- 1 files changed, 30 insertions(+), 2 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py index 40691df..87ef793 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py @@ -29,6 +29,11 @@ import ChConfig import json +import time + +def DoOnDayEx(): + DelOutofTimeViewCacheData() + return def IsSaveDBViewCache(playerID, playerLV): ## 是否保存基本的缓存数据 @@ -57,11 +62,30 @@ return False +def DelOutofTimeViewCacheData(): + ## 删除过期的查看缓存数据 + + curTime = int(time.time()) + MaxTime = 30 * 3600 * 24 # 30天 + + pyViewCacheMgr = PyDataManager.GetPlayerViewCachePyManager() + playerViewCachePyDict = pyViewCacheMgr.playerViewCachePyDict + for playerID, viewCache in playerViewCachePyDict.items(): + + passTime = curTime - viewCache.OffTime + if passTime < MaxTime: + continue + if IsSaveAllViewCache(playerID): + continue + playerViewCachePyDict.pop(playerID) + + return + def DeleteViewCache(playerID): ## 删除玩家缓存 pyViewCacheMgr = PyDataManager.GetPlayerViewCachePyManager() playerViewCachePyDict = pyViewCacheMgr.playerViewCachePyDict - playerViewCachePyDict.pop(playerID) + playerViewCachePyDict.pop(playerID, None) GameWorld.DebugLog("删除查看缓存!", playerID) return @@ -239,7 +263,11 @@ answerPack.LV = cacheDict["LV"] answerPack.RealmLV = cacheDict["RealmLV"] answerPack.OnlineType = ChConfig.Def_Offline - answerPack.ServerGroupID = cacheDict.get("ServerGroupID", 0) + + if GameWorld.IsCrossServer(): + answerPack.ServerGroupID = cacheDict.get("ServerGroupID", 0) + else: + answerPack.ServerGroupID = GameWorld.GetServerGroupID() else: answerPack.PlayerID = clientPack.PlayerID answerPack.PlayerName = tagPlayer.GetName() -- Gitblit v1.8.0