From 1f8acf4823f6d7c2e19f0db8bd11d3b07d168a5c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 10 七月 2019 16:21:52 +0800 Subject: [PATCH] 7954 【主干】【后端】跨服PVP匹配机器人规则优化 --- ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py | 52 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 44 insertions(+), 8 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py index b15218c..39ea210 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossRealmPK.py @@ -241,14 +241,16 @@ return maxCount = min(2000, maxCount) upBillboardList = [] - if winner.danLV >= danLVLimit: - upBillboardList.append(winner) - else: - GameWorld.DebugLog(" 段位不足,无法上榜! winnerDanLV=%s < danLVLimit=%s" % (winner.danLV, danLVLimit), winner.playerID) - if loser.danLV >= danLVLimit: - upBillboardList.append(loser) - else: - GameWorld.DebugLog(" 段位不足,无法上榜! loserDanLV=%s < danLVLimit=%s" % (loser.danLV, danLVLimit), loser.playerID) + if winner: + if winner.danLV >= danLVLimit: + upBillboardList.append(winner) + else: + GameWorld.DebugLog(" 段位不足,无法上榜! winnerDanLV=%s < danLVLimit=%s" % (winner.danLV, danLVLimit), winner.playerID) + if loser: + if loser.danLV >= danLVLimit: + upBillboardList.append(loser) + else: + GameWorld.DebugLog(" 段位不足,无法上榜! loserDanLV=%s < danLVLimit=%s" % (loser.danLV, danLVLimit), loser.playerID) if not upBillboardList: return @@ -315,6 +317,40 @@ return +def ClientServerMsg_PKScore(serverGroupID, playerInfoDict, tick): + ## 收到子服同步的PK积分信息,子服可能直接更新积分,比如与机器人PK等 + + if not GameWorld.IsCrossServer(): + GameWorld.ErrLog("非跨服服务器不处理跨服PK匹配请求!") + return + + seasonID = playerInfoDict["seasonID"] # 赛季ID + pkZoneID = playerInfoDict["pkZoneID"] # 所属赛区 + accID = playerInfoDict["accID"] # 角色账号 + playerID = playerInfoDict["playerID"] # 角色ID + playerName = playerInfoDict["playerName"] # 玩家名 + job = playerInfoDict["playerJob"] # 职业 + fightPower = playerInfoDict["fightPower"] # 战斗力 + realmLV = playerInfoDict["realmLV"] # 境界 + pkScore = playerInfoDict["pkScore"] # 当前积分 + danLV = playerInfoDict["danLV"] # 当前段位 + + pkPlayer = CrossPKPlayer() + pkPlayer.accID = accID + pkPlayer.playerID = playerID + pkPlayer.playerName = playerName + pkPlayer.playerJob = job + pkPlayer.pkScore = pkScore + pkPlayer.danLV = danLV + pkPlayer.fightPower = fightPower + pkPlayer.realmLV = realmLV + pkPlayer.serverGroupID = serverGroupID + pkPlayer.pkZoneID = pkZoneID + pkPlayer.seasonID = seasonID + + UpdateCrossPKBillboard(pkZoneID, seasonID, pkPlayer, None) + return + #// C0 01 查看跨服竞技场赛季排行榜 #tagCGViewCrossPKBillboard # #struct tagCGViewCrossPKBillboard -- Gitblit v1.8.0