From 6a875d29696c5625a779a379b0de523b2383d7ef Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 28 十一月 2024 16:41:11 +0800 Subject: [PATCH] 10312 【越南】【英文】【bt】【砍树】查看跨服玩家数据向对应子服查询 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_PlayerMirror.py | 39 ++++++++++++++++----------------------- 1 files changed, 16 insertions(+), 23 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_PlayerMirror.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_PlayerMirror.py index 7ff3583..9c98f39 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_PlayerMirror.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_PlayerMirror.py @@ -18,8 +18,6 @@ import GameWorld import MirrorAttack import PlayerViewCacheTube -import PlayerControl -import ChConfig #--------------------------------------------------------------------- # @param query_Type 请求类型 @@ -57,38 +55,33 @@ msgData = funResult[1] if msgType == "PackDataSyncState": - isCross, isNeed = msgData - __UpdPackDataSyncState(curPlayer, isCross, isNeed) + PlayerViewCacheTube.UpdPackDataSyncState(curPlayer, msgData) elif msgType == "PullPlayerPackData": msgInfo = msgData __DoPullPlayerPackData(curPlayer, msgInfo, tick) - return - -def __UpdPackDataSyncState(curPlayer, isCross, isNeed): - ## 更新打包数据同步状态,这里只更新状态即可,具体同步由定时同步处理 - syncState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_PackDataSyncState) - if isCross: - updSyncState = (1 if isNeed else 0) * 10 + syncState % 10 - else: - updSyncState = syncState / 10 + (1 if isNeed else 0) - if syncState == updSyncState: - return - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_PackDataSyncState, syncState) - GameWorld.DebugLog("更新打包数据同步状态: isCross=%s,isNeed=%s,syncState=%s,updSyncState=%s" - % (isCross, isNeed, syncState, updSyncState), curPlayer.GetPlayerID()) + elif msgType == "PullPlayerViewCache": + msgInfo = msgData + __DoPullPlayerViewCache(curPlayer, msgInfo, tick) + return def __DoPullPlayerPackData(curPlayer, msgInfo, tick): pullFrom = msgInfo.get("pullFrom") - isCross = False # 0 或 非本服代表跨服需要 if pullFrom == 0 or (pullFrom > 0 and pullFrom != GameWorld.GetServerGroupID()): - isCross = True - __UpdPackDataSyncState(curPlayer, isCross, 1) - PlayerViewCacheTube.UpdateGameServerPlayerCache(curPlayer, tick, forcePackData=True, packMsg=msgInfo) + PlayerViewCacheTube.SetPackDataCrossSyncState(curPlayer) + else: + PlayerViewCacheTube.SetPackDataSyncState(curPlayer) + PlayerViewCacheTube.UpdateGameServerPlayerCache(curPlayer, tick, packMsg=msgInfo) return - +def __DoPullPlayerViewCache(curPlayer, msgInfo, tick): + viewFrom = msgInfo.get("viewFrom") + # 0 或 非本服代表跨服需要 + if viewFrom == 0 or (viewFrom > 0 and viewFrom != GameWorld.GetServerGroupID()): + PlayerViewCacheTube.SetViewCacheCrossSyncState(curPlayer) + PlayerViewCacheTube.UpdateGameServerPlayerCache(curPlayer, tick, packMsg=msgInfo, isOnlyViewCache=True) + return -- Gitblit v1.8.0