|  |  | 
 |  |  | #---------------------------------------------------------------------
 | 
 |  |  | 
 | 
 |  |  | #---------------------------------------------------------------------
 | 
 |  |  | 
 | 
 |  |  | def DoRefreshMainServerRole(curPlayer):
 | 
 |  |  |     ## 刷新本服角色信息
 | 
 |  |  |      | 
 |  |  |     curTeam = curPlayer.GetTeam()
 | 
 |  |  |     if curTeam:
 | 
 |  |  |         PlayerTeam.Sync_TeamMemberInfo(curTeam)
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | ## 玩家登录初始化(封包参数)
 | 
 |  |  | #  @param index 玩家索引
 | 
 |  |  | #  @param tick 当前时间
 | 
 |  |  | 
 |  |  |     InitPlayerOnLineReply(curPlayer, tick)
 | 
 |  |  |     # 统计登入人数
 | 
 |  |  |     GameDataRecord.PlayerLoginRecord(curPlayer, tick)
 | 
 |  |  |     __DoPlayerLoginServer(curPlayer, tick)
 | 
 |  |  |      | 
 |  |  |     #通知地图服务器自己初始化成功
 | 
 |  |  |     curPlayer.MapServer_InitOK()
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | def __DoPlayerLoginServer(curPlayer, tick):
 | 
 |  |  |     ''' 玩家登录需要处理的内容,本服及跨服服务器分开
 | 
 |  |  |     '''
 | 
 |  |  |     if GameWorld.IsCrossServer():
 | 
 |  |  |         #跨服PK
 | 
 |  |  |         CrossRealmPK.OnPlayerLoginCrossServer(curPlayer)
 | 
 |  |  |         return
 | 
 |  |  |      | 
 |  |  |     #玩家家族刷新
 | 
 |  |  |     #家族任务需要刷新 FamilyLV, 地图服务器需要知道FamilyLV来通知玩家家族任务次数 
 | 
 |  |  |     PlayerFamily.PlayerLoginRefreshFamily(curPlayer, tick)
 | 
 |  |  | 
 |  |  |         
 | 
 |  |  |         GMShell.OnPlayerLogin(curPlayer)
 | 
 |  |  |         GMT_CTG.OnPlayerLogin(curPlayer)
 | 
 |  |  |          | 
 |  |  |     #通知地图服务器自己初始化成功
 | 
 |  |  |     curPlayer.MapServer_InitOK()
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | ## 增加高手玩家上线广播
 | 
 |  |  | 
 |  |  |     fblinePack = ChPyNetSendPack.tagGCFBLinePlayerCnt()
 | 
 |  |  |     fblinePack.MapID = tagMapID
 | 
 |  |  |     fblinePack.FBLineInfoList = []
 | 
 |  |  |     for lineID, playerCnt in fbLinePlayerCntDict.items():
 | 
 |  |  |     for lineID, infoList in fbLinePlayerCntDict.items():
 | 
 |  |  |         mapLineState = ChPyNetSendPack.tagGCFBLineInfo()
 | 
 |  |  |         mapLineState.Clear()
 | 
 |  |  |         mapLineState.FBLineID = lineID
 | 
 |  |  |         mapLineState.PlayerCnt = playerCnt
 | 
 |  |  |         mapLineState.PlayerCnt = infoList[0] if infoList else 0
 | 
 |  |  |         mapLineState.ExtraStr = infoList[1] if len(infoList) > 1 else ''
 | 
 |  |  |         mapLineState.ExtraStrLen = len(mapLineState.ExtraStr)
 | 
 |  |  |         fblinePack.FBLineInfoList.append(mapLineState)
 | 
 |  |  |     
 | 
 |  |  |     fblinePack.Count = len(fblinePack.FBLineInfoList)
 |