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