From 586febfe813233aa833385095d2ac003ee6818dc Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 23 五月 2022 17:00:15 +0800
Subject: [PATCH] 9415 【BT】【后端】古神战场(战场帮助信息同步优化;个人buff支持触碰采集;去除复活后无法出战宠物多余提示)
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py | 29 +++++++++++++++++++++++++----
1 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
index dc9118e..322b1a8 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
@@ -21,8 +21,10 @@
import GameWorld
import PlayerControl
import NetPackCommon
+import GameWorldArena
import ChPyNetSendPack
import PlayerFBHelpBattle
+import CrossBattlefield
import PyGameDataStruct
import IpyGameDataPY
import PyDataManager
@@ -31,13 +33,19 @@
import json
import time
-def DoOnDay():
+def DoOnDayEx():
DelOutofTimeViewCacheData()
return
def IsSaveDBViewCache(playerID, playerLV):
## 是否保存基本的缓存数据
if PlayerFBHelpBattle.IsInHelpBattleCheckInList(playerID):
+ return True
+
+ if GameWorldArena.IsArenaBattlePlayer(playerID):
+ return True
+
+ if CrossBattlefield.IsBattlefieldCallPlayer(playerID):
return True
SaveDBLimitLV = IpyGameDataPY.GetFuncCfg("PlayerViewCache", 1)
@@ -49,6 +57,15 @@
def IsSaveAllViewCache(playerID):
## 是否保存所有缓存数据
+
+ if PlayerFBHelpBattle.IsInHelpBattleCheckInList(playerID):
+ return True
+
+ if GameWorldArena.IsArenaBattlePlayer(playerID):
+ return True
+
+ if CrossBattlefield.IsBattlefieldCallPlayer(playerID):
+ return True
NeedCheckBillBoardType = IpyGameDataPY.GetFuncEvalCfg("PlayerViewCache", 2)
#校验玩家是否上排行榜
@@ -66,7 +83,7 @@
## 删除过期的查看缓存数据
curTime = int(time.time())
- MaxTime = 30 * 3600 * 24 # 30天
+ MaxTime = IpyGameDataPY.GetFuncCfg("PlayerViewCache", 3) * 3600 * 24
pyViewCacheMgr = PyDataManager.GetPlayerViewCachePyManager()
playerViewCachePyDict = pyViewCacheMgr.playerViewCachePyDict
@@ -106,7 +123,7 @@
## 获取缓存基础属性字典信息
if not hasattr(curCache, "PropDataDict"):
curCache.PropDataDict = {}
- if not curCache.PropDataDict:
+ if not curCache.PropDataDict and curCache.PropData:
curCache.PropDataDict = eval(curCache.PropData)
return curCache.PropDataDict
@@ -263,7 +280,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