From 84f8b05044e64036c5abb6b840bf0fd96f8c3bc2 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 21 十二月 2018 18:09:32 +0800 Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(流程调通版,可匹配、PK、结算,其他功能没有) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py index f869d0c..9f9f3ca 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py @@ -108,6 +108,7 @@ import PlayerActTotalRecharge import PlayerSpringSale import PlayerFairyCeremony +import CrossRealmPlayer import ChNetSendPack import FamilyRobBoss import FBHelpBattle @@ -249,7 +250,7 @@ # 屏蔽跨服下关闭和子服重复的数据的发送 pushsend接口, notifyall正常发送 # !!!必要发送的数据要注意位置 - if GameWorld.IsMergeServer(): + if GameWorld.IsCrossServer(): curPlayer.SetForbiddenSyncClientState(True) SyncGuideState(curPlayer) @@ -308,7 +309,10 @@ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FuncChangeLineID, 0) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_HighChangeLineID, 0) #GameWorld.DebugLog("离线超过10秒重置切线临时保存的相关记录值!leaveServerSecond=%s" % leaveServerSecond, curPlayer.GetPlayerID()) - + # 离线过久恢复为非跨服状态 + if PlayerControl.GetCrossRealmState(curPlayer): + PlayerControl.SetCrossRealmState(curPlayer, 0) + # 合服首登处理 __DoMixServerFirstLogin(curPlayer) PlayerBillboard.BillboardOnLogin(curPlayer) @@ -578,8 +582,9 @@ # 屏蔽跨服下关闭和子服重复的数据的发送 pushsend接口, notifyall正常发送 # !!!必要发送的数据要注意位置 - if GameWorld.IsMergeServer(): + if GameWorld.IsCrossServer(): curPlayer.SetForbiddenSyncClientState(False) + PlayerControl.SetCrossRealmState(curPlayer, 1) # 因为主服上传数据之前该值为1,所以登录跨服后在跨服服务器要设置为1 return @@ -835,7 +840,7 @@ def UpdatePlayerServerGroupID(curPlayer): # 更新自己的服务器组ID, 跨服服务器不处理 - if GameWorld.IsMergeServer(): + if GameWorld.IsCrossServer(): return serverGroupID = GameWorld.GetServerGroupID() if not serverGroupID: @@ -3828,7 +3833,7 @@ #复活冷却时间(秒) rebornTime = GetRebronTime(curPlayer, playerRebornType) #冷却时间到了 - if not CanRebornByTimeOver(curPlayer, rebornTime): + if playerRebornType != ChConfig.rebornType_System and not CanRebornByTimeOver(curPlayer, rebornTime): PlayerControl.NotifyCode(curPlayer, 'RebornCD') return False -- Gitblit v1.8.0