|  |  | 
 |  |  |     invitePack.NameLen = len(invitePack.Name)
 | 
 |  |  |     invitePack.LV = curPlayer.GetLV()
 | 
 |  |  |     invitePack.Job = curPlayer.GetJob()
 | 
 |  |  |     invitePack.JobLevel = PlayerControl.GetJobRank(curPlayer)
 | 
 |  |  |     invitePack.RealmLV = curPlayer.GetOfficialRank()
 | 
 |  |  |     invitePack.TagMapID = tagMapID
 | 
 |  |  |     invitePack.TagMapEx = tagMapEx
 | 
 |  |  | 
 |  |  |     requestPack.NameLen = len(requestPack.Name)
 | 
 |  |  |     requestPack.LV = curPlayer.GetLV()
 | 
 |  |  |     requestPack.Job = curPlayer.GetJob()
 | 
 |  |  |     requestPack.JobLevel = PlayerControl.GetJobRank(curPlayer)
 | 
 |  |  |     requestPack.RealmLV = curPlayer.GetOfficialRank()
 | 
 |  |  |     NetPackCommon.SendFakePack(tagPlayer, requestPack)
 | 
 |  |  |     
 | 
 |  |  | 
 |  |  |         nearbyPlayer.NameLen = len(nearbyPlayer.Name)
 | 
 |  |  |         nearbyPlayer.LV = player.GetLV()
 | 
 |  |  |         nearbyPlayer.Job = player.GetJob()
 | 
 |  |  |         nearbyPlayer.JobLevel = PlayerControl.GetJobRank(player)
 | 
 |  |  |         nearbyPlayer.RealmLV = player.GetOfficialRank()
 | 
 |  |  |         nearbyPlayerInfo.PlayerList.append(nearbyPlayer)
 | 
 |  |  |         
 | 
 |  |  | 
 |  |  |         sceneTeam.NameLen = len(sceneTeam.PlayerName)
 | 
 |  |  |         sceneTeam.LV = leader.GetLV()
 | 
 |  |  |         sceneTeam.Job = leader.GetJob()
 | 
 |  |  |         sceneTeam.JobLevel = PlayerControl.GetJobRank(leader)
 | 
 |  |  |         sceneTeam.RealmLV = leader.GetOfficialRank()
 | 
 |  |  |         sceneTeam.MemberCount = team.GetTeamPlayerCount()
 | 
 |  |  |         sceneTeam.TagMapID = team.GetTagMapID()
 | 
 |  |  | 
 |  |  |     #如果队伍正在匹配中,则通知状态
 | 
 |  |  |     if IsTeamMatchingPlayer(curTeamID):
 | 
 |  |  |         Sync_TeamMatchState(curPlayer, True)
 | 
 |  |  |     OnTeamMemFamilyRefresh(curPlayer, curPlayer.GetFamilyID())
 | 
 |  |  |     return True
 | 
 |  |  | 
 | 
 |  |  | #---------------------------------------------------------------------
 | 
 |  |  | 
 |  |  |         tagMapTeam.NameLen = len(tagMapTeam.PlayerName)
 | 
 |  |  |         tagMapTeam.LV = leader.GetLV()
 | 
 |  |  |         tagMapTeam.Job = leader.GetJob()
 | 
 |  |  |         tagMapTeam.JobLevel = PlayerControl.GetJobRank(leader)
 | 
 |  |  |         tagMapTeam.RealmLV = leader.GetOfficialRank()
 | 
 |  |  |         tagMapTeam.MemberCount = team.GetTeamPlayerCount()
 | 
 |  |  |         tagMapTeam.ReqMinLV = team.GetReqMinLV()
 | 
 |  |  | 
 |  |  |                                                       ["TeamEnterCDMe", "TeamEnterCDAll"], "SingleEnterCD"],
 | 
 |  |  |                      ShareDefine.EntFBAskRet_LVLimit:[["TeamMatchingLVMe", "TeamMatchingLVAll"], 
 | 
 |  |  |                                                       ["TeamEnterLVMe", "TeamEnterLVAll"], "FbLV"],
 | 
 |  |  |                      ShareDefine.EntFBAskRet_JobRankLimit:[["TeamMatchingJobMe", "TeamMatchingJobAll"],  | 
 |  |  |                                                            ["TeamEnterJobMe", "TeamEnterJobAll"], "SingleEnterJob"],
 | 
 |  |  |                      ShareDefine.EntFBAskRet_NoTicket:[["TeamMatchingTicketMe", "TeamMatchingTicketAll"], 
 | 
 |  |  |                                                        ["TeamEnterTicketMe", "TeamEnterTicketAll"], "GeRen_chenxin_157069"],
 | 
 |  |  |                      ShareDefine.EntFBAskRet_Dead:[["TeamMatchingDeadMe", "TeamMatchingDeadAll"], 
 | 
 |  |  | 
 |  |  |                                                    ["TeamEnterDefaultMe", "TeamEnterDefaultAll"], "SingleEnterDefaul"],
 | 
 |  |  |                      ShareDefine.EntFBAskRet_Sit:[["TeamMatchingSITMe", "TeamMatchingSITAll"], 
 | 
 |  |  |                                                   ["TeamEnterSITMe", "TeamEnterSITAll"], "Carry_lhs_697674"],
 | 
 |  |  |                      ShareDefine.EntFBAskRet_CrossPKMatching:[["CrossMatching9", "CrossMatching10"],  | 
 |  |  |                                                   ["CrossMatching11", "CrossMatching12"], "CrossMatching8"],
 | 
 |  |  |                      ShareDefine.EntFBAskRet_InCrossMap:[["CrossMap6", "CrossMap7"],  | 
 |  |  |                                                   ["CrossMap8", "CrossMap9"], "CrossMap5"],
 | 
 |  |  |                      ShareDefine.EntFBAskRet_Other:[["TeamMatchingDefaultMe", "TeamMatchingDefaultAll"], 
 | 
 |  |  |                                                    ["TeamEnterDefaultMe", "TeamEnterDefaultAll"], "SingleEnterDefaul"],
 | 
 |  |  |                      }
 | 
 |  |  | 
 |  |  |     PyGameData.g_prepareTeamDict.pop(teamID)
 | 
 |  |  |     
 | 
 |  |  |     # 同步进入组队副本的队员关系到目标地图
 | 
 |  |  |     relationInfo = str([teamID, friendList, memFamilyIDDict, memNameDict])
 | 
 |  |  |     relationInfo = str(["InitRelation", teamID, friendList, memFamilyIDDict, memNameDict])
 | 
 |  |  |     leader.MapServer_QueryPlayerResult(0, 0, "EnterFBTeamRelation", relationInfo, len(relationInfo))
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | def OnTeamMemFriendChange(curPlayer, tagPlayerID, isFriend):
 | 
 |  |  |     ## 队员好友关系变更,离线也同步
 | 
 |  |  |     teamID = curPlayer.GetTeamID()
 | 
 |  |  |     if not teamID:
 | 
 |  |  |         GameWorld.DebugLog("好友变更,无队伍不管!")
 | 
 |  |  |         return
 | 
 |  |  |     curMapData = GameWorld.GetMap(curPlayer.GetMapID())
 | 
 |  |  |     if not curMapData or curMapData.GetMapFBType() != ChConfig.fbtTeam:
 | 
 |  |  |         GameWorld.DebugLog("好友变更,不在组队副本不管!")
 | 
 |  |  |         return
 | 
 |  |  |      | 
 |  |  |     isSameTeam = False
 | 
 |  |  |     playerID = curPlayer.GetPlayerID()
 | 
 |  |  |     curTeam = curPlayer.GetTeam()
 | 
 |  |  |     for index in xrange(curTeam.GetMemberCount()):
 | 
 |  |  |         memberInfo = curTeam.GetMemberInfo(index)
 | 
 |  |  |         if not memberInfo:
 | 
 |  |  |             continue
 | 
 |  |  |         memPlayerID = memberInfo.GetPlayerID()
 | 
 |  |  |         if tagPlayerID == memPlayerID:
 | 
 |  |  |             isSameTeam = True
 | 
 |  |  |             break
 | 
 |  |  |          | 
 |  |  |     if not isSameTeam:
 | 
 |  |  |         GameWorld.DebugLog("好友关系变更,不是同队伍不管!")
 | 
 |  |  |         return
 | 
 |  |  |      | 
 |  |  |     relationInfo = str(["FriendChange", teamID, playerID, tagPlayerID, isFriend])
 | 
 |  |  |     curPlayer.MapServer_QueryPlayerResult(0, 0, "EnterFBTeamRelation", relationInfo, len(relationInfo))
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | def OnTeamMemFamilyRefresh(curPlayer, familyID):
 | 
 |  |  |     ## 队员仙盟变更,仅在线同步,上线同步
 | 
 |  |  |     if not curPlayer:
 | 
 |  |  |         return
 | 
 |  |  |     teamID = curPlayer.GetTeamID()
 | 
 |  |  |     if not teamID:
 | 
 |  |  |         GameWorld.DebugLog("家族变更,无队伍不管!")
 | 
 |  |  |         return
 | 
 |  |  |     curMapData = GameWorld.GetMap(curPlayer.GetMapID())
 | 
 |  |  |     if not curMapData or curMapData.GetMapFBType() != ChConfig.fbtTeam:
 | 
 |  |  |         GameWorld.DebugLog("家族变更,不在组队副本不管!")
 | 
 |  |  |         return
 | 
 |  |  |     playerID = curPlayer.GetPlayerID()
 | 
 |  |  |     familyID = curPlayer.GetFamilyID()
 | 
 |  |  |     relationInfo = str(["FamilyChange", teamID, playerID, familyID])
 | 
 |  |  |     curPlayer.MapServer_QueryPlayerResult(0, 0, "EnterFBTeamRelation", relationInfo, len(relationInfo))
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | def __CheckTeamFBPlayerExist(curTeam):
 | 
 |  |  |     ##玩家离开副本
 | 
 |  |  |     # @param curTeam 队伍实例
 |