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