From b69e96ca763f96a697351e2c6cd570018d7f4605 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 23 五月 2022 17:00:29 +0800
Subject: [PATCH] 9415 【BT】【后端】古神战场(增加战场结算信息流向记录)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py
index 7394c7e..f913e86 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_CrossBattlefield.py
@@ -24,6 +24,7 @@
import PlayerActivity
import GameWorldProcess
import NPCCustomRefresh
+import DataRecordPack
import PlayerControl
import ShareDefine
import SkillCommon
@@ -86,6 +87,7 @@
class BattleWorld():
def __init__(self):
+ self.startTime = int(time.time())
self.hmNum = 0
self.callOpenPlayerInfo = {} # 本场次购买召集的玩家信息 {playerID:faction, ...}
self.superItemInfo = [] # 大奖信息 [物品ID,个数,是否拍品]
@@ -1662,6 +1664,12 @@
allCallPlayerIDList.extend(callTeam["callPlayerIDList"])
GameWorld.Log("zoneID=%s,hmNum=%s,allCallPlayerIDList=%s" % (zoneID, hmNum, allCallPlayerIDList), fbPropertyID)
+ gameWorld = GameWorld.GetGameWorld()
+ drDict = {"mapID":GameWorld.GetMap().GetMapID(), "realMapID":gameWorld.GetRealMapID(), "copyMapID":gameWorld.GetCopyMapID(),
+ "zoneID":zoneID, "funcLineID":funcLineID, "fbPropertyID":fbPropertyID, "hmNum":hmNum,
+ "superItemInfo":worldObj.superItemInfo, "finalSuperItemPlayerID":finalSuperItemPlayerID,
+ "crystalFactionInfo":worldObj.crystalFactionInfo, "callTeamInfo":callTeamInfo,
+ "winnerFaction":winnerFaction, "fightTimeTotal":(int(time.time()) - worldObj.startTime)}
factionInfoList = []
for faction in [ShareDefine.CampType_Justice, ShareDefine.CampType_Evil]:
factionObj = GetBattleFactionObj(faction)
@@ -1701,6 +1709,7 @@
scoreKingObj = GetBattlePlayerObj(scoreKingID)
scoreKingName = scoreKingObj.name
+ drPlayerList = []
for rank, battleObj in enumerate(factionObj.battlePlayerSortList, 1):
playerID = battleObj.playerID
score = battleObj.score
@@ -1734,6 +1743,10 @@
factionBuffCollCnt, personBuffCollCnt, crystalCollCnt, wallCollCnt]
battlePlayerList.append(playerInfo)
+ drPlayerList.append({"playerID":playerID, "accID":battleObj.accID, "fightPower":battleObj.fightPower,
+ "score":score, "auraScore":auraScore, "wallCollCnt":wallCollCnt,
+ "superItemAwardCnt":superItemAwardCnt, "superItemContribution":battleObj.superItemContribution})
+
player = copyMapMgr.FindPlayerByID(playerID)
if not player:
continue
@@ -1743,6 +1756,11 @@
overDict.update({FBCommon.Over_rank:rank, "score":score, "highScoreToday":highScoreToday, "onlineTimes":onlineTimes, "faction":faction})
FBCommon.NotifyFBOver(player, ChConfig.Def_FBMapID_CrossBattlefield, lineID, isWinner, overDict)
+ drFactionInfo = {"faction":faction, "score":factionObj.score, "hurtBossPlayerDict":factionObj.hurtBossPlayerDict,
+ "superItemProgress":factionObj.superItemProgress, "superItemPlayerID":factionObj.superItemPlayerID,
+ "drPlayerList":drPlayerList}
+ drDict["faction_%s" % faction] = drFactionInfo
+
GameWorld.Log("本场最终结算积分王: scoreKingID=%s" % scoreKingID, fbPropertyID)
# 同步GameServer 比赛结果
@@ -1750,6 +1768,9 @@
msgInfo = str([hmNum, fbPropertyID, zoneID, funcLineID, winnerFaction, superItemInfo, finalSuperItemPlayerID, finalSuperItemPlayerName, superItemPlayerIDList, scoreKingID, scoreKingName, battlePlayerList])
GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "CrossBattlefieldOver", msgInfo, len(msgInfo))
+ # 记录流向
+ DataRecordPack.SendEventPack("CrossBattlefieldOver", drDict)
+
FBCommon.SetFBStep(FB_Step_LeaveTime, tick)
return
--
Gitblit v1.8.0