| | |
| | |
|
| | | return
|
| | |
|
| | | def DoChampionshipOpen(curPlayer):
|
| | | NotifyPlayerChampionshipInfo(curPlayer, GameWorld.GetGameWorld().GetTick())
|
| | | return
|
| | |
|
| | | def OnPlayerLogin(curPlayer, tick):
|
| | |
|
| | | if GameWorld.IsCrossServer():
|
| | | return
|
| | |
|
| | | if not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Championship):
|
| | | return
|
| | | |
| | | NotifyPlayerChampionshipInfo(curPlayer, tick)
|
| | | return
|
| | |
|
| | | def NotifyPlayerChampionshipInfo(curPlayer, tick):
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | champMgr = GetChampionshipMgr()
|
| | | pkZoneIDList = champMgr.GetChampPKZoneIDList()
|
| | |
| | | GameWorld.Log("挑战目标仙官玩家ID结果! zoneID=%s,mainOfficialID=%s,officialID=%s,fightPower=%s,tagFightPower=%s,tagPlayerID=%s,Ret=%s"
|
| | | % (zoneID, mainOfficialID, officialID, fightPower, tagFightPower, tagPlayerID, Ret), playerID)
|
| | |
|
| | | syncOfficialIDList = [officialID]
|
| | | playerName = PropData.get("Name", str(playerID))
|
| | | # 暂时只记录挑战胜利的
|
| | | if Ret == 1:
|
| | |
| | | officialObj.ResetPlayer()
|
| | | officialObj.playerID = playerID
|
| | |
|
| | | # 移除该玩家的其他仙官申请
|
| | | for offID in offZoneMgr.officialInfo.keys():
|
| | | offObj = offZoneMgr.GetOfficialObj(offID)
|
| | | if not offObj:
|
| | | continue
|
| | | if playerID in offObj.applyPlayerInfo:
|
| | | offObj.applyPlayerInfo.pop(playerID)
|
| | | syncOfficialIDList.append(offID)
|
| | | |
| | | # 邮件通知对方,官职被挑战了
|
| | | if offPlayerID:
|
| | | PlayerCompensation.SendMailByKey("CrossChampionshipOfficialBeChallenge", [offPlayerID], [], [playerName, officialID], crossMail=True)
|
| | |
|
| | | exData = {"exDataType":"OfficialChallenge", "playerID":playerID, "tagPlayerName":officialObj.playerName,
|
| | | "mainOfficialID":mainOfficialID, "officialID":officialID, "Ret":Ret}
|
| | | Send_CrossServerMsg_ChampionshipOfficial(zoneID, [officialID], exData=exData)
|
| | | Send_CrossServerMsg_ChampionshipOfficial(zoneID, syncOfficialIDList, exData=exData)
|
| | | return
|
| | |
|
| | | #// C0 23 跨服排位仙官挑战记录查询 #tagCGChampionshipOfficialChallengeQuery
|
| | |
| | | def Sync_ChampionshipPKZoneGroupInfo(zoneID, groupMarkDict=None, curPlayer=None):
|
| | | ## 同步排位分区分组信息
|
| | | # @param groupMarkDict: {groupMark:[battleNum, ...], ...}
|
| | | |
| | | |
| | | champMgr = GetChampionshipMgr()
|
| | | if curPlayer:
|
| | | playerZoneID = champMgr.GetPlayerPKZoneID(curPlayer.GetPlayerID())
|
| | | if playerZoneID != zoneID:
|
| | | return
|
| | | if not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Championship):
|
| | | return
|
| | |
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | |
| | | playerZoneID = champMgr.GetPlayerPKZoneID(curPlayer.GetPlayerID())
|
| | | if playerZoneID != zoneID:
|
| | | continue
|
| | | if not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Championship):
|
| | | continue
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | |
|
| | | return
|
| | |
| | | champMgr = GetChampionshipMgr()
|
| | | playerZoneID = champMgr.GetPlayerPKZoneID(playerID)
|
| | | if not playerZoneID:
|
| | | return
|
| | | if not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Championship):
|
| | | return
|
| | |
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(playerZoneID)
|
| | |
| | | playerZoneID = champMgr.GetPlayerPKZoneID(curPlayer.GetPlayerID())
|
| | | if playerZoneID != zoneID:
|
| | | return
|
| | | if not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Championship):
|
| | | return
|
| | |
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | |
| | | playerZoneID = champMgr.GetPlayerPKZoneID(curPlayer.GetPlayerID())
|
| | | if playerZoneID != zoneID:
|
| | | continue
|
| | | if not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Championship):
|
| | | continue
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | | return
|
| | |
|
| | |
| | | if curPlayer:
|
| | | playerZoneID = champMgr.GetPlayerOfficialZoneID(curPlayer.GetPlayerID())
|
| | | if playerZoneID != zoneID:
|
| | | return
|
| | | if not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Championship):
|
| | | return
|
| | |
|
| | | clientPack = ChPyNetSendPack.tagGCChampionshipOfficialInfo()
|
| | |
| | | playerZoneID = champMgr.GetPlayerOfficialZoneID(curPlayer.GetPlayerID())
|
| | | if playerZoneID != zoneID:
|
| | | continue
|
| | | if not PlayerControl.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_Championship):
|
| | | continue
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | |
|
| | | return
|