#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package GM.Commands.GMT_SetOpenServerTime # # @todo:ÉèÖÿª·þʱ¼ä # @author hxp # @date 2018-05-07 # @version 1.0 # # ÏêϸÃèÊö: ÉèÖÿª·þʱ¼ä # #------------------------------------------------------------------------------- #"""Version = 2018-05-07 11:00""" #------------------------------------------------------------------------------- #µ¼Èë import GMCommon import GameWorldProcess import PlayerDBGSEvent import GameWorld import time ## Ö´ÐÐÂß¼­ # @param curPlayer µ±Ç°Íæ¼Ò # @param gmCmdDict: ÃüÁî×Öµä # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def OnExec(orderId, gmCmdDict): curTime = int(time.time()) OpenServerDate = gmCmdDict.get("OpenServerDate") OpenServerHour = GameWorld.ToIntDef(gmCmdDict.get("OpenServerHour"), None) OpenServerMinute = GameWorld.ToIntDef(gmCmdDict.get("OpenServerMinute"), None) if not OpenServerDate or OpenServerHour == None or OpenServerMinute == None: openServerTime = curTime # ÔÊÐí²»ÉèÖÃʱ¼ä£¬Ä¬ÈÏÈ¡µ±Ç°·þÎñÆ÷ʱ¼ä timeStr = GameWorld.ChangeTimeNumToStr(openServerTime) else: timeStr = "%s %02d:%02d:%02d" % (OpenServerDate, OpenServerHour, OpenServerMinute, 0) openServerTime = GameWorld.ChangeTimeStrToNum(timeStr) if openServerTime < curTime: GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_InvalidTime, "The set time is less than the current time.") return setOpenServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_SetOpenServerTime) if setOpenServerTime and curTime > setOpenServerTime: GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_ServerAlreadyOpen, "The server has been opened.") return PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_SetOpenServerTime, openServerTime) if openServerTime == curTime: GameWorldProcess.OnNewServerOpen(GameWorld.GetGameWorld().GetTick()) GMCommon.GMCommandResult(orderId, gmCmdDict, GMCommon.Def_Success, timeStr) return