#!/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