From 2941a7635bb04ca59afa820b51a23aca9dc70eb9 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 29 十月 2019 11:59:23 +0800
Subject: [PATCH] 4610 【恺英】【bug】脱机上线报错

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py |   33 +++++++++++++++++++++++++++++++--
 1 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
index 7672c0a..b934983 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
@@ -72,9 +72,12 @@
 import ChPyNetSendPack
 import NetPackCommon
 import AuctionHouse
+import PlayerFairyDomain
+import GameWorldItem
 
 import time
 import datetime
+import json
 #---------------------------------------------------------------------
 #全局变量
 #---------------------------------------------------------------------
@@ -329,16 +332,25 @@
             SyncPlayerCrossMapNPCInfo(curPlayer, mapID, npcIDList, mapNPCInfoDict)
             return
         
+    serverGroupID = GameWorld.GetServerGroupID()
+    zoneIpyData = CrossRealmPlayer.GetCrossZoneIpyDataByServerGroupID(mapID, serverGroupID)
+    if not zoneIpyData:
+        return
+    zoneID = zoneIpyData.GetZoneID()
+    
     # 本服缓存超时,发送跨服服务器查询
     playerID = curPlayer.GetPlayerID()
-    CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_QueryNPCInfo, {"PlayerID":playerID, "MapID":mapID, "NPCIDList":npcIDList})
+    dataMsg = {"PlayerID":playerID, "ZoneID":zoneID, "MapID":mapID, "NPCIDList":npcIDList}
+    CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_QueryNPCInfo, dataMsg)
     return
 
 def ClientServerMsg_QueryNPCInfo(serverGroupID, msgData):
     ## 收到子服请求查看跨服地图NPC个数信息
     
+    zoneID = msgData["ZoneID"]
     mapID = msgData["MapID"]
-    zoneIpyData = CrossRealmPlayer.GetServerCrossZoneMapIpyData(mapID, serverGroupID)
+    
+    zoneIpyData = CrossRealmPlayer.GetServerCrossZoneMapIpyData(zoneID, mapID)
     if not zoneIpyData:
         return
     realMapID = zoneIpyData.GetMapID()
@@ -510,6 +522,14 @@
     if callName == 'CrossNotify':
         serverGroupIDList, crossNotifyList = eval(resultName)
         PlayerControl.CrossNotify(serverGroupIDList, crossNotifyList)
+        return
+    
+    if callName == "DynamicLineMapStateChange":
+        PlayerFB.OnCrossDynamicLineStateChange(eval(resultName))
+        return
+    
+    if callName == "DynamicLineMapInitOK":
+        PlayerFB.OnCrossDynamicMapReset(eval(resultName))
         return
     
     if callName == "CommMapServerInitOK":
@@ -695,6 +715,11 @@
         GameWorldProcess.UpdGlobalKillCount(eval(resultName))
         return
     
+    # 缓存装备广播信息中的装备明细信息
+    if callName == "NotifyEquipDetailInfo":
+        GameWorldItem.OnCacheNotifyEquipDetailInfo(json.loads(resultName), tick)
+        return
+    
     #生成仙盟红包
     if callName == "MapServer_CreatRedPacket":
         PlayerFamilyRedPacket.MapServer_CreatRedPacket(eval(resultName))
@@ -822,6 +847,10 @@
     if callName =="HorsePetBossOver":
         PlayerHorsePetBoss.HorsePetBossKilled(int(resultName))
         return
+    #缥缈仙域事件出现
+    if callName =="AddFairyDomainEvent":
+        PlayerFairyDomain.AddFairyDomainEvent(eval(resultName))
+        return
     
 #---return分割线-----------------------------------------------------------------
 

--
Gitblit v1.8.0