From 8978dd1c93b322806bac51090d40e65cee33d90d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 09 一月 2019 15:26:09 +0800
Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(支持刷跨服boss)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossRealmPlayer.py |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossRealmPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossRealmPlayer.py
index 11a0900..4c13c2d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossRealmPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/CrossRealmPlayer.py
@@ -17,6 +17,7 @@
 import GameWorld
 import ReadChConfig
 import PlayerControl
+import IpyGameDataPY
 import IPY_GameWorld
 import ShareDefine
 import ChConfig
@@ -35,6 +36,27 @@
     
     return opName.decode('gbk').encode(GameWorld.GetCharacterEncoding()) + playerName
 
+def GetServerCrossZoneIpyData(mapID, serverGroupID=0):
+    ## 获取本服对应跨服玩法分区地图信息
+    if mapID not in ChConfig.Def_CrossZoneTableName:
+        return
+    if not serverGroupID:
+        serverGroupID = GameWorld.GetServerGroupID()
+        
+    tableName = ChConfig.Def_CrossZoneTableName[mapID]
+    ipyDataMgr = IpyGameDataPY.IPY_Data()
+    if not hasattr(ipyDataMgr, "Get%sCount" % tableName):
+        return
+    
+    for i in xrange(getattr(ipyDataMgr, "Get%sCount" % tableName)()):
+        ipyData = getattr(ipyDataMgr, "Get%sByIndex" % tableName)(i)
+        serverGroupIDList = ipyData.GetServerGroupIDList()
+        for serverGroupIDInfo in serverGroupIDList:
+            if (isinstance(serverGroupIDInfo, tuple) and serverGroupIDInfo[0] <= serverGroupID <= serverGroupIDInfo[1]) \
+                or (isinstance(serverGroupIDInfo, int) and serverGroupIDInfo == serverGroupID):
+                return ipyData
+    return
+
 def IsCrossServerOpen():
     ## 跨服服务器是否开放中
     return GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_CrossServerOpen)

--
Gitblit v1.8.0