| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package GM.Commands.PrintTeam  | 
| #  | 
| # @todo:·þÎñÆ÷¶ÓÎéÃ÷ϸ  | 
| # @author hxp  | 
| # @date 2017-10-18  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: ·þÎñÆ÷¶ÓÎéÃ÷ϸ  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #"""Version = 2017-10-18 18:00"""  | 
| #-------------------------------------------------------------------------------  | 
|   | 
| import GameWorld  | 
| import PlayerTeam  | 
| import IPY_GameServer  | 
|   | 
| #°ïÖúÃüÁî  | 
| ## Ö´ÐÐÂß¼  | 
| #  @param curPlayer µ±Ç°Íæ¼Ò  | 
| #  @param playerList []  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def OnExec(curPlayer, paramList):  | 
|     teamMgr = GameWorld.GetTeamManager()  | 
|       | 
|     if paramList:  | 
|         teamID = paramList[0]  | 
|         if not teamID:  | 
|             teamID = curPlayer.GetTeamID()  | 
|         GameWorld.DebugAnswer(curPlayer, "--------------")  | 
|         __PrintTeam(curPlayer, teamMgr, teamID)  | 
|         return  | 
|       | 
|     teamIDDict = PlayerTeam.GetSceneTeamIDDict()  | 
|     if not teamIDDict:  | 
|         GameWorld.DebugAnswer(curPlayer, "µ±Ç°Ã»ÓжÓÎ飡")  | 
|         return  | 
|     isFirst = None  | 
|     GameWorld.DebugAnswer(curPlayer, "¡¾µ±Ç°·þÎñÆ÷ËùÓжÓÎé¡¿")  | 
|     for tagMapID, teamIDList in teamIDDict.items():  | 
|         isFirst = True if isFirst == None else False  | 
|         # ´¿ÊôΪÁ˿ͻ§¶ËÊä³ö±íÏÖ  | 
|         if not isFirst:  | 
|             GameWorld.DebugAnswer(curPlayer, "")  | 
|               | 
|         GameWorld.DebugAnswer(curPlayer, "-¶ÓÎéÄ¿±ê: %s, ÊýÁ¿:%s" % (tagMapID, len(teamIDList)))  | 
|           | 
|         isFirstTeam = None  | 
|         for teamID in teamIDList:  | 
|             isFirstTeam = True if isFirstTeam == None else False  | 
|             __PrintTeam(curPlayer, teamMgr, teamID, isFirstTeam)  | 
|               | 
|     return  | 
|   | 
| def __PrintTeam(curPlayer, teamMgr, teamID, isFirstTeam=True):  | 
|     curTeam = teamMgr.FindTeam(teamID)  | 
|     if not curTeam:  | 
|         GameWorld.DebugAnswer(curPlayer, "ÕÒ²»µ½¶ÓÎé: teamID(%s)" % (teamID))  | 
|         return  | 
|       | 
|     tagMapID = curTeam.GetTagMapID()  | 
|     tagMapEx = curTeam.GetTagMapEx()  | 
|     reqMinLV = curTeam.GetReqMinLV()  | 
|     reqMaxLV = curTeam.GetReqMaxLV()  | 
|     fbMapID = curTeam.GetTeamFBMapID()  | 
|     fbMapFBID = curTeam.GetTeamFBMapFBID()  | 
|       | 
|     # ´¿ÊôΪÁ˿ͻ§¶ËÊä³ö±íÏÖ  | 
|     if not isFirstTeam:  | 
|         GameWorld.DebugAnswer(curPlayer, "")  | 
|     GameWorld.DebugAnswer(curPlayer, "--¶ÓÎéID(%s),tag(%s,%s),LV(%s~%s),FB(%s-%s)"   | 
|                           % (teamID, tagMapID, tagMapEx, reqMinLV, reqMaxLV, fbMapID, fbMapFBID))  | 
|       | 
|     curTeam.GetTeamPlayerCount()  | 
|     for i in xrange(curTeam.GetMemberCount()):  | 
|         memberPlayer = curTeam.GetMemberPlayer(i)  | 
|         memberInfo = curTeam.GetMemberInfo(i)  | 
|           | 
|         index = memberInfo.GetIndex()  | 
|         playerID = memberInfo.GetPlayerID()  | 
|         if not playerID:  | 
|             continue  | 
|         #playerName = memberInfo.GetPlayerName()  | 
|         LV = memberInfo.GetPlayerLV()  | 
|         Job = memberInfo.GetPlayerJob()  | 
|         JobLevel = memberInfo.GetPlayerJobLevel()  | 
|         RealmLV = memberInfo.GetPlayerRealmLV()  | 
|         memberLV = memberInfo.GetTeamLV()  | 
|           | 
|         PlayerState, MapID, LineID = 0, 0, 0  | 
|         if memberPlayer and memberPlayer.GetPlayerID():  | 
|             PlayerState = 1 # 0: ÀëÏß 1:ÔÚÏß  | 
|             MapID = memberPlayer.GetMapID()  | 
|             LineID = memberPlayer.GetFBID()  | 
|               | 
|         lvStr = "¶Ó³¤" if memberLV == IPY_GameServer.tmlLeader else "¶ÓÔ±"  | 
|         olStr = "ÔÚÏß" if PlayerState else "ÀëÏß"  | 
|         GameWorld.DebugAnswer(curPlayer, "%s,index(%s),%s%s(%s), LV(%s), job(%s-%s), ¾³½ç(%s), map(%s-%s)"   | 
|                               % (i, index, olStr, lvStr, playerID, LV, Job, JobLevel, RealmLV, MapID, LineID))  | 
|     return  | 
|   | 
|   |