hch
2019-04-18 68dd06e06c1a4a155884c31403da1155be6f10e8
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFB.py
@@ -154,19 +154,19 @@
        return
    
    playerIDList = [playerID]
    retInfo = [playerIDList, dataMapID, mapID, copyMapID]
    retInfo = [playerIDList, dataMapID, mapID, copyMapID, funcLineID]
    CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_EnterFBRet, retInfo, [serverGroupID])
    return
def CrossServerMsg_EnterFBRet(msgData, tick):
    ## 收到跨服服务器动态分配的跨服副本进入信息
    
    playerIDList, dataMapID, mapID, copyMapID = msgData
    playerIDList, dataMapID, mapID, copyMapID, funcLineID = msgData
    
    if dataMapID == ChConfig.Def_FBMapID_CrossDemonKing:
        mapPosInfo = IpyGameDataPY.GetFuncEvalCfg("CrossDemonKingMap", 2)
    else:
    dynamicLineMapDict = IpyGameDataPY.GetFuncEvalCfg("CrossDynamicLineMap", 1)
    if dataMapID not in dynamicLineMapDict:
        return
    mapPosInfo = dynamicLineMapDict[dataMapID][0]
    posX, posY = mapPosInfo[:2]
    dist = mapPosInfo[2] if len(mapPosInfo) > 2 else 0
    if dist > 0:
@@ -176,7 +176,7 @@
        curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
        if not curPlayer:
            continue
        CrossRealmPlayer.SendCrossRealmReg(curPlayer, dataMapID, mapID, dataMapID, copyMapID, posX, posY)
        CrossRealmPlayer.SendCrossRealmReg(curPlayer, dataMapID, mapID, dataMapID, copyMapID, posX, posY, lineID=funcLineID)
        
    return
@@ -216,16 +216,11 @@
            #GameWorld.DebugLog("    等待中的玩家ID: %s" % copyMapObj.waitPlayerDict)
            return mapID, copyMapID, openState
        
    if dataMapID == ChConfig.Def_FBMapID_CrossDemonKing:
        mapIDList = IpyGameDataPY.GetFuncEvalCfg("CrossDemonKingMap", 1)
    elif dataMapID == ChConfig.Def_FBMapID_CrossGrasslandLing:
        mapIDList = [dataMapID]
    elif dataMapID == ChConfig.Def_FBMapID_CrossGrasslandXian:
        mapIDList = [dataMapID]
    # 其他地图待扩展
    else:
    dynamicLineMapDict = IpyGameDataPY.GetFuncEvalCfg("CrossDynamicLineMap", 1)
    if dataMapID not in dynamicLineMapDict:
        return
    mapIDList = dynamicLineMapDict[dataMapID][1]
    openMapID, openCopyMapID = 0, 0
    for mapID in mapIDList:
        maxCopyMapCount = PyGameData.g_crossMapCopyMapCountDict.get(mapID, 0)
@@ -282,6 +277,7 @@
        return
    copyMapObj = PyGameData.g_crossDynamicLineCopyMapInfo[key]
    copyMapObj.openState = 1
    funcLineID = copyMapObj.funcLineID
    
    # 通知子服等待中的玩家可以进入副本
    serverPlayerIDListDict = {}
@@ -296,7 +292,7 @@
    GameWorld.Log("动态分配虚拟线路启动成功,通知子服等待玩家可进入: dataMapID=%s,mapID=%s,copyMapID=%s,serverPlayerIDListDict=%s" 
                  % (dataMapID, mapID, copyMapID, serverPlayerIDListDict))
    for serverGroupID, playerIDList in serverPlayerIDListDict.items():
        retInfo = [playerIDList, dataMapID, mapID, copyMapID]
        retInfo = [playerIDList, dataMapID, mapID, copyMapID, funcLineID]
        CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_EnterFBRet, retInfo, [serverGroupID])
        
    #GameWorld.DebugLog("    PyGameData.g_crossDynamicLineInfo=%s" % PyGameData.g_crossDynamicLineInfo)