5722 【后端】【1.5】跨服BOSS开发(跨服状态下断线重连设置视野逻辑优化)
1个文件已修改
24 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -413,6 +413,17 @@
        curPlayer.BalanceServer_PlayerLoginInitOK()
        return
    
    leaveServerSecond = PlayerControl.GetPlayerLeaveServerSecond(curPlayer)
    if leaveServerSecond > ChConfig.Def_PlayerOfflineProtectTime / 1000:
        # 离线超过离线保护重置切线临时保存的相关记录值
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_PlayChangeLineID, 0)
        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.GetCrossMapID(curPlayer):
            PlayerControl.SetCrossMapID(curPlayer, 0)
    SyncGuideState(curPlayer)
    
    #上线检查一次装备属性
@@ -456,18 +467,6 @@
    PlayerPrestigeSys.OnLogin(curPlayer)
    DataRecordPack.DR_PlayerLogin(curPlayer)
    EventReport.WriteEvent_login(curPlayer)
    leaveServerSecond = PlayerControl.GetPlayerLeaveServerSecond(curPlayer)
    if leaveServerSecond > ChConfig.Def_PlayerOfflineProtectTime / 1000:
        # 离线超过离线保护重置切线临时保存的相关记录值
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_PlayChangeLineID, 0)
        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.GetCrossMapID(curPlayer):
            PlayerControl.SetCrossMapID(curPlayer, 0)
            
    # 合服首登处理
    __DoMixServerFirstLogin(curPlayer)
@@ -1018,6 +1017,7 @@
    #刷新玩家的视野
    if not GameWorld.IsCrossServer() and PlayerControl.GetCrossMapID(curPlayer):
        GameWorld.DebugLog("===登录本服地图时,处于跨服状态,不刷新视野!", curPlayer.GetPlayerID())
        curPlayer.SetSight(0)
    else:
        PlayerState.ChangePlayerSigh(curPlayer, tick)