| #!/usr/bin/python  | 
| # -*- coding: GBK -*-  | 
| #-------------------------------------------------------------------------------  | 
| #  | 
| ##@package GM.Commands.Gubao  | 
| #  | 
| # @todo:¹Å±¦  | 
| # @author hxp  | 
| # @date 2023-01-5  | 
| # @version 1.0  | 
| #  | 
| # ÏêϸÃèÊö: ¹Å±¦  | 
| #  | 
| #-------------------------------------------------------------------------------  | 
| #"""Version = 2023-01-5 15:30"""  | 
| #-------------------------------------------------------------------------------  | 
|   | 
| import GameWorld  | 
| import IpyGameDataPY  | 
| import PlayerGubao  | 
| import PlayerControl  | 
| import ChConfig  | 
|   | 
| #---------------------------------------------------------------------  | 
| #Â߼ʵÏÖ  | 
|   | 
| ## GMÃüÁîÖ´ÐÐÈë¿Ú  | 
| #  @param curPlayer µ±Ç°Íæ¼Ò  | 
| #  @param msgList ²ÎÊýÁÐ±í  | 
| #  @return None  | 
| #  @remarks º¯ÊýÏêϸ˵Ã÷.  | 
| def OnExec(curPlayer, msgList):  | 
|       | 
|     if not msgList:  | 
|         GameWorld.DebugAnswer(curPlayer, "ÖØÖùű¦: Gubao 0")  | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖùű¦: Gubao ¹Å±¦ID µÈ¼¶ ÐǼ¶")  | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖÃЧ¹û: Gubao e ¹Å±¦ID Ð§¹ûÀàÐÍ  ½ø¶ÈÖµ")  | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖÃË鯬: Gubao p ¹Å±¦ID ÊýÁ¿")  | 
|         return  | 
|       | 
|     gubaoIDList = []  | 
|     value1 = msgList[0]  | 
|     if len(msgList) == 1:  | 
|         if msgList[0] == 0:  | 
|             ipyDataMgr = IpyGameDataPY.IPY_Data()  | 
|             for index in range(ipyDataMgr.GetGubaoCount()):  | 
|                 ipyData = ipyDataMgr.GetGubaoByIndex(index)  | 
|                 gubaoID = ipyData.GetGubaoID()  | 
|                 if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_GubaoPiece % gubaoID):  | 
|                     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoPiece % gubaoID, 0)  | 
|                     if gubaoID not in gubaoIDList:  | 
|                         gubaoIDList.append(gubaoID)  | 
|                 _, star = PlayerGubao.GetGubaoLVInfo(curPlayer, gubaoID)  | 
|                 if not star:  | 
|                     continue  | 
|                 if gubaoID not in gubaoIDList:  | 
|                     gubaoIDList.append(gubaoID)  | 
|                 PlayerGubao.SetGubaoLVInfo(curPlayer, gubaoID, 0, 0)  | 
|                 for effType in PlayerGubao.NeedGubaoItemEffValueTypeList:  | 
|                     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoItemEffValue % (gubaoID, effType), 0)  | 
|                       | 
|             PlayerGubao.Sync_GubaoItemEffInfo(curPlayer, force=True)  | 
|             GameWorld.DebugAnswer(curPlayer, "ÖØÖùű¦OK")  | 
|     elif value1 == "p":  | 
|         gubaoID = msgList[1] if len(msgList) > 1 else 0  | 
|         pieceCount = msgList[2] if len(msgList) > 2 else 0  | 
|         ipyData = IpyGameDataPY.GetIpyGameData("Gubao", gubaoID)  | 
|         if not ipyData:  | 
|             GameWorld.DebugAnswer(curPlayer, "²»´æÔڸùű¦!gubaoID=%s" % gubaoID)  | 
|             return  | 
|         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoPiece % gubaoID, pieceCount)  | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖÃË鯬ÊýÁ¿: ID:%s,ÊýÁ¿:%s" % (gubaoID, pieceCount))  | 
|         PlayerGubao.Sync_GubaoPieceInfo(curPlayer, [gubaoID])  | 
|         return  | 
|     elif len(msgList) == 3:  | 
|         gubaoID, lv, star = msgList  | 
|         ipyData = IpyGameDataPY.GetIpyGameData("Gubao", gubaoID)  | 
|         if not ipyData:  | 
|             GameWorld.DebugAnswer(curPlayer, "²»´æÔڸùű¦!gubaoID=%s" % gubaoID)  | 
|             return  | 
|         starIpyData = IpyGameDataPY.GetIpyGameData("GubaoStar", gubaoID, star)  | 
|         if not starIpyData:  | 
|             GameWorld.DebugAnswer(curPlayer, "²»´æÔڸùű¦ÐǼ¶!gubaoID=%s,star=%s" % (gubaoID, star))  | 
|             return  | 
|         gubaoType = ipyData.GetGubaoType()  | 
|         quality = ipyData.GetGubaoQuality()  | 
|         lvIpyData = IpyGameDataPY.GetIpyGameData("GubaoLV", gubaoType, quality, lv)  | 
|         if not lvIpyData:  | 
|             GameWorld.DebugAnswer(curPlayer, "²»´æÔڸùű¦Æ·Öʵȼ¶!gubaoID=%s,gubaoType=%s,quality=%s,lv=%s" % (gubaoID, gubaoType, quality, lv))  | 
|             return  | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖùű¦:%s,µÈ¼¶(%s),ÐÇ(%s)" % (gubaoID, lv, star))  | 
|         PlayerGubao.SetGubaoLVInfo(curPlayer, gubaoID, lv, star)  | 
|         gubaoIDList.append(gubaoID)  | 
|     elif value1 == "e":  | 
|         if len(msgList) != 4:  | 
|             return  | 
|         _, gubaoID, effType, effValue = msgList  | 
|         if effType not in PlayerGubao.NeedGubaoItemEffValueTypeList:  | 
|             GameWorld.DebugAnswer(curPlayer, "¹Å±¦Ð§¹ûÖµÀàÐͽö°üº¬:%s" % str(PlayerGubao.NeedGubaoItemEffValueTypeList))  | 
|             return  | 
|         ipyData = IpyGameDataPY.GetIpyGameData("Gubao", gubaoID)  | 
|         if not ipyData:  | 
|             GameWorld.DebugAnswer(curPlayer, "²»´æÔڸùű¦!gubaoID=%s" % gubaoID)  | 
|             return  | 
|         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_GubaoItemEffValue % (gubaoID, effType), effValue)  | 
|         PlayerGubao.Sync_GubaoItemEffInfo(curPlayer, gubaoID, effType, True)  | 
|         GameWorld.DebugAnswer(curPlayer, "ÉèÖùű¦:%s,Ч¹ûÀàÐÍ(%s),Öµ(%s)" % (gubaoID, effType, effValue))  | 
|     else:  | 
|         return  | 
|       | 
|     PlayerGubao.RefreshGubaoAttr(curPlayer)  | 
|     PlayerGubao.Sync_GubaoInfo(curPlayer, gubaoIDList)  | 
|     PlayerGubao.Sync_GubaoPieceInfo(curPlayer, gubaoIDList)      | 
|     return  | 
|   | 
|   |