From bff78f9f81baa164a8fab4a80a4367543e63a76c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 29 十一月 2024 14:55:11 +0800 Subject: [PATCH] 10312 【越南】【英文】【bt】【砍树】查看跨服玩家数据向对应子服查询 --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py | 21 +++++---------------- 1 files changed, 5 insertions(+), 16 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py index 11fb6b1..8ec303d 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerPackData.py @@ -136,16 +136,7 @@ playerID = curPlayer.GetPlayerID() packDataMgr = PyDataManager.GetDBPlayerPackDataManager() if playerID in packDataMgr.playerPackDataDict: - isCross, isNeed = 0, 1 - QueryPlayerResult_PlayerMirror(curPlayer, "PackDataSyncState", [isCross, isNeed]) - return - -def OnPlayerLogin_CrossLogic(serverGroupID, serverID, playerID): - ## 跨服登录逻辑 - packDataMgr = PyDataManager.GetDBPlayerPackDataManager() - if playerID in packDataMgr.playerPackDataDict: - dataMsg = {"playerID":playerID} - CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_PlayerPackDataState, dataMsg, [serverGroupID]) + QueryPlayerResult_PlayerMirror(curPlayer, "PackDataSyncState", {"PackData":1}) return def SetNeedPackData(playerIDList): @@ -340,8 +331,7 @@ curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID) if not curPlayer: return - isCross, isNeed = 1, 1 - QueryPlayerResult_PlayerMirror(curPlayer, "PackDataSyncState", [isCross, isNeed]) + QueryPlayerResult_PlayerMirror(curPlayer, "PackDataSyncState", msgData) return def CrossServerMsg_PullPlayerPackData(msgData): @@ -375,7 +365,7 @@ curPlayer.MapServer_QueryPlayerResult(0, 0, "PlayerMirror", sysMsg, len(sysMsg)) return -def OnMGUpdatePlayerPackData(curPlayer, curPackData): +def OnMGUpdatePlayerPackData(curPlayer, curPackData, msgInfo): ## 地图同步更新的玩家打包数据 if GameWorld.IsCrossServer(): return @@ -384,14 +374,13 @@ packData = curPackData.PackData if not packDataSyncState or not packData: return - msgInfo = eval(curPackData.PackMsg) if curPackData.PackMsg else {} # 打包数据附带的信息 # 本服需要,先更新数据 - if packDataSyncState % 10: + if packDataSyncState&pow(2, 0): PyDataManager.GetDBPlayerPackDataManager().UpdPlayerPackData(playerID, packData) # 跨服需要,同步给跨服,由跨服服务器再进一步处理 - if packDataSyncState / 10: + if packDataSyncState&pow(2, 1): cacheBase = PlayerViewCache.GetSyncCrossCacheBase(curPlayer) if curPlayer else {} dataMsg = {"playerID":playerID, "packData":packData, "cacheBase":cacheBase, "msgInfo":msgInfo} CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_PlayerPackData, dataMsg) -- Gitblit v1.8.0