hxp
2025-02-13 b4c65eee7a595d44e2282e50f96d0e43283b730e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#!/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