| | |
| | |
|
| | | billboardObj.ClearData()
|
| | |
|
| | | # 清空队伍
|
| | | PlayerFuncTeam.DelTeamByFunc(ChConfig.Def_FBMapID_CrossBattlefield)
|
| | | return
|
| | |
|
| | | def GetCrossBattlefieldState():
|
| | |
| | | GameWorld.Log(" 无召集的场次不开分区战场! zoneID=%s" % (zoneID))
|
| | |
|
| | | # 关闭
|
| | | if not battlefieldState and beforeState != battlefieldState:
|
| | | # 活动结束清空队伍
|
| | | PlayerFuncTeam.DelTeamByFunc(ChConfig.Def_FBMapID_CrossBattlefield)
|
| | | #if not battlefieldState and beforeState != battlefieldState:
|
| | | # # 活动结束清空队伍
|
| | | # PlayerFuncTeam.DelTeamByFunc(ChConfig.Def_FBMapID_CrossBattlefield)
|
| | |
|
| | | # 同步子服务器
|
| | | dataMsg = {"battlefieldState":battlefieldState}
|
| | |
| | | if passSeconds > closeSeconds:
|
| | | GameWorld.DebugLog("迟到了! passSeconds=%s > %s" % (passSeconds, closeSeconds), playerID)
|
| | | isBelate = True
|
| | | #去除新队员进入不受时间限制设定
|
| | | for _, copyMapObj in PyGameData.g_crossDynamicLineCopyMapInfo.items():
|
| | | if copyMapObj.IsMustCopyMapPlayer(playerID):
|
| | | if copyMapObj.IsMustCopyMapPlayer(playerID, False):
|
| | | isBelate = False
|
| | | GameWorld.DebugLog("已进入的重复进入不限制时间! playerID=%s" % playerID)
|
| | | break
|
| | |
| | | openMinute = msgData["openMinute"]
|
| | | faction = msgData["faction"]
|
| | | serverOnly = msgData.get("serverOnly", 0)
|
| | | face = msgData.get("face", 0)
|
| | | facePic = msgData.get("facePic", 0)
|
| | |
|
| | | hmNum = GetHMNum(openHour, openMinute)
|
| | |
|
| | |
| | | type2, value1, value2 = job, realmLV, 0
|
| | | cmpValue = buyOpenCountWeek + 1
|
| | | if cmpValue >= billboardCallCountLimit:
|
| | | CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWCall, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue) |
| | | CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWCall, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue, value3=face, value4=facePic) |
| | |
|
| | | # 通知子服
|
| | | serverGroupIDList = [serverGroupID]
|
| | |
| | | type2, value1, value2 = job, realmLV, 0
|
| | | cmpValue = buyOpenCountWeek + 1
|
| | | if cmpValue >= billboardCallCountLimit:
|
| | | CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWCall, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue)
|
| | | CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWCall, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue, value3=face, value4=facePic)
|
| | |
|
| | | for otherBuyPlayerID, otherRec in buyPlayerInfo.items():
|
| | | if otherBuyPlayerID == playerID:
|
| | |
| | | syncPlayerDataInfo = {}
|
| | | winnerPlayerIDList, loserPlayerIDList = [], []
|
| | | for playerInfo in battlePlayerList:
|
| | | playerID, job, realmLV, name, \
|
| | | playerID, job, face, facePic, realmLV, name, \
|
| | | isWinner, faction, rank, score, highScoreToday, highScoreWeekTotal, enterCountWeek, teamID, \
|
| | | isCallOpen, isCalled, killCnt, ckillCntInfo, killBossCnt, killScoreKing, killGuardCnt, auraScore, superItemAwardCnt, \
|
| | | factionBuffCollCnt, personBuffCollCnt, crystalCollCnt, wallCollCnt \
|
| | |
| | | enterCountWeek += 1
|
| | | cmpValue = enterCountWeek
|
| | | if cmpValue >= billboardEnterCountLimit:
|
| | | CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWJoin, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue)
|
| | | CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWJoin, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue, value3=face, value4=facePic)
|
| | |
|
| | | # 更新周高分榜单
|
| | | if score > highScoreToday:
|
| | | highScoreWeekTotal += (score - highScoreToday)
|
| | | highScoreToday = score
|
| | | cmpValue = highScoreWeekTotal
|
| | | CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWScore, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue)
|
| | | CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWScore, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue, value3=face, value4=facePic)
|
| | |
|
| | | GameWorld.Log(" 战场阵营玩家: faction=%s,isWinner=%s,rank=%s,playerID=%s,score=%s,highScoreToday=%s,highScoreWeekTotal=%s,enterCountWeek=%s,teamID=%s,isCallOpen=%s,isCalled=%s"
|
| | | % (faction, isWinner, rank, playerID, score, highScoreToday, highScoreWeekTotal, enterCountWeek, teamID, isCallOpen, isCalled), fbPropertyID)
|