#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package GM.Commands.MainLevel # # @todo:Ö÷Ï߹ؿ¨ # @author hxp # @date 2025-07-02 # @version 1.0 # # ÏêϸÃèÊö: Ö÷Ï߹ؿ¨ # #------------------------------------------------------------------------------- #"""Version = 2025-07-02 17:30""" #------------------------------------------------------------------------------- import GameWorld import PlayerControl import IpyGameDataPY import GameLogic_MainLevel import IPY_GameWorld import ClearPack import ChConfig def OnExec(curPlayer, gmList): if not gmList: GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÖ÷Ïß: MainLevel 0") GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÖ÷Ïß: MainLevel ÕÂ½Ú ¹Ø¿¨ ²¨") GameWorld.DebugAnswer(curPlayer, "²âÊÔ»÷ɱ: MainLevel k ÏûºÄÕ½´¸Êý") GameWorld.DebugAnswer(curPlayer, "ÖØÖõôÂä: MainLevel d 0 [ÊÇ·ñÇåµôÂä±³°ü]") GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÕ½Àû: MainLevel b 0") GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÕ½Àû: MainLevel b Õ½ÀûÆ·ID ÒѵôÂä¸öÊý") return value = gmList[0] if value == "k": useXiantao = gmList[1] if len(gmList) > 1 else 1 GameLogic_MainLevel.GMTestKill(curPlayer, useXiantao) return if value == "d": unXiantao = gmList[1] if len(gmList) > 1 else 1 if unXiantao == 0: PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnXiantaoCntExp, 0) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_UnXiantaoCntEquip, 0) GameLogic_MainLevel.ResetBootyDropToday(curPlayer) clearDropPack = gmList[2] if len(gmList) > 2 else 0 if clearDropPack: ClearPack.__DoLogic_Clear_Pack(curPlayer, IPY_GameWorld.rptIdentify) GameWorld.DebugAnswer(curPlayer, "ÖØÖÃδ½áËãÕ½´¸µôÂäOK!") return return if value == "b": itemID = gmList[1] if len(gmList) > 1 else 1 dropTotal = gmList[2] if len(gmList) > 2 else 1 if not itemID: GameLogic_MainLevel.ResetBootyDropToday(curPlayer) return bootyItemIDList = GameLogic_MainLevel.GetBootyItemIDList() if itemID not in bootyItemIDList: GameWorld.DebugAnswer(curPlayer, "Õ½ÀûÆ·ID(%s) not in %s" % (itemID, bootyItemIDList)) return GameLogic_MainLevel.SetBootyDropToday(curPlayer, itemID, dropTotal) GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÕ½ÀûÆ·(%s)½ñÈÕµôÂä: %s" % (itemID, dropTotal)) return if value <= 0: nowValue = PlayerControl.SetMainLevelNowInfo(curPlayer, 1, 1, 1) passValue = PlayerControl.SetMainLevelPassInfo(curPlayer, 1, 1, 0) GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÖ÷Ïß:now=%s,pass=%s" % (nowValue, passValue)) return chapterID = value levelNum = gmList[1] if len(gmList) > 1 else 1 wave = gmList[2] if len(gmList) > 2 else 1 levelIpyData = IpyGameDataPY.GetIpyGameData("MainLevel", chapterID, levelNum) if not levelIpyData: GameWorld.DebugAnswer(curPlayer, "Õ½ڹؿ¨²»´æÔÚ: Õ¹Ø=%s-%s" % (chapterID, levelNum)) return # ±¾¹Ø¿¨×î´ó²¨Êý£¬ÔÝʱ֧³Ö×î´ó6²¨ waveMax = 10 while waveMax >= 1 and (not hasattr(levelIpyData, "GetWaveLineupIDList%s" % waveMax) or not getattr(levelIpyData, "GetWaveLineupIDList%s" % waveMax)()): waveMax -= 1 if wave > waveMax: wave = waveMax nowValue = PlayerControl.SetMainLevelNowInfo(curPlayer, chapterID, levelNum, wave) passValue = PlayerControl.SetMainLevelPassInfo(curPlayer, chapterID, levelNum, wave) GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÖ÷Ïß:Õ¹Ø=%s-%s,²¨=%s,%s,%s" % (chapterID, levelNum, wave, nowValue, passValue)) return