hxp
2019-01-10 54531eb1ab1a76b508129e21ec5b7c32a1c7d0dc
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -240,7 +240,7 @@
    playerControl = PlayerControl.PlayerControl(curPlayer)
    playerControl.ReCalcAllState()
    
    if PlayerControl.GetCrossRealmState(curPlayer):
    if PlayerControl.GetCrossMapID(curPlayer):
        CrossRealmPlayer.DoExitCrossRealm(curPlayer)
        
    return
@@ -376,7 +376,7 @@
    # !!!必要发送的数据要注意位置
    if GameWorld.IsCrossServer():
        curPlayer.SetForbiddenSyncClientState(False)
        PlayerControl.SetCrossRealmState(curPlayer, curPlayer.GetMapID()) # 因为主服上传数据之前该值为0,所以登录跨服后在跨服服务器要设置为1
        PlayerControl.SetCrossMapID(curPlayer, curPlayer.GetMapID()) # 因为主服上传数据之前该值为0,所以登录跨服后在跨服服务器要设置为对应地图
        
    return
@@ -458,8 +458,8 @@
        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)
        if PlayerControl.GetCrossMapID(curPlayer):
            PlayerControl.SetCrossMapID(curPlayer, 0)
            
    # 合服首登处理
    __DoMixServerFirstLogin(curPlayer)
@@ -1008,7 +1008,7 @@
    SkillCommon.AddBuffBySkillType_NoRefurbish(curPlayer, ChConfig.Def_SkillID_LimitSuperBuff, tick)
            
    #刷新玩家的视野
    if not GameWorld.IsCrossServer() and PlayerControl.GetCrossRealmState(curPlayer):
    if not GameWorld.IsCrossServer() and PlayerControl.GetCrossMapID(curPlayer):
        GameWorld.DebugLog("===登录本服地图时,处于跨服状态,不刷新视野!", curPlayer.GetPlayerID())
    else:
        PlayerState.ChangePlayerSigh(curPlayer, tick)
@@ -1362,7 +1362,7 @@
    firstMission = QuestCommon.GetCommonMission(curPlayer)
    if not (firstMission and firstMission.GetProperty(QuestCommon.Def_NewGuyNoSight) == 1):
        #刷新自己的视野
        if not GameWorld.IsCrossServer() and PlayerControl.GetCrossRealmState(curPlayer):
        if not GameWorld.IsCrossServer() and PlayerControl.GetCrossMapID(curPlayer):
            GameWorld.DebugLog("===本服LoadMapOK时玩家处于跨服状态,不设置可见!", curPlayer.GetPlayerID())
        else:
            curPlayer.RefreshView()
@@ -2330,7 +2330,7 @@
        GameWorld.DebugLog("跨服服务器不接受复活请求!")
        return
    
    if PlayerControl.GetCrossRealmState(curPlayer):
    if PlayerControl.GetCrossMapID(curPlayer):
        OnReqCrossServerReborn(curPlayer, rebornType)
        return
    
@@ -2349,7 +2349,7 @@
def OnReqCrossServerReborn(curPlayer, rebornType):
    ## 请求跨服服务器复活玩家
    
    crossMapID = curPlayer.NomalDictGetProperty(ChConfig.Def_PlayerKey_CrossMapID)
    crossMapID = PlayerControl.GetCrossMapID(curPlayer)
    if not crossMapID:
        GameWorld.DebugLog("当前无跨服地图!")
        return