From 68770538538e1de92f737c65e2d16abe1b34afe7 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 21 一月 2025 18:53:59 +0800 Subject: [PATCH] 10263 【越南】【英文】【BT】【砍树】后端支持NPC仿真实玩家战斗和快速战斗(优化不创建战斗PK时玩家自身镜像数据同步;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py index 906c9e7..2b08c68 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCacheTube.py @@ -111,6 +111,27 @@ def SetPackDataCrossSyncState(curPlayer): UpdPackDataSyncState(curPlayer, {"PackDataCross":1}) def SetViewCacheCrossSyncState(curPlayer): UpdPackDataSyncState(curPlayer, {"ViewCacheCross":1}) +def NormalSyncPackData(curPlayer): + '''常规同步打包数据,仅作为补充同步用,不强制同步 + 一般由需要打包数据的功能发起检查自动同步用,做战力验证,战力变更时主动同步一次 + 防止短时间内强化了战力,导致镜像数据差异太大,影响镜像战斗结果 + ''' + + syncFightPower = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_PackDataSyncFightPower) + if PlayerControl.GetFightPower(curPlayer) == syncFightPower: + GameWorld.DebugLog("战力与打包数据相同,不同步!", curPlayer.GetPlayerID()) + return + GameWorld.DebugLog("战力与打包数据不同,立即同步!", curPlayer.GetPlayerID()) + + syncState = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_PackDataSyncState) + if not syncState: + SetPackDataSyncState(curPlayer) + SetPackDataCrossSyncState(curPlayer) + + tick = GameWorld.GetGameWorld().GetTick() + UpdateGameServerPlayerCache(curPlayer, tick) + return + ##更新玩家当前详细信息到GameServer # @param curPlayer, tick # @return None -- Gitblit v1.8.0