| | |
| | | value3:guessPlayerID 竞猜玩家ID
|
| | | value4:tagPlayerID 目标玩家ID
|
| | | value5:moneyTotal 投注总货币值
|
| | | StrValue1:isClose 是否已结算
|
| | | '''
|
| | |
|
| | | Def_RecType_CrossChampionshipOfficial = ShareDefine.Def_UniversalGameRecType_CrossChampionshipOfficial
|
| | |
| | | self.tagPlayerID = 0 # 目标玩家ID
|
| | | self.moneyTotal = 0 # 投注总货币值
|
| | | self.guessRank = 0 # 竞猜名次,没有名次的竞猜默认0;1-代表第一名
|
| | | self.isClose = 0 # 是否已结算
|
| | | return
|
| | |
|
| | | def GetString(self):
|
| | |
| | | return
|
| | |
|
| | | def GetChampPKZoneIDList(self): return self._pkZoneInfo.keys()
|
| | | def GetChampPKZoneMgr(self, zoneID):
|
| | | def GetChampPKZoneMgr(self, zoneID, addNew=False):
|
| | | pkZoneMgr = None
|
| | | if zoneID in self._pkZoneInfo:
|
| | | pkZoneMgr = self._pkZoneInfo[zoneID]
|
| | | else:
|
| | | elif addNew:
|
| | | pkZoneMgr = ChampionshipPKZoneMgr(zoneID)
|
| | | self._pkZoneInfo[zoneID] = pkZoneMgr
|
| | | if not pkZoneMgr:
|
| | | GameWorld.ErrLog("找不到跨服排位赛分区管理! zoneID=%s" % zoneID)
|
| | | return pkZoneMgr
|
| | |
|
| | | def GetPlayerPKZoneID(self, playerID):
|
| | |
| | | # @return: 如果在排位中则返回所在排位分区,否则返回当前服务器所在跨服匹配PK分区
|
| | | for zoneID in self._pkZoneInfo.keys():
|
| | | pkZoneMgr = self.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | if playerID in pkZoneMgr.GetBatPlayerIDList():
|
| | | return zoneID
|
| | | return GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_CrossPKZoneID)
|
| | |
| | | groupMark = groupInfo / 100
|
| | | battleNum = groupInfo % 100
|
| | |
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID, True)
|
| | |
|
| | | if groupMark in groupMarkList and battleNum:
|
| | | battle = ChampionshipBattle()
|
| | |
| | | guessPlayerID = recData.GetValue3()
|
| | | tagPlayerID = recData.GetValue4()
|
| | | moneyTotal = recData.GetValue5()
|
| | | isClose = GameWorld.ToIntDef(recData.GetStrValue1(), 0)
|
| | |
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | playerGuessList = pkZoneMgr.GetPlayerGuessList(guessPlayerID, guessType)
|
| | | guessObj = ChampionshipGuess()
|
| | | guessObj.zoneID = zoneID
|
| | |
| | | guessObj.guessPlayerID = guessPlayerID
|
| | | guessObj.tagPlayerID = tagPlayerID
|
| | | guessObj.moneyTotal = moneyTotal
|
| | | guessObj.isClose = isClose
|
| | | playerGuessList.append(guessObj)
|
| | |
|
| | | if guessType not in pkZoneMgr.supportCountInfo:
|
| | |
| | | return
|
| | |
|
| | | def OnServerClose():
|
| | | |
| | | SaveChampionshipData()
|
| | | return
|
| | |
|
| | | def SaveChampionshipData():
|
| | | if not GameWorld.IsCrossServer():
|
| | | return
|
| | |
|
| | |
| | | groupRecDataList = universalRecMgr.GetTypeList(Def_RecType_CrossChampionshipGroup)
|
| | | for zoneID in pkZoneIDList:
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | |
| | | if not pkZoneMgr:
|
| | | continue
|
| | | # 保存参赛玩家名单
|
| | | batPlayerIDList = pkZoneMgr.GetBatPlayerIDList()
|
| | | GameWorld.Log(" zoneID=%s,batPlayerIDCount=%s, %s" % (zoneID, len(batPlayerIDList), batPlayerIDList))
|
| | |
| | | guessRecDataList = universalRecMgr.GetTypeList(Def_RecType_CrossChampionshipGuess)
|
| | | for zoneID in pkZoneIDList:
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | for guessType, playerGuessDict in pkZoneMgr.guessInfo.items():
|
| | | for guessPlayerID, guessObjList in playerGuessDict.items():
|
| | | #GameWorld.Log(" zoneID=%s,guessType=%s,guessPlayerID=%s,guessCount=%s" % (zoneID, guessType, guessPlayerID, len(guessObjList)))
|
| | |
| | | recData.SetValue3(guessPlayerID)
|
| | | recData.SetValue4(guessObj.tagPlayerID)
|
| | | recData.SetValue5(guessObj.moneyTotal)
|
| | | recData.SetStrValue1("%s" % guessObj.isClose)
|
| | |
|
| | | offZoneIDList = champMgr.GetChampOfficialZoneIDList()
|
| | | GameWorld.Log("保存跨服排位玩家官职信息! offZoneIDList=%s" % offZoneIDList)
|
| | |
| | | champMgr = GetChampionshipMgr()
|
| | | for zoneID in champMgr.GetChampPKZoneIDList():
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | if playerID in pkZoneMgr.GetBatPlayerIDList():
|
| | | # 是参赛玩家
|
| | | return True
|
| | |
| | | if pkZoneIDList:
|
| | | playerZoneID = champMgr.GetPlayerPKZoneID(playerID)
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(playerZoneID)
|
| | | if not pkZoneMgr:
|
| | | return
|
| | | if playerID not in pkZoneMgr.syncGuessPlayerIDInfo:
|
| | | sendMsg = {"zoneID":playerZoneID, "playerID":playerID, "exDataType":"ChampionshipGuessQuery"}
|
| | | CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_ChampionshipGuess, sendMsg)
|
| | |
| | |
|
| | | return
|
| | |
|
| | | def OnMinuteProcess():
|
| | | def ChampionshipErrorDo():
|
| | | ## 状态异常后处理
|
| | | |
| | | stateError = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipStateError)
|
| | | if not stateError:
|
| | | return "state is not error."
|
| | | |
| | | if PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipErrorDo):
|
| | | return "already done."
|
| | | |
| | | champMgr = GetChampionshipMgr()
|
| | | |
| | | # 返还未结算的竞猜消耗
|
| | | moneyType, _ = IpyGameDataPY.GetFuncEvalCfg("CrossChamGuess", 1)
|
| | | moneyItemID = ChConfig.MoneyItemIDDict.get(moneyType)
|
| | | for zoneID in champMgr.GetChampPKZoneIDList():
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | |
| | | backGuessTypeList = []
|
| | | playerGuessMoneyInfo = {}
|
| | | for guessType, playerGuessDict in pkZoneMgr.guessInfo.items():
|
| | | for guessPlayerID, guessObjList in playerGuessDict.items():
|
| | | for guessObj in guessObjList:
|
| | | if guessObj.isClose:
|
| | | # 已经结算的不处理
|
| | | continue
|
| | | guessObj.isClose = 1
|
| | | if guessType not in backGuessTypeList:
|
| | | backGuessTypeList.append(guessType)
|
| | | playerGuessMoneyInfo[guessPlayerID] = playerGuessMoneyInfo.get(guessPlayerID, 0) + guessObj.moneyTotal
|
| | | |
| | | GameWorld.Log("竞猜需要返还玩家信息: moneyItemID=%s,zoneID=%s,backGuessTypeList=%s, %s" % (moneyItemID, zoneID, backGuessTypeList, playerGuessMoneyInfo))
|
| | | if not moneyItemID or not playerGuessMoneyInfo:
|
| | | continue
|
| | | |
| | | for guessPlayerID, totalMoney in playerGuessMoneyInfo.items():
|
| | | paramList = []
|
| | | addItemList = [[moneyItemID, totalMoney, 0]]
|
| | | PlayerCompensation.SendMailByKey("CrossChampionshipGuessBack", [guessPlayerID], addItemList, paramList, crossMail=True)
|
| | | |
| | | PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipErrorDo, 1)
|
| | | return "OK"
|
| | |
|
| | | def OnMinuteProcess(curMinute):
|
| | | if not GameWorld.IsCrossServer():
|
| | | return
|
| | |
|
| | | Dispose_CrossChampionshipState()
|
| | | |
| | | # 每半小时存档一次
|
| | | if curMinute % 30 == 0:
|
| | | SaveChampionshipData()
|
| | | return
|
| | |
|
| | | def __GetChampionshipStartDate():
|
| | |
| | | PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipID, crossChampionshipID)
|
| | | PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipState, updState)
|
| | | PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipStateError, 0)
|
| | | PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_CrossChampionshipErrorDo, 0)
|
| | |
|
| | | champMgr = GetChampionshipMgr()
|
| | | champMgr.ClearPKZone() # 仅清理PK分区信息,仙官信息不变
|
| | |
| | | if not billboardList:
|
| | | # 没有玩家上榜的不处理
|
| | | continue
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID, True)
|
| | | battlePlayerList = billboardList[:Def_CrossChampionshipPlayerMax]
|
| | | for num, billboardData in enumerate(battlePlayerList, 1):
|
| | | playerID = billboardData.PlayerID
|
| | |
| | | champMgr = GetChampionshipMgr()
|
| | | for zoneID in champMgr.GetChampPKZoneIDList():
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | # 首轮取所有参赛玩家
|
| | | if preGroupMark == 0:
|
| | | batPlayerIDList = pkZoneMgr.GetBatPlayerIDList()
|
| | |
| | | champMgr = GetChampionshipMgr()
|
| | | for zoneID in champMgr.GetChampPKZoneIDList():
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | |
| | | if not pkZoneMgr:
|
| | | continue
|
| | | winPlayerIDList, losePlayerIDList = [], [] # 胜者组、败者组
|
| | | battleNumList = pkZoneMgr.battleInfo.get(preGroupMark, {}).keys()
|
| | | battleNumList.sort() # 对战编号按之前的分组顺序排序,确保分组顺序一致
|
| | |
| | | champMgr = GetChampionshipMgr()
|
| | | for zoneID in champMgr.GetChampPKZoneIDList():
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | |
| | | if not pkZoneMgr:
|
| | | continue
|
| | | battleNumList = pkZoneMgr.battleInfo.get(preGroupMark, {}).keys()
|
| | | battleNumList.sort() # 对战编号按之前的分组顺序排序,确保分组顺序一致
|
| | | for battleNum in battleNumList:
|
| | |
| | | for guessObj in guessList:
|
| | | if guessObj.guessType != guessType or guessObj.guessPlayerID != guessPlayerID:
|
| | | continue
|
| | | guessObj.isClose = 1
|
| | | tagPlayerID = guessObj.tagPlayerID
|
| | | moneyTotal = guessObj.moneyTotal
|
| | | if not tagPlayerID or tagPlayerID not in top8PlayerIDList:
|
| | |
| | | if state not in ShareDefine.CrossChampionshipEnterStateInfo:
|
| | | return
|
| | | groupMark = ShareDefine.CrossChampionshipEnterStateInfo[state]
|
| | | mapIndex = 0
|
| | | mapIDList = IpyGameDataPY.GetFuncEvalCfg("CrossChamFB", 3)
|
| | | GameWorld.Log("跨服排位争霸赛开启进场副本: groupMark=%s,mapIDList=%s" % (groupMark, mapIDList))
|
| | | champMgr = GetChampionshipMgr()
|
| | | pkZoneIDList = champMgr.GetChampPKZoneIDList()
|
| | | for index, zoneID in enumerate(pkZoneIDList):
|
| | | if index >= len(mapIDList):
|
| | | GameWorld.ErrLog("该跨服排位争霸赛分区没有分配对战地图! zoneID=%s,index=%s" % (zoneID, index), zoneID)
|
| | | continue
|
| | | mapID = mapIDList[index]
|
| | | for zoneID in pkZoneIDList:
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | if groupMark not in pkZoneMgr.battleInfo:
|
| | | GameWorld.Log("该跨服排位争霸赛分区没有对战组! zoneID=%s,groupMark=%s" % (zoneID, groupMark), zoneID)
|
| | | continue
|
| | | if mapIndex >= len(mapIDList):
|
| | | GameWorld.ErrLog("该跨服排位争霸赛分区没有分配对战地图! zoneID=%s,mapIndex=%s" % (zoneID, mapIndex), zoneID)
|
| | | continue
|
| | | mapID = mapIDList[mapIndex]
|
| | | mapIndex += 1
|
| | | copyMapID = 0
|
| | | copyPropertyList = []
|
| | | battleDict = pkZoneMgr.battleInfo[groupMark]
|
| | |
| | | CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_ChampionshipState, dataMsg, serverGroupIDList)
|
| | | return
|
| | |
|
| | | def Send_CrossServerMsg_ChampionshipPlayer(syncPlayerIDList=None, serverGroupID=0, isSync=False):
|
| | | def Send_CrossServerMsg_ChampionshipPlayer(syncPlayerIDList=None, serverGroupID=0, isSync=False, clearPlayer=False):
|
| | | # 通知参赛玩家
|
| | |
|
| | | zoneBatPlayerInfo = {}
|
| | |
| | | for zoneID in champMgr.GetChampPKZoneIDList():
|
| | | batPlayerList = []
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | playerIDList = pkZoneMgr.GetBatPlayerIDList() if syncPlayerIDList == None else syncPlayerIDList
|
| | | for playerID in playerIDList:
|
| | | batPlayer = pkZoneMgr.GetBatPlayer(playerID)
|
| | |
| | | batPlayerList.append(batPlayer.GetString())
|
| | | zoneBatPlayerInfo[zoneID] = batPlayerList
|
| | |
|
| | | dataMsg = {"isSync":isSync, "zoneBatPlayerInfo":zoneBatPlayerInfo}
|
| | | dataMsg = {"isSync":isSync, "zoneBatPlayerInfo":zoneBatPlayerInfo, "clearPlayer":clearPlayer}
|
| | | serverGroupIDList = [serverGroupID] if serverGroupID else []
|
| | | CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_ChampionshipPlayer, dataMsg, serverGroupIDList)
|
| | | return
|
| | |
| | | champMgr = GetChampionshipMgr()
|
| | | for zoneID in champMgr.GetChampPKZoneIDList():
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | for gMark in syncGroupMarkList:
|
| | | battleDict = pkZoneMgr.battleInfo.get(gMark, {})
|
| | | if not battleDict:
|
| | |
| | | guessList.append(guessObj.GetString())
|
| | | else:
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(syncZoneID)
|
| | | for playerGuessDict in pkZoneMgr.guessInfo.values():
|
| | | if playerID not in playerGuessDict:
|
| | | continue
|
| | | playerGuessList = playerGuessDict[playerID]
|
| | | for guess in playerGuessList:
|
| | | guessList.append(guess.GetString())
|
| | | if pkZoneMgr:
|
| | | for playerGuessDict in pkZoneMgr.guessInfo.values():
|
| | | if playerID not in playerGuessDict:
|
| | | continue
|
| | | playerGuessList = playerGuessDict[playerID]
|
| | | for guess in playerGuessList:
|
| | | guessList.append(guess.GetString())
|
| | |
|
| | | dataMsg = {"exData":exData if exData else {}, "guessList":guessList}
|
| | | if syncPub:
|
| | |
| | | syncZoneIDList = [syncZoneID] if syncZoneID else champMgr.GetChampPKZoneIDList()
|
| | | for zoneID in syncZoneIDList:
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | zoneSupportCountInfo[zoneID] = pkZoneMgr.supportCountInfo
|
| | | dataMsg["pubInfo"] = {"zoneSupportCountInfo":zoneSupportCountInfo}
|
| | |
|
| | |
| | | ## 收到跨服服务器同步的信息 - 参赛玩家信息
|
| | |
|
| | | isSync = msgData["isSync"]
|
| | | clearPlayer = msgData["clearPlayer"]
|
| | | zoneBatPlayerInfo = msgData["zoneBatPlayerInfo"]
|
| | |
|
| | | champMgr = GetChampionshipMgr()
|
| | | for zoneID, batPlayerList in zoneBatPlayerInfo.items():
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID, True)
|
| | |
|
| | | if not batPlayerList:
|
| | | pkZoneMgr.playerDict = {}
|
| | | if clearPlayer:
|
| | | pkZoneMgr.playerDict = {}
|
| | | else:
|
| | | for attrDict in batPlayerList:
|
| | | zoneID = attrDict["zoneID"]
|
| | |
| | | groupMark = attrDict["groupMark"]
|
| | | battleNum = attrDict["battleNum"]
|
| | |
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID, True)
|
| | | battle = pkZoneMgr.GetBattle(groupMark, battleNum)
|
| | | if not battle:
|
| | | battle = ChampionshipBattle()
|
| | |
| | | # 非本服玩家
|
| | | continue
|
| | |
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID, True)
|
| | |
|
| | | guessObj = None
|
| | | playerGuessList = pkZoneMgr.GetPlayerGuessList(guessPlayerID, guessType)
|
| | |
| | | if pubInfo != None:
|
| | | zoneSupportCountInfo = pubInfo["zoneSupportCountInfo"]
|
| | | for zoneID, supportCountInfo in zoneSupportCountInfo.items():
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID, True)
|
| | | pkZoneMgr.supportCountInfo = supportCountInfo
|
| | | pubZoneIDList.append(zoneID)
|
| | |
|
| | |
| | | # 非本服玩家
|
| | | return
|
| | | zoneID = exData.get("zoneID", 0)
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID, True)
|
| | | pkZoneMgr.syncGuessPlayerIDInfo[playerID] = tick
|
| | | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
|
| | | if curPlayer == None:
|
| | |
| | | champMgr = GetChampionshipMgr()
|
| | | for zoneID in champMgr.GetChampPKZoneIDList():
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | if groupMark not in pkZoneMgr.battleInfo:
|
| | | continue
|
| | | battleDict = pkZoneMgr.battleInfo[groupMark]
|
| | |
| | |
|
| | | champMgr = GetChampionshipMgr()
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | return
|
| | | battleObj = pkZoneMgr.GetBattle(groupMark, battleNum)
|
| | | if not battleObj:
|
| | | return
|
| | |
| | | GameWorld.Log("=== 结算排位分区: zoneID=%s ===" % zoneID, zoneID)
|
| | | finalPlayerIDList = []
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | continue
|
| | | battleNumList = pkZoneMgr.battleInfo.get(finalGroupMark, {}).keys()
|
| | | for battleNum in battleNumList:
|
| | | batObj = pkZoneMgr.GetBattle(finalGroupMark, battleNum)
|
| | |
| | | for guessObj in guessList:
|
| | | if guessObj.guessType != guessType or guessObj.guessPlayerID != guessPlayerID:
|
| | | continue
|
| | | guessObj.isClose = 1
|
| | | tagPlayerID = guessObj.tagPlayerID
|
| | | guessRank = guessObj.guessRank
|
| | | moneyTotal = guessObj.moneyTotal
|
| | |
| | |
|
| | | champMgr = GetChampionshipMgr()
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | return {}
|
| | |
|
| | | # 决赛
|
| | | finalGroupMark = 2
|
| | |
| | |
|
| | | champMgr = GetChampionshipMgr()
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | return
|
| | | tagBatPlayer = pkZoneMgr.GetBatPlayer(tagPlayerID)
|
| | | if not tagBatPlayer:
|
| | | GameWorld.ErrLog("该分区不存在该参赛玩家,无法排位竞猜! zoneID=%s,tagPlayerID=%s" % (zoneID, tagPlayerID), playerID)
|
| | |
| | | return
|
| | |
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | return
|
| | | |
| | | if groupMarkDict == None:
|
| | | groupMarkDict = {}
|
| | | for groupMark, groupDict in pkZoneMgr.battleInfo.items():
|
| | |
| | | return
|
| | |
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(playerZoneID)
|
| | | if not pkZoneMgr:
|
| | | return
|
| | |
|
| | | clientPack = ChPyNetSendPack.tagGCChampionshipGuessPriInfo()
|
| | | clientPack.ZoneID = playerZoneID
|
| | |
| | | return
|
| | |
|
| | | pkZoneMgr = champMgr.GetChampPKZoneMgr(zoneID)
|
| | | if not pkZoneMgr:
|
| | | return
|
| | |
|
| | | # 公共竞猜信息
|
| | | clientPack = ChPyNetSendPack.tagGCChampionshipGuessPubInfo()
|