|  |  | 
 |  |  | def DoType_Visible(curPlayer, curMission, curActionNode):
 | 
 |  |  |     visible = GameWorld.ToIntDef(curActionNode.GetAttribute("id"), 0)
 | 
 |  |  |     if visible:
 | 
 |  |  |         curPlayer.SetVisible(True)
 | 
 |  |  |         curPlayer.SetSightLevel(0)
 | 
 |  |  |     else:
 | 
 |  |  |         curPlayer.SetVisible(False)
 | 
 |  |  |         curPlayer.SetSightLevel(curPlayer.GetID())
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 
 |  |  | 
 |  |  |     if not GameWorld.IsCrossServer() and (PlayerControl.GetCrossMapID(curPlayer) or curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene)):
 | 
 |  |  |         GameWorld.DebugLog("===登录本服地图时,处于跨服或自定义场景状态,不刷新视野!", curPlayer.GetPlayerID())
 | 
 |  |  |         curPlayer.SetSightLevel(curPlayer.GetID())
 | 
 |  |  |     elif curPlayer.GetLV() > 1:
 | 
 |  |  |     if curPlayer.GetLV() > 1:
 | 
 |  |  |         PlayerState.ChangePlayerSigh(curPlayer, tick)
 | 
 |  |  |     
 | 
 |  |  |     if GameWorld.IsCrossServer():
 | 
 
 |  |  | 
 |  |  |             PlayerControl.SetCustomMap(curPlayer, 0, 0)
 | 
 |  |  |             return
 | 
 |  |  |     
 | 
 |  |  |     curPlayer.SetCanAttack(False)
 | 
 |  |  |     curPlayer.SetVisible(False)
 | 
 |  |  |     curPlayer.SetSightLevel(curPlayer.GetID())
 | 
 |  |  |     curPet = curPlayer.GetPetMgr().GetFightPet()
 | 
 |  |  |     if curPet:
 | 
 |  |  | 
 |  |  | 
 | 
 |  |  | def DoExitCustomScene(curPlayer):
 | 
 |  |  |     ## 退出自定义场景状态
 | 
 |  |  |     curPlayer.SetCanAttack(True)
 | 
 |  |  |     curPlayer.SetVisible(True)
 | 
 |  |  |     curPlayer.SetSightLevel(curPlayer.GetID())
 | 
 |  |  |     curPlayer.RefreshView()
 | 
 |  |  |     curPlayer.SetSightLevel(0)
 |