From 21d171ec2d815dd43ab5f428737c59fed6905d6f Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 30 十二月 2018 15:46:54 +0800 Subject: [PATCH] 2797 【1.4】【BUG】跨服匹配战斗中,对方掉线,比赛结算显示自己失败(实际是没掉线,只是其中一个玩家没走完整登录流程,但是后端已经在跨服地图中,导致结算的时候计算胜方逻辑异常) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py index c888e2c..91493a1 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/OpenServerCampaign.py @@ -80,7 +80,8 @@ recordData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_OSC_RecordData % campaignType) - if campaignType not in [ShareDefine.Def_Campaign_Type_StoneLV, ShareDefine.Def_Campaign_Type_FightPower] and value <= recordData: + if campaignType not in [ShareDefine.Def_Campaign_Type_StoneLV, ShareDefine.Def_Campaign_Type_FightPower, + ShareDefine.Def_Campaign_Type_RuneLV] and value <= recordData: GameWorld.DebugLog(" 开服活动数据小于历史记录, 不更新 campaignType=%s,recordData=%s,updValue=%s" % (campaignType, recordData, value), curPlayer.GetPlayerID()) return @@ -198,7 +199,8 @@ return endOpenServerDay = OSCBillboardDataLimitDict[campTypeS][OSC_EndDay] openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1 - if openServerDay <= endOpenServerDay: + # 只限制排行榜;目标奖励随时可领取 + if awardType == 1 and openServerDay <= endOpenServerDay: GameWorld.DebugLog("该开服活动未结束,无法领奖!campaignType=%s,openServerDay=%s <= endOpenServerDay=%s" % (campaignType, openServerDay, endOpenServerDay)) return @@ -274,6 +276,8 @@ order = queryResultList[i] billAwardInfo = None billRankAwardIpyList = IpyGameDataPY.GetIpyGameDataList("OSCBillRankAward", campaignType) + if not billRankAwardIpyList: + continue for billRankIpyData in billRankAwardIpyList: if (billRankIpyData.GetRankA() <= order <= billRankIpyData.GetRankB()) \ or (not billRankIpyData.GetRankB() and billRankIpyData.GetRankA() == order): -- Gitblit v1.8.0