ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
@@ -18,6 +18,7 @@
import IPY_GameWorld
import PlayerControl
import GameWorldProcess
import CrossRealmPlayer
import PlayerSuccess
import ReadChConfig
import ShareDefine
@@ -484,6 +485,22 @@
def DoEnterFBLogic(curPlayer, tick):
    curPlayerID = curPlayer.GetID()
    
    if GameWorld.IsCrossServer():
        mapID = GameWorld.GetMap().GetMapID()
        mapID = FBCommon.GetRecordMapID(mapID)
        if mapID in ChConfig.Def_CrossDynamicLineMap:
            fbZoneID = FBCommon.GetCrossDynamicLineMapZoneID()
            fbFuncLineID = FBCommon.GetCrossDynamicLineMapFuncLineID()
            playerZoneID = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ReqCrossFBZoneID)
            playerFuncLineID = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ReqCrossFBFuncLine)
            if fbZoneID != playerZoneID or fbFuncLineID != playerFuncLineID:
                GameWorld.ErrLog("DoEnterFB 玩家与当前副本线路所属分区或功能分线不同,踢出玩家!fbZoneID=%s,playerZoneID=%s,fbFuncLineID=%s,playerFuncLineID=%s"
                                 % (fbZoneID, playerZoneID, fbFuncLineID, playerFuncLineID), curPlayerID)
                CrossRealmPlayer.PlayerExitCrossServer(curPlayer)
                return
            GameWorld.Log("玩家进入跨服副本动态分配的线路: fbZoneID=%s,playerZoneID=%s,fbFuncLineID=%s,playerFuncLineID=%s"
                          % (fbZoneID, playerZoneID, fbFuncLineID, playerFuncLineID), curPlayerID)
    # 自伸缩副本根据玩家进入开启,主动调用一次,避免间隔调用时机未触发导致逻辑错乱
    GameWorldProcess.EnterOpenFB(tick)