|  |  |  | 
|---|
|  |  |  | curPlayer.SetDict(ChConfig.Def_PlayerKey_ClientCustomScene, 1) # 由于前端不一定有发mapID,所以这里额外记录这个状态,不能直接用mapID判断 | 
|---|
|  |  |  | curPlayer.SetDict(ChConfig.Def_PlayerKey_ClientCustomSceneMapID, mapID) | 
|---|
|  |  |  | curPlayer.SetDict(ChConfig.Def_PlayerKey_ClientCustomSceneLineID, lineID) | 
|---|
|  |  |  | GameWorld.Log("玩家开始自定义场景!", curPlayer.GetPlayerID()) | 
|---|
|  |  |  | GameWorld.Log("玩家开始自定义场景!mapID=%s,lineID=%s" % (mapID, lineID), curPlayer.GetPlayerID()) | 
|---|
|  |  |  | if mapID: | 
|---|
|  |  |  | FBLogic.OnEnterCustomScene(curPlayer, mapID, lineID) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | 
|---|
|  |  |  | __CheckClearBuffOnMapChange(curPlayer, tick) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #刷新玩家的视野 | 
|---|
|  |  |  | if not GameWorld.IsCrossServer() and PlayerControl.GetCrossMapID(curPlayer): | 
|---|
|  |  |  | GameWorld.DebugLog("===登录本服地图时,处于跨服状态,不刷新视野!", curPlayer.GetPlayerID()) | 
|---|
|  |  |  | if not GameWorld.IsCrossServer() and (PlayerControl.GetCrossMapID(curPlayer) or curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene)): | 
|---|
|  |  |  | GameWorld.DebugLog("===登录本服地图时,处于跨服或自定义场景状态,不刷新视野!", curPlayer.GetPlayerID()) | 
|---|
|  |  |  | curPlayer.SetSight(0) | 
|---|
|  |  |  | else: | 
|---|
|  |  |  | elif curPlayer.GetLV() > 1: | 
|---|
|  |  |  | PlayerState.ChangePlayerSigh(curPlayer, tick) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if GameWorld.IsCrossServer(): | 
|---|
|  |  |  | 
|---|
|  |  |  | firstMission = QuestCommon.GetCommonMission(curPlayer) | 
|---|
|  |  |  | if not (firstMission and firstMission.GetProperty(QuestCommon.Def_NewGuyNoSight) == 1): | 
|---|
|  |  |  | #刷新自己的视野 | 
|---|
|  |  |  | if not GameWorld.IsCrossServer() and PlayerControl.GetCrossMapID(curPlayer): | 
|---|
|  |  |  | GameWorld.DebugLog("===本服LoadMapOK时玩家处于跨服状态,不设置可见!", curPlayer.GetPlayerID()) | 
|---|
|  |  |  | if not GameWorld.IsCrossServer() and (PlayerControl.GetCrossMapID(curPlayer) or curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene)): | 
|---|
|  |  |  | GameWorld.DebugLog("===本服LoadMapOK时玩家处于跨服或自定义场景状态,不设置可见!", curPlayer.GetPlayerID()) | 
|---|
|  |  |  | else: | 
|---|
|  |  |  | curPlayer.RefreshView() | 
|---|
|  |  |  | curPlayer.SetVisible(True) | 
|---|