| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package GM.Commands.SetWorldLV  | 
| #  | 
| # @todo:ÉèÖÃÊÀ½çµÈ¼¶  | 
| # @author hxp  | 
| # @date 2018-02-13  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: ÉèÖÃÊÀ½çµÈ¼¶  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #"""Version = 2018-02-13 12:00"""  | 
| #-------------------------------------------------------------------------------  | 
|   | 
| import GameWorld  | 
| import IpyGameDataPY  | 
| import PlayerDBGSEvent  | 
| import ShareDefine  | 
|   | 
| import time  | 
|   | 
| #-------------------------------------------------------------------------------  | 
| ## Ö´ÐÐÂß¼  | 
| #  @param curPlayer µ±Ç°Íæ¼Ò  | 
| #  @param cmdList ²ÎÊý  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def OnExec(curPlayer, cmdList):  | 
|       | 
|     if not cmdList:  | 
|         initOpenServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime)  | 
|         worldLV = GameWorld.GetGameWorld().GetDictByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)  | 
|         GameWorld.DebugAnswer(curPlayer, "SetWorldLV ÊÀ½çµÈ¼¶ ¿ÉÑ¡¶îÍâÃë")  | 
|         GameWorld.DebugAnswer(curPlayer, "¿ª·þʱ¼ä: %s" % GameWorld.ChangeTimeNumToStr(initOpenServerTime))  | 
|         GameWorld.DebugAnswer(curPlayer, "µ±Ç°ÊÀ½çµÈ¼¶: %s" % worldLV)  | 
|         return  | 
|       | 
|     worldLV = cmdList[0]  | 
|     extraTime = cmdList[1] if len(cmdList) > 1 else 0  | 
|       | 
|     maxWorldLV = IpyGameDataPY.IPY_Data().GetWorldLVCount()  | 
|     if worldLV > maxWorldLV:  | 
|         GameWorld.DebugAnswer(curPlayer, "³¬¹ý×î´óÊÀ½çµÈ¼¶maxWorldLV=%s" % maxWorldLV)  | 
|         return  | 
|       | 
|     worldLVIpyData = IpyGameDataPY.IPY_Data().GetWorldLVByIndex(worldLV - 1)  | 
|     if not worldLVIpyData:  | 
|         return  | 
|       | 
|     curTime = int(time.time())  | 
|     initOpenServerTime = curTime - worldLVIpyData.GetOpenServerSecond()  | 
|     if extraTime:  | 
|         PlayerDBGSEvent.SetDBGSTrig_ByKey(PlayerDBGSEvent.Def_WorldLVExtraTime, extraTime)  | 
|     PlayerDBGSEvent.SetInitOpenServerTime(initOpenServerTime)  | 
|     GameWorld.GetGameWorld().SetDict(ShareDefine.Def_Notify_WorldKey_WorldAverageLv, worldLV)  | 
|     PlayerDBGSEvent.SetDBGSTrig_ByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv, worldLV)  | 
|     GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_WorldAverageLv, worldLV)  | 
|       | 
|     GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÊÀ½çµÈ¼¶: %s, ÐèÃë(%s)" % (worldLV, worldLVIpyData.GetOpenServerSecond()))  | 
|     if extraTime:  | 
|         GameWorld.DebugAnswer(curPlayer, "extraTime: %s" % extraTime)  | 
|     GameWorld.DebugAnswer(curPlayer, "¿ª·þʱ¼ä: %s (%s)" % (GameWorld.ChangeTimeNumToStr(initOpenServerTime), initOpenServerTime))  | 
|     GameWorld.DebugAnswer(curPlayer, "µ±Ç°Ê±¼ä: %s (%s)" % (GameWorld.ChangeTimeNumToStr(curTime), curTime))  | 
|     return  | 
|   | 
|   | 
|   |