From 68dd06e06c1a4a155884c31403da1155be6f10e8 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 18 四月 2019 17:11:31 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode
---
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFB.py | 28 ++++++++++++----------------
1 files changed, 12 insertions(+), 16 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFB.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFB.py
index ff3f03e..b22e5d8 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFB.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFB.py
@@ -154,19 +154,19 @@
return
playerIDList = [playerID]
- retInfo = [playerIDList, dataMapID, mapID, copyMapID]
+ retInfo = [playerIDList, dataMapID, mapID, copyMapID, funcLineID]
CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_EnterFBRet, retInfo, [serverGroupID])
return
def CrossServerMsg_EnterFBRet(msgData, tick):
## 收到跨服服务器动态分配的跨服副本进入信息
- playerIDList, dataMapID, mapID, copyMapID = msgData
+ playerIDList, dataMapID, mapID, copyMapID, funcLineID = msgData
- if dataMapID == ChConfig.Def_FBMapID_CrossDemonKing:
- mapPosInfo = IpyGameDataPY.GetFuncEvalCfg("CrossDemonKingMap", 2)
- else:
+ dynamicLineMapDict = IpyGameDataPY.GetFuncEvalCfg("CrossDynamicLineMap", 1)
+ if dataMapID not in dynamicLineMapDict:
return
+ mapPosInfo = dynamicLineMapDict[dataMapID][0]
posX, posY = mapPosInfo[:2]
dist = mapPosInfo[2] if len(mapPosInfo) > 2 else 0
if dist > 0:
@@ -176,7 +176,7 @@
curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
if not curPlayer:
continue
- CrossRealmPlayer.SendCrossRealmReg(curPlayer, dataMapID, mapID, dataMapID, copyMapID, posX, posY)
+ CrossRealmPlayer.SendCrossRealmReg(curPlayer, dataMapID, mapID, dataMapID, copyMapID, posX, posY, lineID=funcLineID)
return
@@ -216,16 +216,11 @@
#GameWorld.DebugLog(" 等待中的玩家ID: %s" % copyMapObj.waitPlayerDict)
return mapID, copyMapID, openState
- if dataMapID == ChConfig.Def_FBMapID_CrossDemonKing:
- mapIDList = IpyGameDataPY.GetFuncEvalCfg("CrossDemonKingMap", 1)
- elif dataMapID == ChConfig.Def_FBMapID_CrossGrasslandLing:
- mapIDList = [dataMapID]
- elif dataMapID == ChConfig.Def_FBMapID_CrossGrasslandXian:
- mapIDList = [dataMapID]
- # 其他地图待扩展
- else:
+ dynamicLineMapDict = IpyGameDataPY.GetFuncEvalCfg("CrossDynamicLineMap", 1)
+ if dataMapID not in dynamicLineMapDict:
return
-
+ mapIDList = dynamicLineMapDict[dataMapID][1]
+
openMapID, openCopyMapID = 0, 0
for mapID in mapIDList:
maxCopyMapCount = PyGameData.g_crossMapCopyMapCountDict.get(mapID, 0)
@@ -282,6 +277,7 @@
return
copyMapObj = PyGameData.g_crossDynamicLineCopyMapInfo[key]
copyMapObj.openState = 1
+ funcLineID = copyMapObj.funcLineID
# 通知子服等待中的玩家可以进入副本
serverPlayerIDListDict = {}
@@ -296,7 +292,7 @@
GameWorld.Log("动态分配虚拟线路启动成功,通知子服等待玩家可进入: dataMapID=%s,mapID=%s,copyMapID=%s,serverPlayerIDListDict=%s"
% (dataMapID, mapID, copyMapID, serverPlayerIDListDict))
for serverGroupID, playerIDList in serverPlayerIDListDict.items():
- retInfo = [playerIDList, dataMapID, mapID, copyMapID]
+ retInfo = [playerIDList, dataMapID, mapID, copyMapID, funcLineID]
CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_EnterFBRet, retInfo, [serverGroupID])
#GameWorld.DebugLog(" PyGameData.g_crossDynamicLineInfo=%s" % PyGameData.g_crossDynamicLineInfo)
--
Gitblit v1.8.0