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