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