| | |
| | | def DoType_Visible(curPlayer, curMission, curActionNode):
|
| | | visible = GameWorld.ToIntDef(curActionNode.GetAttribute("id"), 0)
|
| | | if visible:
|
| | | curPlayer.SetSightLevel(0)
|
| | | PlayerControl.SetPlayerSightLevel(curPlayer, 0)
|
| | | else:
|
| | | curPlayer.SetSightLevel(curPlayer.GetID())
|
| | | PlayerControl.SetPlayerSightLevel(curPlayer, 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())
|
| | | PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
|
| | | if curPlayer.GetLV() > 1:
|
| | | PlayerState.ChangePlayerSigh(curPlayer, tick)
|
| | |
|
| | |
| | | NetPackCommon.SendFakePack(curPlayer, sendPack)
|
| | | return
|
| | |
|
| | | #同步设置 玩家和宠物及已召唤的召唤兽 视野层
|
| | | def SetPlayerSightLevel(curPlayer, sightLevel):
|
| | | curPlayer.SetSightLevel(sightLevel)
|
| | | rolePet = curPlayer.GetPetMgr().GetFightPet()
|
| | | #无出战宠物
|
| | | if rolePet:
|
| | | rolePet.SetSightLevel(sightLevel)
|
| | | |
| | | for i in range(curPlayer.GetSummonCount()):
|
| | | curSummon = curPlayer.GetSummonNPCAt(i)
|
| | | if not curSummon:
|
| | | continue
|
| | | curSummon.SetSightLevel(sightLevel)
|
| | | return |
| | |
| | | PlayerControl.SetCustomMap(curPlayer, 0, 0)
|
| | | return
|
| | |
|
| | | curPlayer.SetSightLevel(curPlayer.GetID())
|
| | | curPet = curPlayer.GetPetMgr().GetFightPet()
|
| | | if curPet:
|
| | | curPet.SetVisible(False)
|
| | | PlayerControl.SetPlayerSightLevel(curPlayer, curPlayer.GetID())
|
| | |
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_ClientCustomScene, 1) # 由于前端不一定有发mapID,所以这里额外记录这个状态,不能直接用mapID判断
|
| | | PlayerControl.SetCustomMap(curPlayer, mapID, lineID)
|
| | |
| | |
|
| | | def DoExitCustomScene(curPlayer):
|
| | | ## 退出自定义场景状态
|
| | | curPlayer.SetSightLevel(curPlayer.GetID())
|
| | | curPlayer.RefreshView()
|
| | | curPlayer.SetSightLevel(0)
|
| | | curPlayer.RefreshView()
|
| | | curPet = curPlayer.GetPetMgr().GetFightPet()
|
| | | if curPet:
|
| | | curPet.SetVisible(True)
|
| | | PlayerControl.SetPlayerSightLevel(curPlayer, 0)
|
| | | mapID = PlayerControl.GetCustomMapID(curPlayer)
|
| | | lineID = PlayerControl.GetCustomLineID(curPlayer)
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_ClientCustomScene, 0)
|
| | |
| | |
|
| | | #记录出战的宠物索引 默认+1 0则代表没有
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FightPetIndex, petItemIndex + 1)
|
| | | rolePet.SetSightLevel(curPlayer.GetSightLevel())
|
| | | return True
|
| | |
|
| | | def AutoSummonPet(curPlayer):
|