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