From 75c2f1f1998ea5b424ae86c2d64869e33e505523 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 05 三月 2025 17:23:27 +0800
Subject: [PATCH] 10410 【bt】【英文】海外各版本包整理(优化重置境界返还境界丹个数:改为返还到玩家等级对应可升级到的境界等级累计所需个数;)
---
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldArena.py | 25 +++++++++++++++++++++++--
1 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldArena.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldArena.py
index 4cea4dc..5a3d184 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldArena.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldArena.py
@@ -230,6 +230,7 @@
if updScore != None:
__SyncPlayerBechallengedUpdScore(curPlayer, updScore)
+ PlayerControl.DoOfflineUnprocessed(curPlayer, "BattleResult", __DoOfflineArenaBattleResult)
return
def OnDayEx():
@@ -293,6 +294,9 @@
GameWorld.GetUniversalRecMgr().Delete(Def_RecType_ArenaBattleRecord)
PyGameData.g_arenaPlayerBattleRecDict = {}
PyGameData.g_arenaPlayerMatchDict = {}
+
+ # 删除未处理的
+ PlayerControl.DelOfflineUnprocessed("BattleResult")
# 更新新赛季信息
if openServerDay <= customMaxServerDay and OSSeasonState == 0:
@@ -546,21 +550,27 @@
GameWorld.Log(" 奖励保底玩家信息: %s" % floorPlayerIDList)
return
-def MapServer_Arena(curPlayer, msgList):
- GameWorld.DebugLog("MapServer_Arena %s" % str(msgList), curPlayer.GetPlayerID())
+def MapServer_Arena(playerID, msgList):
+ GameWorld.DebugLog("MapServer_Arena %s" % str(msgList), playerID)
if not msgList:
return
+ curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
cmd = msgList[0]
cmdDict = msgList[1] if len(msgList) > 1 else {}
retDict = {}
# 匹配刷新
if cmd == "MatchRefresh":
+ if not curPlayer:
+ return
__DoArenaMatchRefresh(curPlayer, cmdDict["isRefresh"], cmdDict["playerLV"], cmdDict["playerScore"], cmdDict.get("gmMatchIDList"))
# 对战结算
elif cmd == "BattleResult":
+ if not curPlayer:
+ PlayerControl.AddOfflineUnprocessed(playerID, "BattleResult", cmdDict)
+ return
retDict = __DoArenaBattleResult(curPlayer, cmdDict)
return msgList + [retDict]
@@ -819,6 +829,17 @@
NetPackCommon.SendFakePack(curPlayer, clientPack)
return
+def __DoOfflineArenaBattleResult(curPlayer, recData, cmdName, cmdDict):
+ ## 执行离线未处理的战斗结果
+ recTime = recData.GetTime()
+ msgList = [cmdName, cmdDict]
+ retDict = __DoArenaBattleResult(curPlayer, cmdDict)
+ retDict["offlineRecTime"] = recTime
+ ret = msgList + [retDict]
+ resultName = '%s' % ret
+ curPlayer.MapServer_QueryPlayerResult(0, 0, "Arena", resultName, len(resultName))
+ return
+
def __DoArenaBattleResult(curPlayer, cmdDict):
## 地图玩家同步战斗结果
--
Gitblit v1.8.0