| | |
| | | import IPY_PlayerDefine
|
| | | import CrossRealmPlayer
|
| | | import CrossRealmMsg
|
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import ShareDefine
|
| | | import CrossBoss
|
| | |
|
| | |
| | | break
|
| | |
|
| | | key = (mapID, copyMapID)
|
| | | PyGameData.g_crossDynamicLineCopyMapInfo.pop(key, {})
|
| | | copyMapObj = PyGameData.g_crossDynamicLineCopyMapInfo.pop(key, {})
|
| | |
|
| | | #GameWorld.DebugLog(" PyGameData.g_crossDynamicLineInfo=%s" % PyGameData.g_crossDynamicLineInfo)
|
| | | #GameWorld.DebugLog(" PyGameData.g_crossDynamicLineCopyMapInfo=%s" % PyGameData.g_crossDynamicLineCopyMapInfo)
|
| | | |
| | | playerCount = 0
|
| | | zoneID = copyMapObj.zoneID
|
| | | funcLineID = copyMapObj.funcLineID
|
| | | playerCountInfo = [playerCount]
|
| | | SyncClientServerCrossFBFuncLinePlayerCount(zoneID, mapID, funcLineID, playerCountInfo)
|
| | | return
|
| | |
|
| | | def OnCrossDynamicMapReset(msgList):
|
| | |
| | | # % (curPlayer.GetMapID(), mapID, copyMapID, serverGroupID), playerID)
|
| | | #GameWorld.DebugLog(" 副本中的玩家ID: %s" % copyMapObj.fbPlayerDict)
|
| | | #GameWorld.DebugLog(" 等待中的玩家ID: %s" % copyMapObj.waitPlayerDict)
|
| | | |
| | | playerCount = len(copyMapObj.fbPlayerDict) # 等待进入的暂时不算
|
| | | zoneID = copyMapObj.zoneID
|
| | | funcLineID = copyMapObj.funcLineID
|
| | | playerCountInfo = [playerCount]
|
| | | SyncClientServerCrossFBFuncLinePlayerCount(zoneID, mapID, funcLineID, playerCountInfo)
|
| | | return
|
| | |
|
| | | def SyncClientServerCrossFBFuncLinePlayerCount(zoneID, mapID, funcLineID, playerCountInfo):
|
| | | ## 同步子服跨服副本功能线路人数
|
| | | ## 注意: 此人数不是一个精确人数值,只是一个大概人数值,不用很精确,暂时只玩家进入时同步人数信息,玩家退出暂不处理 |
| | | mapID = GetRecordMapID(mapID)
|
| | | if mapID not in ChConfig.Def_NeedCountFBFuncLinePlayerCrossMap:
|
| | | return
|
| | | zoneIpyData = CrossRealmPlayer.GetCrossZoneIpyDataByZoneID(mapID, zoneID)
|
| | | if not zoneIpyData:
|
| | | return
|
| | | serverGroupIDList = zoneIpyData.GetServerGroupIDList()
|
| | | playerCountInfo = [mapID, funcLineID, playerCountInfo]
|
| | | CrossRealmMsg.SendMsgToClientServer(ShareDefine.CrossServerMsg_FBPlayerCount, playerCountInfo, serverGroupIDList)
|
| | | return
|
| | |
|
| | | def OnPlayerDisconnectCrossServer(curPlayer):
|
| | |
| | | #GameWorld.DebugLog(" 等待中的玩家ID: %s" % copyMapObj.waitPlayerDict)
|
| | | return
|
| | |
|
| | | def CrossServerMsg_FBPlayerCount(msgData):
|
| | | ## 收到跨服服务器同步的副本功能线路人数信息
|
| | | |
| | | mapID, funcLineID, playerCountInfo = msgData
|
| | | if mapID not in PyGameData.g_crossFBFuncLinePlayerCountInfo:
|
| | | PyGameData.g_crossFBFuncLinePlayerCountInfo[mapID] = {}
|
| | | fbLinePlayerInfoDict = PyGameData.g_crossFBFuncLinePlayerCountInfo[mapID]
|
| | | fbLinePlayerInfoDict[funcLineID] = playerCountInfo
|
| | | return
|
| | |
|
| | | ##--------------------------------------------------------------------------------------------------
|
| | |
|
| | | ## 请求进入副本分线
|