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