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/RemoteQuery/GY_Query_CrossRealmReg.py |   40 ++++++++++++----------------------------
 1 files changed, 12 insertions(+), 28 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_CrossRealmReg.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_CrossRealmReg.py
index f3ff343..c7ab3e3 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_CrossRealmReg.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_CrossRealmReg.py
@@ -21,7 +21,6 @@
 import IPY_GameWorld
 import ChPyNetSendPack
 import NetPackCommon
-import IpyGameDataPY
 import ChConfig
 
 
@@ -55,6 +54,9 @@
     return
 
 def RegisterEnterCrossServer(curPlayer, registerType, mapID=0, dataMapID=0, copyMapID=0, posX=0, posY=0):
+    '''
+    @param registerType: 一般是dataMapID
+    '''
     playerID = curPlayer.GetPlayerID()
     if GameWorld.IsCrossServer():
         GameWorld.Log("    跨服服务器不允许上传报名数据!", playerID)
@@ -65,18 +67,15 @@
         GameWorld.ErrLog("跨服已经在上传数据,不重复提交!playerRegisterType=%s,registerType=%s" % (playerRegisterType, registerType), curPlayer.GetPlayerID())
         return
     
+    zoneID = 0
     if not mapID:
-        if registerType in ChConfig.RegisterEnter_CrossServerMapIDList:
-            registerTableName = "CrossPenglaiZone"
-        else:
+        zoneIpyData = CrossRealmPlayer.GetServerCrossZoneIpyData(registerType)
+        if not zoneIpyData:
+            GameWorld.ErrLog("找不到该服务器对应跨服分区: registerType=%s" % (registerType))
             return
-        RegisterMapInfo = GetCurServerGroupIDRegisterMapInfo(registerTableName)
-        if not RegisterMapInfo:
-            GameWorld.ErrLog("找不到该服务器对应跨服分区: registerType=%s,registerTableName=%s" % (registerType, registerTableName))
-            return
-        mapID, copyMapID, posX, posY = RegisterMapInfo
-        dataMapID = mapID
-        
+        zoneID, mapID, dataMapID, copyMapID, posX, posY = zoneIpyData.GetZoneID(), zoneIpyData.GetMapID(), \
+            zoneIpyData.GetDataMapID(), zoneIpyData.GetCopyMapID(), zoneIpyData.GetPosX(), zoneIpyData.GetPosY()
+            
     if not mapID:
         return
     
@@ -90,23 +89,8 @@
     curPlayer.SetDict(ChConfig.Def_PlayerKey_CrossRegisterType, registerType)
     #curPlayer.SendMergeRegisterPlayer(mapID, dataMapID, copyMapID, posX, posY)
     curPlayer.SendMergeRegisterPlayerAfterChange(CrossRealmPlayer.GetCrossPlayerName(curPlayer), mapID, dataMapID, copyMapID, posX, posY)
-    GameWorld.Log("    发送跨服玩家数据注册: registerType=%s,mapID=%s,dataMapID=%s,copyMapID=%s,posX=%s,posY=%s,GetVsRoomId=%s" 
-                  % (registerType, mapID, dataMapID, copyMapID, posX, posY, curPlayer.GetVsRoomId()), playerID)
-    return
-
-def GetCurServerGroupIDRegisterMapInfo(tableName):
-    ipyDataMgr = IpyGameDataPY.IPY_Data()
-    if not hasattr(ipyDataMgr, "Get%sCount" % tableName):
-        return
-    
-    serverGroupID = GameWorld.GetServerGroupID()
-    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.GetMapID(), ipyData.GetCopyMapID(), ipyData.GetPosX(), ipyData.GetPosY()
+    GameWorld.Log("    发送跨服玩家数据注册: registerType=%s,zoneID=%s,mapID=%s,dataMapID=%s,copyMapID=%s,posX=%s,posY=%s,GetVsRoomId=%s" 
+                  % (registerType, zoneID, mapID, dataMapID, copyMapID, posX, posY, curPlayer.GetVsRoomId()), playerID)
     return
 
 ## 跨服赛报名结果(上传数据)

--
Gitblit v1.8.0