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