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