ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -1358,8 +1358,6 @@
    
    PassiveBuffEffMng.OnPlayerLeaveMap(curPlayer)
    
    MirrorAttack.OnPlayerLeaveMap(curPlayer)
    #离开地图清空恶意攻击自己玩家信息
    if curPlayer.GetPlayerID() in PyGameData.g_maliciousAttackDict:
        PyGameData.g_maliciousAttackDict.pop(curPlayer.GetPlayerID())
@@ -1375,6 +1373,7 @@
    PyGameData.g_playerFuncAttrDict.pop(playerID, None)
    PyGameData.g_playerEquipPartAttrDict.pop(playerID, None)
    PyGameData.g_equipChangeClassLVInfo.pop(playerID, None)
    PyGameData.g_playerReqEnterFBEx.pop(playerID, None)
    NPCCommon.ClearPriWoodPile(curPlayer)
    #移除地图缓存的境界难度玩家ID信息
    for playerIDList in PyGameData.g_realmDiffPlayerDict.values():
@@ -1860,39 +1859,20 @@
# @param posY 坐标Y
# @return 返回值无意义
# @remarks 玩家单独进入副本
def PlayerEnterFB(curPlayer, mapID, lineID, posX=0, posY=0):
def PlayerEnterFB(curPlayer, mapID, lineID, posX=0, posY=0, reqInfoEx=None):
    mapID = FBCommon.GetRecordMapID(mapID)
    GameWorld.Log("玩家请求进入副本! mapID=%s,lineID=%s,posX=%s,posY=%s"
                  % (mapID, lineID, posX, posY), curPlayer.GetPlayerID())
    playerID = curPlayer.GetPlayerID()
    PyGameData.g_playerReqEnterFBEx[playerID] = reqInfoEx
    GameWorld.Log("玩家请求进入副本! mapID=%s,lineID=%s,posX=%s,posY=%s,reqInfoEx=%s" % (mapID, lineID, posX, posY, reqInfoEx), playerID)
    
    # 当日换战盟不可进入的地图, 改为按小时算
    #if mapID in ChConfig.Def_ChangeFamilyCanNotEnterMap:
    #    if PlayerFamily.GetPlayerChangeFamilyPastHour(curPlayer) < 24:
    #        NotifyCode(curPlayer, 'jiazu_xyj_671654')
    #        return
#    #跨服活动人数分流处理
#    if GameWorld.IsCrossServer():
#        reqMapID = mapID
#        mapID = __GetMergeFBPlayerMapID(curPlayer, reqMapID)
#        if not mapID:
#            GameWorld.ErrLog("找不到可分配进入的跨服活动地图ID! reqMapID=%s" % reqMapID)
#            return
    #过滤封包地图ID
    if not GameWorld.GetMap().IsMapIDExist(mapID):
        GameWorld.ErrLog('###非法地图数据,mapID: %s' % (mapID), curPlayer.GetID())
        return
#    if not GameWorld.GetMap().CanMove(curPlayer.GetPosX(), curPlayer.GetPosY()):
#        # 坐标不可移动则不能传送,不然会导致退出副本无法退回来源地
#        GameWorld.ErrLog("原障碍点无法切换地图 %s" % ([curPlayer.GetPosX(), curPlayer.GetPosY()]))
#        return
    #进入副本通用检查
    fbIpyData = FBCommon.GetFBIpyData(mapID)
    fbLineIpyData = FBCommon.GetFBLineIpyData(mapID, lineID)
    sceneMapID = mapID if not fbLineIpyData else fbLineIpyData.GetMapID()
    #过滤封包地图ID
    if not GameWorld.GetMap().IsMapIDExist(sceneMapID):
        GameWorld.ErrLog('###非法地图数据,sceneMapID: %s' % (sceneMapID), curPlayer.GetID())
        return
    tick = GameWorld.GetGameWorld().GetTick()
    if CheckMoveToFB(curPlayer, mapID, lineID, fbIpyData, fbLineIpyData, tick) != ShareDefine.EntFBAskRet_OK:
        return
@@ -1953,10 +1933,13 @@
        elif mapID in ChConfig.Def_MapID_LineIDToPropertyID:
            enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % mapID)
            extendParamList = [enterCnt]
        elif mapID in ChConfig.MirrorBattleMapIDList:
            reqInfoEx["sceneMapID"] = sceneMapID
            extendParamList = [reqInfoEx]
        SendToGameServerEnterFB(curPlayer, mapID, lineID, tick, extendParamList)
        return
    
    PlayerResetWorldPosFB(curPlayer, mapID, posX, posY, False, fbID, funcLineID=lineID)
    PlayerResetWorldPosFB(curPlayer, sceneMapID, posX, posY, False, fbID, funcLineID=lineID)
    return
##发送到GameServer请求进入副本
@@ -1977,7 +1960,7 @@
    #GameWorld.DebugLog("send GameServer_QueryPlayerByID")
    # 请求GameServer目标副本GameWorld索引
    sendMsg = [mapID, lineID]
    sendMsg.extend(extendParamList)
    sendMsg += extendParamList
    sendMsg = "%s" % sendMsg
    curPlayer.GameServer_QueryPlayerByID(ChConfig.queryType_EnterFB, 0, 'EnterFB', sendMsg, len(sendMsg))
    return