From 3475d7857f59be1f61c2e928d425e9a7b2526fae Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 22 四月 2019 11:29:56 +0800
Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(跨服动态分配线路上线优化,踢出与当前线路分区或功能线路属性不一致的玩家,防止玩家跨服中重新上线后进入到不同功能线路的问题)

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

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
index 7b38343..34ceaf6 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerQuery.py
@@ -329,16 +329,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()

--
Gitblit v1.8.0