From 94c9b0759bfa49e66bfce3f790c40f15d362ba1a Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 10 一月 2019 15:17:26 +0800 Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(支持跨服复活) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_CrossRealmReg.py | 40 ++++++++++++++++++++-------------------- 1 files changed, 20 insertions(+), 20 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 c7ab3e3..57fb5d0 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 @@ -49,29 +49,29 @@ GameWorld.Log("GY_Query_CrossRealmReg DoResult %s" % funResult, curPlayer.GetPlayerID()) if not resultInfo: return - registerType, mapID, dataMapID, copyMapID, posX, posY = resultInfo - RegisterEnterCrossServer(curPlayer, registerType, mapID, dataMapID, copyMapID, posX, posY) + registerMap, mapID, dataMapID, copyMapID, posX, posY = resultInfo + RegisterEnterCrossServer(curPlayer, registerMap, mapID, dataMapID, copyMapID, posX, posY) return -def RegisterEnterCrossServer(curPlayer, registerType, mapID=0, dataMapID=0, copyMapID=0, posX=0, posY=0): +def RegisterEnterCrossServer(curPlayer, registerMap, mapID=0, dataMapID=0, copyMapID=0, posX=0, posY=0): ''' - @param registerType: 一般是dataMapID + @param registerMap: 一般是dataMapID ''' playerID = curPlayer.GetPlayerID() if GameWorld.IsCrossServer(): GameWorld.Log(" 跨服服务器不允许上传报名数据!", playerID) return - playerRegisterType = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_CrossRegisterType) - if playerRegisterType in ChConfig.RegisterEnter_CrossServerMapIDList: - GameWorld.ErrLog("跨服已经在上传数据,不重复提交!playerRegisterType=%s,registerType=%s" % (playerRegisterType, registerType), curPlayer.GetPlayerID()) + playerRegisterMap = curPlayer.NomalDictGetProperty(ChConfig.Def_PlayerKey_CrossRegisterMap) + if playerRegisterMap in ChConfig.RegisterEnter_CrossServerMapIDList: + GameWorld.ErrLog("跨服已经在上传数据,不重复提交!playerRegisterMap=%s,registerMap=%s" % (playerRegisterMap, registerMap), curPlayer.GetPlayerID()) return zoneID = 0 if not mapID: - zoneIpyData = CrossRealmPlayer.GetServerCrossZoneIpyData(registerType) + zoneIpyData = CrossRealmPlayer.GetServerCrossZoneIpyData(registerMap) if not zoneIpyData: - GameWorld.ErrLog("找不到该服务器对应跨服分区: registerType=%s" % (registerType)) + GameWorld.ErrLog("找不到该服务器对应跨服分区: registerMap=%s" % (registerMap)) return zoneID, mapID, dataMapID, copyMapID, posX, posY = zoneIpyData.GetZoneID(), zoneIpyData.GetMapID(), \ zoneIpyData.GetDataMapID(), zoneIpyData.GetCopyMapID(), zoneIpyData.GetPosX(), zoneIpyData.GetPosY() @@ -82,15 +82,15 @@ #跨服前更新自己所属服务器组ID PlayerControl.UpdPlayerServerGroupID(curPlayer) - if registerType in ChConfig.RegisterEnter_CrossServerMapIDList: + if registerMap in ChConfig.RegisterEnter_CrossServerMapIDList: prepareEnterCrossServer = ChPyNetSendPack.tagMCPrepareEnterCrossServer() - prepareEnterCrossServer.DataMapID = registerType + prepareEnterCrossServer.DataMapID = registerMap NetPackCommon.SendFakePack(curPlayer, prepareEnterCrossServer) - curPlayer.SetDict(ChConfig.Def_PlayerKey_CrossRegisterType, registerType) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PlayerKey_CrossRegisterMap, registerMap) #curPlayer.SendMergeRegisterPlayer(mapID, dataMapID, copyMapID, posX, posY) curPlayer.SendMergeRegisterPlayerAfterChange(CrossRealmPlayer.GetCrossPlayerName(curPlayer), mapID, dataMapID, copyMapID, posX, posY) - 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) + GameWorld.Log(" 发送跨服玩家数据注册: registerMap=%s,zoneID=%s,mapID=%s,dataMapID=%s,copyMapID=%s,posX=%s,posY=%s,GetVsRoomId=%s" + % (registerMap, zoneID, mapID, dataMapID, copyMapID, posX, posY, curPlayer.GetVsRoomId()), playerID) return ## 跨服赛报名结果(上传数据) @@ -100,27 +100,27 @@ def GameServer_MergeRegisterResult(index, tick): registerResult = IPY_GameWorld.IPY_GMMergeRegisterPlayerResult() curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index) - registerType = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_CrossRegisterType) - curPlayer.SetDict(ChConfig.Def_PlayerKey_CrossRegisterType, 0) + registerMap = curPlayer.NomalDictGetProperty(ChConfig.Def_PlayerKey_CrossRegisterMap) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PlayerKey_CrossRegisterMap, 0) playerID = curPlayer.GetPlayerID() result = registerResult.GetResult() - GameWorld.Log("GameServer_MergeRegisterResult registerType=%s,result=%s" % (registerType, result), playerID) + GameWorld.Log("GameServer_MergeRegisterResult registerMap=%s,result=%s" % (registerMap, result), playerID) if not result: errorMsg = registerResult.GetErrorMsg() GameWorld.Log("CrossRealmReg result Error:%s" % errorMsg, playerID) NetPackCommon.SendFakePack(curPlayer, ChPyNetSendPack.tagMCEnterCrossServerError()) return - if registerType in ChConfig.RegisterEnter_CrossServerMapIDList: + if registerMap in ChConfig.RegisterEnter_CrossServerMapIDList: CrossRealmPlayer.DoEnterCrossRealm(curPlayer) - PlayerControl.SetCrossRealmState(curPlayer, 1) + PlayerControl.SetCrossRealmState(curPlayer, registerMap) NetPackCommon.SendFakePack(curPlayer, ChPyNetSendPack.tagMCStartEnterCrossServer()) return #newAccount = registerResult.GetAccount() #newName = registerResult.GetPwd() - msgList = str([registerType]) + msgList = str([registerMap]) GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(curPlayer.GetID(), 0, 0, "CrossRealmReg", msgList, len(msgList)) return -- Gitblit v1.8.0