#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package GM.Commands.CustomAward # # @todo:×Ô¶¨Òå½±Àø # @author hxp # @date 2023-09-22 # @version 1.0 # # ÏêϸÃèÊö: ×Ô¶¨Òå½±Àø # #------------------------------------------------------------------------------- #"""Version = 2023-09-22 13:30""" #------------------------------------------------------------------------------- import GameWorld import PlayerCustomAward import IpyGameDataPY import PlayerControl import ChConfig ## GMÃüÁîÖ´ÐÐÈë¿Ú # @param curPlayer µ±Ç°Íæ¼Ò # @param msgList ²ÎÊýÁбí [] # @return None # @remarks º¯ÊýÏêϸ˵Ã÷. def OnExec(curPlayer, msgList): if not msgList: GameWorld.DebugAnswer(curPlayer, "ÖØÖÃËùÓÐ: CustomAward 0") GameWorld.DebugAnswer(curPlayer, "ÉèÖý±Àø: CustomAward ID ÊÇ·ñ¿ÉÁì ÊÇ·ñÒÑÁì") return cmdType = msgList[0] if cmdType == 0: awardIDMax = 0 ipyDataMgr = IpyGameDataPY.IPY_Data() for index in range(ipyDataMgr.GetCustomAwardCount()): ipyData = ipyDataMgr.GetCustomAwardByIndex(index) if awardIDMax < ipyData.GetAwardID(): awardIDMax = ipyData.GetAwardID() keyNumMax = GameWorld.GetDictKeyNumByBit(awardIDMax) for keyNum in range(keyNumMax + 1): PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CustomAwardCanGet % keyNum, 0) PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CustomAwardGetState % keyNum, 0) PlayerCustomAward.Sync_CustomAwardInfo(curPlayer, None, True) GameWorld.DebugAnswer(curPlayer, "ÖØÖÃOK") else: awardID = cmdType canGet = msgList[1] if len(msgList) > 1 else 0 getState = msgList[2] if len(msgList) > 2 else 0 ipyData = IpyGameDataPY.GetIpyGameData("CustomAward", awardID) if not ipyData: GameWorld.DebugAnswer(curPlayer, "²»´æÔڸý±ÀøID:%s" % awardID) return GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_PDict_CustomAwardCanGet, awardID, canGet) GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_PDict_CustomAwardGetState, awardID, getState) PlayerCustomAward.Sync_CustomAwardInfo(curPlayer, awardID, True) GameWorld.DebugAnswer(curPlayer, "½±ÀøID:%s,¿ÉÁì:%s,ÒÑÁì:%s" % (awardID, canGet, getState)) return