hxp
2019-09-20 67bcc2ab06912fc3d9cf31ceae533da76e50d5ae
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
#!/usr/bin/python
# -*- coding: GBK -*-
#-------------------------------------------------------------------------------
#
#-------------------------------------------------------------------------------
#
##@package GM.Commands.GMT_OLPlayerCnt
#
# @todo:²éѯÔÚÏßÍæ¼ÒÊý
# @author hxp
# @date 2015-5-25
# @version 1.2
#
# @change: "2015-06-04 11:30" hxp Ö§³Ö°´channelCode²éѯÈËÊý
# @change: "2015-06-16 16:30" hxp ·µ»Ø×ÖµäÐÅÏ¢²»×ª×Ö·û´®
#
# ÏêϸÃèÊö: ²éѯÔÚÏßÍæ¼ÒÊý
#
#---------------------------------------------------------------------
"""Version = 2015-06-16 16:30"""
#---------------------------------------------------------------------
 
#µ¼Èë
import ChPlayer
import GMCommon
import GameWorld
 
 
#Âß¼­ÊµÏÖ(ÕâÀïcurPlayer = None)
## Ö´ÐÐÂß¼­
#  @param curPlayer µ±Ç°Íæ¼Ò
#  @param gmList [cmdIndex gmAccID forbidAcc]
#  @return None
#  @remarks º¯ÊýÏêϸ˵Ã÷.
def OnExec(orderId, gmCmdDict):
    
    queryChannelCode = gmCmdDict.get("channelCode", '')
    
    # ¼Ç¼·þÎñÆ÷ÈËÊý
    playerManager = GameWorld.GetPlayerManager()
    activePlayerCount = playerManager.GetActivePlayerCount() # ×ÜÈËÊý
    playerCntDict = {}
    if queryChannelCode:
        playerCntDict[queryChannelCode] = 0
    
    for i in range(activePlayerCount):
        
        curPlayer = playerManager.GetActivePlayerAt(i)
        if not curPlayer:
            continue
        
        channelCode = ChPlayer.GetUserDataByKey(curPlayer, "channel_code", "unknown")
        
        if queryChannelCode and channelCode != queryChannelCode:
            continue
        
        playerCntDict[channelCode] = playerCntDict.get(channelCode, 0) + 1
        
    #Ö´Ðгɹ¦
    #strMsg = str(playerCntDict)
    GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success, playerCntDict)        
    return