9701 【越南】【香港】【主干】【砍树】跨服竞技64位排位赛(修复排位超过10个分区时仙官分区数据异常bug)
1个文件已修改
27 ■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossChampionship.py 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossChampionship.py
@@ -70,10 +70,11 @@
跨服排位争霸赛最终排名官职信息
ShareDefine.Def_UniversalGameRecType_CrossChampionshipOfficial
time:time                上一次辞退下级仙官时间
value1:zoneID官职ID      官职ID*10 + 分区ID
value1:官职ID            官职ID
value2:playerID          玩家ID,可能为0
value3:worshipValue      被膜拜次数*10 + 是否双倍
value4:rank              排名
value5:zoneID            分区ID
StrValue3:               [申请该官职玩家ID,...]
'''
@@ -81,7 +82,8 @@
'''
跨服排位争霸赛官职挑战信息
ShareDefine.Def_UniversalGameRecType_CrossChampionshipOffChallenge
value1:zoneID官职ID      官职ID*10 + 分区ID
value1:官职ID             官职ID
value2:zoneID            分区ID
StrValue3:               {挑战玩家信息key:value, ...}
'''
@@ -505,9 +507,8 @@
    for index in xrange(officialRecDataList.Count()):
        recData = officialRecDataList.At(index)
        lastDismissJuniorTime = recData.GetTime()
        value1 = recData.GetValue1()
        officialID = value1 / 10
        zoneID = value1 % 10
        officialID = recData.GetValue1()
        zoneID = recData.GetValue5()
        playerID = recData.GetValue2()
        worshipValue = recData.GetValue3()
        worshipCount = worshipValue / 10
@@ -538,9 +539,8 @@
    GameWorld.Log("加载跨服排位官职挑战记录信息! %s" % challengeRecDataList.Count())
    for index in xrange(challengeRecDataList.Count()):
        recData = challengeRecDataList.At(index)
        value1 = recData.GetValue1()
        officialID = value1 / 10
        zoneID = value1 % 10
        officialID = recData.GetValue1()
        zoneID = recData.GetValue2()
        strValue3 = recData.GetStrValue3()
        if not strValue3:
            continue
@@ -632,22 +632,23 @@
            offObj = offZoneMgr.GetOfficialObj(officialID)
            if not offObj:
                continue
            value1 = offObj.officialID * 10 + zoneID
            recData = officialRecDataList.AddRec()
            recData.SetTime(offObj.lastDismissJuniorTime)
            recData.SetValue1(value1)
            recData.SetValue1(officialID)
            recData.SetValue2(offObj.playerID)
            recData.SetValue3(offObj.worshipCount * 10 + offObj.worshipDouble)
            recData.SetValue4(offObj.rank)
            recData.SetValue5(zoneID)
            strValue3 = "%s" % offObj.applyPlayerInfo.keys()
            strValue3 = strValue3.replace(" ", "")
            recData.SetStrValue3(strValue3)
            
            #GameWorld.Log("        zoneID=%s,officialID=%s,playerID=%s,rank=%s,challengeCount=%s"
            #              % (zoneID, officialID, offObj.playerID, offObj.rank, len(offObj.challengeList)))
            GameWorld.Log("        zoneID=%s,officialID=%s,playerID=%s,rank=%s,challengeCount=%s"
                          % (zoneID, officialID, offObj.playerID, offObj.rank, len(offObj.challengeList)))
            for challengeDict in offObj.challengeList:
                challRecData = challengeRecDataList.AddRec()
                challRecData.SetValue1(value1)
                challRecData.SetValue1(officialID)
                challRecData.SetValue2(zoneID)
                strValue3 = str(challengeDict)
                strValue3 = strValue3.replace(" ", "")
                challRecData.SetStrValue3(strValue3)