From 861e1ad98f9e8d56f3d97691eac02da1e900eb1c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 13 五月 2024 16:08:28 +0800 Subject: [PATCH] 10156 副本功能玩法关联回合战斗表现(竞技场战斗改为回合制,功能玩法不变,配置不变;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerArena.py | 109 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 56 insertions(+), 53 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerArena.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerArena.py index 2700979..4eb6e4d 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerArena.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerArena.py @@ -184,36 +184,38 @@ # BYTE Result; // 0-进入自定义场景发送通知后端;1-胜利(后端处理,暂时不需要发送此状态);2-失败(前端被对手击杀需要发送此状态) #}; def OnArenaBattle(index, clientData, tick): - curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index) - playerID = curPlayer.GetPlayerID() - tagPlayerID = clientData.TagPlayerID - result = clientData.Result - - GameWorld.DebugLog("竞技场挑战玩家! tagPlayerID=%s,result=%s" % (tagPlayerID, result), playerID) - if not tagPlayerID: - return - - if not result: - GameWorld.DebugLog("更新竞技场对战对手ID! tagPlayerID=%s" % tagPlayerID, playerID) - # 记录对手ID - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ArenaBattleTagID, tagPlayerID) - return - - isWin = 1 if result == 1 else 0 -# # 木桩被击杀,后端判断,其他前端同步 -# if isWin: -# GameWorld.ErrLog("前端不能同步竞技场胜利状态!", playerID) -# return - - recTagPlayerID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ArenaBattleTagID) - if tagPlayerID != recTagPlayerID: - GameWorld.ErrLog("竞技场结算时对手ID不一致! tagPlayerID(%s) != recTagPlayerID(%s)" % (tagPlayerID, recTagPlayerID), playerID) - __DoArenaBattleOver(curPlayer) - return - - # 失败结算入口: 前端同步 - SendGameServer_ArenaBattleOver(curPlayer, isWin) + # 改为回合战斗 return +# curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index) +# playerID = curPlayer.GetPlayerID() +# tagPlayerID = clientData.TagPlayerID +# result = clientData.Result +# +# GameWorld.DebugLog("竞技场挑战玩家! tagPlayerID=%s,result=%s" % (tagPlayerID, result), playerID) +# if not tagPlayerID: +# return +# +# if not result: +# GameWorld.DebugLog("更新竞技场对战对手ID! tagPlayerID=%s" % tagPlayerID, playerID) +# # 记录对手ID +# PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_ArenaBattleTagID, tagPlayerID) +# return +# +# isWin = 1 if result == 1 else 0 +# # 木桩被击杀,后端判断,其他前端同步 +# #if isWin: +# # GameWorld.ErrLog("前端不能同步竞技场胜利状态!", playerID) +# # return +# +# recTagPlayerID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ArenaBattleTagID) +# if tagPlayerID != recTagPlayerID: +# GameWorld.ErrLog("竞技场结算时对手ID不一致! tagPlayerID(%s) != recTagPlayerID(%s)" % (tagPlayerID, recTagPlayerID), playerID) +# __DoArenaBattleOver(curPlayer) +# return +# +# # 失败结算入口: 前端同步 +# SendGameServer_ArenaBattleOver(curPlayer, isWin) +# return def OnKillBattleNPC(curPlayer, curNPC): # ## 击杀对手,前端本,使用木桩NPC作为对手 @@ -231,30 +233,31 @@ def SendGameServer_ArenaBattleOver(curPlayer, isWin): ## 发送GameServer通知战斗结算 - - playerID = curPlayer.GetPlayerID() - tagPlayerID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ArenaBattleTagID) - if not tagPlayerID: - GameWorld.ErrLog("竞技场结算时没有对手ID!", playerID) - __DoArenaBattleOver(curPlayer) - return - - if not CheckArenaBattleCount(curPlayer): - GameWorld.ErrLog("竞技场已经没有对战次数!", playerID) - __DoArenaBattleOver(curPlayer) - return - - tick = GameWorld.GetGameWorld().GetTick() - if not GameWorld.SetPlayerTickTime(curPlayer, ChConfig.TYPE_Player_Tick_Arena, tick): - GameWorld.ErrLog("结算竞技场CD中!tagPlayerID=%s" % tagPlayerID, playerID) - return - - playerLV = curPlayer.GetLV() - playerScore = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ArenaScore) - msgInfo = str(["BattleResult", {"tagPlayerID":tagPlayerID, "isWin":isWin, "playerLV":playerLV, "playerScore":playerScore, - "realmLV":curPlayer.GetOfficialRank(), "fightPower":PlayerControl.GetFightPower(curPlayer)}]) - GameWorld.DebugLog("竞技场发送GameServer结算: %s" % msgInfo, playerID) - GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetID(), 0, 0, "Arena", msgInfo, len(msgInfo)) + #改为回合战斗 + return +# playerID = curPlayer.GetPlayerID() +# tagPlayerID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ArenaBattleTagID) +# if not tagPlayerID: +# GameWorld.ErrLog("竞技场结算时没有对手ID!", playerID) +# __DoArenaBattleOver(curPlayer) +# return +# +# if not CheckArenaBattleCount(curPlayer): +# GameWorld.ErrLog("竞技场已经没有对战次数!", playerID) +# __DoArenaBattleOver(curPlayer) +# return +# +# tick = GameWorld.GetGameWorld().GetTick() +# if not GameWorld.SetPlayerTickTime(curPlayer, ChConfig.TYPE_Player_Tick_Arena, tick): +# GameWorld.ErrLog("结算竞技场CD中!tagPlayerID=%s" % tagPlayerID, playerID) +# return +# +# playerLV = curPlayer.GetLV() +# playerScore = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ArenaScore) +# msgInfo = str(["BattleResult", {"tagPlayerID":tagPlayerID, "isWin":isWin, "playerLV":playerLV, "playerScore":playerScore, +# "realmLV":curPlayer.GetOfficialRank(), "fightPower":PlayerControl.GetFightPower(curPlayer)}]) +# GameWorld.DebugLog("竞技场发送GameServer结算: %s" % msgInfo, playerID) +# GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetID(), 0, 0, "Arena", msgInfo, len(msgInfo)) return def __DoArenaBattleOver(curPlayer, retDict={}): -- Gitblit v1.8.0