From d8cf06e323dca770512529f741a667278c0c8786 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 07 一月 2019 17:38:57 +0800
Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(进入跨服地图通用逻辑)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py |   25 ++++++++++++++-----------
 1 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
index adbe385..3937a1b 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/CrossRealmPlayer.py
@@ -132,15 +132,15 @@
     PlayerControl.SetCrossRealmState(curPlayer, 0)
     return
 
-def SendCrossRealmReg(curPlayer, actionType, mapID=0, dataMapID=0, copyMapID=0, posX=0, posY=0):
+def SendCrossRealmReg(curPlayer, registerType, mapID=0, dataMapID=0, copyMapID=0, posX=0, posY=0):
     # 发送跨服账号注册上传数据
     
     # 设置上传数据的活动类型
-    curPlayer.SetDict(ChConfig.Def_PlayerKey_MergeRegisterType, actionType)
-    sysMsg = str([actionType, mapID, dataMapID, copyMapID, posX, posY])
+    curPlayer.SetDict(ChConfig.Def_PlayerKey_CrossRegisterType, registerType)
+    sysMsg = str([registerType, mapID, dataMapID, copyMapID, posX, posY])
     curPlayer.MapServer_QueryPlayerResult(0, 0, "CrossRealmReg", sysMsg, len(sysMsg))            
-    GameWorld.Log("SendCrossRealmReg actionType=%s,mapID=%s,dataMapID=%s,copyMapID=%s,posX=%s,posY=%s" 
-                  % (actionType, mapID, dataMapID, copyMapID, posX, posY), curPlayer.GetPlayerID())
+    GameWorld.Log("SendCrossRealmReg registerType=%s,mapID=%s,dataMapID=%s,copyMapID=%s,posX=%s,posY=%s" 
+                  % (registerType, mapID, dataMapID, copyMapID, posX, posY), curPlayer.GetPlayerID())
     return
 
 def OnCrossRealmRegOK(playerID, msgList, tick): 
@@ -153,13 +153,16 @@
     if not IsCrossServerOpen():
         return
     
-    #newAccount, newName = msgList
+    registerType = msgList[0]
+    playerRegisterType = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_CrossRegisterType)
+    if playerRegisterType and registerType != playerRegisterType:
+        return
+    curPlayer.SetDict(ChConfig.Def_PlayerKey_CrossRegisterType, 0)
     
-    actionType = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MergeRegisterType)
-    GameWorld.Log("跨服报名成功 , actionType=%s" % (actionType), playerID)
+    GameWorld.Log("跨服报名成功 , registerType=%s" % (registerType), playerID)
     
     # 跨服PK上传数据完毕,通知跨服服务器,准备完毕
-    if actionType == ShareDefine.Def_CrossAction_PK:
+    if registerType == ChConfig.Def_FBMapID_CrossRealmPK:
         regVSRoomID = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_MergeRegisterRoomID) 
         vsRoomID = curPlayer.GetVsRoomId()
         
@@ -178,13 +181,13 @@
         
     # 其他的,在上传数据完毕后,使用通用的通知可进入跨服
     else:
-        NotifyCanEnterMergeServer(curPlayer, actionType)
+        NotifyCanEnterMergeServer(curPlayer, registerType)
         
     # hxp 2015.09.10 跨服boss,后面的暂时不需要
     return
 
 
-def NotifyCanEnterMergeServer(curPlayer, actionType):
+def NotifyCanEnterMergeServer(curPlayer, registerType):
     # 通用包,通知客户端可进入跨服服务器
     return
 

--
Gitblit v1.8.0