#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package GM.Commands.RealmLVUP # # @todo:¾³½çÌáÉý # @author hxp # @date 2017-11-16 # @version 1.0 # # ÏêϸÃèÊö: ¾³½çÌáÉý # #------------------------------------------------------------------------------- #"""Version = 2017-11-16 21:00""" #------------------------------------------------------------------------------- import GameWorld import PlayerPrestigeSys import IpyGameDataPY import PlayerControl import PlayerGubao import ChConfig ## Âß¼­ÊµÏÖ # @param curPlayer # @param cmdList ²ÎÊýÁбí # @return None def OnExec(curPlayer, cmdList): if not cmdList: GameWorld.DebugAnswer(curPlayer, "------------ %s" % GameWorld.GetCurrentDataTimeStr()) GameWorld.DebugAnswer(curPlayer, "ÖØÖþ³½ç½×¼¶: RealmLVUP 0 [ÖØÖøİæ±ê¼Ç]") GameWorld.DebugAnswer(curPlayer, "Ö´Ðо³½çÉý½×: RealmLVUP 1 [´ÎÊý]") GameWorld.DebugAnswer(curPlayer, "ÉèÖþ³½çÈÎÎñ: RealmLVUP t ÈÎÎñID ½ø¶ÈÖµ") GameWorld.DebugAnswer(curPlayer, "×¢:¿ÉÉèÖýø¶ÈµÄÈÎÎñÀàÐÍ:%s" % PlayerPrestigeSys.NeedTaskValueTypeList) GameWorld.DebugAnswer(curPlayer, "ÉèÖþ³½çËþ²ã: RealmTower") GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÌìÐÇËþ²ã: SetSkyTower") GameWorld.DebugAnswer(curPlayer, "ÉèÖþ³½çµÈ¼¶: SetOfficalRank ¾³½çµÈ¼¶") GameWorld.DebugAnswer(curPlayer, "×¢:Ö±½ÓÉèÖþ³½çµÈ¼¶²»»á´¥·¢¾³½çÆäËû¶îÍâЧ¹û") return value = cmdList[0] if value == 0: reVersionState = cmdList[1] if len(cmdList) > 1 else 0 curPlayer.SetOfficialRank(0) curPlayer.SetFreePoint(0) GameWorld.DebugAnswer(curPlayer, "ÖØÖþ³½ç!") GameWorld.DebugAnswer(curPlayer, "ÖØÖÃÁé¸ùµã!") effType = PlayerGubao.GubaoEffType_RealmLVAddLinggen ipyDataMgr = IpyGameDataPY.IPY_Data() for index in range(ipyDataMgr.GetGubaoCount()): ipyData = ipyDataMgr.GetGubaoByIndex(index) gubaoID = ipyData.GetGubaoID() addFreePointAlready = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GubaoItemEffValue % (gubaoID, effType)) if not addFreePointAlready: continue GameWorld.DebugAnswer(curPlayer, "ÖØÖùű¦(%s)Ч¹û(%s)Ôö¼ÓÁé¸ùµã:%s" % (gubaoID, effType, addFreePointAlready)) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoItemEffValue % (gubaoID, effType), 0) PlayerGubao.Sync_GubaoItemEffInfo(curPlayer, gubaoID, effType, force=True) GameWorld.DebugAnswer(curPlayer, "ÖØÖþ³½çOK") if reVersionState: PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RealmVersionState, 0) GameWorld.DebugAnswer(curPlayer, "ÖØÖøİæ±ê¼Ç£¬ÖصǻáÖ´ÐÐÖØÖþ³½çÂß¼­!") return if value == 1: doCount = cmdList[1] if len(cmdList) > 1 else 1 okCnt = 0 for _ in range(doCount): if PlayerPrestigeSys.DoRealmLVUpLogic(curPlayer): okCnt += 1 else: break curRealmLV = curPlayer.GetOfficialRank() if okCnt: GameWorld.DebugAnswer(curPlayer, "ÌáÉý¾³½ç³É¹¦£¡GetOfficialRank=%s" % curRealmLV) else: GameWorld.DebugAnswer(curPlayer, "ÌáÉý¾³½çʧ°Ü£¡GetOfficialRank=%s" % curRealmLV) elif value == "t": taskID = cmdList[1] if len(cmdList) > 1 else 0 taskValue = cmdList[2] if len(cmdList) > 2 else 0 PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_RealmTaskValue % taskID, taskValue) PlayerPrestigeSys.SyncRealmFBState(curPlayer, taskIDList=[taskID]) GameWorld.DebugAnswer(curPlayer, "ÉèÖÃÈÎÎñID:%s,½ø¶ÈÖµ:%s" % (taskID, taskValue)) return