#!/usr/bin/python
|
# -*- coding: GBK -*-
|
#-------------------------------------------------------------------------------
|
#
|
##@package GM.Commands.JobPlayerCount
|
#
|
# @todo:Ö°ÒµÈËÊýÐÅÏ¢
|
# @author hxp
|
# @date 2019-07-23
|
# @version 1.0
|
#
|
# ÏêϸÃèÊö: Ö°ÒµÈËÊýÐÅÏ¢
|
#
|
#-------------------------------------------------------------------------------
|
#"""Version = 2019-07-23 21:00"""
|
#-------------------------------------------------------------------------------
|
|
import GameWorld
|
import PyGameData
|
import IpyGameDataPY
|
import time
|
|
|
## Ö´ÐÐÂß¼
|
# @param curPlayer µ±Ç°Íæ¼Ò
|
# @param gmList []
|
# @return None
|
def OnExec(curPlayer, gmList):
|
|
if not gmList:
|
GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÈËÊý: JobPlayerCount 0")
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃ24Сʱְҵ¶ÔÓ¦ÈËÊý: ")
|
GameWorld.DebugAnswer(curPlayer, "JobPlayerCount Ö°Òµ1 ÈËÊý Ö°Òµ2 ÈËÊý")
|
__PrintJobPlayerCount(curPlayer)
|
return
|
|
if len(gmList) == 1 and gmList[0] == 0:
|
PyGameData.g_onedayJobPlayerLoginoffTimeDict = {}
|
GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÖ°ÒµÈËÊý³É¹¦! ")
|
__PrintJobPlayerCount(curPlayer)
|
return
|
|
if len(gmList) % 2 == 0:
|
while gmList:
|
job = gmList[0]
|
count = gmList[1]
|
gmList = gmList[2:]
|
if job not in PyGameData.g_onedayJobPlayerLoginoffTimeDict:
|
PyGameData.g_onedayJobPlayerLoginoffTimeDict[job] = {}
|
jobPlayerDict = PyGameData.g_onedayJobPlayerLoginoffTimeDict[job]
|
curCount = len(jobPlayerDict)
|
if curCount > count:
|
playerIDList = jobPlayerDict.keys()
|
for popPlayerID in playerIDList[:curCount - count]:
|
jobPlayerDict.pop(popPlayerID)
|
elif curCount < count:
|
for i in range(count - curCount):
|
jobPlayerDict[100 + curCount + 1 + i] = int(time.time())
|
else:
|
pass
|
GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÖ°ÒµÈËÊý³É¹¦! ")
|
__PrintJobPlayerCount(curPlayer)
|
|
return
|
|
def __PrintJobPlayerCount(curPlayer):
|
openJobList = IpyGameDataPY.GetFuncEvalCfg("OpenJob", 1)
|
GameWorld.DebugAnswer(curPlayer, "µ±Ç°: ")
|
for job in openJobList:
|
GameWorld.DebugAnswer(curPlayer, "Ö°Òµ%s ÈËÊý: %s" % (job, len(PyGameData.g_onedayJobPlayerLoginoffTimeDict.get(job, {}))))
|
return
|
|
|
|