5559 [越南][英文][tqxbqy][砍树]优化启动检查配表格式(增加检查指定的字段格式dict、list)
| | |
| | | list NotifyInfoLoop; //å
¨ææç¤ºä¿¡æ¯ - 循ç¯å¹¿æ[é´éåé, 广ækey]
|
| | | WORD LVLimit; //éå¶ç级
|
| | | BYTE IsDayReset; //æ¯å¦æ¯å¤©éç½®
|
| | | list ShopTypeList; //ååºç±»åå表
|
| | | dict ShopTypeList; //ååºç±»åå表
|
| | | };
|
| | |
|
| | |
|
| | |
| | | WORD _GiftbagType; //礼å
模æ¿ç±»å
|
| | | DWORD _GiftbagID; //礼å
ç¼å·
|
| | | WORD BuyCountLimit; //éè´æ¬¡æ°,0ä¸éè´
|
| | | list GiftItemList; //礼å
ç©åä¿¡æ¯å表 [(ç©åID,个æ°,æ¯å¦ç»å®),...]
|
| | | eval GiftItemList; //礼å
ç©åä¿¡æ¯å表 [(ç©åID,个æ°,æ¯å¦ç»å®),...]
|
| | | WORD Discount; //ææ£ç¾åæ¯
|
| | | };
|
| | |
|
| | |
| | | WORD DropDiffLVLimit; //æè½ç级差å¼éå¶
|
| | | list GuajiAwardSet; //ææºæ¶ç设置ï¼xç§|xæ¬¡å°æªæç
|
| | | list DropItemRateList; //å°æªæè½é¥¼å¾æ¦ç
|
| | | list DropItemRateListBoss; //Bossæè½é¥¼å¾æ¦ç
|
| | | dict DropItemRateListBoss; //Bossæè½é¥¼å¾æ¦ç
|
| | | };
|
| | |
|
| | | //éåæ´»å¨å
æ¢æ¨¡æ¿è¡¨
|
| | |
| | | {
|
| | | DWORD _TemplateID; //模æ¿ID
|
| | | BYTE ExchangeNum; //å
æ¢ç¼å·ï¼å个模æ¿ä¸éå¯ä¸ä¸å¯åï¼
|
| | | list ExchangeItemInfo; //å
æ¢ç®æ ç©å[ç©åID,个æ°,æ¯å¦ç»å®]
|
| | | eval ExchangeItemInfo; //å
æ¢ç®æ ç©å[ç©åID,个æ°,æ¯å¦ç»å®]
|
| | | BYTE ExchangeCountMax; //æå¤§å
æ¢æ¬¡æ°(0ä¸éå¶)
|
| | | list NeedItemList; //æéç©åä¿¡æ¯å表 [[ç©åID,个æ°,æ¯å¦ç»å®], ...]
|
| | | BYTE NeedNotify; //æ¯å¦éè¦å¹¿æ
|
| | |
| | | WORD AdvanceMinutes; //å端æåXåéå±ç¤ºæ´»å¨
|
| | | WORD LVLimit; //éå¶ç级
|
| | | BYTE IsDayReset; //æ¯å¦æ¯å¤©éç½®
|
| | | list ShopTypeList; //ååºç±»åå表
|
| | | dict ShopTypeList; //ååºç±»åå表
|
| | | char MailKey; //æ´»å¨æ´æ°æ¶åéé®ä»¶key
|
| | | list MailItemPrize; //æ´»å¨æ´æ°æ¶åéé®ä»¶å¥å±ç©å
|
| | | };
|
| | |
| | | BYTE ActionType; //æ´»å¨æ¡ç®ID
|
| | | DWORD TotalTimes; //å¯å®æçæ»æ¬¡æ°ï¼0表示ä¸é次æ°
|
| | | WORD SingleTimes; //忬¡é¢å¥éè¦ç次æ°
|
| | | list Reward; //å¥å±ç©å
|
| | | eval Reward; //å¥å±ç©å
|
| | | WORD Point; //积å
|
| | | };
|
| | |
|
| | |
| | | attrValue = value
|
| | | elif fieldType == "dict":
|
| | | attrValue = self.__StrToDict(value)
|
| | | if type(attrValue) != dict:
|
| | | raise
|
| | | elif fieldType == "list":
|
| | | attrValue = self.__StrToList(value)
|
| | | if type(attrValue) not in [list, tuple]:
|
| | | raise
|
| | | elif fieldType == "eval":
|
| | | attrValue = self.__StrToEval(value)
|
| | | elif fieldType == "float":
|
| | |
| | | ("list", "NotifyInfoLoop", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("BYTE", "IsDayReset", 0),
|
| | | ("list", "ShopTypeList", 0),
|
| | | ("dict", "ShopTypeList", 0),
|
| | | ),
|
| | |
|
| | | "Store":(
|
| | |
| | | def GetNotifyInfoLoop(self): return self.attrTuple[11] # å
¨ææç¤ºä¿¡æ¯ - 循ç¯å¹¿æ[é´éåé, 广ækey] list
|
| | | def GetLVLimit(self): return self.attrTuple[12] # éå¶ç级 WORD
|
| | | def GetIsDayReset(self): return self.attrTuple[13] # æ¯å¦æ¯å¤©éç½® BYTE
|
| | | def GetShopTypeList(self): return self.attrTuple[14] # ååºç±»åå表 list |
| | | def GetShopTypeList(self): return self.attrTuple[14] # ååºç±»åå表 dict |
| | | |
| | | # åå表 |
| | | class IPY_Store(): |
| | |
| | | attrValue = value
|
| | | elif fieldType == "dict":
|
| | | attrValue = self.__StrToDict(value)
|
| | | if type(attrValue) != dict:
|
| | | raise
|
| | | elif fieldType == "list":
|
| | | attrValue = self.__StrToList(value)
|
| | | if type(attrValue) not in [list, tuple]:
|
| | | raise
|
| | | elif fieldType == "eval":
|
| | | attrValue = self.__StrToEval(value)
|
| | | elif fieldType == "float":
|
| | |
| | | ("WORD", "GiftbagType", 1),
|
| | | ("DWORD", "GiftbagID", 1),
|
| | | ("WORD", "BuyCountLimit", 0),
|
| | | ("list", "GiftItemList", 0),
|
| | | ("eval", "GiftItemList", 0),
|
| | | ("WORD", "Discount", 0),
|
| | | ),
|
| | |
|
| | |
| | | ("WORD", "DropDiffLVLimit", 0),
|
| | | ("list", "GuajiAwardSet", 0),
|
| | | ("list", "DropItemRateList", 0),
|
| | | ("list", "DropItemRateListBoss", 0),
|
| | | ("dict", "DropItemRateListBoss", 0),
|
| | | ),
|
| | |
|
| | | "CollectWordsExchange":(
|
| | | ("DWORD", "TemplateID", 1),
|
| | | ("BYTE", "ExchangeNum", 0),
|
| | | ("list", "ExchangeItemInfo", 0),
|
| | | ("eval", "ExchangeItemInfo", 0),
|
| | | ("BYTE", "ExchangeCountMax", 0),
|
| | | ("list", "NeedItemList", 0),
|
| | | ("BYTE", "NeedNotify", 0),
|
| | |
| | | ("WORD", "AdvanceMinutes", 0),
|
| | | ("WORD", "LVLimit", 0),
|
| | | ("BYTE", "IsDayReset", 0),
|
| | | ("list", "ShopTypeList", 0),
|
| | | ("dict", "ShopTypeList", 0),
|
| | | ("char", "MailKey", 0),
|
| | | ("list", "MailItemPrize", 0),
|
| | | ),
|
| | |
| | | ("BYTE", "ActionType", 0),
|
| | | ("DWORD", "TotalTimes", 0),
|
| | | ("WORD", "SingleTimes", 0),
|
| | | ("list", "Reward", 0),
|
| | | ("eval", "Reward", 0),
|
| | | ("WORD", "Point", 0),
|
| | | ),
|
| | |
|
| | |
| | | def GetGiftbagType(self): return self.attrTuple[0] # 礼å
模æ¿ç±»å WORD
|
| | | def GetGiftbagID(self): return self.attrTuple[1] # 礼å
ç¼å· DWORD
|
| | | def GetBuyCountLimit(self): return self.attrTuple[2] # éè´æ¬¡æ°,0ä¸éè´ WORD
|
| | | def GetGiftItemList(self): return self.attrTuple[3] # 礼å
ç©åä¿¡æ¯å表 [(ç©åID,个æ°,æ¯å¦ç»å®),...] list
|
| | | def GetGiftItemList(self): return self.attrTuple[3] # 礼å
ç©åä¿¡æ¯å表 [(ç©åID,个æ°,æ¯å¦ç»å®),...] eval
|
| | | def GetDiscount(self): return self.attrTuple[4] # ææ£ç¾åæ¯ WORD |
| | | |
| | | # ååç»éªæ´»å¨è¡¨ |
| | |
| | | def GetDropDiffLVLimit(self): return self.attrTuple[6] # æè½ç级差å¼éå¶ WORD
|
| | | def GetGuajiAwardSet(self): return self.attrTuple[7] # ææºæ¶ç设置ï¼xç§|xæ¬¡å°æªæç list
|
| | | def GetDropItemRateList(self): return self.attrTuple[8] # å°æªæè½é¥¼å¾æ¦ç list
|
| | | def GetDropItemRateListBoss(self): return self.attrTuple[9] # Bossæè½é¥¼å¾æ¦ç list |
| | | def GetDropItemRateListBoss(self): return self.attrTuple[9] # Bossæè½é¥¼å¾æ¦ç dict |
| | | |
| | | # éåæ´»å¨å
æ¢æ¨¡æ¿è¡¨ |
| | | class IPY_CollectWordsExchange(): |
| | |
| | | |
| | | def GetTemplateID(self): return self.attrTuple[0] # 模æ¿ID DWORD
|
| | | def GetExchangeNum(self): return self.attrTuple[1] # å
æ¢ç¼å·ï¼å个模æ¿ä¸éå¯ä¸ä¸å¯åï¼ BYTE
|
| | | def GetExchangeItemInfo(self): return self.attrTuple[2] # å
æ¢ç®æ ç©å[ç©åID,个æ°,æ¯å¦ç»å®] list
|
| | | def GetExchangeItemInfo(self): return self.attrTuple[2] # å
æ¢ç®æ ç©å[ç©åID,个æ°,æ¯å¦ç»å®] eval
|
| | | def GetExchangeCountMax(self): return self.attrTuple[3] # æå¤§å
æ¢æ¬¡æ°(0ä¸éå¶) BYTE
|
| | | def GetNeedItemList(self): return self.attrTuple[4] # æéç©åä¿¡æ¯å表 [[ç©åID,个æ°,æ¯å¦ç»å®], ...] list
|
| | | def GetNeedNotify(self): return self.attrTuple[5] # æ¯å¦éè¦å¹¿æ BYTE |
| | |
| | | def GetAdvanceMinutes(self): return self.attrTuple[5] # å端æåXåéå±ç¤ºæ´»å¨ WORD
|
| | | def GetLVLimit(self): return self.attrTuple[6] # éå¶ç级 WORD
|
| | | def GetIsDayReset(self): return self.attrTuple[7] # æ¯å¦æ¯å¤©éç½® BYTE
|
| | | def GetShopTypeList(self): return self.attrTuple[8] # ååºç±»åå表 list
|
| | | def GetShopTypeList(self): return self.attrTuple[8] # ååºç±»åå表 dict
|
| | | def GetMailKey(self): return self.attrTuple[9] # æ´»å¨æ´æ°æ¶åéé®ä»¶key char
|
| | | def GetMailItemPrize(self): return self.attrTuple[10] # æ´»å¨æ´æ°æ¶åéé®ä»¶å¥å±ç©å list |
| | | |
| | |
| | | def GetActionType(self): return self.attrTuple[1] # æ´»å¨æ¡ç®ID BYTE
|
| | | def GetTotalTimes(self): return self.attrTuple[2] # å¯å®æçæ»æ¬¡æ°ï¼0表示ä¸éæ¬¡æ° DWORD
|
| | | def GetSingleTimes(self): return self.attrTuple[3] # 忬¡é¢å¥éè¦çæ¬¡æ° WORD
|
| | | def GetReward(self): return self.attrTuple[4] # å¥å±ç©å list
|
| | | def GetReward(self): return self.attrTuple[4] # å¥å±ç©å eval
|
| | | def GetPoint(self): return self.attrTuple[5] # 积å WORD |
| | | |
| | | # è¿å¿æ´»å¨æ¶é´è¡¨ |
| | |
| | | attrValue = value
|
| | | elif fieldType == "dict":
|
| | | attrValue = self.__StrToDict(value)
|
| | | if type(attrValue) != dict:
|
| | | raise
|
| | | elif fieldType == "list":
|
| | | attrValue = self.__StrToList(value)
|
| | | if type(attrValue) not in [list, tuple]:
|
| | | raise
|
| | | elif fieldType == "eval":
|
| | | attrValue = self.__StrToEval(value)
|
| | | elif fieldType == "float":
|