9701 【后端】【越南】【BT7】【主干】跨服竞技64位排位赛(增加可取消仙官申请)
| | |
| | | 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
|
| | |
| | | # BYTE ZoneID; //仙官数据分区ID
|
| | | # WORD MainOfficialID; //界主官职ID
|
| | | # WORD OfficialID; //申请官职ID
|
| | | # BYTE Cancel; //是否取消申请,默认0-申请;1-取消申请
|
| | | #};
|
| | | def OnChampionshipOfficialApply(index, clientData, tick):
|
| | | if GameWorld.IsCrossServer():
|
| | |
| | | zoneID = clientData.ZoneID
|
| | | mainOfficialID = clientData.MainOfficialID
|
| | | officialID = clientData.OfficialID
|
| | | cancel = clientData.Cancel
|
| | |
|
| | | realmLV = curPlayer.GetOfficialRank()
|
| | | needRealmLV = IpyGameDataPY.GetFuncCfg("CrossChamOfficial", 3)
|
| | |
| | | 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
|