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/GM/Commands/SetNPCKillDrop.py | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetNPCKillDrop.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetNPCKillDrop.py index b20f7ce..75e794a 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetNPCKillDrop.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/SetNPCKillDrop.py @@ -19,6 +19,7 @@ import IpyGameDataPY import GameWorld import ChConfig +import ShareDefine #--------------------------------------------------------------------- #逻辑实现 @@ -46,6 +47,17 @@ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NPCKillCountDrop % npcID, 0) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_NPCKillCount % npcID, 0) resetNPCIDList.append(npcID) + + gw = GameWorld.GetGameWorld() + globalKillDropDict = IpyGameDataPY.GetFuncEvalCfg("GlobalDropCD", 2) + for npcID in globalKillDropDict.keys(): + killedCount = gw.GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_NPCKilledCount % npcID) + if not killedCount: + continue + msgInfo = str([npcID, 0]) + GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, "GlobalKillCount", msgInfo, len(msgInfo)) + resetNPCIDList.append(npcID) + GameWorld.DebugAnswer(curPlayer, "重置OK: %s" % resetNPCIDList) return -- Gitblit v1.8.0