hch
2019-05-25 dbf4ab83f90d9119141d5a80bebe25fedec4384f
6942 【后端】视野层级设计
5个文件已修改
34 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
@@ -7293,9 +7293,9 @@
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
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -1035,7 +1035,7 @@
    #刷新玩家的视野
    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)
    
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -6918,3 +6918,17 @@
    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
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py
@@ -496,10 +496,7 @@
            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)
@@ -514,13 +511,7 @@
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)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPet.py
@@ -370,6 +370,7 @@
    
    #记录出战的宠物索引 默认+1 0则代表没有
    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FightPetIndex, petItemIndex + 1)
    rolePet.SetSightLevel(curPlayer.GetSightLevel())
    return True
def AutoSummonPet(curPlayer):