From 1ea73e1885835466265ce788d93556b7030ee0e8 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 30 十二月 2018 18:42:00 +0800
Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(GM工具增加子服服务器维护,文字翻译版)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py |   41 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 37 insertions(+), 4 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
index 24f82af..8f0db15 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
@@ -26,9 +26,13 @@
 import ReadChConfig
 import PlayerFamily
 import IPY_GameServer
+import PlayerFBHelpBattle
+import IpyGameDataPY
 import ShareDefine
-import time
 import ChConfig
+
+import time
+import json
 
 ViewCacheMgr = GameWorld.GameWorldData.GetPlayerViewCacheMgr()
 
@@ -79,6 +83,14 @@
         curCache.SetPlusDataNoSave(PlusData,len(PlusData))
     curCache.SetNeedSaveDB(isSaveDB) #设置需要保存到数据库
     
+    # 同步更新助战信息
+    if PlayerFBHelpBattle.IsInHelpBattleCheckInList(PlayerID):
+        PropDataDict = eval(PropData)
+        fightPower = PropDataDict.get("FightPower", 0)
+        familyID = PropDataDict.get("FamilyID", 0)
+        playerName = PropDataDict.get("Name", "")
+        PlayerFBHelpBattle.UpdateCheckInPlayerInfo(PlayerID, fightPower, familyID, playerName)
+        
     #暂时关闭
     #===========================================================================
     # FamilyIDKey = "FamilyID"
@@ -107,7 +119,10 @@
 #  @param PlayerID, PlayerLV
 #  @return None
 def IsNeedSaveLogoutPlayer(PlayerID, PlayerLV):
-    SaveDBLimitLV, NeedCheckBillBoardType, HighLadderLimitOrder = ReadChConfig.GetEvalChConfig("CacheSaveLimit")
+    if PlayerFBHelpBattle.IsInHelpBattleCheckInList(PlayerID):
+        return True
+    
+    SaveDBLimitLV = IpyGameDataPY.GetFuncCfg("PlayerViewCache", 1)
     #校验玩家等级
     if PlayerLV < SaveDBLimitLV:
         return False
@@ -116,7 +131,9 @@
 
 # 上榜用户
 def IsNeedSaveViewCacheAllInfo(PlayerID):
-    SaveDBLimitLV, NeedCheckBillBoardType, HighLadderLimitOrder = ReadChConfig.GetEvalChConfig("CacheSaveLimit")
+    if PlayerFBHelpBattle.IsInHelpBattleCheckInList(PlayerID):
+        return True
+    NeedCheckBillBoardType = IpyGameDataPY.GetFuncEvalCfg("PlayerViewCache", 2)
     #校验玩家是否上排行榜
     billboardMgr = GameWorld.GetBillboard()
     for BillBoardType in NeedCheckBillBoardType:
@@ -279,4 +296,20 @@
     curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
     NetPackCommon.SendFakePack(curPlayer, answerPack)
     return
-    
\ No newline at end of file
+
+def OnPlayerFamilyChange(playerID, familyID, familyName):
+    GameWorld.DebugLog("ViewCache->OnPlayerFamilyChange", playerID)
+    curCache = ViewCacheMgr.FindCache(playerID)
+    if not curCache:
+        return
+    PropData = eval(curCache.GetPropData())
+    PropData["FamilyID"] = familyID
+    PropData["FamilyName"] = familyName
+    playerLV = PropData["LV"]
+    
+    PropData = json.dumps(PropData, ensure_ascii=False)
+    ItemData = curCache.GetItemData()
+    PlusData = curCache.GetPlusData()
+    UpdatePlayerCache(playerID, PropData, ItemData, PlusData, True if playerLV > 150 else False)  
+    return
+

--
Gitblit v1.8.0