ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldArena.py
@@ -526,7 +526,7 @@
    
    # 匹配刷新
    if cmd == "MatchRefresh":
        __DoArenaMatchRefresh(curPlayer, cmdDict["isRefresh"], cmdDict["playerLV"], cmdDict["playerScore"])
        __DoArenaMatchRefresh(curPlayer, cmdDict["isRefresh"], cmdDict["playerLV"], cmdDict["playerScore"], cmdDict.get("gmMatchIDList"))
        
    # 对战结算
    elif cmd == "BattleResult":
@@ -534,7 +534,7 @@
        
    return msgList + [retDict]
def __DoArenaMatchRefresh(curPlayer, isRefresh, playerLV, playerScore):
def __DoArenaMatchRefresh(curPlayer, isRefresh, playerLV, playerScore, gmMatchIDList=None):
    ## 玩家刷新匹配对手
    
    playerID = curPlayer.GetPlayerID()
@@ -643,6 +643,27 @@
                                       % (higherLackCount, randOrderMin, randOrderMax, randOrder, matchOrderList), playerID)
                    
    matchOrderList.sort()
    # GM指定匹配测试
    if gmMatchIDList != None and curPlayer.GetGMLevel():
        gmMatchOrderList = []
        for gmMatchID in gmMatchIDList:
            if gmMatchID == playerID:
                GameWorld.DebugAnswer(curPlayer, "目标ID不能是自己!无法匹配!%s" % gmMatchID)
                continue
            gmMatchOrder = billBoard.IndexOfByID(gmMatchID) + 1
            if gmMatchOrder <= 0:
                GameWorld.DebugAnswer(curPlayer, "目标ID不在榜单上!无法匹配!%s" % gmMatchID)
                continue
            if gmMatchOrder in matchOrderList:
                continue
            gmMatchOrderList.append(gmMatchOrder)
            GameWorld.DebugAnswer(curPlayer, "指定匹配ID(%s),order(%s)" % (gmMatchID, gmMatchOrder))
        GameWorld.DebugLog("matchOrderList=%s,needMatchCount=%s" % (str(matchOrderList), needMatchCount))
        if matchOrderList:
            matchOrderList = matchOrderList[:needMatchCount - len(gmMatchOrderList)]
        matchOrderList += gmMatchOrderList
        matchOrderList.sort()
    GameWorld.DebugLog("    最终匹配到的名次列表: matchOrderList=%s" % matchOrderList, playerID)
    
    # 随机机器人备用信息