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