ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFB.py
@@ -97,10 +97,14 @@
            
        return totalPlayerCount
    
    def IsMustCopyMapPlayer(self, playerID):
    def IsMustCopyMapPlayer(self, playerID, checkTeam=True):
        ## 是否必定在此分线的玩家, 在请求队列里 或 曾经进入到该分线的,都强制认为属于该分线的玩家
        if playerID in self.waitPlayerDict or playerID in self.enterPlayerIDList:
            return True
        if self.openState != IPY_PlayerDefine.fbosOpen:
            return False
        if not checkTeam:
            return False
        # 队友强制在一起
        funcTeamMgr = PyDataManager.GetDBPyFuncTeamManager()
        teamID = funcTeamMgr.GetPlayerTeamID(playerID, self.funcMapID)
@@ -273,7 +277,7 @@
        
    realMapID, copyMapID, openState = tagCopyMapObj.realMapID, tagCopyMapObj.copyMapID, tagCopyMapObj.openState
    
    if openState == IPY_PlayerDefine.fbosWaitForClose:
    if openState >= IPY_PlayerDefine.fbosWaitForClose:
        PlayerControl.NotifyCodeCross(serverGroupID, playerID, "CrossFBClose")
        GameWorld.ErrLog("分流的副本线路关闭中! mapID=%s,funcLineID=%s,zoneID=%s,realMapID=%s,copyMapID=%s,openState=%s" 
                         % (mapID, funcLineID, zoneID, realMapID, copyMapID, openState), playerID)
@@ -360,7 +364,7 @@
        
        copyMapObj = PyGameData.g_crossDynamicLineCopyMapInfo[key]
        openState = copyMapObj.openState
        if openState == IPY_PlayerDefine.fbosWaitForClose:
        if openState >= IPY_PlayerDefine.fbosWaitForClose:
            # 没有限制分流人数的情况,代表都在同一场,这种情况下当副本已经在关闭的状态下,则代表已经结束了,不可再进入
            if not shuntPlayerMax:
                PlayerControl.NotifyCodeCross(serverGroupID, playerID, "CrossFBClose")
@@ -546,7 +550,11 @@
        OnCrossDynamicLineClose(realMapID, copyMapID)
    elif state == IPY_PlayerDefine.fbosOpen:
        OnCrossDynamicLineOpen(mapID, realMapID, copyMapID)
    else:
        key = (realMapID, copyMapID)
        if key in PyGameData.g_crossDynamicLineCopyMapInfo:
            copyMapObj = PyGameData.g_crossDynamicLineCopyMapInfo[key]
            copyMapObj.openState = state
    return
def OnCrossDynamicLineOpen(mapID, realMapID, copyMapID):