ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/FBCommon.py
@@ -2381,19 +2381,33 @@
def GetRecordMapID(mapID):
    DataMapIDDict = IpyGameDataPY.GetConfigEx("DataMapIDDict")
    if not DataMapIDDict:
        mIDToDataMapIDDict = {} # 场景ID对应功能地图ID
        dMapIDDict = {}
        ipyDataMgr = IpyGameDataPY.IPY_Data()
        for i in xrange(ipyDataMgr.GetFBLineCount()):
            ipyData = ipyDataMgr.GetFBLineByIndex(i)
            dMapID = ipyData.GetDataMapID()
            mID = ipyData.GetMapID()
            dMapIDList= dMapIDDict.get(dMapID, [])
            if mID not in dMapIDList:
                dMapIDList.append(mID)
                dMapIDDict[dMapID] = dMapIDList
        for dMapID in dMapIDDict.keys():
            if len(dMapIDDict[dMapID]) == 1:
            mIDList= dMapIDDict.get(dMapID, [])
            if mID not in mIDList:
                mIDList.append(mID)
                dMapIDDict[dMapID] = mIDList
            dMIDList= mIDToDataMapIDDict.get(mID, [])
            if dMapID not in dMIDList:
                dMIDList.append(dMapID)
                mIDToDataMapIDDict[mID] = dMIDList
        unMIDList = []
        for mID, dMIDList in mIDToDataMapIDDict.items():
            if len(dMIDList) > 1:
                unMIDList.append(mID)
                #GameWorld.DebugLog("----------- 同个场景对应到多个功能地图的,视为无意义的地图! mID=%s, to dMIDList=%s" % (mID, dMIDList))
        for dMapID, mIDList in dMapIDDict.items():
            for unMID in unMIDList:
                if unMID in mIDList:
                    mIDList.remove(unMID)
            if len(mIDList) <= 1:
                dMapIDDict.pop(dMapID)
        DataMapIDDict = IpyGameDataPY.SetConfigEx("DataMapIDDict", dMapIDDict)
        #GameWorld.Log("加载DataMapIDDict=%s" % DataMapIDDict)