ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/GameWorldProcess.py
@@ -39,6 +39,8 @@
import GameWorld
import ChConfig
import PlayerControl
import FamilyRobBoss
import NPCCustomRefresh
import EventShell
import FBLogic
import FBCommon
@@ -92,7 +94,8 @@
    gameFBMgr.SetPlayerLogoffTick(0)
    gameFBMgr.SetIsSafeClose(0)
    GameWorld.Log("FB Close! lineID = %s, openState = %s"%(gameWorld.GetLineID(), gameWorld.GetOpenState()))
    lineID = gameWorld.GetLineID()
    GameWorld.Log("FB Close! lineID = %s, openState = %s"%(lineID, gameWorld.GetOpenState()))
    
    gameWorld.SetOpenState(IPY_GameWorld.fbosClosed)
    gameMap = gameWorld.GetMap()
@@ -101,9 +104,23 @@
    if fbType == 0:
        return
    
    if fbType == IPY_GameWorld.fbtSingle:
        ownerID = gameFBMgr.GetGameFBDictByKey(ChConfig.Def_FB_SingleFBPlayerID)
        if ownerID in PyGameData.g_fbHelpBattlePlayerDict:
            PyGameData.g_fbHelpBattlePlayerDict.pop(ownerID)
            GameWorld.DebugLog("清除单人副本镜像助战信息: ownerID=%s" % ownerID)
    elif fbType == IPY_GameWorld.fbtTeam:
        teamID = gameWorld.GetPropertyID()
        if teamID in PyGameData.g_teamFBMemRelationDict:
            PyGameData.g_teamFBMemRelationDict.pop(teamID)
            GameWorld.DebugLog("清除组队副本队员关系信息: teamID=%s" % teamID)
    #副本关闭时统一清怪
    FBCommon.ClearFBNPC()
    
    if lineID in PyGameData.g_fbRobotJobDict:
        PyGameData.g_fbRobotJobDict.pop(lineID)
    mapID = FBCommon.GetRecordMapID(gameMap.GetMapID())
    #清理物品
    unPickItemDict = {}
@@ -307,7 +324,7 @@
        return
    
    #特殊副本,不执行这个逻辑
    if not GameWorld.GetMap().GetAutoSize():
    if not IsNoPlayerNeedCloseFB():
        return
    
    gameFB = GameWorld.GetGameFB()
@@ -501,6 +518,12 @@
    __RefreshOnFiveMinute(tick)
    #定时检测关闭超时文件
    EventReport.OnTimeCloseScribeTxt()
    #仙盟归属boss定时处理
    FamilyRobBoss.OnFamilyOwnerBossProcess(tick)
    #地图自定义随机刷怪
    NPCCustomRefresh.ProcessMapRandomRefreshNPC(gameWorld, tick)
    return
## 通知RouteServer 消息
@@ -588,8 +611,7 @@
    if gameMap.GetMapFBType() == 0:
        return
    
    if gameMap.GetAutoSize() == 0:
        #只处理自动是否的地图
    if not IsNoPlayerNeedCloseFB():
        return
    
    playerManager = gameWorld.GetMapCopyPlayerManager()
@@ -598,6 +620,9 @@
        __CloseFB(GameWorld.GetGameWorld(), GameWorld.GetGameWorld().GetTick())    
def IsNoPlayerNeedCloseFB():
    ## 副本中无玩家是否需要自动关闭的副本
    return GameWorld.GetMap().GetAutoSize() and GameWorld.GetMap().GetMapID() not in ChConfig.Def_NoPlayerNotCloseAutoSizeMap
#//08 06 根据国家统计的玩家数目#tagMPlayerCountByCountry
#tagMPlayerCountByCountry       *   GettagMPlayerCountByCountry();