| | |
| | | import ChPyNetSendPack
|
| | | import DataRecordPack
|
| | | import PlayerControl
|
| | | import PlayerFriend
|
| | | import ShareDefine
|
| | | import PyGameData
|
| | | import GameWorld
|
| | |
| | | askMapID, askMapEx, memStateDict = PyGameData.g_prepareTeamDict[teamID][:3]
|
| | | enterInfo = GetTeamFBEnterInfo(leader, curTeam, askMapID, askMapEx)
|
| | |
|
| | | leaderID = leader.GetPlayerID()
|
| | | friendList = []
|
| | | memFamilyIDDict = {}
|
| | | memNameDict = {}
|
| | | #队长与队员的关系
|
| | | for index in xrange(curTeam.GetMemberCount()):
|
| | | memPlayer = curTeam.GetMemberPlayer(index)
|
| | | if not memPlayer or not memPlayer.GetPlayerID():
|
| | | continue
|
| | | memPlayerID = memPlayer.GetPlayerID()
|
| | | if memPlayerID not in memStateDict:
|
| | | continue
|
| | | memFamilyIDDict[memPlayerID] = memPlayer.GetFamilyID() # 存储各队员的家族ID
|
| | | memNameDict[memPlayerID] = memPlayer.GetName()
|
| | | if leaderID != memPlayerID and PlayerFriend.IsFriend(leaderID, memPlayerID):
|
| | | friendList.append([leaderID, memPlayerID])
|
| | | |
| | | #踢出所有在此类副本,但不同线路的玩家
|
| | | for index in xrange(curTeam.GetMemberCount()):
|
| | | memPlayer = curTeam.GetMemberPlayer(index)
|
| | |
| | | resultName = str([askMapID, askMapEx] + enterInfo)
|
| | | memPlayer.MapServer_QueryPlayerResult(0, 0, "EnterFBTeamAsk", resultName, len(resultName))
|
| | | GameWorld.Log("队长成功进入组队副本, 队员开始进入副本: teamID=%s,memPlayerID=%s" % (teamID, memPlayerID), leader.GetPlayerID())
|
| | | |
| | | for preMemPlayerID in memStateDict.keys():
|
| | | if memPlayerID == preMemPlayerID:
|
| | | continue
|
| | | if PlayerFriend.IsFriend(memPlayerID, preMemPlayerID) and [memPlayerID, preMemPlayerID] not in friendList:
|
| | | friendList.append([memPlayerID, preMemPlayerID])
|
| | | |
| | | PyGameData.g_prepareTeamDict.pop(teamID)
|
| | | |
| | | # 同步进入组队副本的队员关系到目标地图
|
| | | relationInfo = str([teamID, friendList, memFamilyIDDict, memNameDict])
|
| | | leader.MapServer_QueryPlayerResult(0, 0, "EnterFBTeamRelation", relationInfo, len(relationInfo))
|
| | | return
|
| | |
|
| | | def __CheckTeamFBPlayerExist(curTeam):
|