9701 【后端】【越南】【BT7】【主干】跨服竞技64位排位赛(增加可取消仙官申请)
2个文件已修改
18 ■■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossChampionship.py 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossChampionship.py 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossChampionship.py
@@ -2379,8 +2379,22 @@
    playerID = msgData["playerID"]
    mainOfficialID = msgData["mainOfficialID"]
    officialID = msgData["officialID"]
    cancel = msgData["cancel"]
    PropData = msgData["PropData"]
    
    if cancel:
        champMgr = GetChampionshipMgr()
        offZoneMgr = champMgr.GetChampOfficialZoneMgr(zoneID)
        officialObj = offZoneMgr.GetOfficialObj(officialID)
        if not officialObj:
            return
        if playerID not in officialObj.applyPlayerInfo:
            GameWorld.ErrLog("不在仙官申请列表里! zoneID=%s,mainOfficialID=%s,officialID=%s" % (zoneID, mainOfficialID, officialID), playerID)
            return
        officialObj.applyPlayerInfo.pop(playerID, None)
        Send_CrossServerMsg_ChampionshipOfficial(zoneID, [officialID])
        return
    mainIpyData = IpyGameDataPY.GetIpyGameData("ChampionshipOfficial", mainOfficialID)
    if not mainIpyData:
        return
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossChampionship.py
@@ -47,6 +47,7 @@
#    BYTE        ZoneID;        //仙官数据分区ID
#    WORD        MainOfficialID;    //界主官职ID
#    WORD        OfficialID;    //申请官职ID
#    BYTE        Cancel;        //是否取消申请,默认0-申请;1-取消申请
#};
def OnChampionshipOfficialApply(index, clientData, tick):
    if GameWorld.IsCrossServer():
@@ -58,6 +59,7 @@
    zoneID = clientData.ZoneID
    mainOfficialID = clientData.MainOfficialID
    officialID = clientData.OfficialID
    cancel = clientData.Cancel
    
    realmLV = curPlayer.GetOfficialRank()
    needRealmLV = IpyGameDataPY.GetFuncCfg("CrossChamOfficial", 3)
@@ -66,7 +68,7 @@
        return
    
    # 发送跨服服务器
    dataMsg = {"zoneID":zoneID, "mainOfficialID":mainOfficialID, "officialID":officialID,
    dataMsg = {"zoneID":zoneID, "mainOfficialID":mainOfficialID, "officialID":officialID, "cancel":cancel,
               "playerID":playerID, "PropData":CrossRealmPlayer.GetPlayerCrossPropDataShort(curPlayer)}
    GameWorld.SendMsgToCrossServer(ShareDefine.ClientServerMsg_ChampionshipOfficialApply, dataMsg)
    return