|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | playerIDList, dataMapID, mapID, copyMapID, funcLineID = msgData | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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: | 
|---|
|  |  |  | posX, posY = random.randint(posX - dist, posX + dist), random.randint(posY - dist, posY + dist) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for playerID in playerIDList: | 
|---|
|  |  |  | curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID) | 
|---|
|  |  |  | if not curPlayer: | 
|---|
|  |  |  | continue | 
|---|
|  |  |  | CrossRealmPlayer.SendCrossRealmReg(curPlayer, dataMapID, mapID, dataMapID, copyMapID, posX, posY, lineID=funcLineID) | 
|---|
|  |  |  | CrossRealmPlayer.SendCrossRealmReg(curPlayer, dataMapID, mapID, dataMapID, copyMapID, lineID=funcLineID) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | return realMapID, copyMapID, openState | 
|---|
|  |  |  |  | 
|---|
|  |  |  | dynamicLineMapDict = IpyGameDataPY.GetFuncEvalCfg("CrossDynamicLineMap", 1) | 
|---|
|  |  |  | if mapID not in dynamicLineMapDict: | 
|---|
|  |  |  | return | 
|---|
|  |  |  | dynamicMapIDList = dynamicLineMapDict[mapID][1] | 
|---|
|  |  |  | dynamicMapIDList = dynamicLineMapDict.get(mapID, [mapID]) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | openMapID, openCopyMapID = 0, 0 | 
|---|
|  |  |  | for realMapID in dynamicMapIDList: | 
|---|