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