#!/usr/bin/python # -*- coding: GBK -*- #------------------------------------------------------------------------------- # ##@package # # @todo:¶ÁÈ¡PY±í # @author hxp # @date 2018-05-10 # @version 1.0 # # ÏêϸÃèÊö: ¶ÁÈ¡PY±í # #------------------------------------------------------------------------------- #"""Version = 2018-05-10 12:00""" #------------------------------------------------------------------------------- import FormulaControl import ChConfig import LogUI import hashlib import os import gc '''±í½á¹¹¶¨Òå×Öµä { ±íÃû:( (×Ö¶ÎÀàÐÍ, ×Ö¶ÎÃû, ÊÇ·ñ²éѯË÷Òý), ... ), ... } ''' Def_IpyTable = { "Dienstgrad":( ("DWORD", "ID", 1), ("WORD", "Type", 0), ("DWORD", "ExpireTime", 0), ("list", "LightType", 0), ("list", "LightAttribute", 0), ("list", "Skills", 0), ("DWORD", "InitFightPower", 0), ), "TitleStarUp":( ("DWORD", "TitleID", 1), ("BYTE", "TitleStar", 1), ("list", "StarUpNeedItemList", 0), ("list", "StarAttrType", 0), ("list", "StarAttrValue", 0), ), "PlayerFace":( ("DWORD", "FaceID", 1), ("BYTE", "UnlockDefault", 0), ("DWORD", "ExpireMinutes", 0), ("DWORD", "CustomPlayerID", 0), ("list", "LightAttrType", 0), ("list", "LightAttrValue", 0), ("DWORD", "LightFightPower", 0), ), "PlayerFaceStar":( ("DWORD", "FaceID", 1), ("BYTE", "FaceStar", 1), ("list", "StarUpNeedItemList", 0), ("list", "StarAttrType", 0), ("list", "StarAttrValue", 0), ), "PlayerFacePic":( ("DWORD", "FacePicID", 1), ("BYTE", "UnlockDefault", 0), ("DWORD", "ExpireMinutes", 0), ("list", "LightAttrType", 0), ("list", "LightAttrValue", 0), ("DWORD", "LightFightPower", 0), ), "PlayerFacePicStar":( ("DWORD", "FacePicID", 1), ("BYTE", "FacePicStar", 1), ("list", "StarUpNeedItemList", 0), ("list", "StarAttrType", 0), ("list", "StarAttrValue", 0), ), "SkillMatch":( ("BYTE", "IDIndex", 1), ("list", "Skills", 0), ), "RolePoint":( ("BYTE", "AttrID", 1), ("dict", "AddAttrInfoPerPoint", 0), ("BYTE", "FightPowerPerPoint", 0), ("dict", "PointQualityAttrDict", 0), ("list", "PointQualityIntervalList", 0), ), "LingQiAttr":( ("BYTE", "ItemID", 1), ("list", "LingQiAttrID", 0), ("list", "LingQiAttrValue", 0), ("DWORD", "LingQiAttrScore", 0), ("dict", "UpCostItem", 0), ("DWORD", "NextItemID", 0), ), "LingQiTrain":( ("BYTE", "EquipPlace", 1), ("BYTE", "TrainType", 1), ("BYTE", "TrainLV", 1), ("WORD", "NeedRealmLV", 0), ("DWORD", "EatCntTotal", 0), ("DWORD", "EatCntEverytime", 0), ("list", "EatItemAttrTypeList", 0), ("list", "EatItemAttrValueList", 0), ("list", "LVAttrTypeList", 0), ("list", "LVAttrValueList", 0), ), "RealmXXZL":( ("WORD", "TaskID", 1), ("BYTE", "TaskType", 0), ("DWORD", "NeedValue", 0), ("list", "AwardItemList", 0), ), "Realm":( ("WORD", "Lv", 1), ("BYTE", "LvLarge", 0), ("DWORD", "LVMax", 0), ("list", "AddAttrType", 0), ("list", "AddAttrNum", 0), ("DWORD", "BuffID", 0), ("DWORD", "ExpRate", 0), ("DWORD", "ExpLimit", 0), ("dict", "LearnSkillIDInfo", 0), ("BYTE", "AddFreePoint", 0), ), "RealmLVUPTask":( ("WORD", "Lv", 1), ("BYTE", "TaskID", 0), ("BYTE", "TaskType", 0), ("list", "NeedValueList", 0), ("list", "AwardItemList", 0), ), "RealmTower":( ("DWORD", "FloorID", 1), ("WORD", "NeedRealmLV", 0), ("DWORD", "BossID", 0), ("list", "RewardItemList", 0), ), "LianTi":( ("BYTE", "LianTiLV", 1), ("list", "FixedAttrType", 0), ("list", "FixedAttrValue", 0), ("list", "PlusAttrType", 0), ("list", "PlusAttrRate", 0), ("list", "EatItemAttrType", 0), ("list", "EatItemAttrValue", 0), ("WORD", "NeedEatCount", 0), ("WORD", "EatPerCount", 0), ("list", "LVUpCostItemInfo", 0), ("DWORD", "ActivateSkillID", 0), ), "GodWeapon":( ("WORD", "Type", 1), ("WORD", "LV", 1), ("DWORD", "Exp", 0), ("list", "AttrType", 0), ("list", "AttrNum", 0), ("DWORD", "SkillID", 0), ("char", "SysMark", 0), ), "FuncConfig":( ("char", "Key", 1), ("char", "Numerical1", 0), ("char", "Numerical2", 0), ("char", "Numerical3", 0), ("char", "Numerical4", 0), ("char", "Numerical5", 0), ), "FuncOpenLV":( ("DWORD", "FuncId", 1), ("DWORD", "LimitLV", 0), ("DWORD", "LimitMagicWeapon", 0), ("WORD", "LimiRealmLV", 0), ("DWORD", "LimitMissionID", 0), ("BYTE", "LimitVIPLV", 0), ("char", "MailKey", 0), ), "ItemCompound":( ("WORD", "ID", 1), ("BYTE", "ComposeGroup", 0), ("list", "MakeID", 0), ("BYTE", "IsFirstSuccMakeJobItem", 0), ("list", "UnfixedItemID", 0), ("BYTE", "UnfixedItemCount", 0), ("list", "FixedItemID", 0), ("list", "FixedItemCount", 0), ("DWORD", "NeedMoney", 0), ("WORD", "SuccessRate", 0), ("WORD", "SuccessRateMax", 0), ("list", "SuccessRateIncrease", 0), ("BYTE", "AddonsCountMax", 0), ("char", "SysMark", 0), ("BYTE", "SysMarkParamType", 0), ), "ItemPlus":( ("BYTE", "Type", 1), ("WORD", "LV", 1), ("list", "AttrType", 0), ("list", "AttrValue", 0), ("DWORD", "CostCount", 0), ("list", "CostItemInfo", 0), ("DWORD", "AddExp", 0), ("DWORD", "TotalExp", 0), ), "EquipControl":( ("BYTE", "ClassLV", 0), ("BYTE", "NeedRealmLV", 0), ), "ItemPlusMaster":( ("BYTE", "ClassLV", 1), ("WORD", "MasterPlusLV", 0), ("list", "MasterPlusAttrIDList", 0), ("list", "MasterPlusAttrValueList", 0), ), "ItemPlusMax":( ("BYTE", "Type", 1), ("BYTE", "ClassLV", 1), ("WORD", "PlusLVMax", 0), ), "RoleEquipStars":( ("BYTE", "StarsNeed", 1), ("list", "AttrType", 0), ("list", "AttrValue", 0), ), "EquipLegendAttrCount":( ("BYTE", "ItemType", 1), ("BYTE", "ItemColor", 1), ("BYTE", "IsSuit", 1), ("BYTE", "ItemQuality", 1), ("list", "LegendAttrCountInfo", 0), ), "EquipLegendAttrType":( ("BYTE", "ItemType", 1), ("dict", "LegendAttrTypeLib", 0), ), "EquipLegendAttrLib":( ("BYTE", "LegendAttrID", 1), ("dict", "LegendAttrLib", 0), ), "EquipLegendAttrValue":( ("BYTE", "ItemType", 1), ("BYTE", "ItemClassLV", 1), ("BYTE", "ItemColor", 1), ("BYTE", "IsSuit", 1), ("BYTE", "ItemQuality", 1), ("dict", "LVLegendAttrLibNumInfo", 0), ), "Dogz":( ("BYTE", "DogzID", 1), ("list", "BaseAttrTypes", 0), ("list", "BaseAttrValues", 0), ("list", "HelpBattleSkills", 0), ("DWORD", "FightPowerEx", 0), ("list", "EquipPlaceColorList", 0), ("list", "HelpBattleNotify", 0), ), "DogzEquipPlus":( ("BYTE", "EquipPlace", 1), ("BYTE", "PlusLV", 1), ("list", "PlusAttrTypes", 0), ("list", "PlusAttrValues", 0), ("DWORD", "PlusLVUPTotalExp", 0), ), "Rune":( ("DWORD", "ID", 1), ("list", "AttrType", 0), ("DWORD", "TowerID", 0), ), "EquipWash":( ("BYTE", "WashType", 1), ("BYTE", "WashLV", 1), ("BYTE", "AttrType1", 0), ("DWORD", "AttrMax1", 0), ("dict", "AttrRandDict1", 0), ("DWORD", "AttrCostGoldMin1", 0), ("DWORD", "AttrCostGoldMax1", 0), ("BYTE", "AttrType2", 0), ("DWORD", "AttrMax2", 0), ("dict", "AttrRandDict2", 0), ("DWORD", "AttrCostGoldMin2", 0), ("DWORD", "AttrCostGoldMax2", 0), ("BYTE", "AttrType3", 0), ("DWORD", "AttrMax3", 0), ("dict", "AttrRandDict3", 0), ("DWORD", "AttrCostGoldMin3", 0), ("DWORD", "AttrCostGoldMax3", 0), ("DWORD", "CostItemID", 0), ("BYTE", "CostItemCount", 0), ("list", "GoldWashCostList", 0), ), "AttrFruit":( ("DWORD", "ID", 1), ("BYTE", "FuncID", 0), ("dict", "MaxUseCnt", 0), ("list", "AddItemInfo", 0), ("WORD", "RecycleMoney", 0), ("DWORD", "FightPowerEx", 0), ), "PetInfo":( ("DWORD", "ID", 1), ("BYTE", "Quality", 0), ("char", "UnlockSys", 0), ("DWORD", "UnLockNeedItemID", 0), ("BYTE", "UnLockNeedItemCnt", 0), ("DWORD", "DecomposeExp", 0), ("BYTE", "InitRank", 0), ("WORD", "MaxRank", 0), ("WORD", "UseNeedRank", 0), ("list", "SkillID", 0), ("list", "SkillUnLock", 0), ("list", "SkillUnLockSys", 0), ("DWORD", "InitFightPower", 0), ), "PetStarUp":( ("DWORD", "PetNPCID", 1), ("BYTE", "PetStar", 1), ("list", "StarUpNeedItemList", 0), ("list", "StarAttrType", 0), ("list", "StarAttrValue", 0), ), "PetTrain":( ("BYTE", "TrainType", 1), ("BYTE", "TrainLV", 1), ("WORD", "NeedRealmLV", 0), ("DWORD", "EatCntTotal", 0), ("DWORD", "EatCntEverytime", 0), ("list", "EatItemAttrTypeList", 0), ("list", "EatItemAttrValueList", 0), ("list", "LVAttrTypeList", 0), ("list", "LVAttrValueList", 0), ), "EquipDecompose":( ("WORD", "LV", 1), ("DWORD", "UpNeedExp", 0), ("dict", "Attr", 0), ), "PetClassCost":( ("DWORD", "PetID", 1), ("DWORD", "Class", 1), ("DWORD", "UpNeedExp", 0), ("DWORD", "AtkAdd", 0), ), "PetEatEquip":( ("BYTE", "EquipColor", 1), ("BYTE", "EquipClass", 1), ("DWORD", "Exp", 0), ("DWORD", "FamilyStoreItemScore", 0), ), "FaQiLVUp":( ("BYTE", "FaQiLV", 1), ("WORD", "NeedEatCount", 0), ("list", "LVAttrType", 0), ("list", "LVAttrValue", 0), ("list", "UpItemAttrType", 0), ("list", "UpItemAttrValue", 0), ("DWORD", "UpEatItemPerCount", 0), ), "HorseLVUp":( ("BYTE", "HorseLV", 1), ("DWORD", "HorseSkinID", 0), ("WORD", "NeedEatCount", 0), ("list", "LVAttrType", 0), ("list", "LVAttrValue", 0), ("list", "UpItemAttrType", 0), ("list", "UpItemAttrValue", 0), ("DWORD", "UpEatItemPerCount", 0), ), "HorseTrain":( ("BYTE", "TrainType", 1), ("BYTE", "TrainLV", 1), ("WORD", "NeedRealmLV", 0), ("DWORD", "EatCntTotal", 0), ("DWORD", "EatCntEverytime", 0), ("list", "EatItemAttrTypeList", 0), ("list", "EatItemAttrValueList", 0), ("list", "LVAttrTypeList", 0), ("list", "LVAttrValueList", 0), ), "HorseSkinPlus":( ("BYTE", "ID", 1), ("DWORD", "HorseSkinPlusID", 0), ("DWORD", "UnlockItemID", 0), ("BYTE", "UnlockItemCnt", 0), ("list", "AttrType", 0), ("list", "AttrValue", 0), ("DWORD", "InitFightPower", 0), ("DWORD", "HorseID", 0), ("DWORD", "SkinValidTime", 0), ), "Horse":( ("DWORD", "HorseID", 1), ("DWORD", "HorseSkinID", 0), ("BYTE", "Quality", 0), ), "HorseStarUp":( ("DWORD", "HorseID", 1), ("BYTE", "HorseStar", 1), ("list", "StarUpNeedItemList", 0), ("list", "StarAttrType", 0), ("list", "StarAttrValue", 0), ), "Gubao":( ("WORD", "GubaoID", 1), ("BYTE", "GubaoType", 0), ("BYTE", "GubaoQuality", 0), ("DWORD", "UnlockItemID", 0), ("BYTE", "UnlockItemCnt", 0), ), "GubaoResonanceAttr":( ("WORD", "ResonanceID", 1), ("BYTE", "ResonanceStar", 0), ("list", "ResonanceAttrIDList", 0), ("list", "ResonanceAttrValueList", 0), ), "GubaoResonance":( ("WORD", "ResonanceID", 1), ("list", "GubaoIDList", 0), ), "GubaoStar":( ("WORD", "GubaoID", 1), ("BYTE", "GubaoStar", 1), ("list", "StarUPNeedItemInfo", 0), ("list", "StarUPNeedQualityPiece", 0), ("list", "StarAttrIDList", 0), ("list", "StarAttrValueList", 0), ("list", "StarEffIDList", 0), ), "GubaoEffAttr":( ("DWORD", "GubaoEffID", 1), ("BYTE", "GubaoEffType", 0), ("DWORD", "EffCond", 0), ("DWORD", "EffCond2", 0), ("DWORD", "EffCond3", 0), ("BYTE", "IsPer", 0), ("list", "EffFuncAttrIDList", 0), ("DWORD", "EffAttrID", 0), ("DWORD", "EffAttrValue", 0), ("list", "EffItemAwardList", 0), ), "GubaoLV":( ("BYTE", "GubaoType", 1), ("BYTE", "GubaoQuality", 1), ("BYTE", "GubaoLV", 1), ("list", "LVUPNeedItemInfo", 0), ("list", "LVAttrTypeList", 0), ("list", "LVAttrValueList", 0), ), "Shentong":( ("BYTE", "ShentongID", 1), ("WORD", "NeedGubaoID", 0), ), "ShentongLV":( ("BYTE", "ShentongID", 1), ("BYTE", "ShentongClassLV", 1), ("BYTE", "ShentongLV", 1), ("list", "LVLightNeedItem", 0), ("list", "LVAttrTypeList", 0), ("list", "LVAttrValueList", 0), ("DWORD", "LVSkillID", 0), ("DWORD", "FightPowerEx", 0), ), "PlayerLV":( ("WORD", "LV", 1), ("DWORD", "ExpPoint", 0), ("DWORD", "Exp", 0), ("BYTE", "TalentPoint", 0), ("DWORD", "ReExp", 0), ("DWORD", "ReMaxHP", 0), ("DWORD", "ReAtk", 0), ("DWORD", "ReDef", 0), ("DWORD", "ReHit", 0), ("DWORD", "ReMiss", 0), ("DWORD", "ReAtkSpeed", 0), ("DWORD", "ReSkillAtkRate", 0), ("DWORD", "ReDamagePer", 0), ("DWORD", "ReDamReduce", 0), ("DWORD", "ReIgnoreDefRate", 0), ("DWORD", "ReLuckyHitRate", 0), ("DWORD", "ReLuckyHit", 0), ("DWORD", "ReBleedDamage", 0), ("DWORD", "ReIceAtk", 0), ("DWORD", "ReIceDef", 0), ("DWORD", "RePetAtk", 0), ("DWORD", "RePetSkillAtkRate", 0), ("DWORD", "RePetDamPer", 0), ("DWORD", "ReFinalHurt", 0), ("DWORD", "ReFinalHurtReduce", 0), ("DWORD", "RePotionReply", 0), ("DWORD", "RePotionCD", 0), ("DWORD", "AttackEff", 0), ("DWORD", "ReFightPower", 0), ("DWORD", "IceLodeFightPower", 0), ), "SpecMapPlayerAttrFormat":( ("DWORD", "DataMapID", 1), ("char", "AttrName", 0), ("char", "AttrValueFormat", 0), ), "GMAttr":( ("DWORD", "GMAttrID", 1), ("BYTE", "IsValid", 0), ("char", "GMAccID", 0), ("WORD", "GMMaxLV", 0), ("WORD", "AttrLV", 0), ("float", "AttrPer", 0), ("dict", "AttrSpecDict", 0), ("dict", "AttrExDict", 0), ), "NPCEx":( ("DWORD", "NPCID", 1), ("BYTE", "FightPowerLackAtkLimit", 0), ("DWORD", "SuppressFightPower", 0), ), "NPCRealmStrengthen":( ("DWORD", "NPCID", 1), ("BYTE", "RealmDifficulty", 1), ("DWORD", "MapID", 0), ("DWORD", "LV", 0), ("DWORD", "Exp", 0), ("WORD", "MaxDrapLV", 0), ("BYTE", "EquipClassLV", 0), ("DWORD", "DropMoneyMin", 0), ("DWORD", "DropMoneyMax", 0), ("WORD", "LowLV", 0), ("WORD", "HighestLV", 0), ("DWORD", "Defense", 0), ("DWORD", "MDef", 0), ("DWORD", "FireDef", 0), ("DWORD", "SP", 0), ), "NPCStrengthen":( ("DWORD", "NPCID", 1), ("BYTE", "IsStrengthenByPlayerCount", 0), ("BYTE", "LVStrengthenMark", 0), ("BYTE", "LVStrengthenType", 0), ("BYTE", "CmpNPCBaseLV", 0), ("DWORD", "HitTime", 0), ("DWORD", "DefCoefficient", 0), ("DWORD", "AtkCoefficient", 0), ("DWORD", "AdjustCoefficient", 0), ("DWORD", "AtkInterval", 0), ("DWORD", "HitRate", 0), ("DWORD", "MissRate", 0), ("DWORD", "MonterNum", 0), ("DWORD", "IceAtkCoefficient", 0), ("DWORD", "IceDefCoefficient", 0), ("DWORD", "MaxEnduranceTime", 0), ("DWORD", "FightPowerCoefficient", 0), ), "NPCTimeLostHP":( ("DWORD", "NPCID", 1), ("DWORD", "LostHPPerSecond", 0), ("BYTE", "MaxPlayerCount", 0), ("DWORD", "LostHPPerSecondEx", 0), ("BYTE", "FightPowerMinByLV", 0), ("DWORD", "FightPowerMin", 0), ("DWORD", "FightPowerMax", 0), ("DWORD", "EveryFightPower", 0), ("DWORD", "EveryFightPowerLostHPEx", 0), ), "EquipSuitAttr":( ("WORD", "SuiteID", 1), ("BYTE", "SuiteCnt", 0), ("BYTE", "Star", 0), ("dict", "AttrInfo", 0), ("DWORD", "SkillID", 0), ("BYTE", "IsNotify", 0), ("WORD", "ActivateIndex", 0), ), "WingRefineAttr":( ("BYTE", "WingClassLV", 1), ("dict", "AttrInfo", 0), ("dict", "ItemColorInfo", 0), ("DWORD", "MaxRefineExp", 0), ), "WingRefineExp":( ("DWORD", "ItemID", 1), ("DWORD", "RandExpMin", 0), ("DWORD", "RandExpMax", 0), ("dict", "ExpMaterial", 0), ), "FamilyTech":( ("DWORD", "TechID", 1), ("BYTE", "AttrType", 0), ("DWORD", "AttrValue", 0), ("DWORD", "Contribution", 0), ("DWORD", "PowerEx", 0), ), "FightPowerParam":( ("WORD", "LV", 1), ("DWORD", "CftHit", 0), ("DWORD", "CftMiss", 0), ("DWORD", "CftIgnoreDefRate", 0), ("DWORD", "CftDamChanceDef", 0), ("DWORD", "CftFaintRate", 0), ("DWORD", "CftSuperHitRateReduce", 0), ("DWORD", "CftSuperHitRate", 0), ("DWORD", "CftLuckyHitRate", 0), ("DWORD", "CftLuckyHitRateReduce", 0), ("DWORD", "CftSkillAtkRate", 0), ("DWORD", "CftSkillAtkRateReduce", 0), ("DWORD", "CftFinalHurtPer", 0), ("DWORD", "CftFinalHurtReducePer", 0), ("DWORD", "CftDamagePerPVP", 0), ("DWORD", "CftDamagePerPVPReduce", 0), ("DWORD", "CftNPCHurtAddPer", 0), ("DWORD", "CftNormalHurtPer", 0), ("DWORD", "CftFabaoHurtPer", 0), ("DWORD", "CftDamBackPer", 0), ("DWORD", "CftIgnoreDefRateReduce", 0), ("DWORD", "CftFaintDefRate", 0), ("DWORD", "CftAtkSpeed", 0), ("DWORD", "CftJobAHurtAddPer", 0), ("DWORD", "CftJobBHurtAddPer", 0), ("DWORD", "CftJobCHurtAddPer", 0), ("DWORD", "CftJobAAtkReducePer", 0), ("DWORD", "CftJobBAtkReducePer", 0), ("DWORD", "CftJobCAtkReducePer", 0), ("DWORD", "CftAffairSpeedPer", 0), ("DWORD", "CftFamilyBossHurtPer", 0), ("DWORD", "CftFamilyWarHPPer", 0), ("DWORD", "CftFamilyWarAtkPer", 0), ("DWORD", "CftFamilySitExpPer", 0), ("DWORD", "CftBossFinalHurtPer", 0), ), "NPCDropItem":( ("DWORD", "NPCID", 1), ("WORD", "MaxWorldLV", 0), ("WORD", "MaxDropLV", 0), ("BYTE", "CanDropRatePlus", 0), ("BYTE", "IsDropJobSelf", 0), ("list", "PieRateDrop", 0), ("BYTE", "PieRateDoCnt", 0), ("dict", "IndepRateDrop", 0), ("BYTE", "IndepRateDoCnt", 0), ("dict", "EquipColorMaxDropCount", 0), ("list", "TianxuanEquipRateList", 0), ("dict", "EquipColorSuitInfo", 0), ("dict", "EquipPartKeyRateInfo", 0), ("BYTE", "ColorSuitPartOptimization", 0), ("dict", "KillCountDropEquipPub", 0), ("dict", "ItemIDDropRate", 0), ("dict", "TianxuanItemIDRate", 0), ("dict", "ItemIDMaxDropCount", 0), ("dict", "ItemKeyDropRate", 0), ("dict", "ItemKeyDropRateJob", 0), ("dict", "TianxuanItemKeyRate", 0), ("dict", "ItemKeyMaxDropCount", 0), ("BYTE", "DropMoneyDoCnt", 0), ("WORD", "DropMoneyRate", 0), ("WORD", "DropMoneyMin", 0), ("WORD", "DropMoneyMax", 0), ("dict", "KillCountDropPub", 0), ("list", "KillCountDropPri", 0), ("list", "PriItemIDDrop", 0), ("BYTE", "AucionItemCanSell", 0), ), "RuneTower":( ("DWORD", "ID", 1), ("DWORD", "RunePoint", 0), ("DWORD", "Ysog", 0), ("DWORD", "NPCID", 0), ("BYTE", "IsNotify", 0), ("list", "FixEndAward", 0), ("dict", "GoodDrop", 0), ("DWORD", "SweepRunePoint", 0), ("DWORD", "SweepYsog", 0), ("dict", "SweepGoodDrop", 0), ), "ChinMap":( ("DWORD", "MapID", 1), ("BYTE", "CanRide", 0), ("BYTE", "CanOutPet", 0), ), "FBFunc":( ("DWORD", "DataMapID", 1), ("BYTE", "DayTimes", 0), ("BYTE", "DayResetType", 0), ("BYTE", "WeekTimes", 0), ("BYTE", "WeekResetType", 0), ("list", "RewardRate", 0), ("DWORD", "BuyTimesVIPPriID", 0), ("DWORD", "ExtraTimesVIPPriID", 0), ("DWORD", "ExtraTimesMWPriID", 0), ("BYTE", "GuardPick", 0), ("WORD", "OfflineTime", 0), ("WORD", "FBPoint", 0), ("WORD", "HelpPoint", 0), ("BYTE", "DayHelpCountMax", 0), ), "FBLine":( ("DWORD", "DataMapID", 1), ("BYTE", "LineID", 1), ("DWORD", "MapID", 0), ("WORD", "LVLimitMin", 0), ("WORD", "LVLimitMax", 0), ("DWORD", "TicketID", 0), ("list", "TicketCostCnt", 0), ("WORD", "TicketPrice", 0), ("WORD", "SweepLVLimit", 0), ("DWORD", "SweepItemID", 0), ("BYTE", "SweepCostCnt", 0), ("eval", "EnterPosInfo", 0), ("eval", "StepTime", 0), ("eval", "RefreshNPC", 0), ("eval", "GradeInfo", 0), ("eval", "RewardInfo", 0), ), "FBGeneralTrain":( ("DWORD", "DataMapID", 1), ("BYTE", "LineID", 1), ("WORD", "LVLimit", 0), ("WORD", "RealmLimit", 0), ("DWORD", "BossNPCID", 0), ("list", "OtherNPCIDList", 0), ("list", "PassAwardItemList", 0), ), "FBHelpBattle":( ("DWORD", "DataMapID", 1), ("BYTE", "LineID", 1), ("DWORD", "FightPowerMin", 0), ("DWORD", "RobotFightPower", 0), ("WORD", "RobotLV", 0), ("DWORD", "RobotBaseHurt", 0), ("WORD", "RobotHPCoefficient", 0), ("dict", "RobotSkillsDict", 0), ), "NPCCustomRefresh":( ("DWORD", "ID", 1), ("list", "RefreshMarkInfo", 0), ("DWORD", "RefreshNPCID", 0), ("list", "RandNPCIDList", 0), ("list", "NPCIDCountList", 0), ("WORD", "MaxCount", 0), ("WORD", "TotalMaxCount", 0), ("BYTE", "IsLineOneOnly", 0), ("DWORD", "RefreshTick", 0), ("BYTE", "IsRepeat", 0), ), "DailyAction":( ("DWORD", "DailyID", 1), ("dict", "OpenTimeDict", 0), ("DWORD", "Duration", 0), ("DWORD", "DayTimes", 0), ("DWORD", "DayBuyTimes", 0), ("BYTE", "BuyTimesPrivilegeID", 0), ("BYTE", "MoneyType", 0), ("list", "BuyNeedMoney", 0), ("DWORD", "DayItemAddTimes", 0), ("DWORD", "DayItemID", 0), ("BYTE", "DayResetType", 0), ("DWORD", "WeekTimes", 0), ("BYTE", "WeekResetType", 0), ), "EquipGSParam":( ("BYTE", "ClassLV", 1), ("BYTE", "EquipColor", 1), ("BYTE", "IsSuit", 1), ("BYTE", "ItemQuality", 1), ("DWORD", "BaseEquipMaxHPAddPerC", 0), ("DWORD", "BaseEquipAtkAddPerC", 0), ("DWORD", "SuperHitC", 0), ("DWORD", "SuperHitPerC", 0), ("DWORD", "LuckyHitRateC", 0), ("DWORD", "LuckyHitRateReduceC", 0), ("DWORD", "LuckPerC", 0), ("DWORD", "PerLVAtkC", 0), ("DWORD", "PerLVMaxHPC", 0), ("DWORD", "DropMoneyPerC", 0), ("DWORD", "SuperHitReduceC", 0), ("DWORD", "SuperHitRateReduceC", 0), ("DWORD", "HitC", 0), ("DWORD", "MissC", 0), ("DWORD", "PetDamPerC", 0), ("DWORD", "MaxHPPerC", 0), ("DWORD", "AtkPerC", 0), ("DWORD", "SkillAtkRateC", 0), ("DWORD", "SkillAtkRateReduceC", 0), ("DWORD", "SkillAddPer1C", 0), ("DWORD", "SkillAddPer2C", 0), ("DWORD", "SkillAddPer3C", 0), ("DWORD", "SkillAddPer4C", 0), ("DWORD", "SkillAddPer5C", 0), ("DWORD", "SkillAddPer6C", 0), ("DWORD", "SkillAddPer7C", 0), ("DWORD", "SkillReducePer1C", 0), ("DWORD", "SkillReducePer2C", 0), ("DWORD", "SkillReducePer3C", 0), ("DWORD", "SkillReducePer4C", 0), ("DWORD", "SkillReducePer5C", 0), ("DWORD", "SkillReducePer6C", 0), ("DWORD", "SkillReducePer7C", 0), ("DWORD", "ReduceSkillCDPerC", 0), ("DWORD", "LuckyHitPerC", 0), ("DWORD", "FaintDefRateC", 0), ("DWORD", "SuperHitRateC", 0), ("DWORD", "IgnoreDefRateC", 0), ("DWORD", "IgnoreDefRateReduceC", 0), ("DWORD", "ProDefPerC", 0), ("DWORD", "FinalHurtPerC", 0), ("DWORD", "FinalHurtReducePerC", 0), ), "Success":( ("DWORD", "ID", 1), ("WORD", "Type", 0), ("DWORD", "NeedCnt", 0), ("list", "Condition", 0), ("list", "PreSuccess", 0), ("dict", "AwardItem", 0), ("dict", "AwardItem2", 0), ("dict", "Money", 0), ("DWORD", "Exp", 0), ("dict", "AwardAttr", 0), ("DWORD", "RedPacketID", 0), ("DWORD", "MagicWeaponID", 0), ("DWORD", "MagicWeaponExp", 0), ), "TongTianLV":( ("WORD", "TTLV", 1), ("WORD", "LVUPPoint", 0), ("list", "CommAwardItemList", 0), ("list", "XianAwardItemList", 0), ("list", "NotifyItemIDList", 0), ), "TongTianTask":( ("WORD", "TTTaskID", 1), ("BYTE", "TTTaskType", 0), ("BYTE", "IsDailyTask", 0), ("DWORD", "FinishNeedValue", 0), ("DWORD", "TaskPoint", 0), ), "Treasure":( ("DWORD", "ID", 1), ("BYTE", "TreasureType", 0), ("DWORD", "PreTreasure", 0), ("DWORD", "FBMapID", 0), ("DWORD", "FBLineID", 0), ("DWORD", "NeedLV", 0), ("dict", "NeedItem", 0), ), "TreasureUp":( ("DWORD", "MWID", 1), ("BYTE", "LV", 1), ("DWORD", "NeedExp", 0), ("dict", "AddAttr", 0), ("list", "UnLockSkill", 0), ("DWORD", "PowerEx", 0), ), "ContineSignAward":( ("BYTE", "ContineDay", 1), ("list", "ItemID", 0), ("BYTE", "IsBind", 0), ("list", "ItemNum", 0), ("list", "JobItemList", 0), ), "SignAward":( ("BYTE", "RewardID", 1), ("list", "ItemID", 0), ("BYTE", "IsBind", 0), ("BYTE", "VipLv", 0), ("list", "OrdinaryNum", 0), ("BYTE", "VipMultiple", 0), ), "VIPAward":( ("BYTE", "VIPLV", 1), ("dict", "ItemID", 0), ("WORD", "Price", 0), ("WORD", "OldPrice", 0), ), "AppointItem":( ("DWORD", "ID", 1), ("BYTE", "CancelUseLimit", 0), ("list", "LegendAttrID", 0), ("list", "LegendAttrValue", 0), ), "AuctionItem":( ("DWORD", "AuctionItemID", 1), ), "VipPrivilege":( ("DWORD", "VIPPriID", 1), ("DWORD", "VIP0", 0), ("DWORD", "VIP1", 0), ("DWORD", "VIP2", 0), ("DWORD", "VIP3", 0), ("DWORD", "VIP4", 0), ("DWORD", "VIP5", 0), ("DWORD", "VIP6", 0), ("DWORD", "VIP7", 0), ("DWORD", "VIP8", 0), ("DWORD", "VIP9", 0), ("DWORD", "VIP10", 0), ("DWORD", "VIP11", 0), ("DWORD", "VIP12", 0), ("DWORD", "VIP13", 0), ("DWORD", "VIP14", 0), ("DWORD", "VIP15", 0), ), "Store":( ("DWORD", "ID", 1), ("DWORD", "ShopType", 0), ("BYTE", "OperationActionShop", 0), ("DWORD", "ItemID", 0), ("WORD", "ItemCnt", 0), ("BYTE", "IsBind", 0), ("list", "ItemListEx", 0), ("DWORD", "MainItemID", 0), ("list", "JobItem", 0), ("BYTE", "RefreshLimit", 0), ("BYTE", "RefreshType", 0), ("list", "LimitVIPLV", 0), ("DWORD", "LimitLV", 0), ("list", "LimitCnt", 0), ("DWORD", "ServerLimitCnt", 0), ("BYTE", "MoneyType", 0), ("DWORD", "MoneyNum", 0), ("DWORD", "MoneyOriginal", 0), ("DWORD", "LimitValue", 0), ("char", "NotifyMark", 0), ("char", "MailKey", 0), ), "ActSpringSale":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("list", "StartTimeList", 0), ("list", "EndTimeList", 0), ("WORD", "AdvanceMinutes", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("dict", "ShopTypeList", 0), ("char", "MailKey", 0), ("list", "MailItemPrize", 0), ), "DailyQuest":( ("DWORD", "ID", 1), ("BYTE", "RelatedType", 0), ("DWORD", "RelatedID", 0), ("WORD", "UnLockFuncID", 0), ("BYTE", "OnceActivityTime", 0), ("BYTE", "OnceActivity", 0), ("WORD", "TotalActiveValue", 0), ), "DailyLivenessReward":( ("BYTE", "ID", 1), ("WORD", "Liveness", 0), ("list", "StageLV", 0), ("list", "ItemID", 0), ("list", "ItemCount", 0), ("list", "ItemBind", 0), ), "ActivityPlaceReward":( ("BYTE", "ID", 1), ("BYTE", "PlaceCount", 0), ("WORD", "PlaceMaxLV", 0), ("list", "FixedItemRewardList", 0), ("BYTE", "RandItemCountA", 0), ("list", "RandItemRewardListA", 0), ("BYTE", "RandItemCountB", 0), ("list", "RandItemRewardListB", 0), ), "RefineStove":( ("BYTE", "StoveLV", 1), ("DWORD", "UpNeedExp", 0), ), "Alchemy":( ("DWORD", "ID", 1), ("DWORD", "AlchemItemID", 0), ("BYTE", "AlchemType", 0), ("BYTE", "AlchemyQuality", 0), ("DWORD", "LearnNeedItemID", 0), ("BYTE", "LearnNeedAlchemLV", 0), ("WORD", "LearnNeedLingGenPoint", 0), ("WORD", "NeedTime", 0), ("WORD", "AlchemyExp", 0), ("dict", "Material", 0), ), "AlchemyResult":( ("BYTE", "AlchemyQuality", 1), ("DWORD", "LuckValue", 0), ("list", "CntRateList", 0), ), "BOSSInfo":( ("DWORD", "NPCID", 1), ("DWORD", "MapID", 0), ("BYTE", "RefreshLine", 0), ("BYTE", "RefreshMark", 0), ("BYTE", "IsNeedShunt", 0), ("BYTE", "RelatedType", 0), ("char", "RelatedID", 0), ("DWORD", "StoneNPCID", 0), ("BYTE", "CanAssist", 0), ("BYTE", "SkillResist", 0), ), "BOSSFirstKill":( ("DWORD", "NPCID", 1), ("WORD", "PerPlayerMoneyAward", 0), ("list", "PersonFirstKillAward", 0), ), "ElderGodArea":( ("DWORD", "NPCID", 1), ("BYTE", "MonsterAnger", 0), ), "PersonalBoss":( ("DWORD", "NPCID", 0), ("DWORD", "FuncLineID", 1), ), "FamilyActivity":( ("DWORD", "ID", 1), ("WORD", "UnLockFuncID", 0), ("BYTE", "TotalActivityTime", 0), ("WORD", "SingleTimes", 0), ("WORD", "SingleActiveValue", 0), ), "FamilyRedPack":( ("WORD", "ID", 1), ("WORD", "GetType", 0), ("WORD", "MoneyNum", 0), ("BYTE", "MoneyType", 0), ("BYTE", "PacketCnt", 0), ), "ActFeastRedPacketSucc":( ("BYTE", "FeastDay", 1), ("list", "FeastSuccIDList", 0), ), "NPCShow":( ("DWORD", "NPCID", 1), ("DWORD", "MapID", 1), ("BYTE", "LineID", 0), ("DWORD", "ProtectTime", 0), ("DWORD", "BindMissionID", 0), ("BYTE", "ShowType", 0), ), "SealDemon":( ("DWORD", "NPCID", 1), ("BYTE", "LineID", 0), ("list", "OwnerAwardItemEx", 0), ), "FbEncourage":( ("DWORD", "DataMapID", 1), ("BYTE", "InspireType", 1), ("WORD", "InspireMaxLV", 0), ("char", "MoneyCount", 0), ), "MapRefreshNPC":( ("DWORD", "MapID", 1), ("BYTE", "RefreshNum", 0), ("list", "NPCIDList", 0), ("list", "RefreshMarkList", 0), ("BYTE", "PointMaxCount", 0), ("BYTE", "TotalMaxCount", 0), ("BYTE", "RefreshSeconds", 0), ("BYTE", "RefreshPerMinutes", 0), ), "RuneCompound":( ("DWORD", "TagItemID", 1), ("list", "NeedItem", 0), ("WORD", "NeedMJ", 0), ), "ResourcesBack":( ("BYTE", "ID", 1), ("DWORD", "RelatedID", 0), ("BYTE", "CanBackTimes", 0), ("BYTE", "NormalCostJade", 0), ("WORD", "VipCostJade", 0), ("dict", "JadeReward", 0), ("DWORD", "CostCopper", 0), ("dict", "CopperReward", 0), ("list", "JobItemList", 0), ), "CollectNPC":( ("DWORD", "NPCID", 1), ("BYTE", "IsMissionCollectNPC", 0), ("BYTE", "PrepareTime", 0), ("list", "LostHPPer", 0), ("BYTE", "MaxCollectCount", 0), ("BYTE", "CollectResetType", 0), ("char", "CollectCountLimitNotify", 0), ("list", "CollectAward", 0), ("dict", "CollectAppointAward", 0), ("BYTE", "AlchemyDiffLV", 0), ("BYTE", "NotifyCollectResult", 0), ("BYTE", "CanBreakCollect", 0), ), "TreasureNPC":( ("DWORD", "NPCID", 1), ("dict", "AttackCountDropWeightInfo", 0), ("list", "AttackDropWeightList", 0), ("list", "AttackDropWeightListEx", 0), ("BYTE", "DropCountEx", 0), ("BYTE", "AlchemyDiffLV", 0), ("char", "NotDropNotify", 0), ), "Chests":( ("DWORD", "ChestsItemID", 1), ("DWORD", "CostItemID", 0), ("BYTE", "CostItemCount", 0), ("WORD", "CostGold", 0), ("BYTE", "ShowType", 0), ("BYTE", "IsBind", 0), ("BYTE", "AucionItemCanSell", 0), ("list", "AucionItemDiffSellIDList", 0), ), "ChestsAward":( ("DWORD", "ChestsItemID", 1), ("WORD", "RealmLV", 0), ("WORD", "AwardLV", 0), ("dict", "SelectItemDict", 0), ("dict", "FixedItemDict", 0), ("list", "RandItemList1", 0), ("list", "RandTimeList1", 0), ("list", "RandItemList2", 0), ("list", "RandTimeList2", 0), ("dict", "RandItemByUseCount", 0), ("list", "JobItemList", 0), ("BYTE", "MoneyType", 0), ("DWORD", "MoneyCount", 0), ("list", "NeedNotifyItemList", 0), ("BYTE", "IsDropJobSelf", 0), ("list", "PieRateDrop", 0), ("BYTE", "PieRateDoCnt", 0), ("dict", "IndepRateDrop", 0), ("dict", "EquipColorSuitInfo", 0), ("dict", "EquipPartKeyRateInfo", 0), ), "VIPKillNPC":( ("WORD", "KillLV", 1), ("DWORD", "LVExpPoint", 0), ("DWORD", "LVExp", 0), ("DWORD", "AddMinAtk", 0), ("DWORD", "AddMaxAtk", 0), ), "OSCBillRankAward":( ("BYTE", "OSCBillType", 1), ("BYTE", "RankA", 0), ("BYTE", "RankB", 0), ("dict", "RankAward", 0), ), "OSCBillTagAward":( ("BYTE", "OSCBillType", 1), ("WORD", "TagCondition", 0), ("dict", "TagAward", 0), ), "LoginDayAward":( ("BYTE", "DayID", 1), ("dict", "Reward", 0), ), "OnlineAwardNew":( ("BYTE", "DayID", 1), ("list", "StageTime", 0), ("dict", "Reward", 0), ), "SpringSale":( ("BYTE", "GiftID", 1), ("BYTE", "SellDay", 0), ("BYTE", "BuyNumLimit", 0), ("WORD", "GiftPrice", 0), ("list", "GiftItemList", 0), ), "OrderInfo":( ("char", "OrderInfo", 1), ("char", "AppID", 1), ("float", "PayRMBNum", 0), ("DWORD", "CTGID", 0), ("DWORD", "GiftbagID", 0), ("DWORD", "CoinExp", 0), ("float", "UsdMoney", 0), ), "CTG":( ("BYTE", "RecordID", 1), ("BYTE", "CanResetBuyCount", 0), ("BYTE", "TotalBuyCount", 0), ("BYTE", "DailyBuyCount", 0), ("BYTE", "WeekBuyCount", 0), ("BYTE", "MonthBuyCount", 0), ("BYTE", "MoneyType", 0), ("WORD", "GainGold", 0), ("WORD", "GainGoldPrize", 0), ("WORD", "FirstGoldPrize", 0), ("list", "GainItemList", 0), ("dict", "ActWorldLVGainItemInfo", 0), ("list", "SelectItemInfo", 0), ("char", "NotifyMark", 0), ("BYTE", "PayType", 0), ), "CTGSelectItem":( ("WORD", "SelectID", 1), ("DWORD", "ItemID", 0), ("DWORD", "ItemCount", 0), ("BYTE", "IsAuctionItem", 0), ), "FirstGold":( ("BYTE", "Day", 1), ("dict", "JobItemInfo", 0), ("list", "CommItemList", 0), ), "LVAward":( ("BYTE", "AwardID", 1), ("WORD", "LV", 0), ("WORD", "LimitCnt", 0), ("dict", "Reward", 0), ("BYTE", "VIPLimit", 0), ("list", "VIPAward", 0), ), "Invest":( ("WORD", "ID", 1), ("BYTE", "Type", 0), ("BYTE", "NeedDay", 0), ("WORD", "NeedLV", 0), ("DWORD", "NeedNPCID", 0), ("dict", "Reward", 0), ), "XBXZ":( ("DWORD", "ID", 1), ("BYTE", "Type", 0), ("DWORD", "NeedCnt", 0), ("list", "Condition", 0), ("WORD", "MWID", 0), ("list", "AwardItem", 0), ("list", "Money", 0), ), "TreasureSet":( ("BYTE", "TreasureType", 1), ("BYTE", "PackType", 0), ("BYTE", "CheckPack", 0), ("BYTE", "IsActType", 0), ("BYTE", "DailyFreeCount", 0), ("list", "TreasureCountList", 0), ("char", "RecycleItemMail", 0), ("DWORD", "CostItemID", 0), ("list", "CostItemCountList", 0), ("BYTE", "CostMoneyType", 0), ("list", "CostMoneyList", 0), ("WORD", "EnsureCount", 0), ("BYTE", "OnceLucky", 0), ("WORD", "FullLucky", 0), ("char", "LuckyRateFormat", 0), ("BYTE", "LuckyGridNum", 0), ("dict", "GridNumMaxLimitInfo", 0), ("list", "NotifyGridNumList", 0), ("BYTE", "AwardMoneyType", 0), ("WORD", "AwardMoneyValue", 0), ), "TreasureHouse":( ("BYTE", "TreasureType", 1), ("WORD", "MinLV", 0), ("dict", "GridItemInfo", 0), ("dict", "GridLibInfo", 0), ("list", "JobItemList", 0), ("list", "GridItemRateListFree", 0), ("list", "GridItemRateList1", 0), ("list", "GridItemRateList2", 0), ("dict", "GridItemRateList3", 0), ("list", "LuckyItemRateList", 0), ), "TreasureItemLib":( ("WORD", "LibID", 1), ("DWORD", "ItemID", 0), ("DWORD", "ItemCount", 0), ("DWORD", "ItemWeight", 0), ), "TreasureCntAward":( ("BYTE", "TreasureType", 1), ("DWORD", "NeedTreasureCnt", 1), ("BYTE", "AwardIndex", 0), ("list", "AwardItemList", 0), ), "FreeGoods":( ("BYTE", "ID", 1), ("dict", "AwardItem", 0), ("WORD", "NeedMoney", 0), ("DWORD", "ReturnDays", 0), ), "ActFlashGiftbag":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("list", "StartTimeList", 0), ("list", "EndTimeList", 0), ("WORD", "AdvanceMinutes", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "IsJueban", 0), ("dict", "GiftbagTypeList", 0), ("char", "MailKey", 0), ("list", "MailItemPrize", 0), ), "FlashGiftbag":( ("DWORD", "GiftbagID", 1), ("WORD", "GiftbagType", 0), ("float", "OriginalRMB", 0), ("WORD", "BuyCountLimit", 0), ("list", "GiftItemList", 0), ("DWORD", "MainItemID", 0), ("char", "NotifyKey", 0), ), "ActDailyGiftbag":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("WORD", "GiftbagType", 0), ), "DailyGiftbag":( ("WORD", "GiftbagType", 1), ("DWORD", "GiftbagID", 1), ("WORD", "BuyCountLimit", 0), ("eval", "GiftItemList", 0), ("WORD", "Discount", 0), ), "ActExpRate":( ("DWORD", "CfgID", 1), ("WORD", "LVLimit", 0), ("DWORD", "AddExpRate", 0), ), "ActCostRebate":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("list", "TemplateIDList", 0), ), "CostRebateTemplate":( ("DWORD", "TemplateID", 1), ("DWORD", "NeedCostGold", 0), ("BYTE", "AwardIndex", 0), ("dict", "AwardItemList", 0), ("char", "NotifyKey", 0), ), "ActBuyOne":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("list", "TemplateIDList", 0), ), "ActBuyOneTemplate":( ("DWORD", "TemplateID", 1), ("DWORD", "NeedCTGID", 0), ("BYTE", "RecordIndex", 0), ("dict", "FreeItemInfo", 0), ), "ActFamilyCTGAssist":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("list", "TemplateIDList", 0), ), "ActFamilyCTGAssistTemp":( ("DWORD", "TemplateID", 1), ("BYTE", "NeedCTGPlayers", 0), ("BYTE", "RecordIndex", 0), ("list", "AwardItemList", 0), ), "ActCollectWords":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "LastDayOnlyExchange", 0), ("WORD", "TemplateID", 0), ("WORD", "DropDiffLVLimit", 0), ("list", "GuajiAwardSet", 0), ("list", "DropItemRateList", 0), ("dict", "DropItemRateListBoss", 0), ), "CollectWordsExchange":( ("DWORD", "TemplateID", 1), ("BYTE", "ExchangeNum", 0), ("eval", "ExchangeItemInfo", 0), ("BYTE", "ExchangeCountMax", 0), ("list", "NeedItemList", 0), ("BYTE", "NeedNotify", 0), ), "ActGarbageSorting":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("BYTE", "ResetType", 0), ("WORD", "LVLimit", 0), ("BYTE", "CTGTypeEffValue", 0), ), "ActGarbageTask":( ("DWORD", "GarbageTasklD", 1), ("DWORD", "FinishNeedValue", 0), ("DWORD", "FinishTimeMax", 0), ("BYTE", "AutoProduce", 0), ("list", "ProduceGarbageRateList", 0), ), "ActBossTrial":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("char", "JoinStartTime", 0), ("char", "JoinEndTime", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "ResetType", 0), ("dict", "SubmitItemAwardInfo", 0), ("BYTE", "SubmitAwardResetType", 0), ("WORD", "ActShopType", 0), ("list", "TemplateIDList", 0), ("list", "FamilyTemplateIDList", 0), ), "ActBossTrialTemplate":( ("DWORD", "TemplateID", 1), ("BYTE", "Rank", 0), ("list", "AwardItemList", 0), ("list", "MemAwardItemList", 0), ("DWORD", "NeedScore", 0), ("dict", "ScoreAwardEx", 0), ), "ActHorsePetTrain":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("char", "JoinStartTime", 0), ("char", "JoinEndTime", 0), ("WORD", "LVLimit", 0), ("WORD", "ActShopType", 0), ("WORD", "PersonalTemplateID", 0), ("BYTE", "IsRelationCrossAct", 0), ), "ActHorsePetTrainBillTemp":( ("DWORD", "TemplateID", 1), ("BYTE", "Rank", 0), ("list", "AwardItemList", 0), ("DWORD", "NeedScore", 0), ("dict", "ScoreAwardEx", 0), ), "ActGubao":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("char", "JoinStartTime", 0), ("char", "JoinEndTime", 0), ("WORD", "LVLimit", 0), ("WORD", "ActShopType", 0), ("WORD", "PersonalTemplateID", 0), ("BYTE", "IsRelationCrossAct", 0), ), "ActGubaoBillTemp":( ("DWORD", "TemplateID", 1), ("BYTE", "Rank", 0), ("list", "AwardItemList", 0), ("DWORD", "NeedScore", 0), ("dict", "ScoreAwardEx", 0), ), "ActXianXiaMJ":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("char", "JoinStartTime", 0), ("char", "JoinEndTime", 0), ("BYTE", "IsDayReset", 0), ("WORD", "LVLimit", 0), ("DWORD", "UseItemID", 0), ("list", "UseMoneyInfo", 0), ("BYTE", "TemplateID", 0), ("WORD", "PersonalTemplateID", 0), ("WORD", "LotteryAddScore", 0), ("WORD", "LayerAddScore", 0), ("BYTE", "IsRelationCrossAct", 0), ), "ActXianXiaMJBillTemp":( ("DWORD", "TemplateID", 1), ("BYTE", "Rank", 0), ("list", "AwardItemList", 0), ("DWORD", "NeedScore", 0), ("dict", "ScoreAwardEx", 0), ), "ActXianXiaMJAward":( ("DWORD", "TemplateID", 1), ("BYTE", "AwardLibType", 0), ("list", "AwardItemCountList", 0), ("list", "UnlockAwardLimitTimesList", 0), ("list", "AwardLibWeightList", 0), ("dict", "LibItemInfo", 0), ("dict", "ItemLayerLimitInfo", 0), ("dict", "ItemAwardTimesTotalInfo", 0), ), "ActGodGift":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("BYTE", "IsDayReset", 0), ("WORD", "LVLimit", 0), ("BYTE", "UseMoneyType", 0), ("list", "UseGoldList", 0), ("BYTE", "PrizeMoneyType", 0), ("list", "PrizeMoneyList", 0), ("BYTE", "ResetLimitTimes", 0), ("BYTE", "ResetCountMax", 0), ("dict", "TemplateIDInfo", 0), ), "ActGodGiftAward":( ("DWORD", "TemplateID", 1), ("BYTE", "AwardLibType", 0), ("BYTE", "UnlockAwardLimitTimes", 0), ("BYTE", "ChooseItemCount", 0), ("dict", "LibItemInfo", 0), ("list", "NotifyItemNumList", 0), ), "ActHorsePetFeast":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("list", "StartTimeList", 0), ("list", "EndTimeList", 0), ("WORD", "LVLimit", 0), ), "ActBossReborn":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("BYTE", "ResetType", 0), ("WORD", "LVLimit", 0), ("BYTE", "TemplateID", 0), ), "BossReborn":( ("BYTE", "TemplateID", 1), ("BYTE", "ID", 1), ("DWORD", "TotalTimes", 0), ("WORD", "SingleTimes", 0), ("dict", "Reward", 0), ), "ActRealmPoint":( ("DWORD", "CfgID", 1), ("WORD", "Multiple", 0), ("WORD", "LVLimit", 0), ("DWORD", "PointLimit", 0), ), "TrialExchange":( ("DWORD", "ID", 1), ("list", "ExchangeItemIDList", 0), ("DWORD", "ExchangeItemCount", 0), ("DWORD", "ExchangeItemIsBind", 0), ("DWORD", "CostItemID", 0), ("DWORD", "CostItemCount", 0), ), "AllPeopleParty":( ("BYTE", "ID", 1), ("WORD", "TotalTimes", 0), ("WORD", "AddPoint", 0), ), "AllPeoplePartyAward":( ("BYTE", "WorldLvNum", 1), ("DWORD", "Index", 1), ("DWORD", "NeedPoint", 0), ("dict", "Award", 0), ), "MapEventPoint":( ("DWORD", "MapID", 1), ("DWORD", "NPCID", 1), ("WORD", "LowLV", 0), ("WORD", "HighestLV", 0), ("DWORD", "Defense", 0), ), "TalentSkill":( ("DWORD", "SkillID", 1), ("BYTE", "TalentType", 0), ("BYTE", "Series", 0), ), "ActFlashSale":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("list", "StartTimeList", 0), ("list", "EndTimeList", 0), ("WORD", "AdvanceMinutes", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("dict", "ShopTypeList", 0), ("char", "MailKey", 0), ("list", "MailItemPrize", 0), ), "ActWishingWell":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "ResetType", 0), ("WORD", "LVLimit", 0), ("BYTE", "TemplateID", 0), ), "WishingWell":( ("BYTE", "TemplateID", 1), ("BYTE", "IsFree", 0), ("list", "WorldLVLimit", 0), ("DWORD", "ItemID", 0), ("WORD", "ItemCnt", 0), ("BYTE", "IsBind", 0), ("DWORD", "Weight", 0), ("DWORD", "Mark", 0), ("BYTE", "Rare", 0), ), "FunctionForecast":( ("DWORD", "FuncID", 1), ("dict", "Award", 0), ), "ChatBubbleBox":( ("BYTE", "BoxID", 1), ("WORD", "NeedLV", 0), ("BYTE", "NeedVIPLVGift", 0), ("BYTE", "UnlockDefault", 0), ("DWORD", "ExpireMinutes", 0), ("list", "LightAttrType", 0), ("list", "LightAttrValue", 0), ("DWORD", "LightFightPower", 0), ), "ChatBubbleBoxStar":( ("BYTE", "BoxID", 1), ("BYTE", "BoxStar", 1), ("list", "StarUpNeedItemList", 0), ("list", "StarAttrType", 0), ("list", "StarAttrValue", 0), ), "EmojiPack":( ("DWORD", "EmojiPackID", 1), ("BYTE", "UnlockDefault", 0), ("DWORD", "ExpireMinutes", 0), ), "ActRechargePrize":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("list", "TemplateIDList", 0), ), "RechargePrizeTemplate":( ("DWORD", "TemplateID", 1), ("WORD", "CTGID", 0), ("DWORD", "GoldPrize", 0), ("BYTE", "PrizeCountLimit", 0), ), "ActTotalRecharge":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "CTGTypeEffValue", 0), ("BYTE", "IsOfflineAct", 0), ("list", "TemplateIDList", 0), ), "TotalRechargeTemplate":( ("DWORD", "TemplateID", 1), ("float", "NeedGold", 0), ("BYTE", "AwardIndex", 0), ("dict", "AwardItem", 0), ("char", "NotifyKey", 0), ), "ActRechargeRebateGold":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("list", "TemplateIDList", 0), ), "RechargeRebateGoldTemplate":( ("DWORD", "TemplateID", 1), ("DWORD", "RMBMin", 0), ("DWORD", "RMBMax", 0), ("WORD", "RebateRate", 0), ), "ActGrowupBuy":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("list", "CTGIDGroupList", 0), ), "ActManyDayRecharge":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("WORD", "TemplateID", 0), ), "ActManyDayRechargeAward":( ("DWORD", "TemplateID", 1), ("float", "NeedRMB", 0), ("BYTE", "NeedDays", 0), ("BYTE", "AwardIndex", 0), ("dict", "AwardItemInfo", 0), ("char", "NotifyKey", 0), ), "ActTurntable":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "CTGTypeEffValue", 0), ("list", "CTGPrizeList", 0), ("BYTE", "UseMoneyType", 0), ("list", "UseMoneyPrizeList", 0), ("list", "LibChooseCountList", 0), ("list", "SuperItemLimitRule", 0), ("dict", "CommItemLib", 0), ("dict", "GoodItemLib", 0), ("dict", "SuperItemLib", 0), ("char", "WorldNotifyKey", 0), ), "ActSingleRecharge":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "CTGTypeEffValue", 0), ("BYTE", "IsOfflineAct", 0), ("BYTE", "AwardRuleType", 0), ("list", "TemplateIDList", 0), ), "ActSingleRechargeAward":( ("DWORD", "TemplateID", 1), ("float", "SingleRechargeValue", 0), ("BYTE", "AwardIndex", 0), ("WORD", "AwardCountMax", 0), ("dict", "AwardItem", 0), ("char", "NotifyKey", 0), ), "MagicWeaponFB":( ("DWORD", "MWID", 1), ("BYTE", "LineID", 0), ("BYTE", "Level", 1), ("list", "RefreshNPC", 0), ("dict", "AttrDict", 0), ), "IceLodeStarAward":( ("BYTE", "Index", 1), ("BYTE", "Star", 0), ("list", "LVLimit", 0), ("list", "ItemList", 0), ), "CrossRealmPKDan":( ("BYTE", "DanLV", 1), ("WORD", "LVUpScore", 0), ), "CrossRealmPKDanAward":( ("char", "CrossZoneName", 1), ("BYTE", "SeasonID", 1), ("BYTE", "DanLV", 1), ("list", "DanLVAwardList", 0), ("list", "SeasonDanLVAwardList", 0), ), "CrossRealmPKOrderAward":( ("char", "CrossZoneName", 1), ("BYTE", "SeasonID", 1), ("dict", "OrderAwardInfo", 0), ), "CrossZoneComm":( ("char", "CrossZoneName", 1), ("BYTE", "ZoneID", 1), ("list", "ServerGroupIDList", 0), ), "CrossZoneBattlefield":( ("char", "CrossZoneName", 1), ("BYTE", "ZoneID", 1), ("list", "ServerGroupIDList", 0), ), "CrossZonePK":( ("char", "CrossZoneName", 1), ("BYTE", "ZoneID", 1), ("list", "ServerGroupIDList", 0), ), "CrossPenglaiZoneMap":( ("BYTE", "ZoneID", 0), ("DWORD", "MapID", 1), ("DWORD", "DataMapID", 1), ("BYTE", "CopyMapID", 1), ("WORD", "PosX", 0), ("WORD", "PosY", 0), ), "CrossDemonLandZoneMap":( ("BYTE", "ZoneID", 0), ("DWORD", "MapID", 1), ("DWORD", "DataMapID", 1), ("BYTE", "CopyMapID", 1), ("WORD", "PosX", 0), ("WORD", "PosY", 0), ), "CrossFamilyFlagwarZoneMap":( ("BYTE", "ZoneID", 0), ("DWORD", "MapID", 1), ("DWORD", "DataMapID", 1), ("BYTE", "CopyMapID", 1), ("WORD", "PosX", 0), ("WORD", "PosY", 0), ), "GatherTheSoul":( ("DWORD", "SoulID", 1), ("DWORD", "PieceItemID", 0), ("BYTE", "HoleNum", 0), ("BYTE", "SoulColor", 0), ("DWORD", "SoulSkillTypeID", 0), ("list", "SoulSkillLVList", 0), ), "GatherTheSoulLV":( ("DWORD", "SoulID", 1), ("WORD", "SoulLV", 1), ("WORD", "NeedPiece", 0), ("DWORD", "NeedSoulValue", 0), ("list", "LVAttrTypeList", 0), ("list", "LVAttrValueList", 0), ), "GatherSoul":( ("DWORD", "ItemID", 1), ("list", "AttrType", 0), ("BYTE", "SoulGrade", 0), ), "GatherSoulCompound":( ("DWORD", "TagItemID", 1), ("WORD", "NeedLV", 0), ("list", "NeedItem", 0), ("WORD", "NeedSoulSplinters", 0), ("WORD", "NeedSoulCore", 0), ), "GatherSoulAttr":( ("WORD", "AttrType", 1), ("char", "AttrInfo1", 0), ("dict", "AttrInfo2", 0), ("dict", "AttrInfo3", 0), ("dict", "AttrInfo4", 0), ("dict", "AttrInfo5", 0), ), "MagicWeaponOfKing":( ("DWORD", "MWID", 1), ("BYTE", "AwardMark", 1), ("dict", "AddAttr", 0), ), "Coat":( ("DWORD", "CoatID", 1), ("BYTE", "CostQuality", 0), ("list", "EquipItemID", 0), ("DWORD", "UnlockItemID", 0), ("DWORD", "MaxLV", 0), ("list", "CostItemCnt", 0), ("dict", "StarAttr", 0), ("DWORD", "InitFightPower", 0), ), "CoatChestUp":( ("DWORD", "LV", 1), ("BYTE", "NeedExp", 0), ("dict", "AddAttr", 0), ), "ActWeekParty":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "AdvanceMinutes", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "ResetType", 0), ("WORD", "LVLimit", 0), ("list", "TemplateID", 0), ("dict", "PointAward", 0), ), "WeekParty":( ("BYTE", "TemplateID", 1), ("BYTE", "ActionType", 0), ("DWORD", "TotalTimes", 0), ("WORD", "SingleTimes", 0), ("eval", "Reward", 0), ("WORD", "Point", 0), ), "ActYunshi":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "ResetType", 0), ("DWORD", "TreasureType", 0), ), "ActLunhuidian":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "ResetType", 0), ("dict", "RoundSetInfo", 0), ("dict", "RoundCTGIDInfo", 0), ("dict", "RoundShopTypeInfo", 0), ), "ActLunhuidianAward":( ("BYTE", "RoundType", 1), ("DWORD", "NeedValue", 0), ("BYTE", "AwardIndex", 0), ("list", "AwardItemList", 0), ), "ActBuyCountGift":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "RelateFuncID", 0), ("BYTE", "FuncActDays", 0), ("BYTE", "FuncLoop", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "ResetType", 0), ("list", "CTGIDList", 0), ("dict", "CTGCountAwardInfo", 0), ("list", "CTGCountDayResetList", 0), ("DWORD", "ActShopType", 0), ), "ActTask":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "RelateFuncID", 0), ("BYTE", "FuncActDays", 0), ("BYTE", "FuncLoop", 0), ("WORD", "LVLimit", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "ResetType", 0), ("BYTE", "TemplateID", 0), ("BYTE", "RoundMax", 0), ), "ActTaskTemp":( ("BYTE", "TemplateID", 1), ("DWORD", "TaskID", 0), ("BYTE", "TaskType", 0), ("DWORD", "NeedValue", 0), ("list", "AwardItemList", 0), ), "ActLoginNew":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "RelateFuncID", 0), ("BYTE", "FuncActDays", 0), ("BYTE", "FuncLoop", 0), ("WORD", "LVLimit", 0), ("list", "RepSignCostMoneyInfo", 0), ("BYTE", "TemplateID", 0), ("WORD", "AwardExCTGID", 0), ("WORD", "ActZhanlingType", 0), ), "ActLoginNewAward":( ("BYTE", "TemplateID", 1), ("BYTE", "DayNum", 0), ("list", "LoginAwardItemList", 0), ("list", "LoginAwardItemListEx", 0), ), "ActLoginAward":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "AdvanceMinutes", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "ResetType", 0), ("WORD", "LVLimit", 0), ("list", "TemplateID", 0), ), "LoginAward":( ("BYTE", "TemplateID", 1), ("BYTE", "ActionType", 0), ("DWORD", "TotalTimes", 0), ("WORD", "SingleTimes", 0), ("char", "Reward", 0), ), "ActFeastLogin":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("dict", "TemplateIDInfo", 0), ), "ActFeastLoginAward":( ("BYTE", "TemplateID", 1), ("BYTE", "DayNum", 0), ("list", "LoginAwardItemList", 0), ), "ActFeastWish":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "ResetType", 0), ("dict", "TemplateIDInfo", 0), ), "ActFeastWishBottle":( ("BYTE", "TemplateID", 1), ("BYTE", "WishBottleNum", 0), ("WORD", "NeedWishValue", 0), ("BYTE", "ChooseTimeMax", 0), ("dict", "ChoosePrizeItem", 0), ("list", "GoodItemIDList", 0), ("char", "WorldNotifyKey", 0), ), "ActFeastWishPool":( ("BYTE", "TemplateID", 1), ("list", "WishPoolItemWeightInfo", 0), ("list", "WishPoolClientItemShow", 0), ("list", "GoodItemIDList", 0), ("char", "WorldNotifyKey", 0), ), "ActFeastTravel":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "LVLimit", 0), ("BYTE", "ResetType", 0), ("dict", "TemplateIDInfo", 0), ), "ActFeastTravelTask":( ("BYTE", "TraveTasklD", 1), ("WORD", "FinishNeedValue", 0), ("WORD", "FinishTimeMax", 0), ("BYTE", "AddTravelPoint", 0), ), "ActFeastTravelAward":( ("BYTE", "TemplatelD", 1), ("BYTE", "RecordIndex", 0), ("WORD", "NeedTravelPoint", 0), ("BYTE", "AwardCountMax", 0), ("list", "TravelAwardInfo", 0), ), "ZhuXianBoss":( ("DWORD", "NPCID", 0), ("BYTE", "LineID", 1), ("WORD", "RealmLV", 0), ("DWORD", "ZhuXianScore", 0), ), "ActFeastWeekParty":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("WORD", "AdvanceMinutes", 0), ("BYTE", "IsDayReset", 0), ("BYTE", "ResetType", 0), ("WORD", "LVLimit", 0), ("list", "TemplateID", 0), ("dict", "PointAward", 0), ), "FeastWeekParty":( ("BYTE", "TemplateID", 1), ("BYTE", "ActionType", 0), ("DWORD", "TotalTimes", 0), ("WORD", "SingleTimes", 0), ("list", "Reward", 0), ("WORD", "Point", 0), ), "NewAllPeopleParty":( ("BYTE", "ID", 1), ("WORD", "TotalTimes", 0), ("WORD", "AddPoint", 0), ), "NewAllPeoplePartyAward":( ("BYTE", "WorldLvNum", 1), ("DWORD", "Index", 1), ("DWORD", "NeedPoint", 0), ("dict", "Award", 0), ), "ActLuckyTreasure":( ("DWORD", "CfgID", 1), ("char", "StartDate", 0), ("char", "EndDate", 0), ("BYTE", "ResetType", 0), ("WORD", "LVLimit", 0), ("BYTE", "TemplateID", 0), ("WORD", "LuckyPoint", 0), ), "LuckyTreasureTemplate":( ("BYTE", "TemplateID", 1), ("list", "WorldLVLimit", 0), ("DWORD", "ItemID", 0), ("WORD", "ItemCnt", 0), ("BYTE", "IsBind", 0), ("DWORD", "Weight", 0), ), "CrossActCTGBillboardDabiao":( ("DWORD", "TemplateID", 1), ("float", "CTGNeed", 0), ("BYTE", "AwardIndex", 0), ("list", "AwardItemList", 0), ), "CrossActCTGBillboardOrder":( ("DWORD", "TemplateID", 1), ("WORD", "OrderA", 0), ("WORD", "OrderB", 0), ("float", "CTGAtleast", 0), ("list", "AwardItemList", 0), ), "MysteryShop":( ("list", "LVRange", 0), ("DWORD", "GoodsID", 0), ), "EquipPlaceIndexMap":( ("DWORD", "GridIndex", 0), ("DWORD", "ClassLV", 1), ("DWORD", "EquipPlace", 1), ), "EquipShenAttr":( ("DWORD", "EquipItemID", 1), ("list", "ShenAttrIDList", 0), ("list", "ShenAttrValueList", 0), ("list", "XianAttrIDList", 0), ("list", "XianAttrValueList", 0), ("list", "JiAttrIDList", 0), ("list", "JiAttrValueList", 0), ("list", "LegendAttrIDList", 0), ("list", "LegendAttrValueList", 0), ), "EquipShenEvolve":( ("DWORD", "EquipItemID", 1), ("DWORD", "EvolveEquipID", 0), ("list", "EvolveNeedItemIDInfo", 0), ), "EquipStarUp":( ("BYTE", "ClassLV", 1), ("BYTE", "EquipPlace", 1), ("BYTE", "Star", 1), ("list", "CostEquipPlace", 0), ("BYTE", "IsJobLimit", 0), ("list", "CostEquipColor", 0), ("BYTE", "CostEquipCnt", 0), ("BYTE", "UnSuitRate", 0), ("BYTE", "SuitRate", 0), ("dict", "CostItemDict", 0), ("dict", "StarAttrInfo", 0), ("dict", "BaseAttrInfo", 0), ), "EquipPlusEvolve":( ("BYTE", "EquipPlace", 1), ("BYTE", "EvolveLV", 1), ("WORD", "NeedPlusLV", 0), ("dict", "CostItem", 0), ("dict", "Attr", 0), ), "FamilyBossAward":( ("DWORD", "BossID", 1), ("list", "WorldLV", 0), ("list", "Rank", 0), ("list", "Award1", 0), ("dict", "Award2", 0), ), "FamilyBossHurtAward":( ("BYTE", "AwardType", 1), ("BYTE", "RecordIndex", 1), ("DWORD", "NeedHurtTotal", 0), ("list", "AwardItemList", 0), ), "FamilyZhenfa":( ("BYTE", "ZhenfaType", 1), ("WORD", "ZhenfaLV", 1), ("DWORD", "LVUpNeedExp", 0), ("list", "LVAttrType", 0), ("list", "LVAttrValue", 0), ), "ItemWashMax":( ("BYTE", "Type", 1), ("BYTE", "Star", 1), ("WORD", "LevelMax", 0), ), "HorsePetBossAward":( ("BYTE", "LineID", 1), ("list", "WorldLV", 0), ("list", "Rank", 0), ("list", "Award1", 0), ("list", "Award2", 0), ), "FairyDomain":( ("WORD", "ID", 1), ("BYTE", "EventType", 0), ("DWORD", "MapID", 0), ("BYTE", "LineID", 0), ("DWORD", "BossID", 0), ("BYTE", "EventFBType", 0), ("BYTE", "CostEnergy", 0), ("BYTE", "NeedAlchemyLV", 0), ("list", "NeedLV", 0), ("DWORD", "Weight", 0), ("DWORD", "HourCntPriLimit", 0), ("DWORD", "DayCntPriLimit", 0), ), "FairyAdventures":( ("WORD", "ID", 1), ("DWORD", "OpenServerDay", 0), ("BYTE", "EventID", 0), ("list", "Condition", 0), ("list", "GearAward", 0), ("list", "BasicAward", 0), ), "FairyDomainAppoint":( ("WORD", "Cnt", 1), ("DWORD", "EventID", 0), ("list", "Award", 0), ("list", "RandomAward", 0), ), "FBBuyBuff":( ("DWORD", "MapId", 1), ("WORD", "MoneyCnt", 1), ("DWORD", "BuffID", 0), ("WORD", "BuffCD", 0), ), "SkillElement":( ("DWORD", "ElementSkillID", 1), ("BYTE", "ElementSkillNum", 0), ("DWORD", "MainSkillID", 0), ("DWORD", "NeedLV", 0), ), "SkyTower":( ("DWORD", "FloorID", 1), ("DWORD", "BossID", 0), ("dict", "Reward", 0), ("WORD", "NeedLV", 0), ("DWORD", "FightPower", 0), ("BYTE", "IsNotify", 0), ), "SkyTowerServerChallenge":( ("DWORD", "FloorID", 1), ("dict", "PassRankRewardInfo", 0), ("dict", "ServerRewardInfo", 0), ), "LingGenEffect":( ("DWORD", "ID", 0), ("DWORD", "PointID", 1), ("BYTE", "QualityLV", 1), ), "LoveGift":( ("BYTE", "GiftNum", 1), ("DWORD", "GiftItemID", 0), ("BYTE", "AllowBatch", 0), ), "Marry":( ("BYTE", "BridePriceID", 1), ("list", "CostMoneyInfo", 0), ), "LoveRing":( ("BYTE", "RingClassLV", 1), ("BYTE", "RingStarLV", 1), ("list", "CoupleAttrType", 0), ("list", "CoupleAttrValue", 0), ("list", "StarAttrType", 0), ("list", "StarAttrValue", 0), ("list", "UpItemAttrType", 0), ("list", "UpItemAttrValue", 0), ("DWORD", "NeedEatCount", 0), ("DWORD", "UpEatItemPerCount", 0), ), "LoveCharm":( ("BYTE", "CharmLV", 1), ("DWORD", "UpNeedCharm", 0), ("list", "LVAttrType", 0), ("list", "LVAttrValue", 0), ("list", "LVAwardItemInfo", 0), ), "HorsePetSkin":( ("BYTE", "Type", 1), ("DWORD", "ID", 1), ("BYTE", "SkinLV", 1), ("DWORD", "NeedExp", 0), ("dict", "AttrInfo", 0), ("BYTE", "SkinIndex", 0), ), "AssistThanksGift":( ("DWORD", "GiftID", 1), ("list", "RequestPlayerAward", 0), ("list", "AssistPlayerAward", 0), ), "FuncSysPrivilege":( ("BYTE", "FuncSysID", 1), ("BYTE", "DayNum", 0), ("list", "DayAwardItemInfo", 0), ), "HistoryRechargeAward":( ("BYTE", "ID", 1), ("float", "NeedRMB", 0), ("dict", "Reward", 0), ), "CustomAward":( ("BYTE", "AwardID", 1), ("list", "AwardItemList", 0), ), "Zhanling":( ("BYTE", "ZhanlingType", 1), ("DWORD", "NeedValue", 1), ("BYTE", "RewardIndex", 0), ("list", "FreeRewardItemList", 0), ("list", "ZLRewardItemList", 0), ("list", "ZLRewardItemListH", 0), ), "Xiangong":( ("WORD", "XiangongID", 1), ), "TiandaoTree":( ("WORD", "AwardIndex", 1), ("DWORD", "NeedQiyun", 0), ("list", "AwardItemList", 0), ), } # ³ÆºÅ±í class IPY_Dienstgrad(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # Í·ÏÎid DWORD def GetType(self): return self.attrTuple[1] # Í·ÏÎÀàÐÍ WORD def GetExpireTime(self): return self.attrTuple[2] # ÓÐЧʱ¼ä DWORD def GetLightType(self): return self.attrTuple[3] # µãÁÁÊôÐÔÀàÐÍ list def GetLightAttribute(self): return self.attrTuple[4] # µãÁÁÊôÐÔÖµ list def GetSkills(self): return self.attrTuple[5] # ±»¶¯¼¼ÄÜ list def GetInitFightPower(self): return self.attrTuple[6] # ³õʼսÁ¦ DWORD # ³ÆºÅÉýÐDZí class IPY_TitleStarUp(): def __init__(self): self.attrTuple = None return def GetTitleID(self): return self.attrTuple[0] # ³ÆºÅNPCID DWORD def GetTitleStar(self): return self.attrTuple[1] # ³ÆºÅÐǼ¶ BYTE def GetStarUpNeedItemList(self): return self.attrTuple[2] # ÉýÏÂÒ»ÐÇËùÐèµÀ¾ß [[ÎïÆ·ID,¸öÊý], ...] list def GetStarAttrType(self): return self.attrTuple[3] # ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list def GetStarAttrValue(self): return self.attrTuple[4] # ÀÛ¼Æ×ÜÊôÐÔÖµ list # Í·Ïñ±í class IPY_PlayerFace(): def __init__(self): self.attrTuple = None return def GetFaceID(self): return self.attrTuple[0] # Í·ÏñID DWORD def GetUnlockDefault(self): return self.attrTuple[1] # ÊÇ·ñĬÈϼ¤»î BYTE def GetExpireMinutes(self): return self.attrTuple[2] # ʱЧ·ÖÖÓ£¬0ÓÀ¾Ã DWORD def GetCustomPlayerID(self): return self.attrTuple[3] # ¶¨ÖÆÍæ¼ÒID DWORD def GetLightAttrType(self): return self.attrTuple[4] # µãÁÁÊôÐÔÀàÐÍ list def GetLightAttrValue(self): return self.attrTuple[5] # µãÁÁÊôÐÔÖµ list def GetLightFightPower(self): return self.attrTuple[6] # µãÁÁ¸½¼ÓÕ½Á¦ DWORD # Í·ÏñÉýÐDZí class IPY_PlayerFaceStar(): def __init__(self): self.attrTuple = None return def GetFaceID(self): return self.attrTuple[0] # Í·ÏñID DWORD def GetFaceStar(self): return self.attrTuple[1] # Í·ÏñÐǼ¶ BYTE def GetStarUpNeedItemList(self): return self.attrTuple[2] # Éý¸ÃÐÇËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list def GetStarAttrType(self): return self.attrTuple[3] # ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list def GetStarAttrValue(self): return self.attrTuple[4] # ÀÛ¼Æ×ÜÊôÐÔÖµ list # Í·Ïñ¿ò±í class IPY_PlayerFacePic(): def __init__(self): self.attrTuple = None return def GetFacePicID(self): return self.attrTuple[0] # Í·Ïñ¿òID DWORD def GetUnlockDefault(self): return self.attrTuple[1] # ÊÇ·ñĬÈϼ¤»î BYTE def GetExpireMinutes(self): return self.attrTuple[2] # ʱЧ·ÖÖÓ£¬0ÓÀ¾Ã DWORD def GetLightAttrType(self): return self.attrTuple[3] # µãÁÁÊôÐÔÀàÐÍ list def GetLightAttrValue(self): return self.attrTuple[4] # µãÁÁÊôÐÔÖµ list def GetLightFightPower(self): return self.attrTuple[5] # µãÁÁ¸½¼ÓÕ½Á¦ DWORD # Í·Ïñ¿òÉýÐDZí class IPY_PlayerFacePicStar(): def __init__(self): self.attrTuple = None return def GetFacePicID(self): return self.attrTuple[0] # Í·Ïñ¿òID DWORD def GetFacePicStar(self): return self.attrTuple[1] # Í·Ïñ¿òÐǼ¶ BYTE def GetStarUpNeedItemList(self): return self.attrTuple[2] # Éý¸ÃÐÇËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list def GetStarAttrType(self): return self.attrTuple[3] # ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list def GetStarAttrValue(self): return self.attrTuple[4] # ÀÛ¼Æ×ÜÊôÐÔÖµ list # ¼¼ÄÜ´îÅä±í class IPY_SkillMatch(): def __init__(self): self.attrTuple = None return def GetIDIndex(self): return self.attrTuple[0] # BYTE def GetSkills(self): return self.attrTuple[1] # Ö÷¶¯¼¼ÄÜ£¨Ö°Òµ1id|Ö°Òµ2id£© list # Áé¸ù±í class IPY_RolePoint(): def __init__(self): self.attrTuple = None return def GetAttrID(self): return self.attrTuple[0] # ÊôÐÔID BYTE def GetAddAttrInfoPerPoint(self): return self.attrTuple[1] # ÿµãÔö¼ÓÊôÐÔÐÅÏ¢ {"Ö°Òµ":[[ÿXµã,ÊôÐÔID,Öµ], ...], ..} dict def GetFightPowerPerPoint(self): return self.attrTuple[2] # ÿµã¸½¼ÓÕ½¶·Á¦ BYTE def GetPointQualityAttrDict(self): return self.attrTuple[3] # µãÊýÆ·Öʽø½×Ôö¼ÓÊôÐÔ, {Ö°Òµ:{ÊôÐÔID:[½×¶ÎÊôÐÔ,..],..},..} dict def GetPointQualityIntervalList(self): return self.attrTuple[4] # µãÊýÆ·Öʽø½×ÊôÐÔµãÇø¼äÁбí list # ÁéÆ÷ÊôÐÔ±í class IPY_LingQiAttr(): def __init__(self): self.attrTuple = None return def GetItemID(self): return self.attrTuple[0] # ÊôÐÔID BYTE def GetLingQiAttrID(self): return self.attrTuple[1] # ÁéÆ÷ÊôÐÔID list def GetLingQiAttrValue(self): return self.attrTuple[2] # ÁéÆ÷ÊôÐÔÊýÖµ list def GetLingQiAttrScore(self): return self.attrTuple[3] # ÁéÆ÷ÊôÐÔÆÀ·Ö DWORD def GetUpCostItem(self): return self.attrTuple[4] # Í»ÆÆÐèÒª²ÄÁÏ dict def GetNextItemID(self): return self.attrTuple[5] # Í»ÆÆºóÎïÆ·ID DWORD # ÁéÆ÷ÅàÑø±í class IPY_LingQiTrain(): def __init__(self): self.attrTuple = None return def GetEquipPlace(self): return self.attrTuple[0] # ÁéÆ÷×°±¸Î» BYTE def GetTrainType(self): return self.attrTuple[1] # ÅàÑøÀàÐÍ BYTE def GetTrainLV(self): return self.attrTuple[2] # ÅàÑøµÈ½× BYTE def GetNeedRealmLV(self): return self.attrTuple[3] # ÅàÑøËùÐè¾³½ç WORD def GetEatCntTotal(self): return self.attrTuple[4] # Éý½×ËùÐè¸öÊý£¨·ÇÀۼƣ© DWORD def GetEatCntEverytime(self): return self.attrTuple[5] # ÿ´ÎÅàÑøÏûºÄx¸ö DWORD def GetEatItemAttrTypeList(self): return self.attrTuple[6] # ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ=EatCntEverytime list def GetEatItemAttrValueList(self): return self.attrTuple[7] # ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ=EatCntEverytime list def GetLVAttrTypeList(self): return self.attrTuple[8] # ÿ¼¶¶îÍâÊôÐÔÀࣨ·ÇÀÛ»ý£© list def GetLVAttrValueList(self): return self.attrTuple[9] # ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© list # ¾³½çÐÞÏÉ֮· class IPY_RealmXXZL(): def __init__(self): self.attrTuple = None return def GetTaskID(self): return self.attrTuple[0] # ÈÎÎñID WORD def GetTaskType(self): return self.attrTuple[1] # ÈÎÎñÀàÐÍ BYTE def GetNeedValue(self): return self.attrTuple[2] # ËùÐèÈÎÎñÖµ DWORD def GetAwardItemList(self): return self.attrTuple[3] # ½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # ¾³½ç±í class IPY_Realm(): def __init__(self): self.attrTuple = None return def GetLv(self): return self.attrTuple[0] # ¾³½çµÈ¼¶ WORD def GetLvLarge(self): return self.attrTuple[1] # ´ó¾³½ç BYTE def GetLVMax(self): return self.attrTuple[2] # µÈ¼¶ÉÏÏÞ DWORD def GetAddAttrType(self): return self.attrTuple[3] # ¾³½ç¼Ó³ÉÊôÐÔÀàÐÍ list def GetAddAttrNum(self): return self.attrTuple[4] # ¾³½ç¼Ó³ÉÊôÐÔÖµ list def GetBuffID(self): return self.attrTuple[5] # ¸øÈ«·þÔÚÏßÍæ¼ÒÔö¼Óbuff DWORD def GetExpRate(self): return self.attrTuple[6] # ÐÞΪ³Ø¾­ÑéËÙÂÊ DWORD def GetExpLimit(self): return self.attrTuple[7] # ÐÞΪ³Ø¾­ÑéÉÏÏÞ DWORD def GetLearnSkillIDInfo(self): return self.attrTuple[8] # ѧϰ¼¼ÄÜIDÐÅÏ¢ {"Ö°Òµ":[¼¼ÄÜID, ...], ...} dict def GetAddFreePoint(self): return self.attrTuple[9] # Ôö¼Ó×ÔÓÉÊôÐÔµã BYTE # ¾³½ç½ø½×ÈÎÎñ±í class IPY_RealmLVUPTask(): def __init__(self): self.attrTuple = None return def GetLv(self): return self.attrTuple[0] # ¾³½çµÈ¼¶ WORD def GetTaskID(self): return self.attrTuple[1] # ÈÎÎñID BYTE def GetTaskType(self): return self.attrTuple[2] # ÈÎÎñÀàÐÍ BYTE def GetNeedValueList(self): return self.attrTuple[3] # ËùÐèÖµÁбí list def GetAwardItemList(self): return self.attrTuple[4] # ½±ÀøÎïÆ·Áбí list # ¾³½çËþ±í class IPY_RealmTower(): def __init__(self): self.attrTuple = None return def GetFloorID(self): return self.attrTuple[0] # ²ã DWORD def GetNeedRealmLV(self): return self.attrTuple[1] # ËùÐè¾³½ç WORD def GetBossID(self): return self.attrTuple[2] # BossID DWORD def GetRewardItemList(self): return self.attrTuple[3] # ½±ÀøÎïÆ·Áбí list # ¾³½çÁ¶ÌåÊôÐÔ±í class IPY_LianTi(): def __init__(self): self.attrTuple = None return def GetLianTiLV(self): return self.attrTuple[0] # Á¶ÌåµÈ¼¶ BYTE def GetFixedAttrType(self): return self.attrTuple[1] # ¹Ì¶¨ÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list def GetFixedAttrValue(self): return self.attrTuple[2] # ¹Ì¶¨ÊôÐÔÖµ£¨·ÇÀÛ»ý£© list def GetPlusAttrType(self): return self.attrTuple[3] # ÔöÇ¿ÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list def GetPlusAttrRate(self): return self.attrTuple[4] # ÔöÇ¿ÊôÐÔÍò·ÖÂÊ£¨·ÇÀÛ»ý£© list def GetEatItemAttrType(self): return self.attrTuple[5] # ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount list def GetEatItemAttrValue(self): return self.attrTuple[6] # ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount list def GetNeedEatCount(self): return self.attrTuple[7] # Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ© WORD def GetEatPerCount(self): return self.attrTuple[8] # ÿ´ÎÅàÑøÏûºÄx¸ö WORD def GetLVUpCostItemInfo(self): return self.attrTuple[9] # Í»ÆÆµÈ¼¶µÀ¾ßID|¸öÊý list def GetActivateSkillID(self): return self.attrTuple[10] # ¼¤»î¼¼ÄÜID DWORD # Éñ±ø±í class IPY_GodWeapon(): def __init__(self): self.attrTuple = None return def GetType(self): return self.attrTuple[0] # Éñ±øÀàÐÍ WORD def GetLV(self): return self.attrTuple[1] # µÈ¼¶ WORD def GetExp(self): return self.attrTuple[2] # DWORD def GetAttrType(self): return self.attrTuple[3] # ÊôÐÔÀàÐÍ list def GetAttrNum(self): return self.attrTuple[4] # ÊôÐÔÖµ list def GetSkillID(self): return self.attrTuple[5] # ¼¤»î¼¼ÄÜID DWORD def GetSysMark(self): return self.attrTuple[6] # ϵͳÌáʾ char # ¹¦ÄÜÅäÖñí¸ñ class IPY_FuncConfig(): def __init__(self): self.attrTuple = None return def GetKey(self): return self.attrTuple[0] # ±êʶ char def GetNumerical1(self): return self.attrTuple[1] # Êý¾Ý1 char def GetNumerical2(self): return self.attrTuple[2] # Êý¾Ý2 char def GetNumerical3(self): return self.attrTuple[3] # Êý¾Ý3 char def GetNumerical4(self): return self.attrTuple[4] # Êý¾Ý4 char def GetNumerical5(self): return self.attrTuple[5] # Êý¾Ý5 char # µÈ¼¶¿ªÆô¹¦ÄÜ class IPY_FuncOpenLV(): def __init__(self): self.attrTuple = None return def GetFuncId(self): return self.attrTuple[0] # ¹¦Äܱêʶ DWORD def GetLimitLV(self): return self.attrTuple[1] # ¿ªÆôµÈ¼¶ DWORD def GetLimitMagicWeapon(self): return self.attrTuple[2] # ÐèÒª½âËø·¨±¦ID DWORD def GetLimiRealmLV(self): return self.attrTuple[3] # ÐèÒª¾³½çµÈ¼¶ WORD def GetLimitMissionID(self): return self.attrTuple[4] # ÐèÒªÍê³ÉµÄÈÎÎñID DWORD def GetLimitVIPLV(self): return self.attrTuple[5] # ÐèÒªVIPµÈ¼¶ BYTE def GetMailKey(self): return self.attrTuple[6] # Óʼþ char # ºÏ³É±í class IPY_ItemCompound(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ºÏ³ÉÅäÖñàºÅID WORD def GetComposeGroup(self): return self.attrTuple[1] # ºÏ³É¹é×éÀàÐÍ BYTE def GetMakeID(self): return self.attrTuple[2] # ¿ÉºÏ³ÉµÄµÀ¾ßID£¬¶à¸öÔòËæ»úÒ»¸ö list def GetIsFirstSuccMakeJobItem(self): return self.attrTuple[3] # Ê״γɹ¦ÊÇ·ñ±Ø³ö±¾Ö°Òµ BYTE def GetUnfixedItemID(self): return self.attrTuple[4] # ²»¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱÔòÈÎÒâÒ»ÖÖ¾ù¿É list def GetUnfixedItemCount(self): return self.attrTuple[5] # ²»¹Ì¶¨µÀ¾ßÏûºÄÊýÁ¿ BYTE def GetFixedItemID(self): return self.attrTuple[6] # ÏûºÄ¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱ´ú±íÿ¸öID¾ùÐèÏûºÄ list def GetFixedItemCount(self): return self.attrTuple[7] # ÏûºÄ¹Ì¶¨µÀ¾ßÊýÁ¿£¬Ã¿¸öID¶ÔÓ¦ÊýÁ¿ list def GetNeedMoney(self): return self.attrTuple[8] # ÏûºÄÍ­Ç® DWORD def GetSuccessRate(self): return self.attrTuple[9] # ³É¹¦ÂÊÍò·ÖÂÊ WORD def GetSuccessRateMax(self): return self.attrTuple[10] # ×î´ó³É¹¦ÂÊÍò·ÖÂÊ WORD def GetSuccessRateIncrease(self): return self.attrTuple[11] # Ìá¸ß³É¹¦ÂʵÀ¾ß, µÀ¾ßID|¸öÊý|Ìá¸ßµÄ¸ÅÂÊ list def GetAddonsCountMax(self): return self.attrTuple[12] # ×î´ó¿É¸½¼Ó²ÄÁÏÊý, Ôö¼Ó¸ÅÂÊÓÃ, ·Ç±ØÐë, 0´ú±í²»¿É¸½¼Ó²ÄÁÏ BYTE def GetSysMark(self): return self.attrTuple[13] # Ìáʾmark char def GetSysMarkParamType(self): return self.attrTuple[14] # ϵͳÌáʾ²ÎÊý×éºÏÀàÐÍ BYTE # ÎïÆ·Ç¿»¯Ð§¹û±í class IPY_ItemPlus(): def __init__(self): self.attrTuple = None return def GetType(self): return self.attrTuple[0] # Ç¿»¯ÀàÐÍ BYTE def GetLV(self): return self.attrTuple[1] # Ç¿»¯µÈ¼¶ WORD def GetAttrType(self): return self.attrTuple[2] # ÊôÐÔÀàÐÍ list def GetAttrValue(self): return self.attrTuple[3] # ÊôÐÔÖµ list def GetCostCount(self): return self.attrTuple[4] # ÏûºÄÍ­Ç® DWORD def GetCostItemInfo(self): return self.attrTuple[5] # ÏûºÄÎïÆ·²ÄÁϼ°¸öÊý [itemID, itemCount] list def GetAddExp(self): return self.attrTuple[6] # ÌáÉýÊìÁ·¶ÈÖµ DWORD def GetTotalExp(self): return self.attrTuple[7] # Éý¼¶ËùÐèÊìÁ·¶È×ÜÖµ DWORD # ×°±¸×ܱí class IPY_EquipControl(): def __init__(self): self.attrTuple = None return def GetClassLV(self): return self.attrTuple[0] # ½× BYTE def GetNeedRealmLV(self): return self.attrTuple[1] # ÐèÒªµÄ¾³½ç BYTE # ×°±¸Ç¿»¯´óʦ±í class IPY_ItemPlusMaster(): def __init__(self): self.attrTuple = None return def GetClassLV(self): return self.attrTuple[0] # ½× BYTE def GetMasterPlusLV(self): return self.attrTuple[1] # ´óʦǿ»¯µÈ¼¶ WORD def GetMasterPlusAttrIDList(self): return self.attrTuple[2] # ¼¤»îÊôÐÔÀàÐÍÁбí list def GetMasterPlusAttrValueList(self): return self.attrTuple[3] # ¼¤»îÊôÐÔÖµÁбí list # ×°±¸Ç¿»¯µÈ¼¶ÉÏÏÞ class IPY_ItemPlusMax(): def __init__(self): self.attrTuple = None return def GetType(self): return self.attrTuple[0] # Ç¿»¯ÀàÐÍ BYTE def GetClassLV(self): return self.attrTuple[1] # ½× BYTE def GetPlusLVMax(self): return self.attrTuple[2] # ×î´óÇ¿»¯µÈ¼¶ WORD # ×°±¸È«ÉíÐÇÊýÊôÐÔ class IPY_RoleEquipStars(): def __init__(self): self.attrTuple = None return def GetStarsNeed(self): return self.attrTuple[0] # È«ÉíÐÇÊý BYTE def GetAttrType(self): return self.attrTuple[1] # ÊôÐÔÀàÐÍ list def GetAttrValue(self): return self.attrTuple[2] # ÊôÐÔÖµ list # ×°±¸´«ÆæÊôÐÔÌõÊý±í class IPY_EquipLegendAttrCount(): def __init__(self): self.attrTuple = None return def GetItemType(self): return self.attrTuple[0] # ÎïÆ·ÀàÐÍ BYTE def GetItemColor(self): return self.attrTuple[1] # ÎïÆ·ÑÕÉ« BYTE def GetIsSuit(self): return self.attrTuple[2] # ÊÇ·ñÌ××° BYTE def GetItemQuality(self): return self.attrTuple[3] # ÎïÆ·ÐǼ¶ BYTE def GetLegendAttrCountInfo(self): return self.attrTuple[4] # ´«ÆæÊôÐÔÌõÊýÐÅÏ¢ [[ÌõÊý, [ÊôÐÔÀàÐÍ¿â±àºÅ, ...]], ...] list # ×°±¸´«ÆæÊôÐÔÀàÐͱí class IPY_EquipLegendAttrType(): def __init__(self): self.attrTuple = None return def GetItemType(self): return self.attrTuple[0] # ÎïÆ·ÀàÐÍ BYTE def GetLegendAttrTypeLib(self): return self.attrTuple[1] # ´«ÆæÊôÐÔÀàÐÍ¿â {ÊôÐÔÀàÐÍ¿â±àºÅ:[ÊôÐÔID,...], ...} dict # ×°±¸´«ÆæÊôÐÔÖµ¿â±í class IPY_EquipLegendAttrLib(): def __init__(self): self.attrTuple = None return def GetLegendAttrID(self): return self.attrTuple[0] # ´«ÆæÊôÐÔID BYTE def GetLegendAttrLib(self): return self.attrTuple[1] # ÊôÐÔ¿âÐÅÏ¢ {¿â±àºÅ:[Ëæ»úÊýÖµ, ...], ...} dict # ×°±¸´«ÆæÊôÐԵȼ¶ÊýÖµ±í class IPY_EquipLegendAttrValue(): def __init__(self): self.attrTuple = None return def GetItemType(self): return self.attrTuple[0] # ÎïÆ·ÀàÐÍ BYTE def GetItemClassLV(self): return self.attrTuple[1] # ÎïÆ·½×¼¶ BYTE def GetItemColor(self): return self.attrTuple[2] # ÎïÆ·ÑÕÉ« BYTE def GetIsSuit(self): return self.attrTuple[3] # ÊÇ·ñÌ××° BYTE def GetItemQuality(self): return self.attrTuple[4] # ÎïÆ·ÐǼ¶ BYTE def GetLVLegendAttrLibNumInfo(self): return self.attrTuple[5] # ÊôÐÔIDµÈ¼¶¶Î¶ÔÓ¦ÊýÖµ¿â±àºÅ {ÊôÐÔID:{µÈ¼¶:¿â±àºÅ, ...}} dict # ÉñÊÞ±í class IPY_Dogz(): def __init__(self): self.attrTuple = None return def GetDogzID(self): return self.attrTuple[0] # ÉñÊÞID BYTE def GetBaseAttrTypes(self): return self.attrTuple[1] # »ù´¡ÊôÐÔÀàÐÍÁбí list def GetBaseAttrValues(self): return self.attrTuple[2] # »ù´¡ÊôÐÔÖµÁбí list def GetHelpBattleSkills(self): return self.attrTuple[3] # ÖúÕ½¼¼ÄÜIDÁбí list def GetFightPowerEx(self): return self.attrTuple[4] # ÖúÕ½¸½¼ÓÕ½Á¦ DWORD def GetEquipPlaceColorList(self): return self.attrTuple[5] # ´©´÷×°±¸ÑÕÉ«ÏÞÖÆ list def GetHelpBattleNotify(self): return self.attrTuple[6] # ÖúÕ½¹ã²¥ ["¹ã²¥key",[²ÎÊý1,²ÎÊý2,...],¹ã²¥CD·ÖÖÓ] list # ÉñÊÞÇ¿»¯±í class IPY_DogzEquipPlus(): def __init__(self): self.attrTuple = None return def GetEquipPlace(self): return self.attrTuple[0] # ×°±¸Î» BYTE def GetPlusLV(self): return self.attrTuple[1] # Ç¿»¯µÈ¼¶ BYTE def GetPlusAttrTypes(self): return self.attrTuple[2] # Ç¿»¯ÊôÐÔÀàÐÍÁбí list def GetPlusAttrValues(self): return self.attrTuple[3] # Ç¿»¯ÊôÐÔÖµÁбí list def GetPlusLVUPTotalExp(self): return self.attrTuple[4] # Éý¼¶ËùÐèÀÛ¼ÆÊìÁ·¶È×ÜÖµ DWORD # ·ûÓ¡±í class IPY_Rune(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ±àºÅID DWORD def GetAttrType(self): return self.attrTuple[1] # ÊôÐÔÀàÐÍ list def GetTowerID(self): return self.attrTuple[2] # ½âËø·ûÓ¡Ëþ±àºÅ DWORD # Ï´Á·±í class IPY_EquipWash(): def __init__(self): self.attrTuple = None return def GetWashType(self): return self.attrTuple[0] # ×°±¸¹é×éÀàÐÍ BYTE def GetWashLV(self): return self.attrTuple[1] # Ï´Á·µÈ¼¶ BYTE def GetAttrType1(self): return self.attrTuple[2] # ÊôÐÔ1ÀàÐÍ BYTE def GetAttrMax1(self): return self.attrTuple[3] # ÊôÐÔ1µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ DWORD def GetAttrRandDict1(self): return self.attrTuple[4] # ÊôÐÔ1Ëæ»ú·¶Î§ dict def GetAttrCostGoldMin1(self): return self.attrTuple[5] # ÊôÐÔ1ÏÉÓñÏ´Á·ÏÂÏÞÖµ DWORD def GetAttrCostGoldMax1(self): return self.attrTuple[6] # ÊôÐÔ1ÏÉÓñÏ´Á·ÉÏÏÞÖµ DWORD def GetAttrType2(self): return self.attrTuple[7] # ÊôÐÔ2ÀàÐÍ BYTE def GetAttrMax2(self): return self.attrTuple[8] # ÊôÐÔ2µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ DWORD def GetAttrRandDict2(self): return self.attrTuple[9] # ÊôÐÔ2Ëæ»ú·¶Î§ dict def GetAttrCostGoldMin2(self): return self.attrTuple[10] # ÊôÐÔ2ÏÉÓñÏ´Á·ÏÂÏÞÖµ DWORD def GetAttrCostGoldMax2(self): return self.attrTuple[11] # ÊôÐÔ2ÏÉÓñÏ´Á·ÉÏÏÞÖµ DWORD def GetAttrType3(self): return self.attrTuple[12] # ÊôÐÔ3ÀàÐÍ BYTE def GetAttrMax3(self): return self.attrTuple[13] # ÊôÐÔ3µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ DWORD def GetAttrRandDict3(self): return self.attrTuple[14] # ÊôÐÔ3Ëæ»ú·¶Î§ dict def GetAttrCostGoldMin3(self): return self.attrTuple[15] # ÊôÐÔ3ÏÉÓñÏ´Á·ÏÂÏÞÖµ DWORD def GetAttrCostGoldMax3(self): return self.attrTuple[16] # ÊôÐÔ3ÏÉÓñÏ´Á·ÉÏÏÞÖµ DWORD def GetCostItemID(self): return self.attrTuple[17] # ¹Ì¶¨ÏûºÄÎïÆ·ID DWORD def GetCostItemCount(self): return self.attrTuple[18] # ¹Ì¶¨ÏûºÄÎïÆ·¸öÊý BYTE def GetGoldWashCostList(self): return self.attrTuple[19] # ÏÉÓñÏ´Á·ÌõÊý¶ÔÓ¦ÏûºÄ list # ÊôÐÔ¹ûʵ±í class IPY_AttrFruit(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ÎïÆ·ID DWORD def GetFuncID(self): return self.attrTuple[1] # ËùÊô¹¦ÄÜID BYTE def GetMaxUseCnt(self): return self.attrTuple[2] # ¾³½ç¶ÔÓ¦×î´ó¿ÉʹÓÃÊýÁ¿ dict def GetAddItemInfo(self): return self.attrTuple[3] # [Ôö·ùµ¤ID,µ¥´ÎÎïÆ·ÊýÁ¿,µ¥´ÎÔö¼ÓÉÏÏÞ] list def GetRecycleMoney(self): return self.attrTuple[4] # »ØÊÕ»õ±ÒÖµ WORD def GetFightPowerEx(self): return self.attrTuple[5] # ¸½¼ÓÕ½¶·Á¦ DWORD # ÁéÊÞ±í class IPY_PetInfo(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ÁéÊÞNPCID DWORD def GetQuality(self): return self.attrTuple[1] # Æ·ÖÊ BYTE def GetUnlockSys(self): return self.attrTuple[2] # ½âËø¹ã²¥Ìáʾ char def GetUnLockNeedItemID(self): return self.attrTuple[3] # ½âËøÁéÊÞÎïÆ·ID DWORD def GetUnLockNeedItemCnt(self): return self.attrTuple[4] # ½âËøËùÐèÎïÆ·ÊýÁ¿ BYTE def GetDecomposeExp(self): return self.attrTuple[5] # ·Ö½âµ¥¸ö½âËøÎïÆ·¿É»ñµÃÉý½×¾­Ñé DWORD def GetInitRank(self): return self.attrTuple[6] # ÁéÊÞ³õʼ½×Êý BYTE def GetMaxRank(self): return self.attrTuple[7] # ÁéÊÞ×î¸ß½×Êý WORD def GetUseNeedRank(self): return self.attrTuple[8] # ¶àÉٽ׿ÉÇл»Íâ¹Û WORD def GetSkillID(self): return self.attrTuple[9] # ÁéÊÞ¼¼ÄÜID list def GetSkillUnLock(self): return self.attrTuple[10] # ÁéÊÞ¼¼ÄܽâËøÐèÒª½×Êý list def GetSkillUnLockSys(self): return self.attrTuple[11] # ÁéÊÞ¼¼ÄܽâËøÌáʾ list def GetInitFightPower(self): return self.attrTuple[12] # ³õʼսÁ¦ DWORD # Áé³èÉýÐDZí class IPY_PetStarUp(): def __init__(self): self.attrTuple = None return def GetPetNPCID(self): return self.attrTuple[0] # ÁéÊÞNPCID DWORD def GetPetStar(self): return self.attrTuple[1] # ÁéÊÞÐǼ¶ BYTE def GetStarUpNeedItemList(self): return self.attrTuple[2] # ÉýÏÂÒ»ÐÇËùÐèµÀ¾ß [[ÎïÆ·ID,¸öÊý], ...] list def GetStarAttrType(self): return self.attrTuple[3] # ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list def GetStarAttrValue(self): return self.attrTuple[4] # ÀÛ¼Æ×ÜÊôÐÔÖµ list # Áé³èÅàÑø±í class IPY_PetTrain(): def __init__(self): self.attrTuple = None return def GetTrainType(self): return self.attrTuple[0] # ÅàÑøÀàÐÍ BYTE def GetTrainLV(self): return self.attrTuple[1] # ÅàÑøµÈ½× BYTE def GetNeedRealmLV(self): return self.attrTuple[2] # ÅàÑøËùÐè¾³½ç WORD def GetEatCntTotal(self): return self.attrTuple[3] # Éý½×ËùÐè¸öÊý£¨·ÇÀۼƣ© DWORD def GetEatCntEverytime(self): return self.attrTuple[4] # ÿ´ÎÅàÑøÏûºÄx¸ö DWORD def GetEatItemAttrTypeList(self): return self.attrTuple[5] # ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ=EatCntEverytime list def GetEatItemAttrValueList(self): return self.attrTuple[6] # ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ=EatCntEverytime list def GetLVAttrTypeList(self): return self.attrTuple[7] # ÿ¼¶¶îÍâÊôÐÔÀࣨ·ÇÀÛ»ý£© list def GetLVAttrValueList(self): return self.attrTuple[8] # ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© list # ×°±¸·Ö½âÊôÐÔ±í class IPY_EquipDecompose(): def __init__(self): self.attrTuple = None return def GetLV(self): return self.attrTuple[0] # µÈ¼¶ WORD def GetUpNeedExp(self): return self.attrTuple[1] # Éý¼¶ËùÐè¾­ÑéÊý DWORD def GetAttr(self): return self.attrTuple[2] # ÊôÐÔ¼Ó³É dict # ÁéÊÞÉý½×ÏûºÄ±í class IPY_PetClassCost(): def __init__(self): self.attrTuple = None return def GetPetID(self): return self.attrTuple[0] # ÁéÊÞNPCID DWORD def GetClass(self): return self.attrTuple[1] # ÁéÊÞ½×Êý DWORD def GetUpNeedExp(self): return self.attrTuple[2] # ÁéÊÞÉý½×ËùÐè¾­ÑéÊý DWORD def GetAtkAdd(self): return self.attrTuple[3] # ÿ½×¹¥»÷Á¦¼Ó³É DWORD # ÁéÊÞÎüÊÕ×°±¸±í class IPY_PetEatEquip(): def __init__(self): self.attrTuple = None return def GetEquipColor(self): return self.attrTuple[0] # ×°±¸Æ·ÖÊ BYTE def GetEquipClass(self): return self.attrTuple[1] # ×°±¸½×Êý BYTE def GetExp(self): return self.attrTuple[2] # »ñµÃÁéÊÞÉý¼¶¾­Ñé DWORD def GetFamilyStoreItemScore(self): return self.attrTuple[3] # ÏÉÃ˱¦¿â»ý·Ö DWORD # ·¨Æ÷Éý¼¶±í class IPY_FaQiLVUp(): def __init__(self): self.attrTuple = None return def GetFaQiLV(self): return self.attrTuple[0] # ·¨Æ÷µÈ¼¶ BYTE def GetNeedEatCount(self): return self.attrTuple[1] # Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ© WORD def GetLVAttrType(self): return self.attrTuple[2] # ÿ¼¶¶îÍâÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list def GetLVAttrValue(self): return self.attrTuple[3] # ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© list def GetUpItemAttrType(self): return self.attrTuple[4] # ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount list def GetUpItemAttrValue(self): return self.attrTuple[5] # ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount list def GetUpEatItemPerCount(self): return self.attrTuple[6] # ÿ´ÎÅàÑøÏûºÄx¸ö DWORD # ×øÆïÉý¼¶±í class IPY_HorseLVUp(): def __init__(self): self.attrTuple = None return def GetHorseLV(self): return self.attrTuple[0] # ×øÆïµÈ¼¶ BYTE def GetHorseSkinID(self): return self.attrTuple[1] # Íâ¹ÛÎïÆ·ID DWORD def GetNeedEatCount(self): return self.attrTuple[2] # Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ© WORD def GetLVAttrType(self): return self.attrTuple[3] # ÿ¼¶¶îÍâÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list def GetLVAttrValue(self): return self.attrTuple[4] # ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© list def GetUpItemAttrType(self): return self.attrTuple[5] # ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount list def GetUpItemAttrValue(self): return self.attrTuple[6] # ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount list def GetUpEatItemPerCount(self): return self.attrTuple[7] # ÿ´ÎÅàÑøÏûºÄx¸ö DWORD # ×øÆïÅàÑø±í class IPY_HorseTrain(): def __init__(self): self.attrTuple = None return def GetTrainType(self): return self.attrTuple[0] # ÅàÑøÀàÐÍ BYTE def GetTrainLV(self): return self.attrTuple[1] # ÅàÑøµÈ½× BYTE def GetNeedRealmLV(self): return self.attrTuple[2] # ÅàÑøËùÐè¾³½ç WORD def GetEatCntTotal(self): return self.attrTuple[3] # Éý½×ËùÐè¸öÊý£¨·ÇÀۼƣ© DWORD def GetEatCntEverytime(self): return self.attrTuple[4] # ÿ´ÎÅàÑøÏûºÄx¸ö DWORD def GetEatItemAttrTypeList(self): return self.attrTuple[5] # ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ=EatCntEverytime list def GetEatItemAttrValueList(self): return self.attrTuple[6] # ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ=EatCntEverytime list def GetLVAttrTypeList(self): return self.attrTuple[7] # ÿ¼¶¶îÍâÊôÐÔÀࣨ·ÇÀÛ»ý£© list def GetLVAttrValueList(self): return self.attrTuple[8] # ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© list # ×øÆï»Ã»¯±í class IPY_HorseSkinPlus(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # »Ã»¯±àºÅID BYTE def GetHorseSkinPlusID(self): return self.attrTuple[1] # Íâ¹ÛÎïÆ·ID DWORD def GetUnlockItemID(self): return self.attrTuple[2] # ½âËø×øÆïÎïÆ·±àºÅ DWORD def GetUnlockItemCnt(self): return self.attrTuple[3] # ½âËøËùÐèÎïÆ·ÊýÁ¿ BYTE def GetAttrType(self): return self.attrTuple[4] # ¼¤»î¼Ó³ÉÊôÐÔÀàÐÍ list def GetAttrValue(self): return self.attrTuple[5] # ¼¤»î¼Ó³ÉÊôÐÔÖµ list def GetInitFightPower(self): return self.attrTuple[6] # Ƥ·ô¶îÍâÕ½Á¦ DWORD def GetHorseID(self): return self.attrTuple[7] # ¶ÔӦ׸ÆïID DWORD def GetSkinValidTime(self): return self.attrTuple[8] # ÓÐЧʱ³¤Ãë DWORD # ×øÆï±í class IPY_Horse(): def __init__(self): self.attrTuple = None return def GetHorseID(self): return self.attrTuple[0] # ×øÆïID DWORD def GetHorseSkinID(self): return self.attrTuple[1] # Íâ¹ÛÎïÆ·ID DWORD def GetQuality(self): return self.attrTuple[2] # ×øÆïÆ·ÖÊ BYTE # ×øÆïÉýÐDZí class IPY_HorseStarUp(): def __init__(self): self.attrTuple = None return def GetHorseID(self): return self.attrTuple[0] # ×øÆïID DWORD def GetHorseStar(self): return self.attrTuple[1] # ×øÆïÐǼ¶ BYTE def GetStarUpNeedItemList(self): return self.attrTuple[2] # ÉýÏÂÒ»ÐÇËùÐèµÀ¾ß [[ÎïÆ·ID,¸öÊý], ...] list def GetStarAttrType(self): return self.attrTuple[3] # ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list def GetStarAttrValue(self): return self.attrTuple[4] # ÀÛ¼Æ×ÜÊôÐÔÖµ list # ¹Å±¦±í class IPY_Gubao(): def __init__(self): self.attrTuple = None return def GetGubaoID(self): return self.attrTuple[0] # ¹Å±¦ID WORD def GetGubaoType(self): return self.attrTuple[1] # ¹Å±¦·ÖÀà BYTE def GetGubaoQuality(self): return self.attrTuple[2] # ¹Å±¦Æ·ÖÊ BYTE def GetUnlockItemID(self): return self.attrTuple[3] # ½âËøËùÐèÎïÆ·ID DWORD def GetUnlockItemCnt(self): return self.attrTuple[4] # ½âËøËùÐèÎïÆ·ÊýÁ¿ BYTE # ¹Å±¦¹²ÃùÊôÐÔ±í class IPY_GubaoResonanceAttr(): def __init__(self): self.attrTuple = None return def GetResonanceID(self): return self.attrTuple[0] # ¹²ÃùID WORD def GetResonanceStar(self): return self.attrTuple[1] # ¹²ÃùÐǼ¶ BYTE def GetResonanceAttrIDList(self): return self.attrTuple[2] # ¹²Ãù×ÜÊôÐÔIDÁбí list def GetResonanceAttrValueList(self): return self.attrTuple[3] # ¹²Ãù×ÜÊôÐÔÖµÁбí list # ¹Å±¦¹²Ãù×éºÏ±í class IPY_GubaoResonance(): def __init__(self): self.attrTuple = None return def GetResonanceID(self): return self.attrTuple[0] # ¹²ÃùID WORD def GetGubaoIDList(self): return self.attrTuple[1] # ¹Å±¦IDÁбí list # ¹Å±¦ÉýÐDZí class IPY_GubaoStar(): def __init__(self): self.attrTuple = None return def GetGubaoID(self): return self.attrTuple[0] # ¹Å±¦ID WORD def GetGubaoStar(self): return self.attrTuple[1] # ¹Å±¦ÐǼ¶ BYTE def GetStarUPNeedItemInfo(self): return self.attrTuple[2] # ÉýÐÇËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list def GetStarUPNeedQualityPiece(self): return self.attrTuple[3] # ÉýÏÂÒ»ÐǶîÍâËùÐèÆ·ÖÊË鯬 [[Æ·ÖÊ,¸öÊý], ...] list def GetStarAttrIDList(self): return self.attrTuple[4] # ÀÛ¼Æ×ÜÊôÐÔIDÁбí list def GetStarAttrValueList(self): return self.attrTuple[5] # ÀÛ¼Æ×ÜÊôÐÔÖµÁбí list def GetStarEffIDList(self): return self.attrTuple[6] # ÐǼ¶ÌØÊâЧ¹ûIDÁбí list # ¹Å±¦ÌØÊâЧ¹û±í class IPY_GubaoEffAttr(): def __init__(self): self.attrTuple = None return def GetGubaoEffID(self): return self.attrTuple[0] # ¹Å±¦ÌØÊâЧ¹ûID DWORD def GetGubaoEffType(self): return self.attrTuple[1] # Ч¹ûÀàÐÍ BYTE def GetEffCond(self): return self.attrTuple[2] # Ìõ¼þ DWORD def GetEffCond2(self): return self.attrTuple[3] # Ìõ¼þ2 DWORD def GetEffCond3(self): return self.attrTuple[4] # Ìõ¼þ3 DWORD def GetIsPer(self): return self.attrTuple[5] # ÊÇ·ñ°Ù·Ö±ÈÌáÉý BYTE def GetEffFuncAttrIDList(self): return self.attrTuple[6] # ÌáÉýÖ¸¶¨¹¦ÄÜÊôÐÔIDÁбí list def GetEffAttrID(self): return self.attrTuple[7] # Ö±½ÓÔö¼ÓÊôÐÔÀàÐÍ DWORD def GetEffAttrValue(self): return self.attrTuple[8] # ÌáÉýÊôÐÔÖµ DWORD def GetEffItemAwardList(self): return self.attrTuple[9] # ÁìÈ¡ÎïÆ·Áбí list # ¹Å±¦Æ·ÖÊÉý¼¶±í class IPY_GubaoLV(): def __init__(self): self.attrTuple = None return def GetGubaoType(self): return self.attrTuple[0] # ¹Å±¦·ÖÀà BYTE def GetGubaoQuality(self): return self.attrTuple[1] # ¹Å±¦Æ·ÖÊ BYTE def GetGubaoLV(self): return self.attrTuple[2] # ¹Å±¦µÈ¼¶ BYTE def GetLVUPNeedItemInfo(self): return self.attrTuple[3] # Éý¼¶ËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list def GetLVAttrTypeList(self): return self.attrTuple[4] # µÈ¼¶ÊôÐÔÀàÐÍÁбí list def GetLVAttrValueList(self): return self.attrTuple[5] # µÈ¼¶ÊôÐÔÖµÁбí list # Éñͨ±í class IPY_Shentong(): def __init__(self): self.attrTuple = None return def GetShentongID(self): return self.attrTuple[0] # ÉñͨID BYTE def GetNeedGubaoID(self): return self.attrTuple[1] # ½âËøËùÐè¹Å±¦ID WORD # ÉñͨÉý¼¶±í class IPY_ShentongLV(): def __init__(self): self.attrTuple = None return def GetShentongID(self): return self.attrTuple[0] # ÉñͨID BYTE def GetShentongClassLV(self): return self.attrTuple[1] # Éñͨ½×¼¶ BYTE def GetShentongLV(self): return self.attrTuple[2] # ÉñͨµÈ¼¶ BYTE def GetLVLightNeedItem(self): return self.attrTuple[3] # µãÁÁ¸Ã¼¶ËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list def GetLVAttrTypeList(self): return self.attrTuple[4] # ¸Ã¼¶ÊôÐÔÀàÐÍÁбí list def GetLVAttrValueList(self): return self.attrTuple[5] # ¸Ã¼¶ÊôÐÔÖµÁбí list def GetLVSkillID(self): return self.attrTuple[6] # ¸Ã¼¶Ö°ÒµÍ¨Óü¼ÄÜID DWORD def GetFightPowerEx(self): return self.attrTuple[7] # ¸½¼ÓÕ½Á¦ DWORD # Íæ¼ÒµÈ¼¶±í class IPY_PlayerLV(): def __init__(self): self.attrTuple = None return def GetLV(self): return self.attrTuple[0] # Íæ¼ÒµÈ¼¶ WORD def GetExpPoint(self): return self.attrTuple[1] # Éý¼¶ËùÐè¾­Ñéµã,ÿ¸ö¾­Ñéµã´ú±íµÄ¾­ÑéÓÉÏîÄ¿¾ö¶¨ DWORD def GetExp(self): return self.attrTuple[2] # ³ý¾­Ñéµã×ܾ­ÑéÍâÉý¼¶»¹ÐèµÄ¾­Ñé DWORD def GetTalentPoint(self): return self.attrTuple[3] # µÈ¼¶»ñµÃµÄÌ츳µã BYTE def GetReExp(self): return self.attrTuple[4] # µÈ¼¶¾­ÑéЧÂÊ(second) DWORD def GetReMaxHP(self): return self.attrTuple[5] # ÉúÃü DWORD def GetReAtk(self): return self.attrTuple[6] # ¹¥»÷ DWORD def GetReDef(self): return self.attrTuple[7] # ·ÀÓù DWORD def GetReHit(self): return self.attrTuple[8] # ÃüÖÐ DWORD def GetReMiss(self): return self.attrTuple[9] # ÉÁ±Ü DWORD def GetReAtkSpeed(self): return self.attrTuple[10] # ¹¥ËÙ DWORD def GetReSkillAtkRate(self): return self.attrTuple[11] # ¼¼ÄÜÉ˺¦±ÈÀý DWORD def GetReDamagePer(self): return self.attrTuple[12] # Ôö¼ÓÉ˺¦ DWORD def GetReDamReduce(self): return self.attrTuple[13] # ¼õÉÙÉ˺¦ DWORD def GetReIgnoreDefRate(self): return self.attrTuple[14] # ÎÞÊÓ·ÀÓù±ÈÀý DWORD def GetReLuckyHitRate(self): return self.attrTuple[15] # »áÐÄÒ»»÷ÂÊ DWORD def GetReLuckyHit(self): return self.attrTuple[16] # »áÐÄÒ»»÷É˺¦ DWORD def GetReBleedDamage(self): return self.attrTuple[17] # Á÷ѪÉ˺¦Ôö¼Ó DWORD def GetReIceAtk(self): return self.attrTuple[18] # ÕæÊµÉ˺¦ DWORD def GetReIceDef(self): return self.attrTuple[19] # ÕæÊµµÖÓù DWORD def GetRePetAtk(self): return self.attrTuple[20] # Áé³è¹¥»÷ DWORD def GetRePetSkillAtkRate(self): return self.attrTuple[21] # Áé³è¼¼ÄÜ DWORD def GetRePetDamPer(self): return self.attrTuple[22] # Áé³èÉ˺¦Ôö¼Ó DWORD def GetReFinalHurt(self): return self.attrTuple[23] # ¹Ì¶¨É˺¦Ôö¼Ó DWORD def GetReFinalHurtReduce(self): return self.attrTuple[24] # ¹Ì¶¨É˺¦¼õÉÙ DWORD def GetRePotionReply(self): return self.attrTuple[25] # Ѫƿ»Ö¸´Á¿ DWORD def GetRePotionCD(self): return self.attrTuple[26] # ѪƿCD DWORD def GetAttackEff(self): return self.attrTuple[27] # ¹Ò»úЧÂÊ DWORD def GetReFightPower(self): return self.attrTuple[28] # Õ½¶·Á¦ DWORD def GetIceLodeFightPower(self): return self.attrTuple[29] # ±ù¾§¿óÂöɨµ´Õ½¶·Á¦ DWORD # ÌØÊâµØÍ¼Íæ¼ÒÊôÐÔ¹«Ê½±í class IPY_SpecMapPlayerAttrFormat(): def __init__(self): self.attrTuple = None return def GetDataMapID(self): return self.attrTuple[0] # Êý¾ÝµØÍ¼ID DWORD def GetAttrName(self): return self.attrTuple[1] # ÊôÐÔÃû char def GetAttrValueFormat(self): return self.attrTuple[2] # ×îÖÕÊôÐÔÖµ¹«Ê½£¨¿ÉÓòÎÊýÊôÐÔÃû£© char # GM²âÊÔÊôÐÔ±í class IPY_GMAttr(): def __init__(self): self.attrTuple = None return def GetGMAttrID(self): return self.attrTuple[0] # Êý¾ÝID DWORD def GetIsValid(self): return self.attrTuple[1] # ÊÇ·ñÓÐЧµÄ BYTE def GetGMAccID(self): return self.attrTuple[2] # GMÍæ¼ÒÕ˺Šchar def GetGMMaxLV(self): return self.attrTuple[3] # ÓÐЧµÄ×î´óµÈ¼¶ WORD def GetAttrLV(self): return self.attrTuple[4] # ¶ÔÓ¦µÈ¼¶±íÖеÄÊôÐÔ WORD def GetAttrPer(self): return self.attrTuple[5] # ¶ÔÓ¦µÈ¼¶±íÖеıÈÀý float def GetAttrSpecDict(self): return self.attrTuple[6] # ÌØÊâÊôÐÔÖµ×Öµä {attrKey:value, ...} dict def GetAttrExDict(self): return self.attrTuple[7] # ÌØÊâÊôÐÔÖµ×Öµä {attrKey:value, ...} dict # NPC±íÀ©Õ¹ class IPY_NPCEx(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # NPCID DWORD def GetFightPowerLackAtkLimit(self): return self.attrTuple[1] # Õ½Á¦²»×ãÏÞÖÆ¹¥»÷ BYTE def GetSuppressFightPower(self): return self.attrTuple[2] # ÍÆ¼ö/Ñ¹ÖÆÕ½Á¦ DWORD # ³É³¤Ð;³½ç¹ÖÎï±í class IPY_NPCRealmStrengthen(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # NPCID DWORD def GetRealmDifficulty(self): return self.attrTuple[1] # ¾³½çÄÑ¶È BYTE def GetMapID(self): return self.attrTuple[2] # DWORD def GetLV(self): return self.attrTuple[3] # NPCµÈ¼¶ DWORD def GetExp(self): return self.attrTuple[4] # »ù´¡¾­Ñé DWORD def GetMaxDrapLV(self): return self.attrTuple[5] # Íæ¼Ò×î´ó¿ÉµôÂäµÈ¼¶ WORD def GetEquipClassLV(self): return self.attrTuple[6] # µôÂä×°±¸½× BYTE def GetDropMoneyMin(self): return self.attrTuple[7] # ×îС½ð±Ò DWORD def GetDropMoneyMax(self): return self.attrTuple[8] # ×î´ó½ð±Ò DWORD def GetLowLV(self): return self.attrTuple[9] # ÍÆ¼ö×îµÍµÈ¼¶ WORD def GetHighestLV(self): return self.attrTuple[10] # ÍÆ¼ö×î¸ßµÈ¼¶ WORD def GetDefense(self): return self.attrTuple[11] # ÍÆ¼ö·ÀÓù DWORD def GetMDef(self): return self.attrTuple[12] # ±ê×¼»÷ɱʱ¼ä/ºÁÃë DWORD def GetFireDef(self): return self.attrTuple[13] # ÍÑ»ú¹Ò¾­Ñ鼯ËãÕ½Á¦ DWORD def GetSP(self): return self.attrTuple[14] # SP DWORD # ³É³¤Ð͹ÖÎï²ÎÊý¹«Ê½±í class IPY_NPCStrengthen(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # NPCID DWORD def GetIsStrengthenByPlayerCount(self): return self.attrTuple[1] # ÊÇ·ñ¸ù¾ÝÈËÊý³É³¤ BYTE def GetLVStrengthenMark(self): return self.attrTuple[2] # µÈ¼¶³É³¤ÊôÐÔ¹«Ê½±ê¼Ç BYTE def GetLVStrengthenType(self): return self.attrTuple[3] # µÈ¼¶³É³¤ÀàÐÍ, 0-²»°´µÈ¼¶³É³¤£»1-°´Íæ¼Òƽ¾ùµÈ¼¶£»2-°´Íæ¼Ò×î´óµÈ¼¶£»3-°´ÊÀ½çµÈ¼¶£» BYTE def GetCmpNPCBaseLV(self): return self.attrTuple[4] # ÊÇ·ñ±È½ÏNPC±íµÈ¼¶, ÊǵĻ°È¡NPC±íÅäÖõȼ¶Óë³É³¤µÈ¼¶ÖнϴóµÈ¼¶ BYTE def GetHitTime(self): return self.attrTuple[5] # ÊÜ»÷´ÎÊý DWORD def GetDefCoefficient(self): return self.attrTuple[6] # ÈËÎï·ÀÓùϵÊý DWORD def GetAtkCoefficient(self): return self.attrTuple[7] # ÈËÎï¹¥»÷ϵÊý DWORD def GetAdjustCoefficient(self): return self.attrTuple[8] # µ÷ÕûϵÊý±ÈÀý DWORD def GetAtkInterval(self): return self.attrTuple[9] # ¹ÖÎï¹¥»÷¼ä¸ô DWORD def GetHitRate(self): return self.attrTuple[10] # ¶ÔÈËÎïµÄÃüÖÐÂÊ DWORD def GetMissRate(self): return self.attrTuple[11] # ¶ÔÈËÎïµÄÉÁ±ÜÂÊ DWORD def GetMonterNum(self): return self.attrTuple[12] # ¹ÖÎïÊý DWORD def GetIceAtkCoefficient(self): return self.attrTuple[13] # ÔªËØ¹¥»÷±ÈÀý DWORD def GetIceDefCoefficient(self): return self.attrTuple[14] # ÔªËØ¿¹ÐÔ±ÈÀý DWORD def GetMaxEnduranceTime(self): return self.attrTuple[15] # Íæ¼Ò×î´ó³ÐÊÜÉ˺¦Ê±¼ä DWORD def GetFightPowerCoefficient(self): return self.attrTuple[16] # Ñ¹ÖÆÕ½¶·Á¦ÏµÊý DWORD # NPCʱ¼äµôѪ±í class IPY_NPCTimeLostHP(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # NPCID DWORD def GetLostHPPerSecond(self): return self.attrTuple[1] # µ¥ÈËÿÃëµôѪÁ¿ DWORD def GetMaxPlayerCount(self): return self.attrTuple[2] # ×î´óÈËÊý BYTE def GetLostHPPerSecondEx(self): return self.attrTuple[3] # ÿÔö¼ÓÒ»È˸½¼ÓµôѪÁ¿ DWORD def GetFightPowerMinByLV(self): return self.attrTuple[4] # ±ê×¼Õ½Á¦ÊÇ·ñÈ¡µÈ¼¶±í BYTE def GetFightPowerMin(self): return self.attrTuple[5] # ±ê×¼Õ½Á¦ DWORD def GetFightPowerMax(self): return self.attrTuple[6] # ÉÏÏÞÕ½Á¦ DWORD def GetEveryFightPower(self): return self.attrTuple[7] # ÿxµãÕ½Á¦ DWORD def GetEveryFightPowerLostHPEx(self): return self.attrTuple[8] # ÿxµãÕ½Á¦¸½¼ÓÉ˺¦ DWORD # ×°±¸Ì××°ÊôÐÔ±í class IPY_EquipSuitAttr(): def __init__(self): self.attrTuple = None return def GetSuiteID(self): return self.attrTuple[0] # Ì××°ID WORD def GetSuiteCnt(self): return self.attrTuple[1] # Ì××°¼þÊý BYTE def GetStar(self): return self.attrTuple[2] # ÐÇÊý BYTE def GetAttrInfo(self): return self.attrTuple[3] # ÊôÐÔ dict def GetSkillID(self): return self.attrTuple[4] # ¼¼ÄÜID DWORD def GetIsNotify(self): return self.attrTuple[5] # ÊÇ·ñ¹ã²¥ BYTE def GetActivateIndex(self): return self.attrTuple[6] # ¼¤»îË÷Òý WORD # ÓðÒí¾«Á¶ÊôÐÔ±í class IPY_WingRefineAttr(): def __init__(self): self.attrTuple = None return def GetWingClassLV(self): return self.attrTuple[0] # ³á°ò½×¼¶ BYTE def GetAttrInfo(self): return self.attrTuple[1] # ¾«Á¶ÊôÐÔÐÅÏ¢ dict def GetItemColorInfo(self): return self.attrTuple[2] # ¾«Á¶¾­Ñé¶ÔÓ¦ÑÕÉ«ÐÅÏ¢ dict def GetMaxRefineExp(self): return self.attrTuple[3] # ±¾½××î´ó¾«Á¶Öµ DWORD # ÓðÒí¾«Á¶¾­Ñé±í class IPY_WingRefineExp(): def __init__(self): self.attrTuple = None return def GetItemID(self): return self.attrTuple[0] # ¾«Á¶ÎïÆ·ID DWORD def GetRandExpMin(self): return self.attrTuple[1] # ×îÐ¡Ëæ»ú¾«Á¶Öµ DWORD def GetRandExpMax(self): return self.attrTuple[2] # ×î´óËæ»ú¾«Á¶Öµ DWORD def GetExpMaterial(self): return self.attrTuple[3] # ³á°ò´úÊý¶ÔÓ¦¾«Á¶Öµ dict # ÏÉÃ˿Ƽ¼±í class IPY_FamilyTech(): def __init__(self): self.attrTuple = None return def GetTechID(self): return self.attrTuple[0] # ¿Æ¼¼ID*1000+µÈ¼¶ DWORD def GetAttrType(self): return self.attrTuple[1] # ÊôÐÔÀàÐÍ BYTE def GetAttrValue(self): return self.attrTuple[2] # ÊôÐÔÖµ DWORD def GetContribution(self): return self.attrTuple[3] # ÐèÒª¹±Ï×¶È DWORD def GetPowerEx(self): return self.attrTuple[4] # ¶îÍâÕ½Á¦ DWORD # Õ½¶·Á¦²ÎÊýµÈ¼¶ÏµÊý±í class IPY_FightPowerParam(): def __init__(self): self.attrTuple = None return def GetLV(self): return self.attrTuple[0] # µÈ¼¶ WORD def GetCftHit(self): return self.attrTuple[1] # ÃüÖÐϵÊý DWORD def GetCftMiss(self): return self.attrTuple[2] # ÉÁ±ÜϵÊý DWORD def GetCftIgnoreDefRate(self): return self.attrTuple[3] # ÎÞÊÓ·ÀÓùϵÊý DWORD def GetCftDamChanceDef(self): return self.attrTuple[4] # µÖÓùϵÊý DWORD def GetCftFaintRate(self): return self.attrTuple[5] # »÷ÔÎϵÊý DWORD def GetCftSuperHitRateReduce(self): return self.attrTuple[6] # ±©»÷ÂÊ¿¹ÐÔϵÊý DWORD def GetCftSuperHitRate(self): return self.attrTuple[7] # ±©»÷ÂÊϵÊý DWORD def GetCftLuckyHitRate(self): return self.attrTuple[8] # »áÐÄÒ»»÷ÂÊϵÊý DWORD def GetCftLuckyHitRateReduce(self): return self.attrTuple[9] # »áÐÄÒ»»÷¿¹ÐÔϵÊý DWORD def GetCftSkillAtkRate(self): return self.attrTuple[10] # ¼¼ÄÜÉ˺¦ÏµÊý DWORD def GetCftSkillAtkRateReduce(self): return self.attrTuple[11] # ¼¼ÄܼõÉËϵÊý DWORD def GetCftFinalHurtPer(self): return self.attrTuple[12] # ×îÖÕÉ˺¦¼Ó³ÉϵÊý DWORD def GetCftFinalHurtReducePer(self): return self.attrTuple[13] # ×îÖÕÉ˺¦¼õÃâϵÊý DWORD def GetCftDamagePerPVP(self): return self.attrTuple[14] # PVPÉ˺¦Ôö¼ÓϵÊý DWORD def GetCftDamagePerPVPReduce(self): return self.attrTuple[15] # PVPÉ˺¦¼õÉÙϵÊý DWORD def GetCftNPCHurtAddPer(self): return self.attrTuple[16] # PVE¼¼ÄܼӳÉϵÊý DWORD def GetCftNormalHurtPer(self): return self.attrTuple[17] # ÆÕͨ¸½¼ÓÉ˺¦¼Ó³ÉϵÊý DWORD def GetCftFabaoHurtPer(self): return self.attrTuple[18] # ·¨±¦¸½¼ÓÉ˺¦¼Ó³ÉϵÊý DWORD def GetCftDamBackPer(self): return self.attrTuple[19] # É˺¦·´ÉäϵÊý DWORD def GetCftIgnoreDefRateReduce(self): return self.attrTuple[20] # ÎÞÊÓ·ÀÓù¿¹ÐÔϵÊý DWORD def GetCftFaintDefRate(self): return self.attrTuple[21] # ¿ØÖƵֿ¹ÏµÊý DWORD def GetCftAtkSpeed(self): return self.attrTuple[22] # ¹¥ËÙϵÊý DWORD def GetCftJobAHurtAddPer(self): return self.attrTuple[23] # ¶ÔÄ¿±êսʿÉ˺¦¼Ó³É DWORD def GetCftJobBHurtAddPer(self): return self.attrTuple[24] # ¶ÔÄ¿±ê·¨Ê¦É˺¦¼Ó³É DWORD def GetCftJobCHurtAddPer(self): return self.attrTuple[25] # ¶ÔÄ¿±ê¹­¼ýÉ˺¦¼Ó³É DWORD def GetCftJobAAtkReducePer(self): return self.attrTuple[26] # սʿ¹¥»÷É˺¦¼õÃâ DWORD def GetCftJobBAtkReducePer(self): return self.attrTuple[27] # ·¨Ê¦¹¥»÷É˺¦¼õÃâ DWORD def GetCftJobCAtkReducePer(self): return self.attrTuple[28] # ¹­¼ý¹¥»÷É˺¦¼õÃâ DWORD def GetCftAffairSpeedPer(self): return self.attrTuple[29] # ÏÉÃËÊÂÎñËÙ¶È¼Ó³É DWORD def GetCftFamilyBossHurtPer(self): return self.attrTuple[30] # ÏÉÃËBOSSÉ˺¦¼Ó³É DWORD def GetCftFamilyWarHPPer(self): return self.attrTuple[31] # ÏÉÃËÁªÈüÉúÃü¼Ó³É DWORD def GetCftFamilyWarAtkPer(self): return self.attrTuple[32] # ÏÉÃËÁªÈü¹¥»÷¼Ó³É DWORD def GetCftFamilySitExpPer(self): return self.attrTuple[33] # ÏÉÃË´ò×ø¾­Ñé¼Ó³É DWORD def GetCftBossFinalHurtPer(self): return self.attrTuple[34] # Boss×îÖÕÉ˺¦¼Ó³ÉϵÊý DWORD # NPCµôÂä±í class IPY_NPCDropItem(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # NPCID DWORD def GetMaxWorldLV(self): return self.attrTuple[1] # ×î´óÊÀ½çµÈ¼¶£¬0Ϊ²»ÏÞÖÆ£¬²»ÊÜ×î´óµôÂäµÈ¼¶Ó°Ïì WORD def GetMaxDropLV(self): return self.attrTuple[2] # ×î´ó¿ÉµôÂäµÄÍæ¼ÒµÈ¼¶, ²»Ó°ÏìÊÀ½çµÈ¼¶ WORD def GetCanDropRatePlus(self): return self.attrTuple[3] # ¶îÍâÌáÉýµôÂʵÄÊÇ·ñÓÐЧ BYTE def GetIsDropJobSelf(self): return self.attrTuple[4] # ÊÇ·ñÖ»µôÂä±¾Ö°Òµ BYTE def GetPieRateDrop(self): return self.attrTuple[5] # ±ýͼ¸ÅÂʵôÂäÐÅÏ¢ [(¸ÅÂÊ,0),(¸ÅÂÊ,(½×,ÑÕÉ«)),...] list def GetPieRateDoCnt(self): return self.attrTuple[6] # ±ýͼ¸ÅÂÊÖ´ÐдÎÊý BYTE def GetIndepRateDrop(self): return self.attrTuple[7] # ¶ÀÁ¢¸ÅÂʵôÂäÐÅÏ¢ {(½×,ÑÕÉ«):¸ÅÂÊ,...} dict def GetIndepRateDoCnt(self): return self.attrTuple[8] # ¶ÀÁ¢¸ÅÂÊÖ´ÐдÎÊý BYTE def GetEquipColorMaxDropCount(self): return self.attrTuple[9] # ×°±¸ÑÕÉ«×î´óµôÂäÎïÆ·Êý {ÑÕÉ«:ÉÏÏÞÊýÁ¿,...} dict def GetTianxuanEquipRateList(self): return self.attrTuple[10] # ÌìÐþµ¤×°±¸µôÂä±ýͼ [[¸ÅÂÊ,(½×,Æ·ÖÊ)], ...] list def GetEquipColorSuitInfo(self): return self.attrTuple[11] # ×°±¸ÑÕÉ«¶ÔÓ¦Ì××°¸ÅÂÊ {ÑÕÉ«:Ì××°¸ÅÂÊ, ...} dict def GetEquipPartKeyRateInfo(self): return self.attrTuple[12] # ×°±¸²¿Î»¼¯ºÏÐÅÏ¢ {(ÑÕÉ«,ÊÇ·ñÌ××°):²¿Î»¼¯ºÏkey, ...} dict def GetColorSuitPartOptimization(self): return self.attrTuple[13] # ²¿Î»ÑÕÉ«ÌׯÀ·ÖÓÅÑ¡µôÂ䣬ʮλ´ú±íÑÕÉ«£¬¸öλ´ú±íÌ××° BYTE def GetKillCountDropEquipPub(self): return self.attrTuple[14] # µÚx´Î»÷ɱ¸½¼Ó±Øµô×°±¸ {´ÎÊý:[½×,ÑÕÉ«,ÊÇ·ñÌ××°,²¿Î»¼¯ºÏkey], ...} dict def GetItemIDDropRate(self): return self.attrTuple[15] # Ö¸¶¨ÎïÆ·IDµôÂÊÐÅÏ¢ {ÎïÆ·ID:¸ÅÂÊ, ...} dict def GetTianxuanItemIDRate(self): return self.attrTuple[16] # ÌìÐþµ¤Ö¸¶¨ID¸ÅÂÊ {ÎïÆ·ID:¸ÅÂÊ, ...} dict def GetItemIDMaxDropCount(self): return self.attrTuple[17] # Ö¸¶¨ÎïÆ·ID×î´óµôÂä¸öÊý,ûÅäĬÈÏ1´Î {ÎïÆ·ID:Ëæ»ú´ÎÊý,...} dict def GetItemKeyDropRate(self): return self.attrTuple[18] # ÎïÆ·ID¼¯ºÏKey¸ÅÂÊ, Ëæ»úÒ»¸ö, ÓÅÏȼ¶µÍ {ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...} dict def GetItemKeyDropRateJob(self): return self.attrTuple[19] # ÎïÆ·ID¼¯ºÏKey¸ÅÂÊ, ×ÔÉíÖ°Òµ, ÓÅÏȼ¶¸ß {ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...} dict def GetTianxuanItemKeyRate(self): return self.attrTuple[20] # ÌìÐþµ¤Ö¸¶¨ID¼¯ºÏKey¸ÅÂÊ{ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...} dict def GetItemKeyMaxDropCount(self): return self.attrTuple[21] # ÎïÆ·ID¼¯ºÏKeyËæ»ú´ÎÊý,ûÅäĬÈÏ1´Î {ÎïÆ·ID¼¯ºÏkey:Ëæ»ú´ÎÊý,...} dict def GetDropMoneyDoCnt(self): return self.attrTuple[22] # µôÂä½ð±ÒÖ´ÐдÎÊý BYTE def GetDropMoneyRate(self): return self.attrTuple[23] # µôÂä½ð±Ò¸ÅÂÊ WORD def GetDropMoneyMin(self): return self.attrTuple[24] # µôÂä½ð±Ò×îСֵ WORD def GetDropMoneyMax(self): return self.attrTuple[25] # µôÂä½ð±Ò×î´óÖµ WORD def GetKillCountDropPub(self): return self.attrTuple[26] # »÷ɱ´ÎÊý±Øµô£¨¹«¹²£©{»÷ɱ´ÎÊý:[[ÎïÆ·ID, ...], [Ëæ»úÎïÆ·ID, ...]], ...} dict def GetKillCountDropPri(self): return self.attrTuple[27] # »÷ɱ´ÎÊý±Øµô£¨Ë½ÓУ©[»÷ɱ´ÎÊý,[ÎïÆ·ID,...],ÊÇ·ñÖ±½Ó·ÅÈë±³°ü] list def GetPriItemIDDrop(self): return self.attrTuple[28] # ËùÓйéÊôÕß˽ÓеôÂäÎïÆ·IDÁбí,ÿÈËÒ»·Ý,ĬÈϰó¶¨,ûÓÐÖ°ÒµÇø·Ö[ÎïÆ·ID, ...] list def GetAucionItemCanSell(self): return self.attrTuple[29] # µôÂäÅÄÆ·¿É·ñÉϼܼ¯ÊÐ BYTE # ·ûÓ¡Ëþ±í class IPY_RuneTower(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # Ëþ±àºÅ DWORD def GetRunePoint(self): return self.attrTuple[1] # ¹ý¹Ø¸ø·ûÓ¡¾«»ª DWORD def GetYsog(self): return self.attrTuple[2] # ¹ý¹Ø¸øÄ§¾« DWORD def GetNPCID(self): return self.attrTuple[3] # npcid DWORD def GetIsNotify(self): return self.attrTuple[4] # ÊÇ·ñ¹ã²¥ BYTE def GetFixEndAward(self): return self.attrTuple[5] # ¹Ì¶¨½áËã½±Àø list def GetGoodDrop(self): return self.attrTuple[6] # ÕäÏ¡·ûӡͨ¹ØµôÂä¸ÅÂÊ dict def GetSweepRunePoint(self): return self.attrTuple[7] # ɨµ´·ûÓ¡¾«»ª DWORD def GetSweepYsog(self): return self.attrTuple[8] # ɨµ´Ä§¾« DWORD def GetSweepGoodDrop(self): return self.attrTuple[9] # ɨµ´ÕäÏ¡·ûÓ¡ dict # µØÍ¼±í¸ñ class IPY_ChinMap(): def __init__(self): self.attrTuple = None return def GetMapID(self): return self.attrTuple[0] # µØÍ¼ID DWORD def GetCanRide(self): return self.attrTuple[1] # ¿É·ñÆï³Ë BYTE def GetCanOutPet(self): return self.attrTuple[2] # ¿É·ñÕÙ»½³èÎï BYTE # ¸±±¾×ܱí class IPY_FBFunc(): def __init__(self): self.attrTuple = None return def GetDataMapID(self): return self.attrTuple[0] # Êý¾ÝµØÍ¼ID DWORD def GetDayTimes(self): return self.attrTuple[1] # ÿÈÕ¿ÉÌôÕ½´ÎÊý, 0Ϊ²»ÏÞÖÆ BYTE def GetDayResetType(self): return self.attrTuple[2] # ÿÈÕ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã BYTE def GetWeekTimes(self): return self.attrTuple[3] # ÿÖÜ¿ÉÌôÕ½´ÎÊý, 0Ϊ²»ÏÞÖÆ BYTE def GetWeekResetType(self): return self.attrTuple[4] # ÿÖÜ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã BYTE def GetRewardRate(self): return self.attrTuple[5] # ÆÀ¼¶½±Àø±ÈÀý list def GetBuyTimesVIPPriID(self): return self.attrTuple[6] # ¹ºÂò´ÎÊýVIPȨÏÞID DWORD def GetExtraTimesVIPPriID(self): return self.attrTuple[7] # ¶îÍâ´ÎÊýVIPȨÏÞID DWORD def GetExtraTimesMWPriID(self): return self.attrTuple[8] # ¶îÍâ´ÎÊý·¨±¦È¨ÏÞID DWORD def GetGuardPick(self): return self.attrTuple[9] # ¸ÃµØÍ¼ÊØ»¤ÊÇ·ñÄÜʰȡ BYTE def GetOfflineTime(self): return self.attrTuple[10] # ÀëÏß¶à¾ÃÍ˳ö¸±±¾(Ãë) WORD def GetFBPoint(self): return self.attrTuple[11] # ¸±±¾¹ý¹ØÏÉÔµ±Ò WORD def GetHelpPoint(self): return self.attrTuple[12] # ÖúÕ½ÏÉÔµ±Ò(0´ú±í²»¿ÉÖúÕ½) WORD def GetDayHelpCountMax(self): return self.attrTuple[13] # ÿÈÕÊÖ¶¯ÖúÕ½»ñµÃÏÉÔµ±Ò´ÎÊý£¨·Ç¾µÏñ£© BYTE # ¸±±¾¹¦ÄÜÏß·±í class IPY_FBLine(): def __init__(self): self.attrTuple = None return def GetDataMapID(self): return self.attrTuple[0] # Êý¾ÝµØÍ¼ID DWORD def GetLineID(self): return self.attrTuple[1] # ¹¦ÄÜÏß·ID BYTE def GetMapID(self): return self.attrTuple[2] # ³¡¾°µØÍ¼ID DWORD def GetLVLimitMin(self): return self.attrTuple[3] # ×îµÍµÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ WORD def GetLVLimitMax(self): return self.attrTuple[4] # ×î¸ßµÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ WORD def GetTicketID(self): return self.attrTuple[5] # ÃÅÆ±ID DWORD def GetTicketCostCnt(self): return self.attrTuple[6] # ÃÅÆ±ÏûºÄÊýÐÅÏ¢ list def GetTicketPrice(self): return self.attrTuple[7] # ÃÅÆ±µ¥¼Û(²»ÄÜÓÃÇ®µÖµÄÅä0) WORD def GetSweepLVLimit(self): return self.attrTuple[8] # ɨµ´µÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ WORD def GetSweepItemID(self): return self.attrTuple[9] # ɨµ´ËùÐèµÀ¾ßID DWORD def GetSweepCostCnt(self): return self.attrTuple[10] # ɨµ´ËùÐèµÀ¾ß¸öÊý BYTE def GetEnterPosInfo(self): return self.attrTuple[11] # ½øÈë×ø±êÐÅÏ¢ eval def GetStepTime(self): return self.attrTuple[12] # ½×¶Îʱ¼ä eval def GetRefreshNPC(self): return self.attrTuple[13] # ±êÊÔµãË¢¹ÖÅäÖà eval def GetGradeInfo(self): return self.attrTuple[14] # ÆÀ¼¶¹æÔò eval def GetRewardInfo(self): return self.attrTuple[15] # ½±ÀøÐÅÏ¢ eval # ¸±±¾Í¨ÓÃÑø³É±í class IPY_FBGeneralTrain(): def __init__(self): self.attrTuple = None return def GetDataMapID(self): return self.attrTuple[0] # Êý¾ÝµØÍ¼ID DWORD def GetLineID(self): return self.attrTuple[1] # ¹¦ÄÜÏß·ID BYTE def GetLVLimit(self): return self.attrTuple[2] # ¶àÉÙ¼¶¿ÉÌôÕ½, 0Ϊ²»ÏÞÖÆ WORD def GetRealmLimit(self): return self.attrTuple[3] # ¶àÉÙ¾³½ç¿ÉÌôÕ½, 0Ϊ²»ÏÞÖÆ WORD def GetBossNPCID(self): return self.attrTuple[4] # ¹ý¹ØbossID DWORD def GetOtherNPCIDList(self): return self.attrTuple[5] # ÆäËûNPCIDList list def GetPassAwardItemList(self): return self.attrTuple[6] # ¹ý¹Ø½±ÀøÁбí list # ¸±±¾ÖúÕ½±í class IPY_FBHelpBattle(): def __init__(self): self.attrTuple = None return def GetDataMapID(self): return self.attrTuple[0] # Êý¾ÝµØÍ¼ID DWORD def GetLineID(self): return self.attrTuple[1] # ¹¦ÄÜÏß·ID BYTE def GetFightPowerMin(self): return self.attrTuple[2] # ÖúÕ½×îµÍÕ½Á¦£¬Ò²ÊǸ±±¾±£µ×Õ½Á¦ DWORD def GetRobotFightPower(self): return self.attrTuple[3] # ÖúÕ½NPCÕ½Á¦ DWORD def GetRobotLV(self): return self.attrTuple[4] # ÖúÕ½NPCµÈ¼¶ WORD def GetRobotBaseHurt(self): return self.attrTuple[5] # ÖúÕ½NPC±£µ×É˺¦ DWORD def GetRobotHPCoefficient(self): return self.attrTuple[6] # ÖúÕ½NPCÉúÃüϵÊý WORD def GetRobotSkillsDict(self): return self.attrTuple[7] # ÖúÕ½NPC¼¼ÄÜ, {"Ö°Òµ":[¼¼ÄÜÁбí], ...} dict # ¸±±¾Ë¢¹Ö±êʶµã±í class IPY_NPCCustomRefresh(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # Ë¢¹Ö¹æÔòID DWORD def GetRefreshMarkInfo(self): return self.attrTuple[1] # ±êÊÔµã, µ±ÅäÖöà¸öÊ±ÎªËæ»ú±êÊÔµã, ²»Öظ´ list def GetRefreshNPCID(self): return self.attrTuple[2] # Ö¸¶¨NPCID DWORD def GetRandNPCIDList(self): return self.attrTuple[3] # µ¥´ÎËæ»úË¢¹ÖNPCID list def GetNPCIDCountList(self): return self.attrTuple[4] # µ¥´ÎÖ¸¶¨Ë¢¹ÖNPC list def GetMaxCount(self): return self.attrTuple[5] # µ¥¸öµã×î´ó´æÔÚ¹ÖÎïÊý WORD def GetTotalMaxCount(self): return self.attrTuple[6] # Ïàͬ±êÊÔµã×ÜË¢¹ÖÎïÊý WORD def GetIsLineOneOnly(self): return self.attrTuple[7] # ÊÇ·ñ½öÔÚ1ÏßË¢¹Ö BYTE def GetRefreshTick(self): return self.attrTuple[8] # Ë¢¹Ö¼ä¸ôÃë DWORD def GetIsRepeat(self): return self.attrTuple[9] # ÊÇ·ñÑ­»·Ë¢¹Ö BYTE # ÈÕ³£»î¶¯±í class IPY_DailyAction(): def __init__(self): self.attrTuple = None return def GetDailyID(self): return self.attrTuple[0] # »î¶¯ID DWORD def GetOpenTimeDict(self): return self.attrTuple[1] # ¿ªÆôʱ¼ä dict def GetDuration(self): return self.attrTuple[2] # ³ÖÐøÊ±¼ä, 0Ϊ²»ÏÞÖÆ DWORD def GetDayTimes(self): return self.attrTuple[3] # ÿÈÕ´ÎÊý, 0Ϊ²»ÏÞÖÆ DWORD def GetDayBuyTimes(self): return self.attrTuple[4] # ÿÈտɹºÂò´ÎÊý DWORD def GetBuyTimesPrivilegeID(self): return self.attrTuple[5] # ¹ºÂò´ÎÊýVIPȨÏÞID BYTE def GetMoneyType(self): return self.attrTuple[6] # »õ±ÒÀàÐÍ BYTE def GetBuyNeedMoney(self): return self.attrTuple[7] # ¹ºÂò´ÎÊýÐèÒªÏÉÓñ list def GetDayItemAddTimes(self): return self.attrTuple[8] # ÿÈÕ¿ÉÓÃÎïÆ·Ôö¼Ó´ÎÊý DWORD def GetDayItemID(self): return self.attrTuple[9] # Ôö¼Ó´ÎÊýµÄÎïÆ·ID DWORD def GetDayResetType(self): return self.attrTuple[10] # ÿÈÕ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã BYTE def GetWeekTimes(self): return self.attrTuple[11] # ÿÖÜ´ÎÊý, 0Ϊ²»ÏÞÖÆ DWORD def GetWeekResetType(self): return self.attrTuple[12] # ÿÖÜ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã BYTE # ×°±¸ÆÀ·ÖÊôÐÔϵÊý±í class IPY_EquipGSParam(): def __init__(self): self.attrTuple = None return def GetClassLV(self): return self.attrTuple[0] # ×°±¸½×¼¶ BYTE def GetEquipColor(self): return self.attrTuple[1] # ×°±¸ÑÕÉ« BYTE def GetIsSuit(self): return self.attrTuple[2] # ÊÇ·ñÌ××° BYTE def GetItemQuality(self): return self.attrTuple[3] # ÎïÆ·ÐǼ¶ BYTE def GetBaseEquipMaxHPAddPerC(self): return self.attrTuple[4] # »ù´¡·À¾ßÉúÃü°Ù·Ö±ÈϵÊý DWORD def GetBaseEquipAtkAddPerC(self): return self.attrTuple[5] # »ù´¡ÎäÆ÷¹¥»÷°Ù·Ö±ÈϵÊý DWORD def GetSuperHitC(self): return self.attrTuple[6] # ±©»÷ֵϵÊý DWORD def GetSuperHitPerC(self): return self.attrTuple[7] # ±©»÷Öµ°Ù·Ö±ÈϵÊý DWORD def GetLuckyHitRateC(self): return self.attrTuple[8] # »áÐÄÒ»»÷ÂÊϵÊý DWORD def GetLuckyHitRateReduceC(self): return self.attrTuple[9] # »áÐÄÒ»»÷¿¹ÐÔϵÊý DWORD def GetLuckPerC(self): return self.attrTuple[10] # ÆøÔ˰ٷֱÈϵÊý DWORD def GetPerLVAtkC(self): return self.attrTuple[11] # ÿ¼¶Ôö¼Ó¹¥»÷Á¦ÏµÊý DWORD def GetPerLVMaxHPC(self): return self.attrTuple[12] # ÿ¼¶Ôö¼ÓÉúÃüֵϵÊý DWORD def GetDropMoneyPerC(self): return self.attrTuple[13] # Ôö¼ÓµôÂä½ð±ÒÁ¿°Ù·Ö±ÈϵÊý DWORD def GetSuperHitReduceC(self): return self.attrTuple[14] # ±©»÷¼õÉ˰ٷֱÈϵÊý DWORD def GetSuperHitRateReduceC(self): return self.attrTuple[15] # ±©»÷¿¹ÐÔϵÊý DWORD def GetHitC(self): return self.attrTuple[16] # ÃüÖÐϵÊý DWORD def GetMissC(self): return self.attrTuple[17] # ÉÁ±ÜϵÊý DWORD def GetPetDamPerC(self): return self.attrTuple[18] # Áé³èÔöÉ˰ٷֱÈϵÊý DWORD def GetMaxHPPerC(self): return self.attrTuple[19] # ÉúÃü¼Ó³ÉϵÊý DWORD def GetAtkPerC(self): return self.attrTuple[20] # ¹¥»÷¼Ó³ÉϵÊý DWORD def GetSkillAtkRateC(self): return self.attrTuple[21] # ¼¼ÄܼӳÉϵÊý DWORD def GetSkillAtkRateReduceC(self): return self.attrTuple[22] # ¼¼ÄܼõÃâϵÊý DWORD def GetSkillAddPer1C(self): return self.attrTuple[23] # ¼¼ÄÜÉ˺¦ÔöÇ¿1ϵÊý DWORD def GetSkillAddPer2C(self): return self.attrTuple[24] # ¼¼ÄÜÉ˺¦ÔöÇ¿2ϵÊý DWORD def GetSkillAddPer3C(self): return self.attrTuple[25] # ¼¼ÄÜÉ˺¦ÔöÇ¿3ϵÊý DWORD def GetSkillAddPer4C(self): return self.attrTuple[26] # ¼¼ÄÜÉ˺¦ÔöÇ¿4ϵÊý DWORD def GetSkillAddPer5C(self): return self.attrTuple[27] # ¼¼ÄÜÉ˺¦ÔöÇ¿5ϵÊý DWORD def GetSkillAddPer6C(self): return self.attrTuple[28] # ¼¼ÄÜÉ˺¦ÔöÇ¿6ϵÊý DWORD def GetSkillAddPer7C(self): return self.attrTuple[29] # ¼¼ÄÜÉ˺¦ÔöÇ¿7ϵÊý DWORD def GetSkillReducePer1C(self): return self.attrTuple[30] # Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ1ϵÊý DWORD def GetSkillReducePer2C(self): return self.attrTuple[31] # Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ2ϵÊý DWORD def GetSkillReducePer3C(self): return self.attrTuple[32] # Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ3ϵÊý DWORD def GetSkillReducePer4C(self): return self.attrTuple[33] # Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ4ϵÊý DWORD def GetSkillReducePer5C(self): return self.attrTuple[34] # Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ5ϵÊý DWORD def GetSkillReducePer6C(self): return self.attrTuple[35] # Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ6ϵÊý DWORD def GetSkillReducePer7C(self): return self.attrTuple[36] # Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ7ϵÊý DWORD def GetReduceSkillCDPerC(self): return self.attrTuple[37] # ¼õÉÙËùÓм¼ÄÜCDϵÊý DWORD def GetLuckyHitPerC(self): return self.attrTuple[38] # »áÐÄÉ˺¦¼Ó³ÉϵÊý DWORD def GetFaintDefRateC(self): return self.attrTuple[39] # ¿ØÖƵֿ¹ÏµÊý DWORD def GetSuperHitRateC(self): return self.attrTuple[40] # ±©»÷ÂʼӳÉϵÊý DWORD def GetIgnoreDefRateC(self): return self.attrTuple[41] # ÎÞÊÓ·ÀÓùϵÊý DWORD def GetIgnoreDefRateReduceC(self): return self.attrTuple[42] # ÎÞÊÓ·ÀÓù¼õÃâϵÊý DWORD def GetProDefPerC(self): return self.attrTuple[43] # ·À»¤°Ù·Ö±ÈϵÊý DWORD def GetFinalHurtPerC(self): return self.attrTuple[44] # ×îÖÕÉ˺¦¼Ó³ÉϵÊý DWORD def GetFinalHurtReducePerC(self): return self.attrTuple[45] # ×îÖÕÉ˺¦¼õÃâϵÊý DWORD # ³É¾Í±í class IPY_Success(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ³É¾ÍID DWORD def GetType(self): return self.attrTuple[1] # ³É¾ÍÀàÐÍ WORD def GetNeedCnt(self): return self.attrTuple[2] # ÐèÒªÊýÁ¿ DWORD def GetCondition(self): return self.attrTuple[3] # ¸¨ÖúÌõ¼þ list def GetPreSuccess(self): return self.attrTuple[4] # ÐèÒª´ï³ÉǰÖÃ³É¾Í list def GetAwardItem(self): return self.attrTuple[5] # ½±ÀøÎïÆ·Áбí dict def GetAwardItem2(self): return self.attrTuple[6] # ͨÐÐÖ¤½±ÀøÎïÆ·Áбí dict def GetMoney(self): return self.attrTuple[7] # ½ðÇ® dict def GetExp(self): return self.attrTuple[8] # ¾­Ñé DWORD def GetAwardAttr(self): return self.attrTuple[9] # ½±ÀøÊôÐÔ dict def GetRedPacketID(self): return self.attrTuple[10] # ºì°üID DWORD def GetMagicWeaponID(self): return self.attrTuple[11] # ·¨±¦ID DWORD def GetMagicWeaponExp(self): return self.attrTuple[12] # ·¨±¦Éý¼¶¾­Ñé DWORD # ͨÌìÁîµÈ¼¶±í class IPY_TongTianLV(): def __init__(self): self.attrTuple = None return def GetTTLV(self): return self.attrTuple[0] # ͨÌìÁîµÈ¼¶ WORD def GetLVUPPoint(self): return self.attrTuple[1] # Éý¼¶ËùÐè»ý·Ö£¨0²»¿ÉÉý¼¶£© WORD def GetCommAwardItemList(self): return self.attrTuple[2] # ³£¹æ½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list def GetXianAwardItemList(self): return self.attrTuple[3] # ÏÉÆ·½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list def GetNotifyItemIDList(self): return self.attrTuple[4] # ÐèÒª¹ã²¥µÄÎïÆ·IDÁбí list # ͨÌìÁîÈÎÎñ±í class IPY_TongTianTask(): def __init__(self): self.attrTuple = None return def GetTTTaskID(self): return self.attrTuple[0] # ͨÌìÈÎÎñID£¨È·¶¨ºó²»¿ÉÐ޸ģ© WORD def GetTTTaskType(self): return self.attrTuple[1] # ͨÌìÈÎÎñÀàÐÍ BYTE def GetIsDailyTask(self): return self.attrTuple[2] # ÊÇ·ñÿÈÕÈÎÎñ BYTE def GetFinishNeedValue(self): return self.attrTuple[3] # ÈÎÎñÍê³ÉËùÐèÖµ DWORD def GetTaskPoint(self): return self.attrTuple[4] # ÈÎÎñ»ý·Öµã½±Àø DWORD # ·¨±¦±í class IPY_Treasure(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID DWORD def GetTreasureType(self): return self.attrTuple[1] # ·¨±¦ÀàÐÍ BYTE def GetPreTreasure(self): return self.attrTuple[2] # ǰÖ÷¨±¦ DWORD def GetFBMapID(self): return self.attrTuple[3] # ¸±±¾ID DWORD def GetFBLineID(self): return self.attrTuple[4] # ¸±±¾Ïß·ID DWORD def GetNeedLV(self): return self.attrTuple[5] # ÐèÒªµÈ¼¶ DWORD def GetNeedItem(self): return self.attrTuple[6] # ÐèÒªÏûºÄÎïÆ· dict # ·¨±¦Éý¼¶±í class IPY_TreasureUp(): def __init__(self): self.attrTuple = None return def GetMWID(self): return self.attrTuple[0] # ·¨±¦ID DWORD def GetLV(self): return self.attrTuple[1] # ·¨±¦µÈ¼¶ BYTE def GetNeedExp(self): return self.attrTuple[2] # ÐèÒª¾­Ñé DWORD def GetAddAttr(self): return self.attrTuple[3] # ÊôÐÔ dict def GetUnLockSkill(self): return self.attrTuple[4] # ½âËøµÄ¼¼ÄÜ list def GetPowerEx(self): return self.attrTuple[5] # ¶îÍâ¹Ì¶¨Õ½Á¦ DWORD # Á¬ÐøÇ©µ½½±Àø±í class IPY_ContineSignAward(): def __init__(self): self.attrTuple = None return def GetContineDay(self): return self.attrTuple[0] # Á¬ÐøÇ©µ½ÌìÊý BYTE def GetItemID(self): return self.attrTuple[1] # ½±ÀøÎïÆ·ID list def GetIsBind(self): return self.attrTuple[2] # ÎïÆ·ÊÇ·ñ°ó¶¨ BYTE def GetItemNum(self): return self.attrTuple[3] # ÎïÆ·½±Àø×îСֵ list def GetJobItemList(self): return self.attrTuple[4] # Ö°ÒµÎïÆ·Áбí list # Ç©µ½½±Àø±í class IPY_SignAward(): def __init__(self): self.attrTuple = None return def GetRewardID(self): return self.attrTuple[0] # ½±ÀøID BYTE def GetItemID(self): return self.attrTuple[1] # ½±ÀøÎïÆ·ID list def GetIsBind(self): return self.attrTuple[2] # ÎïÆ·ÊÇ·ñ°ó¶¨ BYTE def GetVipLv(self): return self.attrTuple[3] # vipµÈ¼¶ BYTE def GetOrdinaryNum(self): return self.attrTuple[4] # ½±ÀøÎïÆ·ÊýÁ¿ list def GetVipMultiple(self): return self.attrTuple[5] # ½±Àø±¶ÂÊ BYTE # VIPÀñ°ü±í class IPY_VIPAward(): def __init__(self): self.attrTuple = None return def GetVIPLV(self): return self.attrTuple[0] # VIPµÈ¼¶ BYTE def GetItemID(self): return self.attrTuple[1] # ½±ÀøÎïÆ·ÐÅÏ¢ dict def GetPrice(self): return self.attrTuple[2] # Àñ°üÏÖ¼Û WORD def GetOldPrice(self): return self.attrTuple[3] # Àñ°üÔ­¼Û WORD # ¶¨ÖÆÎïÆ·±í class IPY_AppointItem(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ¶¨ÖÆÎïÆ·ID DWORD def GetCancelUseLimit(self): return self.attrTuple[1] # ´©´÷ÏÞÖÆ(³ýÖ°Òµ) BYTE def GetLegendAttrID(self): return self.attrTuple[2] # ´«ÆæÊôÐÔID list def GetLegendAttrValue(self): return self.attrTuple[3] # ´«ÆæÊôÐÔÖµ list # ÅÄÂôÎïÆ·±í class IPY_AuctionItem(): def __init__(self): self.attrTuple = None return def GetAuctionItemID(self): return self.attrTuple[0] # DWORD # VIPÌØÈ¨±í class IPY_VipPrivilege(): def __init__(self): self.attrTuple = None return def GetVIPPriID(self): return self.attrTuple[0] # ÌØÈ¨ID DWORD def GetVIP0(self): return self.attrTuple[1] # VIP0¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP1(self): return self.attrTuple[2] # VIP1¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP2(self): return self.attrTuple[3] # VIP2¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP3(self): return self.attrTuple[4] # VIP3¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP4(self): return self.attrTuple[5] # VIP4¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP5(self): return self.attrTuple[6] # VIP5¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP6(self): return self.attrTuple[7] # VIP6¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP7(self): return self.attrTuple[8] # VIP7¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP8(self): return self.attrTuple[9] # VIP8¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP9(self): return self.attrTuple[10] # VIP9¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP10(self): return self.attrTuple[11] # VIP10¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP11(self): return self.attrTuple[12] # VIP11¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP12(self): return self.attrTuple[13] # VIP12¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP13(self): return self.attrTuple[14] # VIP13¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP14(self): return self.attrTuple[15] # VIP14¶ÔÓ¦µÄÌØÈ¨Öµ DWORD def GetVIP15(self): return self.attrTuple[16] # VIP15¶ÔÓ¦µÄÌØÈ¨Öµ DWORD # É̳DZí class IPY_Store(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID DWORD def GetShopType(self): return self.attrTuple[1] # É̵êÀàÐÍ DWORD def GetOperationActionShop(self): return self.attrTuple[2] # ÊÇ·ñÔËÓª»î¶¯É̵ê BYTE def GetItemID(self): return self.attrTuple[3] # ÎïÆ·ID DWORD def GetItemCnt(self): return self.attrTuple[4] # ÎïÆ·ÊýÁ¿ WORD def GetIsBind(self): return self.attrTuple[5] # ÊÇ·ñ°ó¶¨ BYTE def GetItemListEx(self): return self.attrTuple[6] # À©Õ¹ÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...] list def GetMainItemID(self): return self.attrTuple[7] # ±êµÄÎïÆ·ID DWORD def GetJobItem(self): return self.attrTuple[8] # Ö°ÒµÌæ»»ÎïÆ· list def GetRefreshLimit(self): return self.attrTuple[9] # ÊÇ·ñÏÞÖÆË¢ÐÂÏÞ¹º´ÎÊý£¬¼´ÊÇ·ñÓÀ¾ÃÏÞ¹º£¬°üº¬»î¶¯Ò²²»ÖØÖà BYTE def GetRefreshType(self): return self.attrTuple[10] # Ë¢ÐÂÀàÐÍ 0-²»ÖØÖÃ,1-onWeek0µã,2-onWeek5µã,3-OnDay0µã,4-OnDay5µã BYTE def GetLimitVIPLV(self): return self.attrTuple[11] # VIPÏÞÖÆ list def GetLimitLV(self): return self.attrTuple[12] # µÈ¼¶ÏÞÖÆ DWORD def GetLimitCnt(self): return self.attrTuple[13] # ¸öÈËÏÞÖÆÊýÁ¿ list def GetServerLimitCnt(self): return self.attrTuple[14] # È«·þÏÞÖÆÊýÁ¿ DWORD def GetMoneyType(self): return self.attrTuple[15] # ½ðÇ®ÀàÐÍ BYTE def GetMoneyNum(self): return self.attrTuple[16] # ½ðÇ®ÊýÁ¿ DWORD def GetMoneyOriginal(self): return self.attrTuple[17] # Ô­¼Û DWORD def GetLimitValue(self): return self.attrTuple[18] # ÏÞÖÆÌõ¼þ DWORD def GetNotifyMark(self): return self.attrTuple[19] # ¹ã²¥Ìáʾ char def GetMailKey(self): return self.attrTuple[20] # ±³°ü²»×ãʱÓʼþKEY char # ÏÞÊ±ÌØ»Ý±í class IPY_ActSpringSale(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetStartTimeList(self): return self.attrTuple[3] # ¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list def GetEndTimeList(self): return self.attrTuple[4] # ½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list 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] # É̵êÀàÐÍÁбí dict def GetMailKey(self): return self.attrTuple[9] # »î¶¯¸üÐÂʱ·¢ËÍÓʼþkey char def GetMailItemPrize(self): return self.attrTuple[10] # »î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ· list # ÈÕ³£ÈÎÎñ±í class IPY_DailyQuest(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID DWORD def GetRelatedType(self): return self.attrTuple[1] # ¹ØÁªÀàÐÍ BYTE def GetRelatedID(self): return self.attrTuple[2] # ¹ØÁªID DWORD def GetUnLockFuncID(self): return self.attrTuple[3] # ½âËø¹¦ÄÜID WORD def GetOnceActivityTime(self): return self.attrTuple[4] # Ôö¼Ó»îÔ¾ËùÐè´ÎÊý BYTE def GetOnceActivity(self): return self.attrTuple[5] # µ¥´Î»îÔ¾Öµ BYTE def GetTotalActiveValue(self): return self.attrTuple[6] # ×Ü»îÔ¾ WORD # ÈÕ³£»îÔ¾½±Àø±í class IPY_DailyLivenessReward(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID BYTE def GetLiveness(self): return self.attrTuple[1] # ËùÐè»îÔ¾¶È WORD def GetStageLV(self): return self.attrTuple[2] # ½×¶ÎµÈ¼¶ list def GetItemID(self): return self.attrTuple[3] # ÎïÆ·ID list def GetItemCount(self): return self.attrTuple[4] # ÎïÆ·ÊýÁ¿ list def GetItemBind(self): return self.attrTuple[5] # ÊÇ·ñ°ó¶¨ list # ÈÕ³£»îÔ¾·ÅÖñí class IPY_ActivityPlaceReward(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID BYTE def GetPlaceCount(self): return self.attrTuple[1] # ·ÅÖö¨ÖÆ´ÎÊý BYTE def GetPlaceMaxLV(self): return self.attrTuple[2] # ×î´óµÈ¼¶ WORD def GetFixedItemRewardList(self): return self.attrTuple[3] # ¹Ì¶¨½±Àø [[ÎïÆ·ID, ¸öÊý], ...] list def GetRandItemCountA(self): return self.attrTuple[4] # ±ýͼ½±Àø´ÎÊýA BYTE def GetRandItemRewardListA(self): return self.attrTuple[5] # ±ýͼ½±Àø¿âA [[±ýͼ¸ÅÂÊ,ÎïÆ·ID], ...] ÎïÆ·IDÖ§³Ö0 list def GetRandItemCountB(self): return self.attrTuple[6] # ±ýͼ½±Àø´ÎÊýB BYTE def GetRandItemRewardListB(self): return self.attrTuple[7] # ±ýͼ½±Àø¿âB [[±ýͼ¸ÅÂÊ,ÎïÆ·ID], ...] ÎïÆ·IDÖ§³Ö0 list # Á¶µ¤Â¯µÈ¼¶±í class IPY_RefineStove(): def __init__(self): self.attrTuple = None return def GetStoveLV(self): return self.attrTuple[0] # Á¶µ¤Â¯µÈ¼¶ BYTE def GetUpNeedExp(self): return self.attrTuple[1] # ÉýÏÂÒ»¼¶ËùÐè¾­Ñé DWORD # Á¶µ¤±í class IPY_Alchemy(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ÃØ·½Î¨Ò»ID²»¿É±ä¸ü DWORD def GetAlchemItemID(self): return self.attrTuple[1] # µ¤Ò©ÎïÆ·ID DWORD def GetAlchemType(self): return self.attrTuple[2] # ÃØ·½ÀàÐÍ1-Á鵤 2-Ïɵ¤ BYTE def GetAlchemyQuality(self): return self.attrTuple[3] # ÃØ·½Æ·¼¶ BYTE def GetLearnNeedItemID(self): return self.attrTuple[4] # µ¤·½ÎïÆ·ID DWORD def GetLearnNeedAlchemLV(self): return self.attrTuple[5] # µ¤·½ÐèÒªÁ¶µ¤µÈ¼¶ BYTE def GetLearnNeedLingGenPoint(self): return self.attrTuple[6] # µ¤·½ÐèÒª×ÜÁé¸ùµãÊý WORD def GetNeedTime(self): return self.attrTuple[7] # Á¶µ¤Ê±¼ä(Ãë) WORD def GetAlchemyExp(self): return self.attrTuple[8] # Á¶µ¤»ñµÃ¾­ÑéÖµ WORD def GetMaterial(self): return self.attrTuple[9] # Á¶µ¤²ÄÁÏ dict # Á¶µ¤ÊýÁ¿±í class IPY_AlchemyResult(): def __init__(self): self.attrTuple = None return def GetAlchemyQuality(self): return self.attrTuple[0] # µ¤·½µÈ¼¶ BYTE def GetLuckValue(self): return self.attrTuple[1] # »Û¸ù DWORD def GetCntRateList(self): return self.attrTuple[2] # ÊýÁ¿±ýͼ list # BOSSÐÅÏ¢±í class IPY_BOSSInfo(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # ID DWORD def GetMapID(self): return self.attrTuple[1] # µØÍ¼ID DWORD def GetRefreshLine(self): return self.attrTuple[2] # Ë¢ÐÂÏß· BYTE def GetRefreshMark(self): return self.attrTuple[3] # ˢбêʶµã BYTE def GetIsNeedShunt(self): return self.attrTuple[4] # ÊÇ·ñÐèÒª·ÖÁ÷ BYTE def GetRelatedType(self): return self.attrTuple[5] # Ë¢¹Ö¹ØÁªÀàÐÍ BYTE def GetRelatedID(self): return self.attrTuple[6] # ¹ØÁªID ÈÕ³£»î¶¯ID »ò ÔËÓª»î¶¯Ãû char def GetStoneNPCID(self): return self.attrTuple[7] # ű®NPCID DWORD def GetCanAssist(self): return self.attrTuple[8] # ÊÇ·ñ¿ÉЭÖú BYTE def GetSkillResist(self): return self.attrTuple[9] # ÊÇ·ñ¼¼Äֿܵ¹ BYTE # BossÊ×ɱ class IPY_BOSSFirstKill(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # ID DWORD def GetPerPlayerMoneyAward(self): return self.attrTuple[1] # Ê×ɱȫ·þÍæ¼Ò½±ÀøÁéʯ¶î¶È/ÈË WORD def GetPersonFirstKillAward(self): return self.attrTuple[2] # ¸öÈËÊ״λ÷ɱ½±Àø [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # ¹ÅÉñ½ûµØ±í class IPY_ElderGodArea(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # ID DWORD def GetMonsterAnger(self): return self.attrTuple[1] # ¹ÖÎïÅ­ÆøÖµ BYTE # ¸öÈËBOSS±í class IPY_PersonalBoss(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # ID DWORD def GetFuncLineID(self): return self.attrTuple[1] # ¿ÉÌôÕ½µÈ¼¶ DWORD # ÏÉÃË»îÔ¾±í class IPY_FamilyActivity(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID DWORD def GetUnLockFuncID(self): return self.attrTuple[1] # ½âËø¹¦ÄÜID WORD def GetTotalActivityTime(self): return self.attrTuple[2] # ×Ü´ÎÊý BYTE def GetSingleTimes(self): return self.attrTuple[3] # Ôö¼Ó»îÔ¾ÐèÒª´ÎÊý WORD def GetSingleActiveValue(self): return self.attrTuple[4] # ÿÂÖÔö¼Ó»îÔ¾»ý·Ö WORD # ÏÉÃ˺ì°ü±í class IPY_FamilyRedPack(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID WORD def GetGetType(self): return self.attrTuple[1] # »ñµÃ;¾¶ WORD def GetMoneyNum(self): return self.attrTuple[2] # ºì°ü¶î¶È WORD def GetMoneyType(self): return self.attrTuple[3] # ½ðÇ®ÀàÐÍ BYTE def GetPacketCnt(self): return self.attrTuple[4] # ºì°ü¸öÊý BYTE # ½ÚÈÕºì°üÿÈճɾͱí class IPY_ActFeastRedPacketSucc(): def __init__(self): self.attrTuple = None return def GetFeastDay(self): return self.attrTuple[0] # ½ÚÈÕµÚ¼¸Ìì BYTE def GetFeastSuccIDList(self): return self.attrTuple[1] # ½ÚÈճɾÍIDÁбí list # NPCÐã±í class IPY_NPCShow(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # DWORD def GetMapID(self): return self.attrTuple[1] # DWORD def GetLineID(self): return self.attrTuple[2] # BYTE def GetProtectTime(self): return self.attrTuple[3] # ±£»¤Ê±¼ä, ºÁÃë DWORD def GetBindMissionID(self): return self.attrTuple[4] # °ó¶¨µÄÈÎÎñID DWORD def GetShowType(self): return self.attrTuple[5] # 0-·þÎñ¶Ë֪ͨ,>0ǰ¶Ë´¦Àí BYTE # ·âħ̳BOSS±í class IPY_SealDemon(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # ID DWORD def GetLineID(self): return self.attrTuple[1] # BYTE def GetOwnerAwardItemEx(self): return self.attrTuple[2] # µÚÒ»Ãû¶îÍâ½±ÀøÎïÆ·[[itemID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # ¸±±¾¹ÄÎè±í class IPY_FbEncourage(): def __init__(self): self.attrTuple = None return def GetDataMapID(self): return self.attrTuple[0] # µØÍ¼ID DWORD def GetInspireType(self): return self.attrTuple[1] # ¹ÄÎèÀàÐÍ BYTE def GetInspireMaxLV(self): return self.attrTuple[2] # ¹ÄÎèµÈ¼¶ÏÞÖÆ WORD def GetMoneyCount(self): return self.attrTuple[3] # µ¥´ÎÏûºÄ½ðÇ®ÊýÁ¿ char # µØÍ¼±êÊÔµãNPCˢРclass IPY_MapRefreshNPC(): def __init__(self): self.attrTuple = None return def GetMapID(self): return self.attrTuple[0] # µØÍ¼ID DWORD def GetRefreshNum(self): return self.attrTuple[1] # Ë¢¹Ö¹æÔò±àºÅ BYTE def GetNPCIDList(self): return self.attrTuple[2] # NPCIDÁбí list def GetRefreshMarkList(self): return self.attrTuple[3] # ±êÊÔµãÁбí list def GetPointMaxCount(self): return self.attrTuple[4] # µ¥¸öµã×î´ó´æÔÚ¹ÖÎïÊý BYTE def GetTotalMaxCount(self): return self.attrTuple[5] # ËùÓеã×ܹÖÎïÊý BYTE def GetRefreshSeconds(self): return self.attrTuple[6] # Ë¢¹Ö¼ä¸ôÃë BYTE def GetRefreshPerMinutes(self): return self.attrTuple[7] # ÿÕûX·ÖË¢¹Ö BYTE # ·ûÓ¡ºÏ³É±í class IPY_RuneCompound(): def __init__(self): self.attrTuple = None return def GetTagItemID(self): return self.attrTuple[0] # ºÏ³ÉµÄ·ûÓ¡ÎïÆ·ID DWORD def GetNeedItem(self): return self.attrTuple[1] # ÐèÒªµÄÎïÆ·ID list def GetNeedMJ(self): return self.attrTuple[2] # ÐèÒªµÄħ¾«ÊýÁ¿ WORD # ×ÊÔ´Õһرí class IPY_ResourcesBack(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID BYTE def GetRelatedID(self): return self.attrTuple[1] # ¹ØÁªÈÕ³£ÈÎÎñ±íID DWORD def GetCanBackTimes(self): return self.attrTuple[2] # ÄÜ·ñÕһشÎÊý BYTE def GetNormalCostJade(self): return self.attrTuple[3] # °óÓñÕÒ»ØÆÕͨ´ÎÊý¼Û¸ñ BYTE def GetVipCostJade(self): return self.attrTuple[4] # °óÓñÕÒ»ØVIP´ÎÊýÕһؼ۸ñ WORD def GetJadeReward(self): return self.attrTuple[5] # °óÓñÕһؽ±Àø dict def GetCostCopper(self): return self.attrTuple[6] # Í­Ç®ÕÒ»ØÍ­Ç®ÏûºÄ DWORD def GetCopperReward(self): return self.attrTuple[7] # Í­Ç®Õһؽ±Àø dict def GetJobItemList(self): return self.attrTuple[8] # Ö°ÒµÎïÆ·Áбí list # ²É¼¯Îï±í class IPY_CollectNPC(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # ID DWORD def GetIsMissionCollectNPC(self): return self.attrTuple[1] # ÊÇ·ñÈÎÎñ²É¼¯Îï BYTE def GetPrepareTime(self): return self.attrTuple[2] # ²É¼¯ºÄʱ£¬Ãë BYTE def GetLostHPPer(self): return self.attrTuple[3] # ²É¼¯µôѪ£¬[ÿXÃë,µôѪ°Ù·Ö±È] list def GetMaxCollectCount(self): return self.attrTuple[4] # ¿É²É¼¯´ÎÊý£¬0ÎÞÏÞÖÆ BYTE def GetCollectResetType(self): return self.attrTuple[5] # ²É¼¯´ÎÊýÖØÖÃÀàÐÍ£¬0-²»ÖØÖã¬1-ÿÈÕ5µãÖØÖà BYTE def GetCollectCountLimitNotify(self): return self.attrTuple[6] # Î޲ɼ¯´ÎÊý²É¼¯Ìáʾ char def GetCollectAward(self): return self.attrTuple[7] # ²É¼¯½±ÀøÎïÆ·£¬È¨ÖØÁбí [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...] list def GetCollectAppointAward(self): return self.attrTuple[8] # ²É¼¯´ÎÊý¶¨ÖƲú³ö {´ÎÊý:[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...} dict def GetAlchemyDiffLV(self): return self.attrTuple[9] # ¹ýÂËÁ¶µ¤µÈ¼¶²î£¬0-²»¹ýÂË£¬>0¹ýÂË´óÓÚ×ÔÉíÁ¶µ¤µÈ¼¶X¼¶µÄÎïÆ· BYTE def GetNotifyCollectResult(self): return self.attrTuple[10] # ÊÇ·ñ֪ͨ²É¼¯½á¹û BYTE def GetCanBreakCollect(self): return self.attrTuple[11] # ±»¹¥»÷ÊÇ·ñ´ò¶Ï²É¼¯ BYTE # ±¦Ïä¹Ö±í class IPY_TreasureNPC(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # ±¦Ïä¹ÖNPCID DWORD def GetAttackCountDropWeightInfo(self): return self.attrTuple[1] # ¹¥»÷´ÎÊý¶ÔÓ¦µôÂäÈ¨ÖØ±ýͼ {´ÎÊý:[[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...], ...} dict def GetAttackDropWeightList(self): return self.attrTuple[2] # ³£¹æ¹¥»÷È¨ÖØ±ýͼ [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...] list def GetAttackDropWeightListEx(self): return self.attrTuple[3] # ¶îÍâµôÂäÈ¨ÖØ±ýͼ¿â£¬Ã¿´Î¹¥»÷¶¼»áµôÂä [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...] list def GetDropCountEx(self): return self.attrTuple[4] # ¶îÍâ¿âÖ´ÐдÎÊý BYTE def GetAlchemyDiffLV(self): return self.attrTuple[5] # ¹ýÂËÁ¶µ¤µÈ¼¶²î£¬0-²»¹ýÂË£¬>0¹ýÂË´óÓÚ×ÔÉíÁ¶µ¤µÈ¼¶X¼¶µÄÎïÆ· BYTE def GetNotDropNotify(self): return self.attrTuple[6] # ûÓеôÂäʱÌáʾÐÅÏ¢ char # ±¦Ïä±í¿ªÆô class IPY_Chests(): def __init__(self): self.attrTuple = None return def GetChestsItemID(self): return self.attrTuple[0] # ±¦ÏäÎïÆ·ID DWORD def GetCostItemID(self): return self.attrTuple[1] # ÏûºÄÎïÆ·ID DWORD def GetCostItemCount(self): return self.attrTuple[2] # ÏûºÄÎïÆ·¸öÊý BYTE def GetCostGold(self): return self.attrTuple[3] # ÏûºÄÏÉÓñ WORD def GetShowType(self): return self.attrTuple[4] # ǰ¶Ë±íÏÖÀàÐÍ0-ÎÞ±íÏÖ, >0ÓбíÏÖÐèͬ²½½á¹û£¬¾ßÌåÀàÐÍǰ¶Ë×Ô¶¨Òå BYTE def GetIsBind(self): return self.attrTuple[5] # ¿ª³öÎïÆ·ÊÇ·ñ°ó¶¨ BYTE def GetAucionItemCanSell(self): return self.attrTuple[6] # ¿ª³öÅÄÆ·¿É·ñÉϼܼ¯ÊÐ BYTE def GetAucionItemDiffSellIDList(self): return self.attrTuple[7] # ¿É·ñÉϼܲîÒìÅÄÆ·IDÁÐ±í£¬¼´¿ÉÉϼܴú±í²»¿ÉÉϼܵÄÅÄÆ·IDÁÐ±í£¬²»¿ÉÉϼܴú±í¿ÉÉϼܵÄÅÄÆ·IDÁбí list # ±¦Ïä±í²ú³ö±í class IPY_ChestsAward(): def __init__(self): self.attrTuple = None return def GetChestsItemID(self): return self.attrTuple[0] # ±¦ÏäÎïÆ·ID DWORD def GetRealmLV(self): return self.attrTuple[1] # ¾³½çµÈ¼¶ WORD def GetAwardLV(self): return self.attrTuple[2] # ±¦Ïä½±ÀøµÈ¼¶ WORD def GetSelectItemDict(self): return self.attrTuple[3] # Ñ¡ÔñÎïÆ·ID¶ÔÓ¦¸öÊý×ֵ䣬¹æ¶¨Ö»ÄÜѡһ¸ö dict def GetFixedItemDict(self): return self.attrTuple[4] # ¹Ì¶¨²ú³öÎïÆ·ID¶ÔÓ¦¸öÊý×Öµä dict def GetRandItemList1(self): return self.attrTuple[5] # Ëæ»úÎïÆ·±ýͼÁбí1 list def GetRandTimeList1(self): return self.attrTuple[6] # Ëæ»ú´ÎÊý±ýͼÁбí1 list def GetRandItemList2(self): return self.attrTuple[7] # Ëæ»úÎïÆ·±ýͼÁбí2 list def GetRandTimeList2(self): return self.attrTuple[8] # Ëæ»ú´ÎÊý±ýͼÁбí2 list def GetRandItemByUseCount(self): return self.attrTuple[9] # ±¦Ï俪ÆôX´Î¶ÔÓ¦ÌØÊâ²ú³ö£¬Óë±ýͼÁбí2»¥³â dict def GetJobItemList(self): return self.attrTuple[10] # Ö°ÒµÎïÆ·Áбí list def GetMoneyType(self): return self.attrTuple[11] # »õ±ÒÀàÐÍ BYTE def GetMoneyCount(self): return self.attrTuple[12] # »õ±ÒÊýÁ¿ DWORD def GetNeedNotifyItemList(self): return self.attrTuple[13] # ÐèÒª¹ã²¥µÄÎïÆ·IDÁбí list def GetIsDropJobSelf(self): return self.attrTuple[14] # ÊÇ·ñÖ»µôÂä±¾Ö°Òµ BYTE def GetPieRateDrop(self): return self.attrTuple[15] # ±ýͼ¸ÅÂʵôÂäÐÅÏ¢ [(¸ÅÂÊ,0),(¸ÅÂÊ,(½×,ÑÕÉ«)),...] list def GetPieRateDoCnt(self): return self.attrTuple[16] # ±ýͼ¸ÅÂÊÖ´ÐдÎÊý BYTE def GetIndepRateDrop(self): return self.attrTuple[17] # ¶ÀÁ¢¸ÅÂʵôÂäÐÅÏ¢ {(½×,ÑÕÉ«):¸ÅÂÊ,...} dict def GetEquipColorSuitInfo(self): return self.attrTuple[18] # ×°±¸ÑÕÉ«¶ÔÓ¦Ì××°¸ÅÂÊ {ÑÕÉ«:Ì××°¸ÅÂÊ, ...} dict def GetEquipPartKeyRateInfo(self): return self.attrTuple[19] # ×°±¸²¿Î»¼¯ºÏÐÅÏ¢ {(ÑÕÉ«,ÊÇ·ñÌ××°):²¿Î»¼¯ºÏkey, ...} dict # VIPɱ¹Ö¼Ó¹¥»÷±í class IPY_VIPKillNPC(): def __init__(self): self.attrTuple = None return def GetKillLV(self): return self.attrTuple[0] # ɱ¹Ö³É³¤µÈ¼¶ WORD def GetLVExpPoint(self): return self.attrTuple[1] # Éý¼¶ËùÐè¾­Ñéµã,ÿ¸ö¾­Ñéµã´ú±íµÄ¾­ÑéÓÉÏîÄ¿¾ö¶¨ DWORD def GetLVExp(self): return self.attrTuple[2] # ³ý¾­Ñéµã×ܾ­ÑéÍâÉý¼¶»¹ÐèµÄ¾­Ñé DWORD def GetAddMinAtk(self): return self.attrTuple[3] # Ôö¼Ó×îС¹¥»÷ DWORD def GetAddMaxAtk(self): return self.attrTuple[4] # Ôö¼Ó×î´ó¹¥»÷ DWORD # È«Ãñ³å°ñÅÅÐн±Àø±í class IPY_OSCBillRankAward(): def __init__(self): self.attrTuple = None return def GetOSCBillType(self): return self.attrTuple[0] # ³å°ñÀàÐÍ BYTE def GetRankA(self): return self.attrTuple[1] # ÅÅÃûA BYTE def GetRankB(self): return self.attrTuple[2] # ÖÁÅÅÃûB BYTE def GetRankAward(self): return self.attrTuple[3] # ÅÅÃû½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...} dict # È«Ãñ³å°ñ´ï³É½±Àø±í class IPY_OSCBillTagAward(): def __init__(self): self.attrTuple = None return def GetOSCBillType(self): return self.attrTuple[0] # ³å°ñÀàÐÍ BYTE def GetTagCondition(self): return self.attrTuple[1] # Ä¿±êÌõ¼þÖµ WORD def GetTagAward(self): return self.attrTuple[2] # Ä¿±ê½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...} dict # ÆßÌìµÇ¼½±Àø±í class IPY_LoginDayAward(): def __init__(self): self.attrTuple = None return def GetDayID(self): return self.attrTuple[0] # ÌìÊý BYTE def GetReward(self): return self.attrTuple[1] # ½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...} dict # ÆßÌìÔÚÏß½±Àø±íРclass IPY_OnlineAwardNew(): def __init__(self): self.attrTuple = None return def GetDayID(self): return self.attrTuple[0] # ÌìÊý BYTE def GetStageTime(self): return self.attrTuple[1] # ½×¶ÎËùÐèʱ¼ä(·ÖÖÓ) list def GetReward(self): return self.attrTuple[2] # ½±Àø {"Ë÷Òý":[[ÎïÆ·ID,¸öÊý],...], ...} dict # ÆßÌìÏÞÊ±ÌØ»Ý±í class IPY_SpringSale(): def __init__(self): self.attrTuple = None return def GetGiftID(self): return self.attrTuple[0] # Àñ°üID BYTE def GetSellDay(self): return self.attrTuple[1] # ´´½ÇµÚ¼¸ÌìÉÏ¼Ü BYTE def GetBuyNumLimit(self): return self.attrTuple[2] # ÿÈËÏÞ¹ºÊýÁ¿ BYTE def GetGiftPrice(self): return self.attrTuple[3] # Àñ°ü¼Û¸ñ£¬ÏÉÓñ WORD def GetGiftItemList(self): return self.attrTuple[4] # Àñ°üÎïÆ·ÐÅÏ¢Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...] list # ³äÖµÉÌÆ·±àºÅ±í class IPY_OrderInfo(): def __init__(self): self.attrTuple = None return def GetOrderInfo(self): return self.attrTuple[0] # ÉÌÆ·±àºÅ char def GetAppID(self): return self.attrTuple[1] # appID char def GetPayRMBNum(self): return self.attrTuple[2] # ¸¶·Ñ¶î¶È£¬Ôª float def GetCTGID(self): return self.attrTuple[3] # ¶ÔÓ¦³äÖµID DWORD def GetGiftbagID(self): return self.attrTuple[4] # ¶ÔÓ¦ÏÞʱÀñ°ü±àºÅ DWORD def GetCoinExp(self): return self.attrTuple[5] # ¶ÔӦת»¯¾­Ñé DWORD def GetUsdMoney(self): return self.attrTuple[6] # ÃÀÔª¼Û¸ñ float # ³äÖµ±í class IPY_CTG(): def __init__(self): self.attrTuple = None return def GetRecordID(self): return self.attrTuple[0] # ¼Ç¼ID BYTE def GetCanResetBuyCount(self): return self.attrTuple[1] # ÊÇ·ñÔÊÐíÖØÖôÎÊý BYTE def GetTotalBuyCount(self): return self.attrTuple[2] # ×ÜÏÞ¹º´ÎÊý BYTE def GetDailyBuyCount(self): return self.attrTuple[3] # ÿÈÕÏÞ¹º´ÎÊý BYTE def GetWeekBuyCount(self): return self.attrTuple[4] # ÿÖÜÏÞ¹º´ÎÊý BYTE def GetMonthBuyCount(self): return self.attrTuple[5] # ÿÔÂÏÞ¹º´ÎÊý BYTE def GetMoneyType(self): return self.attrTuple[6] # »ñµÃ»õ±ÒÀàÐÍ BYTE def GetGainGold(self): return self.attrTuple[7] # »ñµÃ»õ±ÒÊý WORD def GetGainGoldPrize(self): return self.attrTuple[8] # ÔùËÍ»õ±ÒÊý WORD def GetFirstGoldPrize(self): return self.attrTuple[9] # Ê״γäÖµ¸ÃµµÎ»ÔùËÍÏÉÓñ WORD def GetGainItemList(self): return self.attrTuple[10] # »ñµÃÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...] list def GetActWorldLVGainItemInfo(self): return self.attrTuple[11] # ¸ù¾Ý»î¶¯ÊÀ½çµÈ¼¶»ñµÃÎïÆ·ÐÅÏ¢£¬»î¶¯×¨Óà {"ÊÀ½çµÈ¼¶":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...], ...} dict def GetSelectItemInfo(self): return self.attrTuple[12] # ×ÔÑ¡Àñ°üÎïÆ·ÐÅÏ¢ [[×ÔÑ¡1ID, ...], [×ÔÑ¡2ID, ...], ...] list def GetNotifyMark(self): return self.attrTuple[13] # ¹ã²¥Ìáʾ char def GetPayType(self): return self.attrTuple[14] # ³äÖµÀàÐÍ BYTE # ³äÖµ×ÔÑ¡ÎïÆ·±í class IPY_CTGSelectItem(): def __init__(self): self.attrTuple = None return def GetSelectID(self): return self.attrTuple[0] # ×ÔÑ¡ID WORD def GetItemID(self): return self.attrTuple[1] # ÎïÆ·ID DWORD def GetItemCount(self): return self.attrTuple[2] # ÎïÆ·¸öÊý DWORD def GetIsAuctionItem(self): return self.attrTuple[3] # ÊÇ·ñÅÄÆ· BYTE # Ê׳ä±í class IPY_FirstGold(): def __init__(self): self.attrTuple = None return def GetDay(self): return self.attrTuple[0] # Ê׳äµÚ¼¸Ìì BYTE def GetJobItemInfo(self): return self.attrTuple[1] # Ö°ÒµÎïÆ·½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý], ...], ...} dict def GetCommItemList(self): return self.attrTuple[2] # ͨÓÃÎïÆ·½±Àø [[ÎïÆ·ID,¸öÊý], ...] list # µÈ¼¶½±Àø±í class IPY_LVAward(): def __init__(self): self.attrTuple = None return def GetAwardID(self): return self.attrTuple[0] # ½±ÀøID BYTE def GetLV(self): return self.attrTuple[1] # µÈ¼¶ WORD def GetLimitCnt(self): return self.attrTuple[2] # È«·þÏÞÖÆÊýÁ¿ WORD def GetReward(self): return self.attrTuple[3] # ½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...} dict def GetVIPLimit(self): return self.attrTuple[4] # ÐèÒªVIP¼¸ BYTE def GetVIPAward(self): return self.attrTuple[5] # vip½±Àø[[ÎïÆ·ID,¸öÊý],...] list # Ͷ×ʱí class IPY_Invest(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID WORD def GetType(self): return self.attrTuple[1] # Ͷ×ÊÀàÐÍ BYTE def GetNeedDay(self): return self.attrTuple[2] # ÐèÒªÌìÊý BYTE def GetNeedLV(self): return self.attrTuple[3] # ÐèÒªµÈ¼¶ WORD def GetNeedNPCID(self): return self.attrTuple[4] # ÐèÒªNPCID DWORD def GetReward(self): return self.attrTuple[5] # ½±Àø {"key":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...} dict # Ïɱ¦Ñ°Ö÷±í class IPY_XBXZ(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID DWORD def GetType(self): return self.attrTuple[1] # ÀàÐÍ BYTE def GetNeedCnt(self): return self.attrTuple[2] # ÐèÒªÊýÁ¿ DWORD def GetCondition(self): return self.attrTuple[3] # Ìõ¼þ list def GetMWID(self): return self.attrTuple[4] # ·¨±¦ID WORD def GetAwardItem(self): return self.attrTuple[5] # ½±ÀøÎïÆ·Áбí list def GetMoney(self): return self.attrTuple[6] # ½ðÇ® list # Ѱ±¦É趨±í class IPY_TreasureSet(): def __init__(self): self.attrTuple = None return def GetTreasureType(self): return self.attrTuple[0] # Ѱ±¦ÀàÐÍ BYTE def GetPackType(self): return self.attrTuple[1] # ·ÅÈë±³°ü BYTE def GetCheckPack(self): return self.attrTuple[2] # ÊÇ·ñ¼ì²é±³°ü BYTE def GetIsActType(self): return self.attrTuple[3] # ÊÇ·ñ»î¶¯Ñ°±¦ BYTE def GetDailyFreeCount(self): return self.attrTuple[4] # ÿÈÕÃâ·Ñ´ÎÊý BYTE def GetTreasureCountList(self): return self.attrTuple[5] # ³é½±´ÎÊýÁбí list def GetRecycleItemMail(self): return self.attrTuple[6] # ÖØÖûØÊÕµÀ¾ßÓʼþ£¬Èç¹ûÓÐÅäÖûØÊÕÓʼþkey£¬ÔòÖØÖÃʱ»á»ØÊÕ¶àÓàµÄѰ±¦µÀ¾ß char def GetCostItemID(self): return self.attrTuple[7] # ÏûºÄµÀ¾ßID DWORD def GetCostItemCountList(self): return self.attrTuple[8] # ÏûºÄ¸öÊýÁбí list def GetCostMoneyType(self): return self.attrTuple[9] # ÏûºÄ»õ±ÒÀàÐÍ BYTE def GetCostMoneyList(self): return self.attrTuple[10] # ÏûºÄ»õ±ÒÁбí list def GetEnsureCount(self): return self.attrTuple[11] # ÿx´Î±Ø³ö WORD def GetOnceLucky(self): return self.attrTuple[12] # µ¥´ÎÐÒÔËÖµ BYTE def GetFullLucky(self): return self.attrTuple[13] # ÂúÐÒÔËÖµ WORD def GetLuckyRateFormat(self): return self.attrTuple[14] # ÐÒÔ˸ñ×Ó¸ÅÂʹ«Ê½ char def GetLuckyGridNum(self): return self.attrTuple[15] # ÐÒÔ˸ñ×Ó±àºÅ BYTE def GetGridNumMaxLimitInfo(self): return self.attrTuple[16] # ¸ñ×Ó×î´ó²ú³ö´ÎÊýÏÞÖÆ£¬{"¸ñ×Ó":×î´ó¿É²ú³ö´ÎÊý, ...} dict def GetNotifyGridNumList(self): return self.attrTuple[17] # ÐèÒª¶îÍâ¹ã²¥µÄ¸ñ×Ó list def GetAwardMoneyType(self): return self.attrTuple[18] # ¶îÍâ½±Àø»õ±ÒÀàÐÍ BYTE def GetAwardMoneyValue(self): return self.attrTuple[19] # µ¥´Î½±Àø»õ±ÒÊý WORD # Ѱ±¦²ú³ö¿â±í class IPY_TreasureHouse(): def __init__(self): self.attrTuple = None return def GetTreasureType(self): return self.attrTuple[0] # Ѱ±¦ÀàÐÍ BYTE def GetMinLV(self): return self.attrTuple[1] # ×îСµÈ¼¶ WORD def GetGridItemInfo(self): return self.attrTuple[2] # ¸ñ×Ó±àºÅ¶ÔÓ¦ÎïÆ·ÐÅÏ¢ {"±àºÅ":[ÎïÆ·ID, ¸öÊý], ...} dict def GetGridLibInfo(self): return self.attrTuple[3] # ¸ñ×Ó±àºÅ¶ÔÓ¦¿âID {"±àºÅ":ÎïÆ·¿âID, ...} dict def GetJobItemList(self): return self.attrTuple[4] # Ö°ÒµÎïÆ·×éÁбí [[Ö°Òµ1ÎïÆ·, Ö°Òµ2ÎïÆ·, ...], ...] list def GetGridItemRateListFree(self): return self.attrTuple[5] # Ãâ·Ñ²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] list def GetGridItemRateList1(self): return self.attrTuple[6] # ³£¹æ²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] list def GetGridItemRateList2(self): return self.attrTuple[7] # ÿÂúx´Î±£µ×²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] list def GetGridItemRateList3(self): return self.attrTuple[8] # µÚx´Î±Ø³ö²ú³ö¸ñ×Ó±àºÅ±ýͼ {´ÎÊý:[[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...], ...} dict def GetLuckyItemRateList(self): return self.attrTuple[9] # ÂúÐÒÔ˲ú³ö¸ÅÂʱýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] list # Ѱ±¦ÎïÆ·¿â class IPY_TreasureItemLib(): def __init__(self): self.attrTuple = None return def GetLibID(self): return self.attrTuple[0] # ¿âID WORD def GetItemID(self): return self.attrTuple[1] # ÎïÆ·ID DWORD def GetItemCount(self): return self.attrTuple[2] # ÎïÆ·¸öÊý DWORD def GetItemWeight(self): return self.attrTuple[3] # ÎïÆ·È¨ÖØ DWORD # Ѱ±¦ÀۼƴÎÊý½±Àø±í class IPY_TreasureCntAward(): def __init__(self): self.attrTuple = None return def GetTreasureType(self): return self.attrTuple[0] # Ѱ±¦ÀàÐÍ BYTE def GetNeedTreasureCnt(self): return self.attrTuple[1] # ËùÐèѰ±¦´ÎÊý DWORD def GetAwardIndex(self): return self.attrTuple[2] # ½±Àø¼Ç¼Ë÷Òý 0~30 BYTE def GetAwardItemList(self): return self.attrTuple[3] # ½±ÀøÎïÆ·ÐÅÏ¢Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...] list # ¼«Æ·°×Äñí class IPY_FreeGoods(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID BYTE def GetAwardItem(self): return self.attrTuple[1] # ½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...} dict def GetNeedMoney(self): return self.attrTuple[2] # ÐèÒªÏÉÓñ WORD def GetReturnDays(self): return self.attrTuple[3] # ·µ»¹ËùÐèÌì DWORD # ÏÞʱÀñ°ü»î¶¯±í class IPY_ActFlashGiftbag(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetStartTimeList(self): return self.attrTuple[3] # ¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list def GetEndTimeList(self): return self.attrTuple[4] # ½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list 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 GetIsJueban(self): return self.attrTuple[8] # ÊÇ·ñ¾ø°æÀñ°ü BYTE def GetGiftbagTypeList(self): return self.attrTuple[9] # Àñ°üÀàÐÍÁбí dict def GetMailKey(self): return self.attrTuple[10] # »î¶¯¸üÐÂʱ·¢ËÍÓʼþkey char def GetMailItemPrize(self): return self.attrTuple[11] # »î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ· list # ÏÞʱÀñ°üÄ£°å±í class IPY_FlashGiftbag(): def __init__(self): self.attrTuple = None return def GetGiftbagID(self): return self.attrTuple[0] # Àñ°ü±àºÅ DWORD def GetGiftbagType(self): return self.attrTuple[1] # Àñ°üÀàÐÍ WORD def GetOriginalRMB(self): return self.attrTuple[2] # Ô­¼Û£¨RMB£© float def GetBuyCountLimit(self): return self.attrTuple[3] # ÏÞ¹º´ÎÊý,0²»ÏÞ¹º WORD def GetGiftItemList(self): return self.attrTuple[4] # Àñ°üÎïÆ·ÐÅÏ¢Áбí [(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...] list def GetMainItemID(self): return self.attrTuple[5] # ±êµÄÎïÆ·ID DWORD def GetNotifyKey(self): return self.attrTuple[6] # È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È) char # ÿÈÕÀñ°ü»î¶¯±í class IPY_ActDailyGiftbag(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetGiftbagType(self): return self.attrTuple[4] # Àñ°üÄ£°åÀàÐÍ WORD # ÿÈÕÀñ°üÄ£°å±í class IPY_DailyGiftbag(): def __init__(self): self.attrTuple = None return 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,¸öÊý,ÊÇ·ñ°ó¶¨),...] eval def GetDiscount(self): return self.attrTuple[4] # ÕÛ¿Û°Ù·Ö±È WORD # Ë«±¶¾­Ñé»î¶¯±í class IPY_ActExpRate(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetLVLimit(self): return self.attrTuple[1] # ÏÞÖÆµÈ¼¶ WORD def GetAddExpRate(self): return self.attrTuple[2] # ¾­Ñé±¶Âʼӳɣ¬Íò·ÖÂÊ DWORD # Ïû·Ñ·µÀû»î¶¯±í class IPY_ActCostRebate(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetIsDayReset(self): return self.attrTuple[4] # ÊÇ·ñÿÌìÖØÖà BYTE def GetTemplateIDList(self): return self.attrTuple[5] # Ä£°åIDÁбí list # Ïû·Ñ·µÀûÄ£°å±í class IPY_CostRebateTemplate(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID DWORD def GetNeedCostGold(self): return self.attrTuple[1] # ÐèÒªÏû·ÑÏÉÓñÊý DWORD def GetAwardIndex(self): return self.attrTuple[2] # ·µÀû½±ÀøË÷Òý0~31,ͬ¸öÄ£°åÖв»Öظ´ BYTE def GetAwardItemList(self): return self.attrTuple[3] # ·µÀûÎïÆ·ÐÅÏ¢Áбí {ÊÀ½çµÈ¼¶·¶Î§:[({Ö°Òµ:ÎïÆ·ID,..},¸öÊý,ÊÇ·ñ°ó¶¨), ...]} dict def GetNotifyKey(self): return self.attrTuple[4] # È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È) char # ÂòÒ»ËͶà»î¶¯±í class IPY_ActBuyOne(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetIsDayReset(self): return self.attrTuple[4] # ÊÇ·ñÿÌìÖØÖà BYTE def GetTemplateIDList(self): return self.attrTuple[5] # Ä£°åIDÁбí list # ÂòÒ»ËͶàÄ£°å±í class IPY_ActBuyOneTemplate(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID DWORD def GetNeedCTGID(self): return self.attrTuple[1] # ÐèÒª³äÖµID DWORD def GetRecordIndex(self): return self.attrTuple[2] # ¼Ç¼Ë÷Òý BYTE def GetFreeItemInfo(self): return self.attrTuple[3] # Ãâ·ÑÁìÈ¡µÄÎïÆ·ÐÅÏ¢Áбí{ÁìÈ¡¼Ç¼Ë÷Òý:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...} dict # ÏÉÃ˳äֵЭÖú»î¶¯±í class IPY_ActFamilyCTGAssist(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetIsDayReset(self): return self.attrTuple[4] # ÊÇ·ñÿÌìÖØÖà BYTE def GetTemplateIDList(self): return self.attrTuple[5] # Ä£°åIDÁбí list # ÏÉÃ˳äֵЭÖú»î¶¯Ä£°å±í class IPY_ActFamilyCTGAssistTemp(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID DWORD def GetNeedCTGPlayers(self): return self.attrTuple[1] # ÐèÒª³äÖµÈËÊý BYTE def GetRecordIndex(self): return self.attrTuple[2] # ¼Ç¼Ë÷Òý BYTE def GetAwardItemList(self): return self.attrTuple[3] # ½±ÀøÎïÆ·ÐÅÏ¢£¬[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # ¼¯×ֻʱ¼ä±í class IPY_ActCollectWords(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetLastDayOnlyExchange(self): return self.attrTuple[4] # ×îºóÒ»ÌìÊÇ·ñ½ö¶Ò»» BYTE def GetTemplateID(self): return self.attrTuple[5] # ¶Ò»»Ä£°å±àºÅ 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µôÂä±ýͼ¸ÅÂÊ dict # ¼¯×ֻ¶Ò»»Ä£°å±í class IPY_CollectWordsExchange(): def __init__(self): self.attrTuple = None return 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,¸öÊý,ÊÇ·ñ°ó¶¨] 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 # À¬»ø·ÖÀà»î¶¯Ê±¼ä±í class IPY_ActGarbageSorting(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetResetType(self): return self.attrTuple[3] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetLVLimit(self): return self.attrTuple[4] # ÏÞÖÆµÈ¼¶ WORD def GetCTGTypeEffValue(self): return self.attrTuple[5] # ³äÖµÓÐЧÀàÐÍÖµ BYTE # À¬»ø·ÖÀàÈÎÎñ²ú³ö±í class IPY_ActGarbageTask(): def __init__(self): self.attrTuple = None return def GetGarbageTasklD(self): return self.attrTuple[0] # À¬»øÈÎÎñID DWORD def GetFinishNeedValue(self): return self.attrTuple[1] # Íê³ÉËùÐè½ø¶ÈÖµ DWORD def GetFinishTimeMax(self): return self.attrTuple[2] # ×Ü¿ÉÍê³É´ÎÊý£¬0²»ÏÞ DWORD def GetAutoProduce(self): return self.attrTuple[3] # ×Ô¶¯²úÉúÀ¬»ø BYTE def GetProduceGarbageRateList(self): return self.attrTuple[4] # Ëæ»ú²úÉúÀ¬»ø¸ÅÂʱýͼ list # BossÀúÁ·»î¶¯±í class IPY_ActBossTrial(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetJoinStartTime(self): return self.attrTuple[3] # ²ÎÓ뿪ʼʱ¼äµã char def GetJoinEndTime(self): return self.attrTuple[4] # ²ÎÓë½áÊøÊ±¼äµã char def GetLVLimit(self): return self.attrTuple[5] # ÏÞÖÆµÈ¼¶ WORD def GetIsDayReset(self): return self.attrTuple[6] # ÊÇ·ñÿÌìÖØÖà BYTE def GetResetType(self): return self.attrTuple[7] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetSubmitItemAwardInfo(self): return self.attrTuple[8] # Ìύƾ֤¸öÊý¶ÔÓ¦½±Àø dict def GetSubmitAwardResetType(self): return self.attrTuple[9] # Ìύƾ֤ÿÈÕÖØÖÃÀàÐÍ£¬0-¸úËæ»î¶¯£» 1-0µãÖØÖã»2-5µãÖØÖà BYTE def GetActShopType(self): return self.attrTuple[10] # ¿ª·ÅÉ̵êÀàÐÍ£¬Îª0ʱ²»¿ª·Å WORD def GetTemplateIDList(self): return self.attrTuple[11] # °ñµ¥Ä£°å±àºÅÁбí list def GetFamilyTemplateIDList(self): return self.attrTuple[12] # ÏÉÃ˰ñµ¥Ä£°å±àºÅÁбí list # BossÀúÁ·°ñµ¥Ä£°æ±í class IPY_ActBossTrialTemplate(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°å±àºÅ DWORD def GetRank(self): return self.attrTuple[1] # Ãû´Î BYTE def GetAwardItemList(self): return self.attrTuple[2] # ½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] ÏÉÃ˰ñʱΪÃËÖ÷½±Àø£¬Èç¹ûûÓÐÅäÖã¬Ôòͳһȡ³ÉÔ±½±Àø list def GetMemAwardItemList(self): return self.attrTuple[3] # ÏÉÃ˰ñ³ÉÔ±½±ÀøÎïÆ·ÐÅÏ¢Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list def GetNeedScore(self): return self.attrTuple[4] # ÉϰñËùÐè»ý·Ö DWORD def GetScoreAwardEx(self): return self.attrTuple[5] # ´ï±ê»ý·Ö¶îÍâ½±Àø {»ý·Ö:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...], ...} dict # Æï³èÑø³É»î¶¯Ê±¼ä±í class IPY_ActHorsePetTrain(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetJoinStartTime(self): return self.attrTuple[3] # ²ÎÓ뿪ʼʱ¼äµã char def GetJoinEndTime(self): return self.attrTuple[4] # ²ÎÓë½áÊøÊ±¼äµã char def GetLVLimit(self): return self.attrTuple[5] # ÏÞÖÆµÈ¼¶ WORD def GetActShopType(self): return self.attrTuple[6] # ¿ª·ÅÉ̵êÀàÐÍ£¬Îª0ʱ²»¿ª·Å WORD def GetPersonalTemplateID(self): return self.attrTuple[7] # ¸öÈËÅÅÐÐÄ£°å±àºÅ WORD def GetIsRelationCrossAct(self): return self.attrTuple[8] # ÊÇ·ñ¹ØÁª¿ç·þ»î¶¯ BYTE # Æï³èÑø³É°ñµ¥Ä£°æ±í class IPY_ActHorsePetTrainBillTemp(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°å±àºÅ DWORD def GetRank(self): return self.attrTuple[1] # Ãû´Î BYTE def GetAwardItemList(self): return self.attrTuple[2] # ½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list def GetNeedScore(self): return self.attrTuple[3] # ÉϰñËùÐè»ý·Ö DWORD def GetScoreAwardEx(self): return self.attrTuple[4] # ´ï±ê»ý·Ö¶îÍâ½±Àø {»ý·Ö:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...], ...} dict # ¹Å±¦Ñø³É»î¶¯Ê±¼ä±í class IPY_ActGubao(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetJoinStartTime(self): return self.attrTuple[3] # ²ÎÓ뿪ʼʱ¼äµã char def GetJoinEndTime(self): return self.attrTuple[4] # ²ÎÓë½áÊøÊ±¼äµã char def GetLVLimit(self): return self.attrTuple[5] # ÏÞÖÆµÈ¼¶ WORD def GetActShopType(self): return self.attrTuple[6] # ¿ª·ÅÉ̵êÀàÐÍ£¬Îª0ʱ²»¿ª·Å WORD def GetPersonalTemplateID(self): return self.attrTuple[7] # ¸öÈËÅÅÐÐÄ£°å±àºÅ WORD def GetIsRelationCrossAct(self): return self.attrTuple[8] # ÊÇ·ñ¹ØÁª¿ç·þ»î¶¯ BYTE # ¹Å±¦Ñø³É°ñµ¥Ä£°æ±í class IPY_ActGubaoBillTemp(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°å±àºÅ DWORD def GetRank(self): return self.attrTuple[1] # Ãû´Î BYTE def GetAwardItemList(self): return self.attrTuple[2] # ½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list def GetNeedScore(self): return self.attrTuple[3] # ÉϰñËùÐè»ý·Ö DWORD def GetScoreAwardEx(self): return self.attrTuple[4] # ´ï±ê»ý·Ö¶îÍâ½±Àø {»ý·Ö:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...], ...} dict # ÏÉÏ»ÃØ¾³»î¶¯Ê±¼ä±í class IPY_ActXianXiaMJ(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetJoinStartTime(self): return self.attrTuple[3] # ²ÎÓ뿪ʼʱ¼äµã char def GetJoinEndTime(self): return self.attrTuple[4] # ²ÎÓë½áÊøÊ±¼äµã char def GetIsDayReset(self): return self.attrTuple[5] # ÊÇ·ñÿÌìÖØÖà BYTE def GetLVLimit(self): return self.attrTuple[6] # ÏÞÖÆµÈ¼¶ WORD def GetUseItemID(self): return self.attrTuple[7] # ÏûºÄÎïÆ·ID DWORD def GetUseMoneyInfo(self): return self.attrTuple[8] # ÏûºÄ»õ±ÒÐÅÏ¢ list def GetTemplateID(self): return self.attrTuple[9] # Ä£°åID BYTE def GetPersonalTemplateID(self): return self.attrTuple[10] # ¸öÈËÅÅÐÐÄ£°å±àºÅ WORD def GetLotteryAddScore(self): return self.attrTuple[11] # ÿ´Î³é½±¼Ó»ý·Ö WORD def GetLayerAddScore(self): return self.attrTuple[12] # ÿ´Î¿ç²ã¼Ó»ý·Ö WORD def GetIsRelationCrossAct(self): return self.attrTuple[13] # ÊÇ·ñ¹ØÁª¿ç·þ»î¶¯ BYTE # ÏÉÏ»ÃØ¾³°ñµ¥Ä£°æ±í class IPY_ActXianXiaMJBillTemp(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°å±àºÅ DWORD def GetRank(self): return self.attrTuple[1] # Ãû´Î BYTE def GetAwardItemList(self): return self.attrTuple[2] # ½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list def GetNeedScore(self): return self.attrTuple[3] # ÉϰñËùÐè»ý·Ö DWORD def GetScoreAwardEx(self): return self.attrTuple[4] # ´ï±ê»ý·Ö¶îÍâ½±Àø {»ý·Ö:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...], ...} dict # ÏÉÏ»ÃØ¾³½±³Ø±í class IPY_ActXianXiaMJAward(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # ½±³ØÄ£°å±àºÅ DWORD def GetAwardLibType(self): return self.attrTuple[1] # ½±Àø¿âÀàÐÍ BYTE def GetAwardItemCountList(self): return self.attrTuple[2] # ²ãÑ¡Ôñ¸öÊýÁÐ±í ²ã1ÎïÆ·Êý|²ã2|¡­ list def GetUnlockAwardLimitTimesList(self): return self.attrTuple[3] # ²ã³éX´Îºó¿É²ú³ö£¨±¾²ã£© ²ã1ÏÞÖÆ|²ã2|¡­ list def GetAwardLibWeightList(self): return self.attrTuple[4] # ²ú³ö¸Ã¿âÍâÈ¨ÖØ list def GetLibItemInfo(self): return self.attrTuple[5] # ±¾¿âÎïÆ·Ëæ»ú¿âÄÚÈ¨ÖØ£¨ÏÈËæ»ú¿âÍâÈ¨ÖØ£¬Èô²ú³öÔÙËæ»ú¿âÄÚÈ¨ÖØ£© dict def GetItemLayerLimitInfo(self): return self.attrTuple[6] # ÎïÆ·²ú³ö½±³Ø²ãÏÞÖÆ {ÎïÆ·ID:´óÓÚµÈÓÚX²ã¿É²ú³ö, ...} dict def GetItemAwardTimesTotalInfo(self): return self.attrTuple[7] # ÎïÆ·²ú³ö´ÎÊýÏÞÖÆ£¨ËùÓв㣩{ÎïÆ·ID:×ܲú³ö´ÎÊý, ...} dict # ÌìµÛÀñ°ü»î¶¯Ê±¼ä±í class IPY_ActGodGift(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetIsDayReset(self): return self.attrTuple[3] # ÊÇ·ñÿÌìÖØÖà BYTE def GetLVLimit(self): return self.attrTuple[4] # ÏÞÖÆµÈ¼¶ WORD def GetUseMoneyType(self): return self.attrTuple[5] # ÏûºÄ»õ±ÒÀàÐÍ BYTE def GetUseGoldList(self): return self.attrTuple[6] # ³é½±ÏûºÄ»õ±ÒÁбí list def GetPrizeMoneyType(self): return self.attrTuple[7] # ½±Àø»õ±ÒÀàÐÍ BYTE def GetPrizeMoneyList(self): return self.attrTuple[8] # ½±Àø»õ±ÒÁбí list def GetResetLimitTimes(self): return self.attrTuple[9] # ÖÁÉٳ鼸´Î¿ÉÖØÖà BYTE def GetResetCountMax(self): return self.attrTuple[10] # ¿ÉÖØÖôÎÊý BYTE def GetTemplateIDInfo(self): return self.attrTuple[11] # ½±³ØÄ£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):[Ä£°å±àºÅÁбí, ...], ...} dict # ÌìµÛÀñ°ü½±³Ø±í class IPY_ActGodGiftAward(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # ½±³ØÄ£°å±àºÅ DWORD def GetAwardLibType(self): return self.attrTuple[1] # ½±Àø¿âÀàÐÍ BYTE def GetUnlockAwardLimitTimes(self): return self.attrTuple[2] # ³éX´Îºó¿É²ú³ö±¾¿â BYTE def GetChooseItemCount(self): return self.attrTuple[3] # Ñ¡Ôñ¸öÊý BYTE def GetLibItemInfo(self): return self.attrTuple[4] # ÎïÆ·±àºÅ¶ÔÓ¦ÎïÆ·ÐÅÏ¢ {ÎïÆ·±àºÅ:[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·,¿ÉÑ¡´ÎÊý], ...} 0²»ÏÞ´ÎÊý dict def GetNotifyItemNumList(self): return self.attrTuple[5] # ÐèÒª¹ã²¥µÄ±àºÅÁбí list # Æï³èÊ¢Ñç»î¶¯ class IPY_ActHorsePetFeast(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetStartTimeList(self): return self.attrTuple[3] # ¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list def GetEndTimeList(self): return self.attrTuple[4] # ½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list def GetLVLimit(self): return self.attrTuple[5] # ÏÞÖÆµÈ¼¶ WORD # BOSS¸´»î»î¶¯Ê±¼ä±í class IPY_ActBossReborn(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetResetType(self): return self.attrTuple[3] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetLVLimit(self): return self.attrTuple[4] # ÏÞÖÆµÈ¼¶ WORD def GetTemplateID(self): return self.attrTuple[5] # Ä£°å±àºÅ BYTE # BOSS¸´»î±í class IPY_BossReborn(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID BYTE def GetID(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] # ½±ÀøÎïÆ·ID1 dict # ¶à±¶ÐÞÐеã»î¶¯Ê±¼ä±í class IPY_ActRealmPoint(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetMultiple(self): return self.attrTuple[1] # ±¶Êý WORD def GetLVLimit(self): return self.attrTuple[2] # ÏÞÖÆµÈ¼¶ WORD def GetPointLimit(self): return self.attrTuple[3] # ÏÞÖÆ¶îÍâÐÞÐеã DWORD # ×ÚÃÅÊÔÁ¶¶Ò»»±í class IPY_TrialExchange(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ¶Ò»»ID DWORD def GetExchangeItemIDList(self): return self.attrTuple[1] # ¶Ò»»ÎïÆ·ID list def GetExchangeItemCount(self): return self.attrTuple[2] # ¶Ò»»ÎïÆ·¸öÊý DWORD def GetExchangeItemIsBind(self): return self.attrTuple[3] # ¶Ò»»ÎïÆ·ÊÇ·ñ°ó¶¨ DWORD def GetCostItemID(self): return self.attrTuple[4] # ÏûºÄÎïÆ·ID DWORD def GetCostItemCount(self): return self.attrTuple[5] # ÏûºÄÎïÆ·¸öÊý DWORD # ÏɽçÊ¢µä-È«ÃñÀ´à˱í class IPY_AllPeopleParty(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID BYTE def GetTotalTimes(self): return self.attrTuple[1] # ×Ü´ÎÊý WORD def GetAddPoint(self): return self.attrTuple[2] # ÿÍê³É´ÎÊý»ñµÃà˵ã WORD # ÏɽçÊ¢µä-È«ÃñÀ´à˽±Àø±í class IPY_AllPeoplePartyAward(): def __init__(self): self.attrTuple = None return def GetWorldLvNum(self): return self.attrTuple[0] # ÊÀ½çµÈ¼¶µµ BYTE def GetIndex(self): return self.attrTuple[1] # Ë÷Òý DWORD def GetNeedPoint(self): return self.attrTuple[2] # ÐèÒªµãÊý DWORD def GetAward(self): return self.attrTuple[3] # ½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...} dict # µØÍ¼NPCÅäÖñí-¹Ò»úµã class IPY_MapEventPoint(): def __init__(self): self.attrTuple = None return def GetMapID(self): return self.attrTuple[0] # DWORD def GetNPCID(self): return self.attrTuple[1] # DWORD def GetLowLV(self): return self.attrTuple[2] # ÍÆ¼ö×îµÍµÈ¼¶ WORD def GetHighestLV(self): return self.attrTuple[3] # ÍÆ¼ö×î¸ßµÈ¼¶ WORD def GetDefense(self): return self.attrTuple[4] # ÍÆ¼ö·ÀÓù DWORD # Ì츳¼¼Äܱí class IPY_TalentSkill(): def __init__(self): self.attrTuple = None return def GetSkillID(self): return self.attrTuple[0] # ¼¼ÄÜID DWORD def GetTalentType(self): return self.attrTuple[1] # Ì츳ÀàÐÍ BYTE def GetSeries(self): return self.attrTuple[2] # Ì츳ϵ±ð BYTE # ÏÞʱÇÀ¹º±í class IPY_ActFlashSale(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetStartTimeList(self): return self.attrTuple[3] # ¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list def GetEndTimeList(self): return self.attrTuple[4] # ½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list 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] # É̵êÀàÐÍÁбí dict def GetMailKey(self): return self.attrTuple[9] # »î¶¯¸üÐÂʱ·¢ËÍÓʼþkey char def GetMailItemPrize(self): return self.attrTuple[10] # »î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ· list # ÐíÔ¸³Ø»î¶¯Ê±¼ä±í class IPY_ActWishingWell(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetIsDayReset(self): return self.attrTuple[3] # ÊÇ·ñÿÌìÖØÖà BYTE def GetResetType(self): return self.attrTuple[4] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetLVLimit(self): return self.attrTuple[5] # ÏÞÖÆµÈ¼¶ WORD def GetTemplateID(self): return self.attrTuple[6] # Ä£°å±àºÅ BYTE # ÐíÔ¸³Ø¿âÄ£°å±í class IPY_WishingWell(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID BYTE def GetIsFree(self): return self.attrTuple[1] # ÊÇ·ñÃâ·Ñ¿â BYTE def GetWorldLVLimit(self): return self.attrTuple[2] # ÊÀ½çµÈ¼¶·¶Î§ list def GetItemID(self): return self.attrTuple[3] # ÎïÆ·ID DWORD def GetItemCnt(self): return self.attrTuple[4] # ÎïÆ·ÊýÁ¿ WORD def GetIsBind(self): return self.attrTuple[5] # ÊÇ·ñ°ó¶¨ BYTE def GetWeight(self): return self.attrTuple[6] # È¨ÖØ DWORD def GetMark(self): return self.attrTuple[7] # ÅÅÐòÓñêʶ DWORD def GetRare(self): return self.attrTuple[8] # Õäϡֵ BYTE # ¹¦ÄÜÔ¤¸æ±í class IPY_FunctionForecast(): def __init__(self): self.attrTuple = None return def GetFuncID(self): return self.attrTuple[0] # ¹¦ÄÜID DWORD def GetAward(self): return self.attrTuple[1] # ÊôÐÔÀàÐÍ dict # ÁÄÌìÆøÅݱí class IPY_ChatBubbleBox(): def __init__(self): self.attrTuple = None return def GetBoxID(self): return self.attrTuple[0] # ÆøÅÝ¿òID BYTE def GetNeedLV(self): return self.attrTuple[1] # ËùÐèµÈ¼¶ WORD def GetNeedVIPLVGift(self): return self.attrTuple[2] # ËùÐ蹺ÂòVIPµÈ¼¶Àñ°ü BYTE def GetUnlockDefault(self): return self.attrTuple[3] # ÊÇ·ñĬÈϼ¤»î BYTE def GetExpireMinutes(self): return self.attrTuple[4] # ʱЧ·ÖÖÓ£¬0ÓÀ¾Ã DWORD def GetLightAttrType(self): return self.attrTuple[5] # µãÁÁÊôÐÔÀàÐÍ list def GetLightAttrValue(self): return self.attrTuple[6] # µãÁÁÊôÐÔÖµ list def GetLightFightPower(self): return self.attrTuple[7] # µãÁÁ¸½¼ÓÕ½Á¦ DWORD # ÁÄÌìÆøÅÝÉýÐDZí class IPY_ChatBubbleBoxStar(): def __init__(self): self.attrTuple = None return def GetBoxID(self): return self.attrTuple[0] # ÆøÅÝ¿òID BYTE def GetBoxStar(self): return self.attrTuple[1] # ÆøÅÝ¿òÐǼ¶ BYTE def GetStarUpNeedItemList(self): return self.attrTuple[2] # Éý¸ÃÐÇËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list def GetStarAttrType(self): return self.attrTuple[3] # ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list def GetStarAttrValue(self): return self.attrTuple[4] # ÀÛ¼Æ×ÜÊôÐÔÖµ list # ±íÇé°ü±í class IPY_EmojiPack(): def __init__(self): self.attrTuple = None return def GetEmojiPackID(self): return self.attrTuple[0] # ±íÇé°üID DWORD def GetUnlockDefault(self): return self.attrTuple[1] # ÊÇ·ñĬÈϼ¤»î BYTE def GetExpireMinutes(self): return self.attrTuple[2] # ʱЧ·ÖÖÓ£¬0ÓÀ¾Ã DWORD # ³äÖµ·µÀû»î¶¯±í class IPY_ActRechargePrize(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetIsDayReset(self): return self.attrTuple[4] # ÊÇ·ñÿÌìÖØÖà BYTE def GetTemplateIDList(self): return self.attrTuple[5] # Ä£°åIDÁбí list # ³äÖµ·µÀûÄ£°å±í class IPY_RechargePrizeTemplate(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID DWORD def GetCTGID(self): return self.attrTuple[1] # ³äÖµ±í³äÖµID WORD def GetGoldPrize(self): return self.attrTuple[2] # ·µÀûÏÉÓñÊý DWORD def GetPrizeCountLimit(self): return self.attrTuple[3] # ×î´óÔùËÍ´ÎÊý BYTE # ÀۼƳäÖµ»î¶¯±í class IPY_ActTotalRecharge(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetIsDayReset(self): return self.attrTuple[4] # ÊÇ·ñÿÌìÖØÖà BYTE def GetCTGTypeEffValue(self): return self.attrTuple[5] # ³äÖµÓÐЧÀàÐÍÖµ BYTE def GetIsOfflineAct(self): return self.attrTuple[6] # ÊÇ·ñÏßÏ» BYTE def GetTemplateIDList(self): return self.attrTuple[7] # Ä£°åIDÁбí list # ÀۼƳäֵģ°å±í class IPY_TotalRechargeTemplate(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID DWORD def GetNeedGold(self): return self.attrTuple[1] # ÐèÒª³äÖµRMB£¬Ôª float def GetAwardIndex(self): return self.attrTuple[2] # ·µÀû½±ÀøË÷Òý0~31,ͬ¸öÄ£°åÖв»Öظ´ BYTE def GetAwardItem(self): return self.attrTuple[3] # ·µÀûÎïÆ·ÐÅÏ¢Áбí {Ö°Òµ:[(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...]} dict def GetNotifyKey(self): return self.attrTuple[4] # È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È) char # ÀۼƳäÖµ·µÀûÏÉÓñ»î¶¯±í class IPY_ActRechargeRebateGold(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetIsDayReset(self): return self.attrTuple[4] # ÊÇ·ñÿÌìÖØÖà BYTE def GetTemplateIDList(self): return self.attrTuple[5] # Ä£°åIDÁбí list # ÀۼƳäÖµ·µÀûÏÉÓñÄ£°å±í class IPY_RechargeRebateGoldTemplate(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID DWORD def GetRMBMin(self): return self.attrTuple[1] # ³äÖµRMB×îСֵ DWORD def GetRMBMax(self): return self.attrTuple[2] # ³äÖµRMB×î´óÖµ DWORD def GetRebateRate(self): return self.attrTuple[3] # ·µÀûÏÉÓñ±ÈÀý°Ù·Ö±È WORD # ³É³¤±ØÂò»î¶¯±í class IPY_ActGrowupBuy(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetCTGIDGroupList(self): return self.attrTuple[4] # ³äÖµ±àºÅ×éÁбí [[ctgID, ...], ...] list # ¶àÈÕÁ¬³ä»î¶¯±í class IPY_ActManyDayRecharge(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetTemplateID(self): return self.attrTuple[4] # Ä£°å±àºÅ WORD # ¶àÈÕÁ¬³äÄ£°å±í class IPY_ActManyDayRechargeAward(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID DWORD def GetNeedRMB(self): return self.attrTuple[1] # ËùÐè³äÖµ¶î¶È float def GetNeedDays(self): return self.attrTuple[2] # ËùÐè³äÖµÌìÊý BYTE def GetAwardIndex(self): return self.attrTuple[3] # ½±ÀøË÷Òý BYTE def GetAwardItemInfo(self): return self.attrTuple[4] # ½±ÀøÎïÆ·ÐÅÏ¢ {ÊÀ½çµÈ¼¶·¶Î§:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]} dict def GetNotifyKey(self): return self.attrTuple[5] # ¹ã²¥ char # תÅ̻±í class IPY_ActTurntable(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetIsDayReset(self): return self.attrTuple[4] # ÊÇ·ñÿÌìÖØÖà BYTE def GetCTGTypeEffValue(self): return self.attrTuple[5] # ³äÖµÓÐЧÀàÐÍÖµ BYTE def GetCTGPrizeList(self): return self.attrTuple[6] # ÀۼƳäÖµ½±Àø´ÎÊý list def GetUseMoneyType(self): return self.attrTuple[7] # ÀÛ¼ÆÏû·Ñ»õ±ÒÀàÐÍ BYTE def GetUseMoneyPrizeList(self): return self.attrTuple[8] # ÀÛ¼ÆÏû·ÑX»õ±Ò½±Àø´ÎÊý list def GetLibChooseCountList(self): return self.attrTuple[9] # ¸÷µÀ¾ß¿âÑ¡Ôñ¸öÊý list def GetSuperItemLimitRule(self): return self.attrTuple[10] # ÖÕ¼«¿â²ú³öÍò·ÖÂÊ|ÖÁÉÙX´Îºó¿É²ú³ö list def GetCommItemLib(self): return self.attrTuple[11] # ÆÕͨµÀ¾ß¿â {(ÊÀ½çµÈ¼¶A,ÊÀ½çµÈ¼¶B):[[¿ÉÑ¡ÎïÆ·ID, ¸öÊý, ÊÇ·ñÅÄÆ·], ...], ...} dict def GetGoodItemLib(self): return self.attrTuple[12] # ¼«Æ·µÀ¾ß¿â {(ÊÀ½çµÈ¼¶A,ÊÀ½çµÈ¼¶B):[[¿ÉÑ¡ÎïÆ·ID, ¸öÊý, ÊÇ·ñÅÄÆ·], ...], ...} dict def GetSuperItemLib(self): return self.attrTuple[13] # ³¬¼¶µÀ¾ß¿â {(ÊÀ½çµÈ¼¶A,ÊÀ½çµÈ¼¶B):[[¿ÉÑ¡ÎïÆ·ID, ¸öÊý, ÊÇ·ñÅÄÆ·], ...], ...} dict def GetWorldNotifyKey(self): return self.attrTuple[14] # ºÃÎïÆ·È«·þ¹ã²¥mark£¬¼«Æ·¼°³¬¼¶µÀ¾ßĬÈÏÈ«·þ¹ã²¥ char # µ¥±ÊÀÛ³ä»î¶¯±í class IPY_ActSingleRecharge(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetIsDayReset(self): return self.attrTuple[4] # ÊÇ·ñÿÌìÖØÖà BYTE def GetCTGTypeEffValue(self): return self.attrTuple[5] # ³äÖµÓÐЧÀàÐÍÖµ BYTE def GetIsOfflineAct(self): return self.attrTuple[6] # ÊÇ·ñÏßÏ» BYTE def GetAwardRuleType(self): return self.attrTuple[7] # Áì½±¹æÔòÀàÐÍ 0-ÏòϼæÈÝ£»1-Æ¥Åä×î¸ßµµ£»2-¾«È·Æ¥Åä¶ÔÓ¦µµ´Î BYTE def GetTemplateIDList(self): return self.attrTuple[8] # Ä£°åIDÁбí list # µ¥±ÊÀÛ³äÄ£°å±í class IPY_ActSingleRechargeAward(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID DWORD def GetSingleRechargeValue(self): return self.attrTuple[1] # µ¥±Ê³äÖµ¶î¶È float def GetAwardIndex(self): return self.attrTuple[2] # ͬ¸öÄ£°åÖв»Öظ´ BYTE def GetAwardCountMax(self): return self.attrTuple[3] # ×î´óÁì½±´ÎÊý£¬×î´ó999´Î WORD def GetAwardItem(self): return self.attrTuple[4] # ·µÀûÎïÆ·ÐÅÏ¢Áбí {Ö°Òµ:[(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...]} dict def GetNotifyKey(self): return self.attrTuple[5] # È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È) char # ·¨±¦¸±±¾±í class IPY_MagicWeaponFB(): def __init__(self): self.attrTuple = None return def GetMWID(self): return self.attrTuple[0] # ·¨±¦ID DWORD def GetLineID(self): return self.attrTuple[1] # ¸±±¾¹¦ÄÜÏß·ID BYTE def GetLevel(self): return self.attrTuple[2] # ¹Ø¿¨ BYTE def GetRefreshNPC(self): return self.attrTuple[3] # Ë¢¹ÖÅäÖà list def GetAttrDict(self): return self.attrTuple[4] # ÊôÐÔ dict # ±ù¾§¿óÂöÐǼ¶½±Àø±í class IPY_IceLodeStarAward(): def __init__(self): self.attrTuple = None return def GetIndex(self): return self.attrTuple[0] # ½±ÀøË÷Òý BYTE def GetStar(self): return self.attrTuple[1] # ÐÇÊý BYTE def GetLVLimit(self): return self.attrTuple[2] # µÈ¼¶·¶Î§ list def GetItemList(self): return self.attrTuple[3] # ½±Àø list # ¿ç·þ¾º¼¼³¡¶Îλ±í class IPY_CrossRealmPKDan(): def __init__(self): self.attrTuple = None return def GetDanLV(self): return self.attrTuple[0] # ¶ÎλµÈ¼¶ BYTE def GetLVUpScore(self): return self.attrTuple[1] # Éý¶ÎλËùÐè»ý·Ö WORD # ¿ç·þ¾º¼¼³¡¶Îλ½±Àø±í class IPY_CrossRealmPKDanAward(): def __init__(self): self.attrTuple = None return def GetCrossZoneName(self): return self.attrTuple[0] # ¿ç·þ·ÖÇøÃû char def GetSeasonID(self): return self.attrTuple[1] # Èü¼¾ID BYTE def GetDanLV(self): return self.attrTuple[2] # ¶ÎλµÈ¼¶ BYTE def GetDanLVAwardList(self): return self.attrTuple[3] # ¶Îλ´ï±ê½±ÀøÎïÆ·Áбí [[½±ÀøÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...] list def GetSeasonDanLVAwardList(self): return self.attrTuple[4] # Èü¼¾¶Îλ½±ÀøÎïÆ·Áбí [[½±ÀøÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...] list # ¿ç·þ¾º¼¼³¡ÅÅÃû½±Àø±í class IPY_CrossRealmPKOrderAward(): def __init__(self): self.attrTuple = None return def GetCrossZoneName(self): return self.attrTuple[0] # ¿ç·þ·ÖÇøÃû char def GetSeasonID(self): return self.attrTuple[1] # Èü¼¾ID BYTE def GetOrderAwardInfo(self): return self.attrTuple[2] # Èü¼¾ÅÅÃû½±ÀøÐÅÏ¢ {"ÅÅÃû":[[½±ÀøÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...], ...} dict # ¿ç·þ·ÖÇø±íͨÓà class IPY_CrossZoneComm(): def __init__(self): self.attrTuple = None return def GetCrossZoneName(self): return self.attrTuple[0] # ¿ç·þ·ÖÇøÃû char def GetZoneID(self): return self.attrTuple[1] # ÈüÇøID BYTE def GetServerGroupIDList(self): return self.attrTuple[2] # ÈüÇø·þÎñÆ÷×éIDÁбí list # ¿ç·þ·ÖÇø±í¹ÅÉñÕ½³¡ class IPY_CrossZoneBattlefield(): def __init__(self): self.attrTuple = None return def GetCrossZoneName(self): return self.attrTuple[0] # ¿ç·þ·ÖÇøÃû char def GetZoneID(self): return self.attrTuple[1] # ÈüÇøID BYTE def GetServerGroupIDList(self): return self.attrTuple[2] # ÈüÇø·þÎñÆ÷×éIDÁбí list # ¿ç·þ·ÖÇø±í¾º¼¼³¡ class IPY_CrossZonePK(): def __init__(self): self.attrTuple = None return def GetCrossZoneName(self): return self.attrTuple[0] # ¿ç·þ·ÖÇøÃû char def GetZoneID(self): return self.attrTuple[1] # ÈüÇøID BYTE def GetServerGroupIDList(self): return self.attrTuple[2] # ÈüÇø·þÎñÆ÷×éIDÁбí list # ¿ç·þBossÅîÀ³Ïɾ³·ÖÇøµØÍ¼±í class IPY_CrossPenglaiZoneMap(): def __init__(self): self.attrTuple = None return def GetZoneID(self): return self.attrTuple[0] # ·ÖÇøID BYTE def GetMapID(self): return self.attrTuple[1] # ³¡¾°µØÍ¼ID DWORD def GetDataMapID(self): return self.attrTuple[2] # Êý¾ÝµØÍ¼ID DWORD def GetCopyMapID(self): return self.attrTuple[3] # ÐéÄâÏß·ID BYTE def GetPosX(self): return self.attrTuple[4] # ×ø±êX WORD def GetPosY(self): return self.attrTuple[5] # ×ø±êY WORD # ¿ç·þBossħ»¯Ö®µØ·ÖÇøµØÍ¼±í class IPY_CrossDemonLandZoneMap(): def __init__(self): self.attrTuple = None return def GetZoneID(self): return self.attrTuple[0] # ·ÖÇøID BYTE def GetMapID(self): return self.attrTuple[1] # ³¡¾°µØÍ¼ID DWORD def GetDataMapID(self): return self.attrTuple[2] # Êý¾ÝµØÍ¼ID DWORD def GetCopyMapID(self): return self.attrTuple[3] # ÐéÄâÏß·ID BYTE def GetPosX(self): return self.attrTuple[4] # ×ø±êX WORD def GetPosY(self): return self.attrTuple[5] # ×ø±êY WORD # ¿ç·þ·ÖÇøµØÍ¼Öð¹Íò½ç class IPY_CrossFamilyFlagwarZoneMap(): def __init__(self): self.attrTuple = None return def GetZoneID(self): return self.attrTuple[0] # ·ÖÇøID BYTE def GetMapID(self): return self.attrTuple[1] # ³¡¾°µØÍ¼ID DWORD def GetDataMapID(self): return self.attrTuple[2] # Êý¾ÝµØÍ¼ID DWORD def GetCopyMapID(self): return self.attrTuple[3] # ÐéÄâÏß·ID BYTE def GetPosX(self): return self.attrTuple[4] # ×ø±êX WORD def GetPosY(self): return self.attrTuple[5] # ×ø±êY WORD # ¾Û»êбí class IPY_GatherTheSoul(): def __init__(self): self.attrTuple = None return def GetSoulID(self): return self.attrTuple[0] # ¾Û»êID DWORD def GetPieceItemID(self): return self.attrTuple[1] # Ë鯬ÎïÆ·ID DWORD def GetHoleNum(self): return self.attrTuple[2] # ¿×±àºÅ BYTE def GetSoulColor(self): return self.attrTuple[3] # Æ·ÖÊ BYTE def GetSoulSkillTypeID(self): return self.attrTuple[4] # ¼¼ÄÜTypeID DWORD def GetSoulSkillLVList(self): return self.attrTuple[5] # ¼¼Äܵȼ¶ËùÐè»êµÈ¼¶Áбí list # ¾Û»êÐÂÉý¼¶±í class IPY_GatherTheSoulLV(): def __init__(self): self.attrTuple = None return def GetSoulID(self): return self.attrTuple[0] # ¾Û»êID DWORD def GetSoulLV(self): return self.attrTuple[1] # »êµÈ¼¶ WORD def GetNeedPiece(self): return self.attrTuple[2] # ¸Ã¼¶ËùÐèË鯬 WORD def GetNeedSoulValue(self): return self.attrTuple[3] # ËùÐè¾Û»ê¾«»ª DWORD def GetLVAttrTypeList(self): return self.attrTuple[4] # ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list def GetLVAttrValueList(self): return self.attrTuple[5] # ÀÛ¼Æ×ÜÊôÐÔÖµ list # ¾Û»ê±í class IPY_GatherSoul(): def __init__(self): self.attrTuple = None return def GetItemID(self): return self.attrTuple[0] # ÎïÆ·ID DWORD def GetAttrType(self): return self.attrTuple[1] # ÊôÐÔÀàÐÍ list def GetSoulGrade(self): return self.attrTuple[2] # »ê½×¶Î BYTE # ¾Û»êºÏ³É±í class IPY_GatherSoulCompound(): def __init__(self): self.attrTuple = None return def GetTagItemID(self): return self.attrTuple[0] # ºÏ³ÉµÄÎïÆ·ID DWORD def GetNeedLV(self): return self.attrTuple[1] # ÐèÒªµÄÍæ¼ÒµÈ¼¶ WORD def GetNeedItem(self): return self.attrTuple[2] # ÐèÒªµÄÎïÆ·ID list def GetNeedSoulSplinters(self): return self.attrTuple[3] # ÐèÒªµÄ¾Û»êË鯬 WORD def GetNeedSoulCore(self): return self.attrTuple[4] # ÐèÒªµÄºËÐÄ»· WORD # ¾Û»êÊôÐÔ±í class IPY_GatherSoulAttr(): def __init__(self): self.attrTuple = None return def GetAttrType(self): return self.attrTuple[0] # ÊôÐÔÀàÐÍ WORD def GetAttrInfo1(self): return self.attrTuple[1] # »ù´¡ÊôÐÔ-²ÎÊý¾Û»êµÈ¼¶level char def GetAttrInfo2(self): return self.attrTuple[2] # Æ·ÖÊϵÊý(Æ·ÖÊ_ϵÊý|¡­) dict def GetAttrInfo3(self): return self.attrTuple[3] # ¶àÊôÐÔϵÊý dict def GetAttrInfo4(self): return self.attrTuple[4] # ³õʼÊôÐÔ(Æ·ÖÊ_ÊôÐÔÖµ|¡­) dict def GetAttrInfo5(self): return self.attrTuple[5] # ½×¶ÎϵÊý dict # ÍõÕß·¨±¦±í class IPY_MagicWeaponOfKing(): def __init__(self): self.attrTuple = None return def GetMWID(self): return self.attrTuple[0] # ·¨±¦ID DWORD def GetAwardMark(self): return self.attrTuple[1] # Èü¼¾½±ÀøµÈ¼¶ BYTE def GetAddAttr(self): return self.attrTuple[2] # ÊôÐÔ dict # ʱװ±í class IPY_Coat(): def __init__(self): self.attrTuple = None return def GetCoatID(self): return self.attrTuple[0] # ʱװ±àºÅ DWORD def GetCostQuality(self): return self.attrTuple[1] # ʱװƷÖÊ 0-ÆÕͨ£»1-Ï¡ÓУ»2-´«Ëµ BYTE def GetEquipItemID(self): return self.attrTuple[2] # ×°±¸ÎïÆ·ID(°´Ö°ÒµË³Ðò) list def GetUnlockItemID(self): return self.attrTuple[3] # ²ÄÁÏÎïÆ·ID DWORD def GetMaxLV(self): return self.attrTuple[4] # ×î´óÐǼ¶ DWORD def GetCostItemCnt(self): return self.attrTuple[5] # ²ÄÁÏÊýÁ¿ list def GetStarAttr(self): return self.attrTuple[6] # ÊôÐÔ dict def GetInitFightPower(self): return self.attrTuple[7] # ³õʼսÁ¦ DWORD # ʱװ¹ñÉý¼¶±í class IPY_CoatChestUp(): def __init__(self): self.attrTuple = None return def GetLV(self): return self.attrTuple[0] # µÈ¼¶ DWORD def GetNeedExp(self): return self.attrTuple[1] # Éý¼¶ËùÐè¾­Ñé BYTE def GetAddAttr(self): return self.attrTuple[2] # ÊôÐÔ dict # ÖÜ¿ñ»¶»î¶¯Ê±¼ä±í class IPY_ActWeekParty(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetAdvanceMinutes(self): return self.attrTuple[3] # ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯ WORD def GetIsDayReset(self): return self.attrTuple[4] # ÊÇ·ñÿÌìÖØÖà BYTE def GetResetType(self): return self.attrTuple[5] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetLVLimit(self): return self.attrTuple[6] # ÏÞÖÆµÈ¼¶ WORD def GetTemplateID(self): return self.attrTuple[7] # Ä£°å±àºÅ list def GetPointAward(self): return self.attrTuple[8] # ×Ü»ý·Ö½±Àø dict # ÖÜ¿ñ»¶±í class IPY_WeekParty(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID BYTE 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] # ½±ÀøÎïÆ· eval def GetPoint(self): return self.attrTuple[5] # »ý·Ö WORD # ÔËÊÆ»î¶¯Ê±¼ä±í class IPY_ActYunshi(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetResetType(self): return self.attrTuple[4] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetTreasureType(self): return self.attrTuple[5] # É̳ÇÀàÐÍ DWORD # Âֻصî»î¶¯Ê±¼ä±í class IPY_ActLunhuidian(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetResetType(self): return self.attrTuple[4] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetRoundSetInfo(self): return self.attrTuple[5] # ¿ª·ÅÂÖ»ØÉ趨 dict def GetRoundCTGIDInfo(self): return self.attrTuple[6] # ÂÖ»ØÀàÐͶÔÓ¦³äÖµIDÁбí dict def GetRoundShopTypeInfo(self): return self.attrTuple[7] # ÂÖ»ØÀàÐͶÔÓ¦É̵êÀàÐÍ dict # Âֻصî»î¶¯½±Àø±í class IPY_ActLunhuidianAward(): def __init__(self): self.attrTuple = None return def GetRoundType(self): return self.attrTuple[0] # ÂÖ»ØÀàÐÍ BYTE def GetNeedValue(self): return self.attrTuple[1] # ½±ÀøËùÐèÖµ DWORD def GetAwardIndex(self): return self.attrTuple[2] # ½±Àø¼Ç¼Ë÷Òý 0~30 BYTE def GetAwardItemList(self): return self.attrTuple[3] # ½±ÀøÎïÆ·ÐÅÏ¢Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...] list # ¹ºÂò´ÎÊýÀñ°ü»î¶¯Ê±¼ä±í class IPY_ActBuyCountGift(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetRelateFuncID(self): return self.attrTuple[3] # ¹ØÁª¹¦ÄÜID WORD def GetFuncActDays(self): return self.attrTuple[4] # ¹¦ÄܻÌìÊý BYTE def GetFuncLoop(self): return self.attrTuple[5] # ¹¦ÄÜÊÇ·ñÑ­»· BYTE def GetLVLimit(self): return self.attrTuple[6] # ÏÞÖÆµÈ¼¶ WORD def GetIsDayReset(self): return self.attrTuple[7] # ÊÇ·ñÿÌìÖØÖà BYTE def GetResetType(self): return self.attrTuple[8] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetCTGIDList(self): return self.attrTuple[9] # ³äÖµIDÁбí [ctgID, ...] list def GetCTGCountAwardInfo(self): return self.attrTuple[10] # ÀۼƳäÖµ´ÎÊý¶îÍâ½±Àø dict def GetCTGCountDayResetList(self): return self.attrTuple[11] # ÿÈÕÖØÖÃÀÛ³ä´ÎÊýÁбí list def GetActShopType(self): return self.attrTuple[12] # É̳ÇÀàÐÍ DWORD # ÈÎÎñ»î¶¯Ê±¼ä±í class IPY_ActTask(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetRelateFuncID(self): return self.attrTuple[3] # ¹ØÁª¹¦ÄÜID WORD def GetFuncActDays(self): return self.attrTuple[4] # ¹¦ÄܻÌìÊý BYTE def GetFuncLoop(self): return self.attrTuple[5] # ¹¦ÄÜÊÇ·ñÑ­»· BYTE def GetLVLimit(self): return self.attrTuple[6] # ÏÞÖÆµÈ¼¶ WORD def GetIsDayReset(self): return self.attrTuple[7] # ÊÇ·ñÿÌìÖØÖà BYTE def GetResetType(self): return self.attrTuple[8] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetTemplateID(self): return self.attrTuple[9] # µÇ¼½±ÀøÄ£°å±àºÅ BYTE def GetRoundMax(self): return self.attrTuple[10] # ÈÎÎñ×î´óÂÖ´Î BYTE # ÈÎÎñ»î¶¯Ä£°å±í class IPY_ActTaskTemp(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID BYTE def GetTaskID(self): return self.attrTuple[1] # ÈÎÎñID DWORD def GetTaskType(self): return self.attrTuple[2] # ÈÎÎñÀàÐÍ BYTE def GetNeedValue(self): return self.attrTuple[3] # Íê³ÉÈÎÎñËùÐèÖµ DWORD def GetAwardItemList(self): return self.attrTuple[4] # ÈÎÎñ½±ÀøÁбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # µÇ¼»î¶¯½±ÀøÊ±¼ä±íРclass IPY_ActLoginNew(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetRelateFuncID(self): return self.attrTuple[3] # ¹ØÁª¹¦ÄÜID WORD def GetFuncActDays(self): return self.attrTuple[4] # ¹¦ÄܻÌìÊý BYTE def GetFuncLoop(self): return self.attrTuple[5] # ¹¦ÄÜÊÇ·ñÑ­»· BYTE def GetLVLimit(self): return self.attrTuple[6] # ÏÞÖÆµÈ¼¶ WORD def GetRepSignCostMoneyInfo(self): return self.attrTuple[7] # ²¹Ç©ÏûºÄ»õ±ÒÀàÐÍÊýÁ¿ list def GetTemplateID(self): return self.attrTuple[8] # µÇ¼½±ÀøÄ£°å±àºÅ BYTE def GetAwardExCTGID(self): return self.attrTuple[9] # À©Õ¹½±ÀøÀñ°ü³äÖµID WORD def GetActZhanlingType(self): return self.attrTuple[10] # ¹ØÁª»î¶¯Õ½ÁîÀàÐÍ WORD # µÇ¼»î¶¯½±ÀøÄ£°å±íРclass IPY_ActLoginNewAward(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID BYTE def GetDayNum(self): return self.attrTuple[1] # µÚXÌì´Ó1¿ªÊ¼ BYTE def GetLoginAwardItemList(self): return self.attrTuple[2] # ½±ÀøÁбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list def GetLoginAwardItemListEx(self): return self.attrTuple[3] # À©Õ¹½±ÀøÁбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # µÇ¼½±ÀøÊ±¼ä±í class IPY_ActLoginAward(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetAdvanceMinutes(self): return self.attrTuple[3] # ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯ WORD def GetIsDayReset(self): return self.attrTuple[4] # ÊÇ·ñÿÌìÖØÖà BYTE def GetResetType(self): return self.attrTuple[5] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetLVLimit(self): return self.attrTuple[6] # ÏÞÖÆµÈ¼¶ WORD def GetTemplateID(self): return self.attrTuple[7] # Ä£°å±àºÅ list # µÇ¼½±ÀøÄ£°å±í class IPY_LoginAward(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID BYTE 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] # ½±ÀøÎïÆ· char # ½ÚÈյǼ½±ÀøÊ±¼ä±í class IPY_ActFeastLogin(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetTemplateIDInfo(self): return self.attrTuple[4] # Ä£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):½±ÀøÄ£°å±àºÅ, ...} dict # ½ÚÈյǼ½±ÀøÄ£°å±í class IPY_ActFeastLoginAward(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID BYTE def GetDayNum(self): return self.attrTuple[1] # µÚXÌì´Ó1¿ªÊ¼ BYTE def GetLoginAwardItemList(self): return self.attrTuple[2] # ½±ÀøÁбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # ½ÚÈÕ×£¸£Ê±¼ä±í class IPY_ActFeastWish(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetResetType(self): return self.attrTuple[4] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetTemplateIDInfo(self): return self.attrTuple[5] # Ä£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):Ä£°å±àºÅ, ...} dict # ½ÚÈÕ×£¸£Æ¿Ä£°å±í class IPY_ActFeastWishBottle(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID BYTE def GetWishBottleNum(self): return self.attrTuple[1] # ×£¸£Æ¿±àºÅ BYTE def GetNeedWishValue(self): return self.attrTuple[2] # µ¥´ÎÁì½±ËùÐè×£¸£Öµ WORD def GetChooseTimeMax(self): return self.attrTuple[3] # ×î´ó¿ÉÁì½±´ÎÊý BYTE def GetChoosePrizeItem(self): return self.attrTuple[4] # Ñ¡Ôñ½±ÀøÎïÆ·ÐÅÏ¢£¬Ñ¡ÍêΪֹ {¼Ç¼Ë÷Òý:[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...} dict def GetGoodItemIDList(self): return self.attrTuple[5] # ÐèÒª¹ã²¥µÄÎïÆ·IDÁбí [ÎïÆ·ID, ...] list def GetWorldNotifyKey(self): return self.attrTuple[6] # È«·þ¹ã²¥key£¬²ÎÊý(Íæ¼ÒÃû, ÎïÆ·ID, ÎïÆ·Êý¾Ý, ¸öÊý,) char # ½ÚÈÕ×£¸£³ØÄ£°å±í class IPY_ActFeastWishPool(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID BYTE def GetWishPoolItemWeightInfo(self): return self.attrTuple[1] # ×£¸£³Ø²ú³öÎïÆ·È¨ÖØ [[È¨ÖØ, [ÎïÆ·ID,¸öÊý]], ..] list def GetWishPoolClientItemShow(self): return self.attrTuple[2] # ǰ¶ËչʾÎïÆ·Áбí [ÎïÆ·ID, ...] list def GetGoodItemIDList(self): return self.attrTuple[3] # ÐèÒª¹ã²¥µÄÎïÆ·IDÁбí [ÎïÆ·ID, ...] list def GetWorldNotifyKey(self): return self.attrTuple[4] # È«·þ¹ã²¥key£¬²ÎÊý(Íæ¼ÒÃû, ÎïÆ·ID, ÎïÆ·Êý¾Ý, ¸öÊý,) char # ½ÚÈÕÓÎÀúʱ¼ä±í class IPY_ActFeastTravel(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetLVLimit(self): return self.attrTuple[3] # ÏÞÖÆµÈ¼¶ WORD def GetResetType(self): return self.attrTuple[4] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetTemplateIDInfo(self): return self.attrTuple[5] # Ä£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):Ä£°å±àºÅ, ...} dict # ½ÚÈÕÓÎÀúÈÎÎñ±í class IPY_ActFeastTravelTask(): def __init__(self): self.attrTuple = None return def GetTraveTasklD(self): return self.attrTuple[0] # ÓÎÀúID BYTE def GetFinishNeedValue(self): return self.attrTuple[1] # Íê³ÉËùÐè½ø¶ÈÖµ WORD def GetFinishTimeMax(self): return self.attrTuple[2] # ×Ü¿ÉÍê³É´ÎÊý£¬0²»ÏÞ WORD def GetAddTravelPoint(self): return self.attrTuple[3] # Íê³É´ÎÊý»ñµÃÓÎÀúÖµ BYTE # ½ÚÈÕÓÎÀú½±Àø±í class IPY_ActFeastTravelAward(): def __init__(self): self.attrTuple = None return def GetTemplatelD(self): return self.attrTuple[0] # ½±ÀøÄ£°åID BYTE def GetRecordIndex(self): return self.attrTuple[1] # ½±Àø¼Ç¼Ë÷Òý BYTE def GetNeedTravelPoint(self): return self.attrTuple[2] # Áì½±ËùÐèÓÎÀúÖµ WORD def GetAwardCountMax(self): return self.attrTuple[3] # ¿ÉÁìÈ¡´ÎÊý£¬0´ú±í²»ÏÞ BYTE def GetTravelAwardInfo(self): return self.attrTuple[4] # ÓÎÀú½±Àø [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # ÖïÏÉBOSS±í class IPY_ZhuXianBoss(): def __init__(self): self.attrTuple = None return def GetNPCID(self): return self.attrTuple[0] # ID DWORD def GetLineID(self): return self.attrTuple[1] # BYTE def GetRealmLV(self): return self.attrTuple[2] # ÐèÒª¾³½ç WORD def GetZhuXianScore(self): return self.attrTuple[3] # ÐèÒªÖïÏÉ×ÜÆÀ·Ö DWORD # ½ÚÈÕѲÀñ»î¶¯Ê±¼ä±í class IPY_ActFeastWeekParty(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetAdvanceMinutes(self): return self.attrTuple[3] # ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯ WORD def GetIsDayReset(self): return self.attrTuple[4] # ÊÇ·ñÿÌìÖØÖà BYTE def GetResetType(self): return self.attrTuple[5] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetLVLimit(self): return self.attrTuple[6] # ÏÞÖÆµÈ¼¶ WORD def GetTemplateID(self): return self.attrTuple[7] # Ä£°å±àºÅ list def GetPointAward(self): return self.attrTuple[8] # ×Ü»ý·Ö½±Àø dict # ½ÚÈÕѲÀñÄ£°å±í class IPY_FeastWeekParty(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID BYTE 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 GetPoint(self): return self.attrTuple[5] # »ý·Ö WORD # ÐÂÏɽçÊ¢µä-È«ÃñÀ´à˱í class IPY_NewAllPeopleParty(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ID BYTE def GetTotalTimes(self): return self.attrTuple[1] # ×Ü´ÎÊý WORD def GetAddPoint(self): return self.attrTuple[2] # ÿÍê³É´ÎÊý»ñµÃà˵ã WORD # ÐÂÏɽçÊ¢µä-È«ÃñÀ´à˽±Àø±í class IPY_NewAllPeoplePartyAward(): def __init__(self): self.attrTuple = None return def GetWorldLvNum(self): return self.attrTuple[0] # ÊÀ½çµÈ¼¶µµ BYTE def GetIndex(self): return self.attrTuple[1] # Ë÷Òý DWORD def GetNeedPoint(self): return self.attrTuple[2] # ÐèÒªµãÊý DWORD def GetAward(self): return self.attrTuple[3] # ½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...} dict # ÐÒÔ˼ø±¦»î¶¯Ê±¼ä±í class IPY_ActLuckyTreasure(): def __init__(self): self.attrTuple = None return def GetCfgID(self): return self.attrTuple[0] # ÅäÖÃID DWORD def GetStartDate(self): return self.attrTuple[1] # ¿ªÆôÈÕÆÚ char def GetEndDate(self): return self.attrTuple[2] # ½áÊøÈÕÆÚ char def GetResetType(self): return self.attrTuple[3] # ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE def GetLVLimit(self): return self.attrTuple[4] # ÏÞÖÆµÈ¼¶ WORD def GetTemplateID(self): return self.attrTuple[5] # Ä£°å±àºÅ BYTE def GetLuckyPoint(self): return self.attrTuple[6] # ×ÜÐÒÔËÖµ WORD # ÐÒÔ˼ø±¦¿âÄ£°å±í class IPY_LuckyTreasureTemplate(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID BYTE def GetWorldLVLimit(self): return self.attrTuple[1] # ÊÀ½çµÈ¼¶·¶Î§ list def GetItemID(self): return self.attrTuple[2] # ÎïÆ·ID DWORD def GetItemCnt(self): return self.attrTuple[3] # ÎïÆ·ÊýÁ¿ WORD def GetIsBind(self): return self.attrTuple[4] # ÊÇ·ñ°ó¶¨ BYTE def GetWeight(self): return self.attrTuple[5] # È¨ÖØ DWORD # ¿ç·þ³äÖµÅÅÐÐÄ£°å´ï±ê½±Àø±í class IPY_CrossActCTGBillboardDabiao(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID DWORD def GetCTGNeed(self): return self.attrTuple[1] # Ðè³äÖµRMB float def GetAwardIndex(self): return self.attrTuple[2] # ½±Àø¼Ç¼Ë÷Òý£¬´Ó0¿ªÊ¼£¬Í¬¸öÄ£°å²»¿ÉÖØ¸´£¬²»¿É±ä¸ü BYTE def GetAwardItemList(self): return self.attrTuple[3] # ½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # ¿ç·þ³äÖµÅÅÐÐÄ£°åÃû´Î½±Àø±í class IPY_CrossActCTGBillboardOrder(): def __init__(self): self.attrTuple = None return def GetTemplateID(self): return self.attrTuple[0] # Ä£°åID DWORD def GetOrderA(self): return self.attrTuple[1] # Ãû´ÎA WORD def GetOrderB(self): return self.attrTuple[2] # ÖÁÃû´ÎB WORD def GetCTGAtleast(self): return self.attrTuple[3] # ÖÁÉÙ³äÖµRMB float def GetAwardItemList(self): return self.attrTuple[4] # ½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # ÉñÃØÉ̵ê±í class IPY_MysteryShop(): def __init__(self): self.attrTuple = None return def GetLVRange(self): return self.attrTuple[0] # µÈ¼¶·¶Î§ list def GetGoodsID(self): return self.attrTuple[1] # É̳DZíID DWORD # ×°±¸Î»±³°üË÷ÒýÓ³Éä±í class IPY_EquipPlaceIndexMap(): def __init__(self): self.attrTuple = None return def GetGridIndex(self): return self.attrTuple[0] # ±³°ü¸ñ×ÓË÷Òý DWORD def GetClassLV(self): return self.attrTuple[1] # ½×¼¶(ÎïÆ·±íLV×Ö¶Î) DWORD def GetEquipPlace(self): return self.attrTuple[2] # ×°±¸Î»(ÎïÆ·±íEquipPlace×Ö¶Î) DWORD # ×°±¸Éñ×°±í class IPY_EquipShenAttr(): def __init__(self): self.attrTuple = None return def GetEquipItemID(self): return self.attrTuple[0] # ×°±¸ID DWORD def GetShenAttrIDList(self): return self.attrTuple[1] # ÉñÆ·´«ÆæÊôÐÔIDÁбí list def GetShenAttrValueList(self): return self.attrTuple[2] # ÉñÆ·´«ÆæÊôÐÔÖµÁбí list def GetXianAttrIDList(self): return self.attrTuple[3] # ÏÉÆ·´«ÆæÊôÐÔIDÁбí list def GetXianAttrValueList(self): return self.attrTuple[4] # ÏÉÆ·´«ÆæÊôÐÔÖµÁбí list def GetJiAttrIDList(self): return self.attrTuple[5] # ¼«Æ·´«ÆæÊôÐÔIDÁбí list def GetJiAttrValueList(self): return self.attrTuple[6] # ¼«Æ·´«ÆæÊôÐÔÖµÁбí list def GetLegendAttrIDList(self): return self.attrTuple[7] # ÆÕͨ´«ÆæÊôÐÔIDÁбí list def GetLegendAttrValueList(self): return self.attrTuple[8] # ÆÕͨ´«ÆæÊôÐÔÖµÁбí list # ×°±¸Éñ×°½ø½×±í class IPY_EquipShenEvolve(): def __init__(self): self.attrTuple = None return def GetEquipItemID(self): return self.attrTuple[0] # ×°±¸ID DWORD def GetEvolveEquipID(self): return self.attrTuple[1] # ¿É½ø½×Ä¿±ê×°±¸ID DWORD def GetEvolveNeedItemIDInfo(self): return self.attrTuple[2] # ½ø½×ËùÐ踽¼Ó²ÄÁϼ°¸öÊý list # ×°±¸ÉýÐDZí class IPY_EquipStarUp(): def __init__(self): self.attrTuple = None return def GetClassLV(self): return self.attrTuple[0] # ½×¼¶ BYTE def GetEquipPlace(self): return self.attrTuple[1] # ×°±¸Î» BYTE def GetStar(self): return self.attrTuple[2] # ÐÇÊý BYTE def GetCostEquipPlace(self): return self.attrTuple[3] # ¿ÉÓÃ×°±¸²¿Î» list def GetIsJobLimit(self): return self.attrTuple[4] # ÊÇ·ñÖ»Óñ¾Ö°Òµ×°±¸²ÄÁÏ BYTE def GetCostEquipColor(self): return self.attrTuple[5] # ¿ÉÓÃ×°±¸Æ·ÖÊ list def GetCostEquipCnt(self): return self.attrTuple[6] # ×°±¸ÊýÁ¿ BYTE def GetUnSuitRate(self): return self.attrTuple[7] # µ¥¼þ·ÇÌ××°¼Ó³É¸ÅÂÊ BYTE def GetSuitRate(self): return self.attrTuple[8] # µ¥¼þÌ××°¼Ó³É¸ÅÂÊ BYTE def GetCostItemDict(self): return self.attrTuple[9] # ÌØÊâ²ÄÁÏ dict def GetStarAttrInfo(self): return self.attrTuple[10] # ÐǼ¶ÊôÐÔ dict def GetBaseAttrInfo(self): return self.attrTuple[11] # »ù´¡ÊôÐÔÔö¼Ó dict # ×°±¸Ç¿»¯½ø»¯±í class IPY_EquipPlusEvolve(): def __init__(self): self.attrTuple = None return def GetEquipPlace(self): return self.attrTuple[0] # ×°±¸Î» BYTE def GetEvolveLV(self): return self.attrTuple[1] # ½ø»¯µÈ¼¶ BYTE def GetNeedPlusLV(self): return self.attrTuple[2] # ÐèҪǿ»¯µÈ¼¶ WORD def GetCostItem(self): return self.attrTuple[3] # ÏûºÄ²ÄÁÏ dict def GetAttr(self): return self.attrTuple[4] # ÊôÐÔ dict # ÏÉÃËBoss½±Àø±í class IPY_FamilyBossAward(): def __init__(self): self.attrTuple = None return def GetBossID(self): return self.attrTuple[0] # BossID DWORD def GetWorldLV(self): return self.attrTuple[1] # ÊÀ½çµÈ¼¶ list def GetRank(self): return self.attrTuple[2] # ÅÅÃû list def GetAward1(self): return self.attrTuple[3] # ½±Àø [[¶ÀÁ¢¸ÅÂÊÍò·ÖÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]],..] list def GetAward2(self): return self.attrTuple[4] # ±ýͼ½±Àø{Ëæ»ú´ÎÊý:[(¸ÅÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..]} dict # ÏÉÃËÊÔÁ¶ÉËѪ½±Àø±í class IPY_FamilyBossHurtAward(): def __init__(self): self.attrTuple = None return def GetAwardType(self): return self.attrTuple[0] # ½±ÀøÀàÐÍ 1-¸öÈË£»2-ÏÉÃË BYTE def GetRecordIndex(self): return self.attrTuple[1] # ½±Àø¼Ç¼Ë÷Òý£¬Í¬½±ÀøÀàÐÍʱ¼Ç¼Ë÷Òý²»¿ÉÖØ¸´ BYTE def GetNeedHurtTotal(self): return self.attrTuple[2] # ËùÐè×ÜÉËѪ DWORD def GetAwardItemList(self): return self.attrTuple[3] # ½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # ÏÉÃËÕ󷨱í class IPY_FamilyZhenfa(): def __init__(self): self.attrTuple = None return def GetZhenfaType(self): return self.attrTuple[0] # Õó·¨ÀàÐÍ BYTE def GetZhenfaLV(self): return self.attrTuple[1] # Õ󷨵ȼ¶ WORD def GetLVUpNeedExp(self): return self.attrTuple[2] # ÉýÏÂÒ»¼¶ËùÐè¾­Ñé DWORD def GetLVAttrType(self): return self.attrTuple[3] # ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list def GetLVAttrValue(self): return self.attrTuple[4] # ÀÛ¼Æ×ÜÊôÐÔÖµ list # ×°±¸Ï´Á·µÈ¼¶ÉÏÏÞ class IPY_ItemWashMax(): def __init__(self): self.attrTuple = None return def GetType(self): return self.attrTuple[0] # °´×°±¸Î»¶ÔÓ¦ÀàÐͲéÕÒ BYTE def GetStar(self): return self.attrTuple[1] # ×°±¸ÐÇÊý BYTE def GetLevelMax(self): return self.attrTuple[2] # Ï´Á·µÈ¼¶ÉÏÏÞ WORD # Æï³èBoss½±Àø±í class IPY_HorsePetBossAward(): def __init__(self): self.attrTuple = None return def GetLineID(self): return self.attrTuple[0] # Ïß·ID BYTE def GetWorldLV(self): return self.attrTuple[1] # ÊÀ½çµÈ¼¶ list def GetRank(self): return self.attrTuple[2] # ÅÅÃû list def GetAward1(self): return self.attrTuple[3] # ½±Àø [[¶ÀÁ¢¸ÅÂÊÍò·ÖÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]],..] list def GetAward2(self): return self.attrTuple[4] # ±ýͼ½±Àø [[(¸ÅÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..]] list # çÎç¿ÏÉÓò±í class IPY_FairyDomain(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ʼþ±àºÅ WORD def GetEventType(self): return self.attrTuple[1] # ʼþÀàÐÍ BYTE def GetMapID(self): return self.attrTuple[2] # ¸±±¾id DWORD def GetLineID(self): return self.attrTuple[3] # ¸±±¾Ïß·id BYTE def GetBossID(self): return self.attrTuple[4] # ¸±±¾BossID DWORD def GetEventFBType(self): return self.attrTuple[5] # ʼþ¸±±¾ÀàÐÍ£¬0-ǰ¶Ë£¬1-±¾·þ£¬2-¿ç·þ BYTE def GetCostEnergy(self): return self.attrTuple[6] # ÏûºÄÌåÁ¦ BYTE def GetNeedAlchemyLV(self): return self.attrTuple[7] # ³öÏÖµÄÁ¶µ¤µÈ¼¶ÒªÇó BYTE def GetNeedLV(self): return self.attrTuple[8] # ³öÏÖµÄÍæ¼ÒµÈ¼¶ÒªÇó list def GetWeight(self): return self.attrTuple[9] # È¨ÖØ DWORD def GetHourCntPriLimit(self): return self.attrTuple[10] # ¸öÈËÿСʱ´ÎÊýÏÞÖÆ DWORD def GetDayCntPriLimit(self): return self.attrTuple[11] # ¸öÈËÿÌì´ÎÊýÏÞÖÆ DWORD # çÎç¿ÆæÓö±í class IPY_FairyAdventures(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ΨһID WORD def GetOpenServerDay(self): return self.attrTuple[1] # ¿ª·þÌì DWORD def GetEventID(self): return self.attrTuple[2] # ʼþ±àºÅ BYTE def GetCondition(self): return self.attrTuple[3] # Ìõ¼þ list def GetGearAward(self): return self.attrTuple[4] # µµÎ»½±Àø list def GetBasicAward(self): return self.attrTuple[5] # ±£µ×½±Àø list # çÎç¿ÏÉÓò¶¨ÖƱí class IPY_FairyDomainAppoint(): def __init__(self): self.attrTuple = None return def GetCnt(self): return self.attrTuple[0] # ´ÎÊý WORD def GetEventID(self): return self.attrTuple[1] # ʼþ±àºÅ DWORD def GetAward(self): return self.attrTuple[2] # ¶¨Öƽ±Àø£¨Ã»Åä×ßÕý³£½±Àø¹æÔò£©[[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·],..] list def GetRandomAward(self): return self.attrTuple[3] # Ëæ»ú½±Àø [[(È¨ÖØ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..],..] list # ¸±±¾Buff±í class IPY_FBBuyBuff(): def __init__(self): self.attrTuple = None return def GetMapId(self): return self.attrTuple[0] # DWORD def GetMoneyCnt(self): return self.attrTuple[1] # ÏÉÓñÊýÁ¿ WORD def GetBuffID(self): return self.attrTuple[2] # BuffID DWORD def GetBuffCD(self): return self.attrTuple[3] # ¼ä¸ôʱ¼äs WORD # ¼¼ÄÜÉý¼¶±í class IPY_SkillElement(): def __init__(self): self.attrTuple = None return def GetElementSkillID(self): return self.attrTuple[0] # ר¾«¼¼ÄÜID DWORD def GetElementSkillNum(self): return self.attrTuple[1] # ר¾«¼¼ÄܱàºÅ BYTE def GetMainSkillID(self): return self.attrTuple[2] # Ö÷¼¼ÄÜID DWORD def GetNeedLV(self): return self.attrTuple[3] # Ñ¡ÔñÐèÒªµÈ¼¶ DWORD # ÌìÐÇËþ±í class IPY_SkyTower(): def __init__(self): self.attrTuple = None return def GetFloorID(self): return self.attrTuple[0] # ²ã DWORD def GetBossID(self): return self.attrTuple[1] # bossID DWORD def GetReward(self): return self.attrTuple[2] # ½±Àø dict def GetNeedLV(self): return self.attrTuple[3] # ÒªÇóµÈ¼¶ WORD def GetFightPower(self): return self.attrTuple[4] # ÍÆ¼öÕ½Á¦ DWORD def GetIsNotify(self): return self.attrTuple[5] # ÊÇ·ñ¹ã²¥ BYTE # ÌìÐÇËþÈ«·þÌôÕ½±í class IPY_SkyTowerServerChallenge(): def __init__(self): self.attrTuple = None return def GetFloorID(self): return self.attrTuple[0] # ²ã DWORD def GetPassRankRewardInfo(self): return self.attrTuple[1] # ͨ¹ØÅÅÃû½±Àø {"Ãû´Î":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...], ...} dict def GetServerRewardInfo(self): return self.attrTuple[2] # ͨ¹ØÅÅÃû½±Àø {"ËùÐè¹ý¹ØÈËÊý":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...], ...} dict # Áé¸ùÌØÐ§±í class IPY_LingGenEffect(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # ΨһID DWORD def GetPointID(self): return self.attrTuple[1] # Áé¸ùID DWORD def GetQualityLV(self): return self.attrTuple[2] # Æ·¼¶ BYTE # ÇéÔµÀñÎï±í class IPY_LoveGift(): def __init__(self): self.attrTuple = None return def GetGiftNum(self): return self.attrTuple[0] # ƸÀñID BYTE def GetGiftItemID(self): return self.attrTuple[1] # ÎïÆ·ID DWORD def GetAllowBatch(self): return self.attrTuple[2] # ÊÇ·ñÔÊÐíÅúÁ¿ÔùËÍ BYTE # ÇéÔµÌáÇ×±í class IPY_Marry(): def __init__(self): self.attrTuple = None return def GetBridePriceID(self): return self.attrTuple[0] # ƸÀñID BYTE def GetCostMoneyInfo(self): return self.attrTuple[1] # ÏûºÄ»õ±ÒÀàÐÍ|ÊýÖµ list # ÇéÔµÇé½ä±í class IPY_LoveRing(): def __init__(self): self.attrTuple = None return def GetRingClassLV(self): return self.attrTuple[0] # Çé½ä½×¼¶ BYTE def GetRingStarLV(self): return self.attrTuple[1] # Çé½äÐǼ¶ BYTE def GetCoupleAttrType(self): return self.attrTuple[2] # ÏÉÂÂÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list def GetCoupleAttrValue(self): return self.attrTuple[3] # ÏÉÂÂÊôÐÔÖµ£¨·ÇÀÛ»ý£© list def GetStarAttrType(self): return self.attrTuple[4] # ÐǼ¶¶îÍâÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list def GetStarAttrValue(self): return self.attrTuple[5] # ÐǼ¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© list def GetUpItemAttrType(self): return self.attrTuple[6] # ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount list def GetUpItemAttrValue(self): return self.attrTuple[7] # ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount list def GetNeedEatCount(self): return self.attrTuple[8] # Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ© DWORD def GetUpEatItemPerCount(self): return self.attrTuple[9] # ÿ´ÎÅàÑøÏûºÄx¸ö DWORD # ÇéÔµ÷ÈÁ¦ÊôÐÔ±í class IPY_LoveCharm(): def __init__(self): self.attrTuple = None return def GetCharmLV(self): return self.attrTuple[0] # ÷ÈÁ¦µÈ¼¶ BYTE def GetUpNeedCharm(self): return self.attrTuple[1] # Éýϼ¶ËùÐè×Ü÷ÈÁ¦ DWORD def GetLVAttrType(self): return self.attrTuple[2] # ÊôÐÔÀàÐÍ list def GetLVAttrValue(self): return self.attrTuple[3] # ×ÜÊôÐÔÖµ list def GetLVAwardItemInfo(self): return self.attrTuple[4] # µÈ¼¶ÎïÆ·½±Àø[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # Æï³è¾õÐѱí class IPY_HorsePetSkin(): def __init__(self): self.attrTuple = None return def GetType(self): return self.attrTuple[0] # 1×øÆï2Áé³è BYTE def GetID(self): return self.attrTuple[1] # ¹ØÁªID(×øÆï±íºÍÁé³è±íID) DWORD def GetSkinLV(self): return self.attrTuple[2] # »Ã»¯µÈ¼¶ BYTE def GetNeedExp(self): return self.attrTuple[3] # Éý¼¶ÐèÒª¾­Ñé DWORD def GetAttrInfo(self): return self.attrTuple[4] # ÊôÐÔ dict def GetSkinIndex(self): return self.attrTuple[5] # Íâ¹Û BYTE # ЭÖú¸ÐлÀñºÐ±í class IPY_AssistThanksGift(): def __init__(self): self.attrTuple = None return def GetGiftID(self): return self.attrTuple[0] # ÀñºÐÎïÆ·ID DWORD def GetRequestPlayerAward(self): return self.attrTuple[1] # ·¢²¼½±ÀøÎïÆ· ÎïÆ·ID|¸öÊý list def GetAssistPlayerAward(self): return self.attrTuple[2] # ЭÖú½±ÀøÎïÆ· ÎïÆ·ID|¸öÊý list # ¹¦ÄÜÌØÈ¨½±Àø±í class IPY_FuncSysPrivilege(): def __init__(self): self.attrTuple = None return def GetFuncSysID(self): return self.attrTuple[0] # ¹¦ÄÜϵͳID BYTE def GetDayNum(self): return self.attrTuple[1] # µÚXÌì BYTE def GetDayAwardItemInfo(self): return self.attrTuple[2] # ½±ÀøÎïÆ·ÐÅÏ¢ [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # ÀۼƳäÖµ½±Àø±í class IPY_HistoryRechargeAward(): def __init__(self): self.attrTuple = None return def GetID(self): return self.attrTuple[0] # id BYTE def GetNeedRMB(self): return self.attrTuple[1] # ËùÐè³äÖµÔª float def GetReward(self): return self.attrTuple[2] # Ö°Òµ¶ÔÓ¦µÄ½±ÀøÄÚÈÝ,ÿ¸öÖ°Òµ4×éÊý¾Ý£¬ÎïÆ·IDºÍÎïÆ·ÊýÁ¿(1.ǹºÀ2.µÀʦ3.½£ÐÞ) dict # ½±Àø±í class IPY_CustomAward(): def __init__(self): self.attrTuple = None return def GetAwardID(self): return self.attrTuple[0] # ½±ÀøID 1~n BYTE def GetAwardItemList(self): return self.attrTuple[1] # ÎïÆ·½±Àø[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list # Õ½Áî±í class IPY_Zhanling(): def __init__(self): self.attrTuple = None return def GetZhanlingType(self): return self.attrTuple[0] # Õ½ÁîÀàÐÍ BYTE def GetNeedValue(self): return self.attrTuple[1] # ËùÐèÖµ DWORD def GetRewardIndex(self): return self.attrTuple[2] # ½±Àø¼Ç¼Ë÷Òý£¬0~n£¬Í¬¸öÕ½ÁîÀàÐͲ»¿ÉÖØ¸´ BYTE def GetFreeRewardItemList(self): return self.attrTuple[3] # Ãâ·Ñ½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...] list def GetZLRewardItemList(self): return self.attrTuple[4] # Õ½Áî½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...] list def GetZLRewardItemListH(self): return self.attrTuple[5] # ¸ß¼¶Õ½Áî½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...] list # Ïɹ¬±í class IPY_Xiangong(): def __init__(self): self.attrTuple = None return def GetXiangongID(self): return self.attrTuple[0] # Ïɹ¬ID WORD # Ïɹ¬ÌìµÀÊ÷ class IPY_TiandaoTree(): def __init__(self): self.attrTuple = None return def GetAwardIndex(self): return self.attrTuple[0] # ½±ÀøË÷Òý WORD def GetNeedQiyun(self): return self.attrTuple[1] # ËùÐèÆøÔËÖµ DWORD def GetAwardItemList(self): return self.attrTuple[2] # ½±ÀøÎïÆ·Áбí list def Log(msg, playerID=0, par=0): LogUI.Msg("%s\t%s\t%s" % (par, playerID, msg)) return def ErrLog(msg, playerID=0, par=0): LogUI.Msg("%s\t%s\t###Error:%s" % (par, playerID, msg)) return ## PY±íÊý¾Ý¹ÜÀíÀà class IPY_DataMgr(): def __init__(self): Log("IPY_DataMgr Init...") self.fileMD5Dict = {} # Êý¾Ý±íÎļþmd5×Öµä, ÓÃÓÚ¶Ô±ÈÎļþ²îÒìÅжÏÊÇ·ñÖØ¶Á {dtName:md5, ...} self.ipyConfigEx = {} # ×Ô¶¨ÒåÊý¾Ý»º´æ {key:configData, ...} self.ipyDataIndexMap = {} # Êý¾Ý±íË÷Òý²éѯ»º´æ {dtName:{args:[index, ...], ...}, ...} self.ipyDataIndexMapEx = {} # Êý¾Ý±í×Ô¶¨Òå²éѯÌõ¼þ²éѯ»º´æ {dtName_(findKey,...):{(findKeyValue, ...):[index, ...], ...}, ...} self.ipyFuncConfigDict = {} # ¹¦ÄÜÅäÖÃ±í»º´æ {key:IPY_FuncConfig, ...} self.classSizeDict = {} # Êý¾Ý±íÀà¶ÔÏóÕ¼ÓÃÄÚ´æ´óС {dtName:size, ...} self.IpyDataClear(True) return def Recycle(self): Log("IPY_DataMgr Recycle") for tableName in Def_IpyTable.keys(): if not hasattr(self, "ipy%sLen" % tableName): continue cacheList = getattr(self, "ipy%sCache" % tableName) del cacheList delattr(self, "ipy%sLen" % tableName) delattr(self, "ipy%sCache" % tableName) Log("Recycle IPY_%s" % tableName) del self.fileMD5Dict, self.ipyConfigEx, self.ipyDataIndexMap, self.ipyDataIndexMapEx, self.ipyFuncConfigDict, self.classSizeDict self.fileMD5Dict = {} self.ipyConfigEx = {} self.ipyDataIndexMap = {} self.ipyDataIndexMapEx = {} self.ipyFuncConfigDict = {} self.classSizeDict = {} gc.collect() return def LoadAll(self): ## ¼ÓÔØÈ«²¿Êý¾Ý£¬²âÊÔÄÚ´æÓã¬Êµ¼ÊÓ¦ÓÃÖв»µ÷Óà for tableName in Def_IpyTable.keys(): setattr(self, "ipy%sLen" % tableName, 0) self.IpyDataClear() return def IpyDataClear(self, onlyCheck=False): Log("IPY_DataMgr Reload... onlyCheck=%s" % onlyCheck) if not onlyCheck: self.ipyConfigEx = {} self.__LoadFileData("Dienstgrad", onlyCheck) self.__LoadFileData("TitleStarUp", onlyCheck) self.__LoadFileData("PlayerFace", onlyCheck) self.__LoadFileData("PlayerFaceStar", onlyCheck) self.__LoadFileData("PlayerFacePic", onlyCheck) self.__LoadFileData("PlayerFacePicStar", onlyCheck) self.__LoadFileData("SkillMatch", onlyCheck) self.__LoadFileData("RolePoint", onlyCheck) self.__LoadFileData("LingQiAttr", onlyCheck) self.__LoadFileData("LingQiTrain", onlyCheck) self.__LoadFileData("RealmXXZL", onlyCheck) self.__LoadFileData("Realm", onlyCheck) self.__LoadFileData("RealmLVUPTask", onlyCheck) self.__LoadFileData("RealmTower", onlyCheck) self.__LoadFileData("LianTi", onlyCheck) self.__LoadFileData("GodWeapon", onlyCheck) self.__LoadFileData("FuncConfig", onlyCheck) self.__LoadFileData("FuncOpenLV", onlyCheck) self.__LoadFileData("ItemCompound", onlyCheck) self.__LoadFileData("ItemPlus", onlyCheck) self.__LoadFileData("EquipControl", onlyCheck) self.__LoadFileData("ItemPlusMaster", onlyCheck) self.__LoadFileData("ItemPlusMax", onlyCheck) self.__LoadFileData("RoleEquipStars", onlyCheck) self.__LoadFileData("EquipLegendAttrCount", onlyCheck) self.__LoadFileData("EquipLegendAttrType", onlyCheck) self.__LoadFileData("EquipLegendAttrLib", onlyCheck) self.__LoadFileData("EquipLegendAttrValue", onlyCheck) self.__LoadFileData("Dogz", onlyCheck) self.__LoadFileData("DogzEquipPlus", onlyCheck) self.__LoadFileData("Rune", onlyCheck) self.__LoadFileData("EquipWash", onlyCheck) self.__LoadFileData("AttrFruit", onlyCheck) self.__LoadFileData("PetInfo", onlyCheck) self.__LoadFileData("PetStarUp", onlyCheck) self.__LoadFileData("PetTrain", onlyCheck) self.__LoadFileData("EquipDecompose", onlyCheck) self.__LoadFileData("PetClassCost", onlyCheck) self.__LoadFileData("PetEatEquip", onlyCheck) self.__LoadFileData("FaQiLVUp", onlyCheck) self.__LoadFileData("HorseLVUp", onlyCheck) self.__LoadFileData("HorseTrain", onlyCheck) self.__LoadFileData("HorseSkinPlus", onlyCheck) self.__LoadFileData("Horse", onlyCheck) self.__LoadFileData("HorseStarUp", onlyCheck) self.__LoadFileData("Gubao", onlyCheck) self.__LoadFileData("GubaoResonanceAttr", onlyCheck) self.__LoadFileData("GubaoResonance", onlyCheck) self.__LoadFileData("GubaoStar", onlyCheck) self.__LoadFileData("GubaoEffAttr", onlyCheck) self.__LoadFileData("GubaoLV", onlyCheck) self.__LoadFileData("Shentong", onlyCheck) self.__LoadFileData("ShentongLV", onlyCheck) self.__LoadFileData("PlayerLV", onlyCheck) self.__LoadFileData("SpecMapPlayerAttrFormat", onlyCheck) self.__LoadFileData("GMAttr", onlyCheck) self.__LoadFileData("NPCEx", onlyCheck) self.__LoadFileData("NPCRealmStrengthen", onlyCheck) self.__LoadFileData("NPCStrengthen", onlyCheck) self.__LoadFileData("NPCTimeLostHP", onlyCheck) self.__LoadFileData("EquipSuitAttr", onlyCheck) self.__LoadFileData("WingRefineAttr", onlyCheck) self.__LoadFileData("WingRefineExp", onlyCheck) self.__LoadFileData("FamilyTech", onlyCheck) self.__LoadFileData("FightPowerParam", onlyCheck) self.__LoadFileData("NPCDropItem", onlyCheck) self.__LoadFileData("RuneTower", onlyCheck) self.__LoadFileData("ChinMap", onlyCheck) self.__LoadFileData("FBFunc", onlyCheck) self.__LoadFileData("FBLine", onlyCheck) self.__LoadFileData("FBGeneralTrain", onlyCheck) self.__LoadFileData("FBHelpBattle", onlyCheck) self.__LoadFileData("NPCCustomRefresh", onlyCheck) self.__LoadFileData("DailyAction", onlyCheck) self.__LoadFileData("EquipGSParam", onlyCheck) self.__LoadFileData("Success", onlyCheck) self.__LoadFileData("TongTianLV", onlyCheck) self.__LoadFileData("TongTianTask", onlyCheck) self.__LoadFileData("Treasure", onlyCheck) self.__LoadFileData("TreasureUp", onlyCheck) self.__LoadFileData("ContineSignAward", onlyCheck) self.__LoadFileData("SignAward", onlyCheck) self.__LoadFileData("VIPAward", onlyCheck) self.__LoadFileData("AppointItem", onlyCheck) self.__LoadFileData("AuctionItem", onlyCheck) self.__LoadFileData("VipPrivilege", onlyCheck) self.__LoadFileData("Store", onlyCheck) self.__LoadFileData("ActSpringSale", onlyCheck) self.__LoadFileData("DailyQuest", onlyCheck) self.__LoadFileData("DailyLivenessReward", onlyCheck) self.__LoadFileData("ActivityPlaceReward", onlyCheck) self.__LoadFileData("RefineStove", onlyCheck) self.__LoadFileData("Alchemy", onlyCheck) self.__LoadFileData("AlchemyResult", onlyCheck) self.__LoadFileData("BOSSInfo", onlyCheck) self.__LoadFileData("BOSSFirstKill", onlyCheck) self.__LoadFileData("ElderGodArea", onlyCheck) self.__LoadFileData("PersonalBoss", onlyCheck) self.__LoadFileData("FamilyActivity", onlyCheck) self.__LoadFileData("FamilyRedPack", onlyCheck) self.__LoadFileData("ActFeastRedPacketSucc", onlyCheck) self.__LoadFileData("NPCShow", onlyCheck) self.__LoadFileData("SealDemon", onlyCheck) self.__LoadFileData("FbEncourage", onlyCheck) self.__LoadFileData("MapRefreshNPC", onlyCheck) self.__LoadFileData("RuneCompound", onlyCheck) self.__LoadFileData("ResourcesBack", onlyCheck) self.__LoadFileData("CollectNPC", onlyCheck) self.__LoadFileData("TreasureNPC", onlyCheck) self.__LoadFileData("Chests", onlyCheck) self.__LoadFileData("ChestsAward", onlyCheck) self.__LoadFileData("VIPKillNPC", onlyCheck) self.__LoadFileData("OSCBillRankAward", onlyCheck) self.__LoadFileData("OSCBillTagAward", onlyCheck) self.__LoadFileData("LoginDayAward", onlyCheck) self.__LoadFileData("OnlineAwardNew", onlyCheck) self.__LoadFileData("SpringSale", onlyCheck) self.__LoadFileData("OrderInfo", onlyCheck) self.__LoadFileData("CTG", onlyCheck) self.__LoadFileData("CTGSelectItem", onlyCheck) self.__LoadFileData("FirstGold", onlyCheck) self.__LoadFileData("LVAward", onlyCheck) self.__LoadFileData("Invest", onlyCheck) self.__LoadFileData("XBXZ", onlyCheck) self.__LoadFileData("TreasureSet", onlyCheck) self.__LoadFileData("TreasureHouse", onlyCheck) self.__LoadFileData("TreasureItemLib", onlyCheck) self.__LoadFileData("TreasureCntAward", onlyCheck) self.__LoadFileData("FreeGoods", onlyCheck) self.__LoadFileData("ActFlashGiftbag", onlyCheck) self.__LoadFileData("FlashGiftbag", onlyCheck) self.__LoadFileData("ActDailyGiftbag", onlyCheck) self.__LoadFileData("DailyGiftbag", onlyCheck) self.__LoadFileData("ActExpRate", onlyCheck) self.__LoadFileData("ActCostRebate", onlyCheck) self.__LoadFileData("CostRebateTemplate", onlyCheck) self.__LoadFileData("ActBuyOne", onlyCheck) self.__LoadFileData("ActBuyOneTemplate", onlyCheck) self.__LoadFileData("ActFamilyCTGAssist", onlyCheck) self.__LoadFileData("ActFamilyCTGAssistTemp", onlyCheck) self.__LoadFileData("ActCollectWords", onlyCheck) self.__LoadFileData("CollectWordsExchange", onlyCheck) self.__LoadFileData("ActGarbageSorting", onlyCheck) self.__LoadFileData("ActGarbageTask", onlyCheck) self.__LoadFileData("ActBossTrial", onlyCheck) self.__LoadFileData("ActBossTrialTemplate", onlyCheck) self.__LoadFileData("ActHorsePetTrain", onlyCheck) self.__LoadFileData("ActHorsePetTrainBillTemp", onlyCheck) self.__LoadFileData("ActGubao", onlyCheck) self.__LoadFileData("ActGubaoBillTemp", onlyCheck) self.__LoadFileData("ActXianXiaMJ", onlyCheck) self.__LoadFileData("ActXianXiaMJBillTemp", onlyCheck) self.__LoadFileData("ActXianXiaMJAward", onlyCheck) self.__LoadFileData("ActGodGift", onlyCheck) self.__LoadFileData("ActGodGiftAward", onlyCheck) self.__LoadFileData("ActHorsePetFeast", onlyCheck) self.__LoadFileData("ActBossReborn", onlyCheck) self.__LoadFileData("BossReborn", onlyCheck) self.__LoadFileData("ActRealmPoint", onlyCheck) self.__LoadFileData("TrialExchange", onlyCheck) self.__LoadFileData("AllPeopleParty", onlyCheck) self.__LoadFileData("AllPeoplePartyAward", onlyCheck) self.__LoadFileData("MapEventPoint", onlyCheck) self.__LoadFileData("TalentSkill", onlyCheck) self.__LoadFileData("ActFlashSale", onlyCheck) self.__LoadFileData("ActWishingWell", onlyCheck) self.__LoadFileData("WishingWell", onlyCheck) self.__LoadFileData("FunctionForecast", onlyCheck) self.__LoadFileData("ChatBubbleBox", onlyCheck) self.__LoadFileData("ChatBubbleBoxStar", onlyCheck) self.__LoadFileData("EmojiPack", onlyCheck) self.__LoadFileData("ActRechargePrize", onlyCheck) self.__LoadFileData("RechargePrizeTemplate", onlyCheck) self.__LoadFileData("ActTotalRecharge", onlyCheck) self.__LoadFileData("TotalRechargeTemplate", onlyCheck) self.__LoadFileData("ActRechargeRebateGold", onlyCheck) self.__LoadFileData("RechargeRebateGoldTemplate", onlyCheck) self.__LoadFileData("ActGrowupBuy", onlyCheck) self.__LoadFileData("ActManyDayRecharge", onlyCheck) self.__LoadFileData("ActManyDayRechargeAward", onlyCheck) self.__LoadFileData("ActTurntable", onlyCheck) self.__LoadFileData("ActSingleRecharge", onlyCheck) self.__LoadFileData("ActSingleRechargeAward", onlyCheck) self.__LoadFileData("MagicWeaponFB", onlyCheck) self.__LoadFileData("IceLodeStarAward", onlyCheck) self.__LoadFileData("CrossRealmPKDan", onlyCheck) self.__LoadFileData("CrossRealmPKDanAward", onlyCheck) self.__LoadFileData("CrossRealmPKOrderAward", onlyCheck) self.__LoadFileData("CrossZoneComm", onlyCheck) self.__LoadFileData("CrossZoneBattlefield", onlyCheck) self.__LoadFileData("CrossZonePK", onlyCheck) self.__LoadFileData("CrossPenglaiZoneMap", onlyCheck) self.__LoadFileData("CrossDemonLandZoneMap", onlyCheck) self.__LoadFileData("CrossFamilyFlagwarZoneMap", onlyCheck) self.__LoadFileData("GatherTheSoul", onlyCheck) self.__LoadFileData("GatherTheSoulLV", onlyCheck) self.__LoadFileData("GatherSoul", onlyCheck) self.__LoadFileData("GatherSoulCompound", onlyCheck) self.__LoadFileData("GatherSoulAttr", onlyCheck) self.__LoadFileData("MagicWeaponOfKing", onlyCheck) self.__LoadFileData("Coat", onlyCheck) self.__LoadFileData("CoatChestUp", onlyCheck) self.__LoadFileData("ActWeekParty", onlyCheck) self.__LoadFileData("WeekParty", onlyCheck) self.__LoadFileData("ActYunshi", onlyCheck) self.__LoadFileData("ActLunhuidian", onlyCheck) self.__LoadFileData("ActLunhuidianAward", onlyCheck) self.__LoadFileData("ActBuyCountGift", onlyCheck) self.__LoadFileData("ActTask", onlyCheck) self.__LoadFileData("ActTaskTemp", onlyCheck) self.__LoadFileData("ActLoginNew", onlyCheck) self.__LoadFileData("ActLoginNewAward", onlyCheck) self.__LoadFileData("ActLoginAward", onlyCheck) self.__LoadFileData("LoginAward", onlyCheck) self.__LoadFileData("ActFeastLogin", onlyCheck) self.__LoadFileData("ActFeastLoginAward", onlyCheck) self.__LoadFileData("ActFeastWish", onlyCheck) self.__LoadFileData("ActFeastWishBottle", onlyCheck) self.__LoadFileData("ActFeastWishPool", onlyCheck) self.__LoadFileData("ActFeastTravel", onlyCheck) self.__LoadFileData("ActFeastTravelTask", onlyCheck) self.__LoadFileData("ActFeastTravelAward", onlyCheck) self.__LoadFileData("ZhuXianBoss", onlyCheck) self.__LoadFileData("ActFeastWeekParty", onlyCheck) self.__LoadFileData("FeastWeekParty", onlyCheck) self.__LoadFileData("NewAllPeopleParty", onlyCheck) self.__LoadFileData("NewAllPeoplePartyAward", onlyCheck) self.__LoadFileData("ActLuckyTreasure", onlyCheck) self.__LoadFileData("LuckyTreasureTemplate", onlyCheck) self.__LoadFileData("CrossActCTGBillboardDabiao", onlyCheck) self.__LoadFileData("CrossActCTGBillboardOrder", onlyCheck) self.__LoadFileData("MysteryShop", onlyCheck) self.__LoadFileData("EquipPlaceIndexMap", onlyCheck) self.__LoadFileData("EquipShenAttr", onlyCheck) self.__LoadFileData("EquipShenEvolve", onlyCheck) self.__LoadFileData("EquipStarUp", onlyCheck) self.__LoadFileData("EquipPlusEvolve", onlyCheck) self.__LoadFileData("FamilyBossAward", onlyCheck) self.__LoadFileData("FamilyBossHurtAward", onlyCheck) self.__LoadFileData("FamilyZhenfa", onlyCheck) self.__LoadFileData("ItemWashMax", onlyCheck) self.__LoadFileData("HorsePetBossAward", onlyCheck) self.__LoadFileData("FairyDomain", onlyCheck) self.__LoadFileData("FairyAdventures", onlyCheck) self.__LoadFileData("FairyDomainAppoint", onlyCheck) self.__LoadFileData("FBBuyBuff", onlyCheck) self.__LoadFileData("SkillElement", onlyCheck) self.__LoadFileData("SkyTower", onlyCheck) self.__LoadFileData("SkyTowerServerChallenge", onlyCheck) self.__LoadFileData("LingGenEffect", onlyCheck) self.__LoadFileData("LoveGift", onlyCheck) self.__LoadFileData("Marry", onlyCheck) self.__LoadFileData("LoveRing", onlyCheck) self.__LoadFileData("LoveCharm", onlyCheck) self.__LoadFileData("HorsePetSkin", onlyCheck) self.__LoadFileData("AssistThanksGift", onlyCheck) self.__LoadFileData("FuncSysPrivilege", onlyCheck) self.__LoadFileData("HistoryRechargeAward", onlyCheck) self.__LoadFileData("CustomAward", onlyCheck) self.__LoadFileData("Zhanling", onlyCheck) self.__LoadFileData("Xiangong", onlyCheck) self.__LoadFileData("TiandaoTree", onlyCheck) Log("IPY_DataMgr ReloadOK! onlyCheck=%s" % onlyCheck) return def CheckLoadData(self, dtName): if hasattr(self, "ipy%sLen" % dtName): return setattr(self, "ipy%sLen" % dtName, 0) # ÉèÖøÃÊôÐÔ£¬Í¨¹ýÅжÏÊÇ·ñÓиÃÊôÐÔ¾ö¶¨ÊÇ·ñ¼ÓÔØ self.__LoadFileData(dtName) return def __LoadFileData(self, tableName, onlyCheck=False): # @param onlyCheck: ÊÇ·ñ½ö¼ì²é¸ñʽ£¬Ò»°ãÆô¶¯Ê±Óà curPath = ChConfig.GetDBPath() + "\\PySysDB\\tag" + tableName + ".txt" if not os.path.isfile(curPath): ErrLog("can not find file = %s,%s" % (tableName, curPath)) raise Exception("can not find file = %s,%s" % (tableName, curPath)) if not onlyCheck: if not hasattr(self, "ipy%sLen" % tableName): # ûÓиÃÊôÐԵIJ»¼ÓÔØ return fileObj = open(curPath, 'rb') content = fileObj.read() fileObj.close() if not onlyCheck: md5_obj = hashlib.md5() md5_obj.update(content) newMD5Code = md5_obj.hexdigest() if tableName in self.fileMD5Dict: oldMD5Code = self.fileMD5Dict[tableName] if newMD5Code == oldMD5Code: return getattr(self, "ipy%sCache" % tableName) if tableName in self.ipyDataIndexMap: self.ipyDataIndexMap.pop(tableName) for dtName_Findkey in self.ipyDataIndexMapEx.keys(): findStr = "%s_" % tableName if findStr in dtName_Findkey: self.ipyDataIndexMapEx.pop(dtName_Findkey) if tableName == "FuncConfig": self.ipyFuncConfigDict = {} self.fileMD5Dict[tableName] = newMD5Code dataIndex = 0 indexDict = {} cacheList = [] fieldList = Def_IpyTable[tableName] infoList = content.split('\r\n') curClassSizeTotal = 0 dataCount = 0 Class = eval("IPY_%s" % tableName) for line in xrange(len(infoList)): if line == 0: continue if not infoList[line]: #ErrLog("line not content! %s, line=%s" % (tableName, line)) continue rowList = infoList[line].split('\t') if len(fieldList) != len(rowList): ErrLog("field count error!, %s, line=%s, len=%s,rowCount=%s" % (tableName, line, len(fieldList), len(rowList))) raise Exception("field count error!, %s, line=%s, len=%s,rowCount=%s" % (tableName, line,len(fieldList), len(rowList))) if tableName == "FuncConfig": classObj = self.__LoadFuncConfigData(fieldList, rowList, onlyCheck) dataCount += 1 if onlyCheck: continue curClassSizeTotal += ChConfig.GetSizeof(classObj) continue try: indexKey = [] valueList = [] for j, value in enumerate(rowList): fieldType, fieldName, isIndex = fieldList[j] if fieldType == "char": 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": attrValue = float(value) else: attrValue = 0 if not value.isdigit() else int(value) valueList.append(attrValue) if isIndex: indexKey.append(attrValue) dataCount += 1 if onlyCheck: continue classObj = Class() setattr(classObj, "attrTuple", tuple(valueList)) curClassSizeTotal += ChConfig.GetSizeof(classObj) cacheList.append(classObj) indexKey = tuple(indexKey) indexList = indexDict.get(indexKey, []) indexList.append(dataIndex) indexDict[indexKey] = indexList dataIndex += 1 except BaseException: ErrLog("SetIpyDataError: tableName=%s,line=%s,fieldName=%s,fieldType=%s,value=%s" % (tableName, line, fieldName, fieldType, value)) raise if onlyCheck: Log("CheckIpydata: %s, dataCount=%s OK" % (tableName, dataCount)) return if tableName != "FuncConfig": self.ipyDataIndexMap[tableName] = indexDict self.classSizeDict[tableName] = curClassSizeTotal classSizeTotal = sum(self.classSizeDict.values()) alreadyLoad = len(self.classSizeDict) setattr(self, "ipy%sCache" % tableName, cacheList) setattr(self, "ipy%sLen" % tableName, len(cacheList)) Log("LoadIpydata: %s, dataCount=%s, alreadyLoad=%s" % (tableName, dataCount, alreadyLoad), curClassSizeTotal, classSizeTotal) return def __LoadFuncConfigData(self, fieldList, rowList, onlyCheck): key = rowList[0] valueList = [key] for i, strValue in enumerate(rowList): if i == 0: continue try: strValue = strValue.lstrip().rstrip() if strValue.isdigit(): configValue = int(strValue) elif (strValue.startswith("{") and strValue.endswith("}")) \ or (strValue.startswith("[") and strValue.endswith("]")) \ or (strValue.startswith("(") and strValue.endswith(")")): configValue = eval(strValue) elif "_" in strValue and type(self.__StrToDict(strValue)) == dict: configValue = self.__StrToDict(strValue) elif ChConfig.Def_Str_Montant in strValue: configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ",")) elif strValue in ["-", ""]: configValue = "" else: configValue = self.__ToFloat(strValue) except BaseException: ErrLog("SetIpyDataError: tableName=%s,key=%s,i=%s,value=%s" % ("FuncConfig", key, i, strValue)) raise if onlyCheck: continue valueList.append(configValue) if onlyCheck: return funcConfigObj = IPY_FuncConfig() setattr(funcConfigObj, "attrTuple", tuple(valueList)) self.ipyFuncConfigDict[key] = funcConfigObj return funcConfigObj def __ToFloat(self, strValue): try: value = float(strValue) except: return strValue return value def __StrToEval(self, strValue): if not strValue or strValue in ["0", "-", ""]: return return eval(strValue) def __StrToDict(self, strValue): setDict = {} if "{" in strValue and "}" in strValue: setDict = eval(strValue) elif strValue in ["0", "-", ""]: pass else: keyValueList = strValue.split(ChConfig.Def_Str_Montant) for keyValue in keyValueList: if "_" not in keyValue: continue kv = keyValue.split("_") if len(kv) != 2: return key, value = kv if key.isdigit(): key = int(key) if value.isdigit(): value = int(value) setDict[key] = value return setDict def __StrToList(self, strValue): setList = [] if ("[" in strValue and "]" in strValue) or ("(" in strValue and ")" in strValue): setList = eval(strValue) elif strValue in ["0", "-", ""]: pass elif strValue.isdigit(): setList = (int(strValue),) else: for value in strValue.split(ChConfig.Def_Str_Montant): if value.isdigit(): value = int(value) setList.append(value) if setList: setList = tuple(setList) return setList def GetDienstgradCount(self): self.CheckLoadData("Dienstgrad") return self.ipyDienstgradLen def GetDienstgradByIndex(self, index): self.CheckLoadData("Dienstgrad") return self.ipyDienstgradCache[index] def GetTitleStarUpCount(self): self.CheckLoadData("TitleStarUp") return self.ipyTitleStarUpLen def GetTitleStarUpByIndex(self, index): self.CheckLoadData("TitleStarUp") return self.ipyTitleStarUpCache[index] def GetPlayerFaceCount(self): self.CheckLoadData("PlayerFace") return self.ipyPlayerFaceLen def GetPlayerFaceByIndex(self, index): self.CheckLoadData("PlayerFace") return self.ipyPlayerFaceCache[index] def GetPlayerFaceStarCount(self): self.CheckLoadData("PlayerFaceStar") return self.ipyPlayerFaceStarLen def GetPlayerFaceStarByIndex(self, index): self.CheckLoadData("PlayerFaceStar") return self.ipyPlayerFaceStarCache[index] def GetPlayerFacePicCount(self): self.CheckLoadData("PlayerFacePic") return self.ipyPlayerFacePicLen def GetPlayerFacePicByIndex(self, index): self.CheckLoadData("PlayerFacePic") return self.ipyPlayerFacePicCache[index] def GetPlayerFacePicStarCount(self): self.CheckLoadData("PlayerFacePicStar") return self.ipyPlayerFacePicStarLen def GetPlayerFacePicStarByIndex(self, index): self.CheckLoadData("PlayerFacePicStar") return self.ipyPlayerFacePicStarCache[index] def GetSkillMatchCount(self): self.CheckLoadData("SkillMatch") return self.ipySkillMatchLen def GetSkillMatchByIndex(self, index): self.CheckLoadData("SkillMatch") return self.ipySkillMatchCache[index] def GetRolePointCount(self): self.CheckLoadData("RolePoint") return self.ipyRolePointLen def GetRolePointByIndex(self, index): self.CheckLoadData("RolePoint") return self.ipyRolePointCache[index] def GetLingQiAttrCount(self): self.CheckLoadData("LingQiAttr") return self.ipyLingQiAttrLen def GetLingQiAttrByIndex(self, index): self.CheckLoadData("LingQiAttr") return self.ipyLingQiAttrCache[index] def GetLingQiTrainCount(self): self.CheckLoadData("LingQiTrain") return self.ipyLingQiTrainLen def GetLingQiTrainByIndex(self, index): self.CheckLoadData("LingQiTrain") return self.ipyLingQiTrainCache[index] def GetRealmXXZLCount(self): self.CheckLoadData("RealmXXZL") return self.ipyRealmXXZLLen def GetRealmXXZLByIndex(self, index): self.CheckLoadData("RealmXXZL") return self.ipyRealmXXZLCache[index] def GetRealmCount(self): self.CheckLoadData("Realm") return self.ipyRealmLen def GetRealmByIndex(self, index): self.CheckLoadData("Realm") return self.ipyRealmCache[index] def GetRealmLVUPTaskCount(self): self.CheckLoadData("RealmLVUPTask") return self.ipyRealmLVUPTaskLen def GetRealmLVUPTaskByIndex(self, index): self.CheckLoadData("RealmLVUPTask") return self.ipyRealmLVUPTaskCache[index] def GetRealmTowerCount(self): self.CheckLoadData("RealmTower") return self.ipyRealmTowerLen def GetRealmTowerByIndex(self, index): self.CheckLoadData("RealmTower") return self.ipyRealmTowerCache[index] def GetLianTiCount(self): self.CheckLoadData("LianTi") return self.ipyLianTiLen def GetLianTiByIndex(self, index): self.CheckLoadData("LianTi") return self.ipyLianTiCache[index] def GetGodWeaponCount(self): self.CheckLoadData("GodWeapon") return self.ipyGodWeaponLen def GetGodWeaponByIndex(self, index): self.CheckLoadData("GodWeapon") return self.ipyGodWeaponCache[index] def GetFuncConfigCount(self): self.CheckLoadData("FuncConfig") return self.ipyFuncConfigLen def GetFuncConfigByIndex(self, index): self.CheckLoadData("FuncConfig") return self.ipyFuncConfigCache[index] def GetFuncOpenLVCount(self): self.CheckLoadData("FuncOpenLV") return self.ipyFuncOpenLVLen def GetFuncOpenLVByIndex(self, index): self.CheckLoadData("FuncOpenLV") return self.ipyFuncOpenLVCache[index] def GetItemCompoundCount(self): self.CheckLoadData("ItemCompound") return self.ipyItemCompoundLen def GetItemCompoundByIndex(self, index): self.CheckLoadData("ItemCompound") return self.ipyItemCompoundCache[index] def GetItemPlusCount(self): self.CheckLoadData("ItemPlus") return self.ipyItemPlusLen def GetItemPlusByIndex(self, index): self.CheckLoadData("ItemPlus") return self.ipyItemPlusCache[index] def GetEquipControlCount(self): self.CheckLoadData("EquipControl") return self.ipyEquipControlLen def GetEquipControlByIndex(self, index): self.CheckLoadData("EquipControl") return self.ipyEquipControlCache[index] def GetItemPlusMasterCount(self): self.CheckLoadData("ItemPlusMaster") return self.ipyItemPlusMasterLen def GetItemPlusMasterByIndex(self, index): self.CheckLoadData("ItemPlusMaster") return self.ipyItemPlusMasterCache[index] def GetItemPlusMaxCount(self): self.CheckLoadData("ItemPlusMax") return self.ipyItemPlusMaxLen def GetItemPlusMaxByIndex(self, index): self.CheckLoadData("ItemPlusMax") return self.ipyItemPlusMaxCache[index] def GetRoleEquipStarsCount(self): self.CheckLoadData("RoleEquipStars") return self.ipyRoleEquipStarsLen def GetRoleEquipStarsByIndex(self, index): self.CheckLoadData("RoleEquipStars") return self.ipyRoleEquipStarsCache[index] def GetEquipLegendAttrCountCount(self): self.CheckLoadData("EquipLegendAttrCount") return self.ipyEquipLegendAttrCountLen def GetEquipLegendAttrCountByIndex(self, index): self.CheckLoadData("EquipLegendAttrCount") return self.ipyEquipLegendAttrCountCache[index] def GetEquipLegendAttrTypeCount(self): self.CheckLoadData("EquipLegendAttrType") return self.ipyEquipLegendAttrTypeLen def GetEquipLegendAttrTypeByIndex(self, index): self.CheckLoadData("EquipLegendAttrType") return self.ipyEquipLegendAttrTypeCache[index] def GetEquipLegendAttrLibCount(self): self.CheckLoadData("EquipLegendAttrLib") return self.ipyEquipLegendAttrLibLen def GetEquipLegendAttrLibByIndex(self, index): self.CheckLoadData("EquipLegendAttrLib") return self.ipyEquipLegendAttrLibCache[index] def GetEquipLegendAttrValueCount(self): self.CheckLoadData("EquipLegendAttrValue") return self.ipyEquipLegendAttrValueLen def GetEquipLegendAttrValueByIndex(self, index): self.CheckLoadData("EquipLegendAttrValue") return self.ipyEquipLegendAttrValueCache[index] def GetDogzCount(self): self.CheckLoadData("Dogz") return self.ipyDogzLen def GetDogzByIndex(self, index): self.CheckLoadData("Dogz") return self.ipyDogzCache[index] def GetDogzEquipPlusCount(self): self.CheckLoadData("DogzEquipPlus") return self.ipyDogzEquipPlusLen def GetDogzEquipPlusByIndex(self, index): self.CheckLoadData("DogzEquipPlus") return self.ipyDogzEquipPlusCache[index] def GetRuneCount(self): self.CheckLoadData("Rune") return self.ipyRuneLen def GetRuneByIndex(self, index): self.CheckLoadData("Rune") return self.ipyRuneCache[index] def GetEquipWashCount(self): self.CheckLoadData("EquipWash") return self.ipyEquipWashLen def GetEquipWashByIndex(self, index): self.CheckLoadData("EquipWash") return self.ipyEquipWashCache[index] def GetAttrFruitCount(self): self.CheckLoadData("AttrFruit") return self.ipyAttrFruitLen def GetAttrFruitByIndex(self, index): self.CheckLoadData("AttrFruit") return self.ipyAttrFruitCache[index] def GetPetInfoCount(self): self.CheckLoadData("PetInfo") return self.ipyPetInfoLen def GetPetInfoByIndex(self, index): self.CheckLoadData("PetInfo") return self.ipyPetInfoCache[index] def GetPetStarUpCount(self): self.CheckLoadData("PetStarUp") return self.ipyPetStarUpLen def GetPetStarUpByIndex(self, index): self.CheckLoadData("PetStarUp") return self.ipyPetStarUpCache[index] def GetPetTrainCount(self): self.CheckLoadData("PetTrain") return self.ipyPetTrainLen def GetPetTrainByIndex(self, index): self.CheckLoadData("PetTrain") return self.ipyPetTrainCache[index] def GetEquipDecomposeCount(self): self.CheckLoadData("EquipDecompose") return self.ipyEquipDecomposeLen def GetEquipDecomposeByIndex(self, index): self.CheckLoadData("EquipDecompose") return self.ipyEquipDecomposeCache[index] def GetPetClassCostCount(self): self.CheckLoadData("PetClassCost") return self.ipyPetClassCostLen def GetPetClassCostByIndex(self, index): self.CheckLoadData("PetClassCost") return self.ipyPetClassCostCache[index] def GetPetEatEquipCount(self): self.CheckLoadData("PetEatEquip") return self.ipyPetEatEquipLen def GetPetEatEquipByIndex(self, index): self.CheckLoadData("PetEatEquip") return self.ipyPetEatEquipCache[index] def GetFaQiLVUpCount(self): self.CheckLoadData("FaQiLVUp") return self.ipyFaQiLVUpLen def GetFaQiLVUpByIndex(self, index): self.CheckLoadData("FaQiLVUp") return self.ipyFaQiLVUpCache[index] def GetHorseLVUpCount(self): self.CheckLoadData("HorseLVUp") return self.ipyHorseLVUpLen def GetHorseLVUpByIndex(self, index): self.CheckLoadData("HorseLVUp") return self.ipyHorseLVUpCache[index] def GetHorseTrainCount(self): self.CheckLoadData("HorseTrain") return self.ipyHorseTrainLen def GetHorseTrainByIndex(self, index): self.CheckLoadData("HorseTrain") return self.ipyHorseTrainCache[index] def GetHorseSkinPlusCount(self): self.CheckLoadData("HorseSkinPlus") return self.ipyHorseSkinPlusLen def GetHorseSkinPlusByIndex(self, index): self.CheckLoadData("HorseSkinPlus") return self.ipyHorseSkinPlusCache[index] def GetHorseCount(self): self.CheckLoadData("Horse") return self.ipyHorseLen def GetHorseByIndex(self, index): self.CheckLoadData("Horse") return self.ipyHorseCache[index] def GetHorseStarUpCount(self): self.CheckLoadData("HorseStarUp") return self.ipyHorseStarUpLen def GetHorseStarUpByIndex(self, index): self.CheckLoadData("HorseStarUp") return self.ipyHorseStarUpCache[index] def GetGubaoCount(self): self.CheckLoadData("Gubao") return self.ipyGubaoLen def GetGubaoByIndex(self, index): self.CheckLoadData("Gubao") return self.ipyGubaoCache[index] def GetGubaoResonanceAttrCount(self): self.CheckLoadData("GubaoResonanceAttr") return self.ipyGubaoResonanceAttrLen def GetGubaoResonanceAttrByIndex(self, index): self.CheckLoadData("GubaoResonanceAttr") return self.ipyGubaoResonanceAttrCache[index] def GetGubaoResonanceCount(self): self.CheckLoadData("GubaoResonance") return self.ipyGubaoResonanceLen def GetGubaoResonanceByIndex(self, index): self.CheckLoadData("GubaoResonance") return self.ipyGubaoResonanceCache[index] def GetGubaoStarCount(self): self.CheckLoadData("GubaoStar") return self.ipyGubaoStarLen def GetGubaoStarByIndex(self, index): self.CheckLoadData("GubaoStar") return self.ipyGubaoStarCache[index] def GetGubaoEffAttrCount(self): self.CheckLoadData("GubaoEffAttr") return self.ipyGubaoEffAttrLen def GetGubaoEffAttrByIndex(self, index): self.CheckLoadData("GubaoEffAttr") return self.ipyGubaoEffAttrCache[index] def GetGubaoLVCount(self): self.CheckLoadData("GubaoLV") return self.ipyGubaoLVLen def GetGubaoLVByIndex(self, index): self.CheckLoadData("GubaoLV") return self.ipyGubaoLVCache[index] def GetShentongCount(self): self.CheckLoadData("Shentong") return self.ipyShentongLen def GetShentongByIndex(self, index): self.CheckLoadData("Shentong") return self.ipyShentongCache[index] def GetShentongLVCount(self): self.CheckLoadData("ShentongLV") return self.ipyShentongLVLen def GetShentongLVByIndex(self, index): self.CheckLoadData("ShentongLV") return self.ipyShentongLVCache[index] def GetPlayerLVCount(self): self.CheckLoadData("PlayerLV") return self.ipyPlayerLVLen def GetPlayerLVByIndex(self, index): self.CheckLoadData("PlayerLV") return self.ipyPlayerLVCache[index] def GetSpecMapPlayerAttrFormatCount(self): self.CheckLoadData("SpecMapPlayerAttrFormat") return self.ipySpecMapPlayerAttrFormatLen def GetSpecMapPlayerAttrFormatByIndex(self, index): self.CheckLoadData("SpecMapPlayerAttrFormat") return self.ipySpecMapPlayerAttrFormatCache[index] def GetGMAttrCount(self): self.CheckLoadData("GMAttr") return self.ipyGMAttrLen def GetGMAttrByIndex(self, index): self.CheckLoadData("GMAttr") return self.ipyGMAttrCache[index] def GetNPCExCount(self): self.CheckLoadData("NPCEx") return self.ipyNPCExLen def GetNPCExByIndex(self, index): self.CheckLoadData("NPCEx") return self.ipyNPCExCache[index] def GetNPCRealmStrengthenCount(self): self.CheckLoadData("NPCRealmStrengthen") return self.ipyNPCRealmStrengthenLen def GetNPCRealmStrengthenByIndex(self, index): self.CheckLoadData("NPCRealmStrengthen") return self.ipyNPCRealmStrengthenCache[index] def GetNPCStrengthenCount(self): self.CheckLoadData("NPCStrengthen") return self.ipyNPCStrengthenLen def GetNPCStrengthenByIndex(self, index): self.CheckLoadData("NPCStrengthen") return self.ipyNPCStrengthenCache[index] def GetNPCTimeLostHPCount(self): self.CheckLoadData("NPCTimeLostHP") return self.ipyNPCTimeLostHPLen def GetNPCTimeLostHPByIndex(self, index): self.CheckLoadData("NPCTimeLostHP") return self.ipyNPCTimeLostHPCache[index] def GetEquipSuitAttrCount(self): self.CheckLoadData("EquipSuitAttr") return self.ipyEquipSuitAttrLen def GetEquipSuitAttrByIndex(self, index): self.CheckLoadData("EquipSuitAttr") return self.ipyEquipSuitAttrCache[index] def GetWingRefineAttrCount(self): self.CheckLoadData("WingRefineAttr") return self.ipyWingRefineAttrLen def GetWingRefineAttrByIndex(self, index): self.CheckLoadData("WingRefineAttr") return self.ipyWingRefineAttrCache[index] def GetWingRefineExpCount(self): self.CheckLoadData("WingRefineExp") return self.ipyWingRefineExpLen def GetWingRefineExpByIndex(self, index): self.CheckLoadData("WingRefineExp") return self.ipyWingRefineExpCache[index] def GetFamilyTechCount(self): self.CheckLoadData("FamilyTech") return self.ipyFamilyTechLen def GetFamilyTechByIndex(self, index): self.CheckLoadData("FamilyTech") return self.ipyFamilyTechCache[index] def GetFightPowerParamCount(self): self.CheckLoadData("FightPowerParam") return self.ipyFightPowerParamLen def GetFightPowerParamByIndex(self, index): self.CheckLoadData("FightPowerParam") return self.ipyFightPowerParamCache[index] def GetNPCDropItemCount(self): self.CheckLoadData("NPCDropItem") return self.ipyNPCDropItemLen def GetNPCDropItemByIndex(self, index): self.CheckLoadData("NPCDropItem") return self.ipyNPCDropItemCache[index] def GetRuneTowerCount(self): self.CheckLoadData("RuneTower") return self.ipyRuneTowerLen def GetRuneTowerByIndex(self, index): self.CheckLoadData("RuneTower") return self.ipyRuneTowerCache[index] def GetChinMapCount(self): self.CheckLoadData("ChinMap") return self.ipyChinMapLen def GetChinMapByIndex(self, index): self.CheckLoadData("ChinMap") return self.ipyChinMapCache[index] def GetFBFuncCount(self): self.CheckLoadData("FBFunc") return self.ipyFBFuncLen def GetFBFuncByIndex(self, index): self.CheckLoadData("FBFunc") return self.ipyFBFuncCache[index] def GetFBLineCount(self): self.CheckLoadData("FBLine") return self.ipyFBLineLen def GetFBLineByIndex(self, index): self.CheckLoadData("FBLine") return self.ipyFBLineCache[index] def GetFBGeneralTrainCount(self): self.CheckLoadData("FBGeneralTrain") return self.ipyFBGeneralTrainLen def GetFBGeneralTrainByIndex(self, index): self.CheckLoadData("FBGeneralTrain") return self.ipyFBGeneralTrainCache[index] def GetFBHelpBattleCount(self): self.CheckLoadData("FBHelpBattle") return self.ipyFBHelpBattleLen def GetFBHelpBattleByIndex(self, index): self.CheckLoadData("FBHelpBattle") return self.ipyFBHelpBattleCache[index] def GetNPCCustomRefreshCount(self): self.CheckLoadData("NPCCustomRefresh") return self.ipyNPCCustomRefreshLen def GetNPCCustomRefreshByIndex(self, index): self.CheckLoadData("NPCCustomRefresh") return self.ipyNPCCustomRefreshCache[index] def GetDailyActionCount(self): self.CheckLoadData("DailyAction") return self.ipyDailyActionLen def GetDailyActionByIndex(self, index): self.CheckLoadData("DailyAction") return self.ipyDailyActionCache[index] def GetEquipGSParamCount(self): self.CheckLoadData("EquipGSParam") return self.ipyEquipGSParamLen def GetEquipGSParamByIndex(self, index): self.CheckLoadData("EquipGSParam") return self.ipyEquipGSParamCache[index] def GetSuccessCount(self): self.CheckLoadData("Success") return self.ipySuccessLen def GetSuccessByIndex(self, index): self.CheckLoadData("Success") return self.ipySuccessCache[index] def GetTongTianLVCount(self): self.CheckLoadData("TongTianLV") return self.ipyTongTianLVLen def GetTongTianLVByIndex(self, index): self.CheckLoadData("TongTianLV") return self.ipyTongTianLVCache[index] def GetTongTianTaskCount(self): self.CheckLoadData("TongTianTask") return self.ipyTongTianTaskLen def GetTongTianTaskByIndex(self, index): self.CheckLoadData("TongTianTask") return self.ipyTongTianTaskCache[index] def GetTreasureCount(self): self.CheckLoadData("Treasure") return self.ipyTreasureLen def GetTreasureByIndex(self, index): self.CheckLoadData("Treasure") return self.ipyTreasureCache[index] def GetTreasureUpCount(self): self.CheckLoadData("TreasureUp") return self.ipyTreasureUpLen def GetTreasureUpByIndex(self, index): self.CheckLoadData("TreasureUp") return self.ipyTreasureUpCache[index] def GetContineSignAwardCount(self): self.CheckLoadData("ContineSignAward") return self.ipyContineSignAwardLen def GetContineSignAwardByIndex(self, index): self.CheckLoadData("ContineSignAward") return self.ipyContineSignAwardCache[index] def GetSignAwardCount(self): self.CheckLoadData("SignAward") return self.ipySignAwardLen def GetSignAwardByIndex(self, index): self.CheckLoadData("SignAward") return self.ipySignAwardCache[index] def GetVIPAwardCount(self): self.CheckLoadData("VIPAward") return self.ipyVIPAwardLen def GetVIPAwardByIndex(self, index): self.CheckLoadData("VIPAward") return self.ipyVIPAwardCache[index] def GetAppointItemCount(self): self.CheckLoadData("AppointItem") return self.ipyAppointItemLen def GetAppointItemByIndex(self, index): self.CheckLoadData("AppointItem") return self.ipyAppointItemCache[index] def GetAuctionItemCount(self): self.CheckLoadData("AuctionItem") return self.ipyAuctionItemLen def GetAuctionItemByIndex(self, index): self.CheckLoadData("AuctionItem") return self.ipyAuctionItemCache[index] def GetVipPrivilegeCount(self): self.CheckLoadData("VipPrivilege") return self.ipyVipPrivilegeLen def GetVipPrivilegeByIndex(self, index): self.CheckLoadData("VipPrivilege") return self.ipyVipPrivilegeCache[index] def GetStoreCount(self): self.CheckLoadData("Store") return self.ipyStoreLen def GetStoreByIndex(self, index): self.CheckLoadData("Store") return self.ipyStoreCache[index] def GetActSpringSaleCount(self): self.CheckLoadData("ActSpringSale") return self.ipyActSpringSaleLen def GetActSpringSaleByIndex(self, index): self.CheckLoadData("ActSpringSale") return self.ipyActSpringSaleCache[index] def GetDailyQuestCount(self): self.CheckLoadData("DailyQuest") return self.ipyDailyQuestLen def GetDailyQuestByIndex(self, index): self.CheckLoadData("DailyQuest") return self.ipyDailyQuestCache[index] def GetDailyLivenessRewardCount(self): self.CheckLoadData("DailyLivenessReward") return self.ipyDailyLivenessRewardLen def GetDailyLivenessRewardByIndex(self, index): self.CheckLoadData("DailyLivenessReward") return self.ipyDailyLivenessRewardCache[index] def GetActivityPlaceRewardCount(self): self.CheckLoadData("ActivityPlaceReward") return self.ipyActivityPlaceRewardLen def GetActivityPlaceRewardByIndex(self, index): self.CheckLoadData("ActivityPlaceReward") return self.ipyActivityPlaceRewardCache[index] def GetRefineStoveCount(self): self.CheckLoadData("RefineStove") return self.ipyRefineStoveLen def GetRefineStoveByIndex(self, index): self.CheckLoadData("RefineStove") return self.ipyRefineStoveCache[index] def GetAlchemyCount(self): self.CheckLoadData("Alchemy") return self.ipyAlchemyLen def GetAlchemyByIndex(self, index): self.CheckLoadData("Alchemy") return self.ipyAlchemyCache[index] def GetAlchemyResultCount(self): self.CheckLoadData("AlchemyResult") return self.ipyAlchemyResultLen def GetAlchemyResultByIndex(self, index): self.CheckLoadData("AlchemyResult") return self.ipyAlchemyResultCache[index] def GetBOSSInfoCount(self): self.CheckLoadData("BOSSInfo") return self.ipyBOSSInfoLen def GetBOSSInfoByIndex(self, index): self.CheckLoadData("BOSSInfo") return self.ipyBOSSInfoCache[index] def GetBOSSFirstKillCount(self): self.CheckLoadData("BOSSFirstKill") return self.ipyBOSSFirstKillLen def GetBOSSFirstKillByIndex(self, index): self.CheckLoadData("BOSSFirstKill") return self.ipyBOSSFirstKillCache[index] def GetElderGodAreaCount(self): self.CheckLoadData("ElderGodArea") return self.ipyElderGodAreaLen def GetElderGodAreaByIndex(self, index): self.CheckLoadData("ElderGodArea") return self.ipyElderGodAreaCache[index] def GetPersonalBossCount(self): self.CheckLoadData("PersonalBoss") return self.ipyPersonalBossLen def GetPersonalBossByIndex(self, index): self.CheckLoadData("PersonalBoss") return self.ipyPersonalBossCache[index] def GetFamilyActivityCount(self): self.CheckLoadData("FamilyActivity") return self.ipyFamilyActivityLen def GetFamilyActivityByIndex(self, index): self.CheckLoadData("FamilyActivity") return self.ipyFamilyActivityCache[index] def GetFamilyRedPackCount(self): self.CheckLoadData("FamilyRedPack") return self.ipyFamilyRedPackLen def GetFamilyRedPackByIndex(self, index): self.CheckLoadData("FamilyRedPack") return self.ipyFamilyRedPackCache[index] def GetActFeastRedPacketSuccCount(self): self.CheckLoadData("ActFeastRedPacketSucc") return self.ipyActFeastRedPacketSuccLen def GetActFeastRedPacketSuccByIndex(self, index): self.CheckLoadData("ActFeastRedPacketSucc") return self.ipyActFeastRedPacketSuccCache[index] def GetNPCShowCount(self): self.CheckLoadData("NPCShow") return self.ipyNPCShowLen def GetNPCShowByIndex(self, index): self.CheckLoadData("NPCShow") return self.ipyNPCShowCache[index] def GetSealDemonCount(self): self.CheckLoadData("SealDemon") return self.ipySealDemonLen def GetSealDemonByIndex(self, index): self.CheckLoadData("SealDemon") return self.ipySealDemonCache[index] def GetFbEncourageCount(self): self.CheckLoadData("FbEncourage") return self.ipyFbEncourageLen def GetFbEncourageByIndex(self, index): self.CheckLoadData("FbEncourage") return self.ipyFbEncourageCache[index] def GetMapRefreshNPCCount(self): self.CheckLoadData("MapRefreshNPC") return self.ipyMapRefreshNPCLen def GetMapRefreshNPCByIndex(self, index): self.CheckLoadData("MapRefreshNPC") return self.ipyMapRefreshNPCCache[index] def GetRuneCompoundCount(self): self.CheckLoadData("RuneCompound") return self.ipyRuneCompoundLen def GetRuneCompoundByIndex(self, index): self.CheckLoadData("RuneCompound") return self.ipyRuneCompoundCache[index] def GetResourcesBackCount(self): self.CheckLoadData("ResourcesBack") return self.ipyResourcesBackLen def GetResourcesBackByIndex(self, index): self.CheckLoadData("ResourcesBack") return self.ipyResourcesBackCache[index] def GetCollectNPCCount(self): self.CheckLoadData("CollectNPC") return self.ipyCollectNPCLen def GetCollectNPCByIndex(self, index): self.CheckLoadData("CollectNPC") return self.ipyCollectNPCCache[index] def GetTreasureNPCCount(self): self.CheckLoadData("TreasureNPC") return self.ipyTreasureNPCLen def GetTreasureNPCByIndex(self, index): self.CheckLoadData("TreasureNPC") return self.ipyTreasureNPCCache[index] def GetChestsCount(self): self.CheckLoadData("Chests") return self.ipyChestsLen def GetChestsByIndex(self, index): self.CheckLoadData("Chests") return self.ipyChestsCache[index] def GetChestsAwardCount(self): self.CheckLoadData("ChestsAward") return self.ipyChestsAwardLen def GetChestsAwardByIndex(self, index): self.CheckLoadData("ChestsAward") return self.ipyChestsAwardCache[index] def GetVIPKillNPCCount(self): self.CheckLoadData("VIPKillNPC") return self.ipyVIPKillNPCLen def GetVIPKillNPCByIndex(self, index): self.CheckLoadData("VIPKillNPC") return self.ipyVIPKillNPCCache[index] def GetOSCBillRankAwardCount(self): self.CheckLoadData("OSCBillRankAward") return self.ipyOSCBillRankAwardLen def GetOSCBillRankAwardByIndex(self, index): self.CheckLoadData("OSCBillRankAward") return self.ipyOSCBillRankAwardCache[index] def GetOSCBillTagAwardCount(self): self.CheckLoadData("OSCBillTagAward") return self.ipyOSCBillTagAwardLen def GetOSCBillTagAwardByIndex(self, index): self.CheckLoadData("OSCBillTagAward") return self.ipyOSCBillTagAwardCache[index] def GetLoginDayAwardCount(self): self.CheckLoadData("LoginDayAward") return self.ipyLoginDayAwardLen def GetLoginDayAwardByIndex(self, index): self.CheckLoadData("LoginDayAward") return self.ipyLoginDayAwardCache[index] def GetOnlineAwardNewCount(self): self.CheckLoadData("OnlineAwardNew") return self.ipyOnlineAwardNewLen def GetOnlineAwardNewByIndex(self, index): self.CheckLoadData("OnlineAwardNew") return self.ipyOnlineAwardNewCache[index] def GetSpringSaleCount(self): self.CheckLoadData("SpringSale") return self.ipySpringSaleLen def GetSpringSaleByIndex(self, index): self.CheckLoadData("SpringSale") return self.ipySpringSaleCache[index] def GetOrderInfoCount(self): self.CheckLoadData("OrderInfo") return self.ipyOrderInfoLen def GetOrderInfoByIndex(self, index): self.CheckLoadData("OrderInfo") return self.ipyOrderInfoCache[index] def GetCTGCount(self): self.CheckLoadData("CTG") return self.ipyCTGLen def GetCTGByIndex(self, index): self.CheckLoadData("CTG") return self.ipyCTGCache[index] def GetCTGSelectItemCount(self): self.CheckLoadData("CTGSelectItem") return self.ipyCTGSelectItemLen def GetCTGSelectItemByIndex(self, index): self.CheckLoadData("CTGSelectItem") return self.ipyCTGSelectItemCache[index] def GetFirstGoldCount(self): self.CheckLoadData("FirstGold") return self.ipyFirstGoldLen def GetFirstGoldByIndex(self, index): self.CheckLoadData("FirstGold") return self.ipyFirstGoldCache[index] def GetLVAwardCount(self): self.CheckLoadData("LVAward") return self.ipyLVAwardLen def GetLVAwardByIndex(self, index): self.CheckLoadData("LVAward") return self.ipyLVAwardCache[index] def GetInvestCount(self): self.CheckLoadData("Invest") return self.ipyInvestLen def GetInvestByIndex(self, index): self.CheckLoadData("Invest") return self.ipyInvestCache[index] def GetXBXZCount(self): self.CheckLoadData("XBXZ") return self.ipyXBXZLen def GetXBXZByIndex(self, index): self.CheckLoadData("XBXZ") return self.ipyXBXZCache[index] def GetTreasureSetCount(self): self.CheckLoadData("TreasureSet") return self.ipyTreasureSetLen def GetTreasureSetByIndex(self, index): self.CheckLoadData("TreasureSet") return self.ipyTreasureSetCache[index] def GetTreasureHouseCount(self): self.CheckLoadData("TreasureHouse") return self.ipyTreasureHouseLen def GetTreasureHouseByIndex(self, index): self.CheckLoadData("TreasureHouse") return self.ipyTreasureHouseCache[index] def GetTreasureItemLibCount(self): self.CheckLoadData("TreasureItemLib") return self.ipyTreasureItemLibLen def GetTreasureItemLibByIndex(self, index): self.CheckLoadData("TreasureItemLib") return self.ipyTreasureItemLibCache[index] def GetTreasureCntAwardCount(self): self.CheckLoadData("TreasureCntAward") return self.ipyTreasureCntAwardLen def GetTreasureCntAwardByIndex(self, index): self.CheckLoadData("TreasureCntAward") return self.ipyTreasureCntAwardCache[index] def GetFreeGoodsCount(self): self.CheckLoadData("FreeGoods") return self.ipyFreeGoodsLen def GetFreeGoodsByIndex(self, index): self.CheckLoadData("FreeGoods") return self.ipyFreeGoodsCache[index] def GetActFlashGiftbagCount(self): self.CheckLoadData("ActFlashGiftbag") return self.ipyActFlashGiftbagLen def GetActFlashGiftbagByIndex(self, index): self.CheckLoadData("ActFlashGiftbag") return self.ipyActFlashGiftbagCache[index] def GetFlashGiftbagCount(self): self.CheckLoadData("FlashGiftbag") return self.ipyFlashGiftbagLen def GetFlashGiftbagByIndex(self, index): self.CheckLoadData("FlashGiftbag") return self.ipyFlashGiftbagCache[index] def GetActDailyGiftbagCount(self): self.CheckLoadData("ActDailyGiftbag") return self.ipyActDailyGiftbagLen def GetActDailyGiftbagByIndex(self, index): self.CheckLoadData("ActDailyGiftbag") return self.ipyActDailyGiftbagCache[index] def GetDailyGiftbagCount(self): self.CheckLoadData("DailyGiftbag") return self.ipyDailyGiftbagLen def GetDailyGiftbagByIndex(self, index): self.CheckLoadData("DailyGiftbag") return self.ipyDailyGiftbagCache[index] def GetActExpRateCount(self): self.CheckLoadData("ActExpRate") return self.ipyActExpRateLen def GetActExpRateByIndex(self, index): self.CheckLoadData("ActExpRate") return self.ipyActExpRateCache[index] def GetActCostRebateCount(self): self.CheckLoadData("ActCostRebate") return self.ipyActCostRebateLen def GetActCostRebateByIndex(self, index): self.CheckLoadData("ActCostRebate") return self.ipyActCostRebateCache[index] def GetCostRebateTemplateCount(self): self.CheckLoadData("CostRebateTemplate") return self.ipyCostRebateTemplateLen def GetCostRebateTemplateByIndex(self, index): self.CheckLoadData("CostRebateTemplate") return self.ipyCostRebateTemplateCache[index] def GetActBuyOneCount(self): self.CheckLoadData("ActBuyOne") return self.ipyActBuyOneLen def GetActBuyOneByIndex(self, index): self.CheckLoadData("ActBuyOne") return self.ipyActBuyOneCache[index] def GetActBuyOneTemplateCount(self): self.CheckLoadData("ActBuyOneTemplate") return self.ipyActBuyOneTemplateLen def GetActBuyOneTemplateByIndex(self, index): self.CheckLoadData("ActBuyOneTemplate") return self.ipyActBuyOneTemplateCache[index] def GetActFamilyCTGAssistCount(self): self.CheckLoadData("ActFamilyCTGAssist") return self.ipyActFamilyCTGAssistLen def GetActFamilyCTGAssistByIndex(self, index): self.CheckLoadData("ActFamilyCTGAssist") return self.ipyActFamilyCTGAssistCache[index] def GetActFamilyCTGAssistTempCount(self): self.CheckLoadData("ActFamilyCTGAssistTemp") return self.ipyActFamilyCTGAssistTempLen def GetActFamilyCTGAssistTempByIndex(self, index): self.CheckLoadData("ActFamilyCTGAssistTemp") return self.ipyActFamilyCTGAssistTempCache[index] def GetActCollectWordsCount(self): self.CheckLoadData("ActCollectWords") return self.ipyActCollectWordsLen def GetActCollectWordsByIndex(self, index): self.CheckLoadData("ActCollectWords") return self.ipyActCollectWordsCache[index] def GetCollectWordsExchangeCount(self): self.CheckLoadData("CollectWordsExchange") return self.ipyCollectWordsExchangeLen def GetCollectWordsExchangeByIndex(self, index): self.CheckLoadData("CollectWordsExchange") return self.ipyCollectWordsExchangeCache[index] def GetActGarbageSortingCount(self): self.CheckLoadData("ActGarbageSorting") return self.ipyActGarbageSortingLen def GetActGarbageSortingByIndex(self, index): self.CheckLoadData("ActGarbageSorting") return self.ipyActGarbageSortingCache[index] def GetActGarbageTaskCount(self): self.CheckLoadData("ActGarbageTask") return self.ipyActGarbageTaskLen def GetActGarbageTaskByIndex(self, index): self.CheckLoadData("ActGarbageTask") return self.ipyActGarbageTaskCache[index] def GetActBossTrialCount(self): self.CheckLoadData("ActBossTrial") return self.ipyActBossTrialLen def GetActBossTrialByIndex(self, index): self.CheckLoadData("ActBossTrial") return self.ipyActBossTrialCache[index] def GetActBossTrialTemplateCount(self): self.CheckLoadData("ActBossTrialTemplate") return self.ipyActBossTrialTemplateLen def GetActBossTrialTemplateByIndex(self, index): self.CheckLoadData("ActBossTrialTemplate") return self.ipyActBossTrialTemplateCache[index] def GetActHorsePetTrainCount(self): self.CheckLoadData("ActHorsePetTrain") return self.ipyActHorsePetTrainLen def GetActHorsePetTrainByIndex(self, index): self.CheckLoadData("ActHorsePetTrain") return self.ipyActHorsePetTrainCache[index] def GetActHorsePetTrainBillTempCount(self): self.CheckLoadData("ActHorsePetTrainBillTemp") return self.ipyActHorsePetTrainBillTempLen def GetActHorsePetTrainBillTempByIndex(self, index): self.CheckLoadData("ActHorsePetTrainBillTemp") return self.ipyActHorsePetTrainBillTempCache[index] def GetActGubaoCount(self): self.CheckLoadData("ActGubao") return self.ipyActGubaoLen def GetActGubaoByIndex(self, index): self.CheckLoadData("ActGubao") return self.ipyActGubaoCache[index] def GetActGubaoBillTempCount(self): self.CheckLoadData("ActGubaoBillTemp") return self.ipyActGubaoBillTempLen def GetActGubaoBillTempByIndex(self, index): self.CheckLoadData("ActGubaoBillTemp") return self.ipyActGubaoBillTempCache[index] def GetActXianXiaMJCount(self): self.CheckLoadData("ActXianXiaMJ") return self.ipyActXianXiaMJLen def GetActXianXiaMJByIndex(self, index): self.CheckLoadData("ActXianXiaMJ") return self.ipyActXianXiaMJCache[index] def GetActXianXiaMJBillTempCount(self): self.CheckLoadData("ActXianXiaMJBillTemp") return self.ipyActXianXiaMJBillTempLen def GetActXianXiaMJBillTempByIndex(self, index): self.CheckLoadData("ActXianXiaMJBillTemp") return self.ipyActXianXiaMJBillTempCache[index] def GetActXianXiaMJAwardCount(self): self.CheckLoadData("ActXianXiaMJAward") return self.ipyActXianXiaMJAwardLen def GetActXianXiaMJAwardByIndex(self, index): self.CheckLoadData("ActXianXiaMJAward") return self.ipyActXianXiaMJAwardCache[index] def GetActGodGiftCount(self): self.CheckLoadData("ActGodGift") return self.ipyActGodGiftLen def GetActGodGiftByIndex(self, index): self.CheckLoadData("ActGodGift") return self.ipyActGodGiftCache[index] def GetActGodGiftAwardCount(self): self.CheckLoadData("ActGodGiftAward") return self.ipyActGodGiftAwardLen def GetActGodGiftAwardByIndex(self, index): self.CheckLoadData("ActGodGiftAward") return self.ipyActGodGiftAwardCache[index] def GetActHorsePetFeastCount(self): self.CheckLoadData("ActHorsePetFeast") return self.ipyActHorsePetFeastLen def GetActHorsePetFeastByIndex(self, index): self.CheckLoadData("ActHorsePetFeast") return self.ipyActHorsePetFeastCache[index] def GetActBossRebornCount(self): self.CheckLoadData("ActBossReborn") return self.ipyActBossRebornLen def GetActBossRebornByIndex(self, index): self.CheckLoadData("ActBossReborn") return self.ipyActBossRebornCache[index] def GetBossRebornCount(self): self.CheckLoadData("BossReborn") return self.ipyBossRebornLen def GetBossRebornByIndex(self, index): self.CheckLoadData("BossReborn") return self.ipyBossRebornCache[index] def GetActRealmPointCount(self): self.CheckLoadData("ActRealmPoint") return self.ipyActRealmPointLen def GetActRealmPointByIndex(self, index): self.CheckLoadData("ActRealmPoint") return self.ipyActRealmPointCache[index] def GetTrialExchangeCount(self): self.CheckLoadData("TrialExchange") return self.ipyTrialExchangeLen def GetTrialExchangeByIndex(self, index): self.CheckLoadData("TrialExchange") return self.ipyTrialExchangeCache[index] def GetAllPeoplePartyCount(self): self.CheckLoadData("AllPeopleParty") return self.ipyAllPeoplePartyLen def GetAllPeoplePartyByIndex(self, index): self.CheckLoadData("AllPeopleParty") return self.ipyAllPeoplePartyCache[index] def GetAllPeoplePartyAwardCount(self): self.CheckLoadData("AllPeoplePartyAward") return self.ipyAllPeoplePartyAwardLen def GetAllPeoplePartyAwardByIndex(self, index): self.CheckLoadData("AllPeoplePartyAward") return self.ipyAllPeoplePartyAwardCache[index] def GetMapEventPointCount(self): self.CheckLoadData("MapEventPoint") return self.ipyMapEventPointLen def GetMapEventPointByIndex(self, index): self.CheckLoadData("MapEventPoint") return self.ipyMapEventPointCache[index] def GetTalentSkillCount(self): self.CheckLoadData("TalentSkill") return self.ipyTalentSkillLen def GetTalentSkillByIndex(self, index): self.CheckLoadData("TalentSkill") return self.ipyTalentSkillCache[index] def GetActFlashSaleCount(self): self.CheckLoadData("ActFlashSale") return self.ipyActFlashSaleLen def GetActFlashSaleByIndex(self, index): self.CheckLoadData("ActFlashSale") return self.ipyActFlashSaleCache[index] def GetActWishingWellCount(self): self.CheckLoadData("ActWishingWell") return self.ipyActWishingWellLen def GetActWishingWellByIndex(self, index): self.CheckLoadData("ActWishingWell") return self.ipyActWishingWellCache[index] def GetWishingWellCount(self): self.CheckLoadData("WishingWell") return self.ipyWishingWellLen def GetWishingWellByIndex(self, index): self.CheckLoadData("WishingWell") return self.ipyWishingWellCache[index] def GetFunctionForecastCount(self): self.CheckLoadData("FunctionForecast") return self.ipyFunctionForecastLen def GetFunctionForecastByIndex(self, index): self.CheckLoadData("FunctionForecast") return self.ipyFunctionForecastCache[index] def GetChatBubbleBoxCount(self): self.CheckLoadData("ChatBubbleBox") return self.ipyChatBubbleBoxLen def GetChatBubbleBoxByIndex(self, index): self.CheckLoadData("ChatBubbleBox") return self.ipyChatBubbleBoxCache[index] def GetChatBubbleBoxStarCount(self): self.CheckLoadData("ChatBubbleBoxStar") return self.ipyChatBubbleBoxStarLen def GetChatBubbleBoxStarByIndex(self, index): self.CheckLoadData("ChatBubbleBoxStar") return self.ipyChatBubbleBoxStarCache[index] def GetEmojiPackCount(self): self.CheckLoadData("EmojiPack") return self.ipyEmojiPackLen def GetEmojiPackByIndex(self, index): self.CheckLoadData("EmojiPack") return self.ipyEmojiPackCache[index] def GetActRechargePrizeCount(self): self.CheckLoadData("ActRechargePrize") return self.ipyActRechargePrizeLen def GetActRechargePrizeByIndex(self, index): self.CheckLoadData("ActRechargePrize") return self.ipyActRechargePrizeCache[index] def GetRechargePrizeTemplateCount(self): self.CheckLoadData("RechargePrizeTemplate") return self.ipyRechargePrizeTemplateLen def GetRechargePrizeTemplateByIndex(self, index): self.CheckLoadData("RechargePrizeTemplate") return self.ipyRechargePrizeTemplateCache[index] def GetActTotalRechargeCount(self): self.CheckLoadData("ActTotalRecharge") return self.ipyActTotalRechargeLen def GetActTotalRechargeByIndex(self, index): self.CheckLoadData("ActTotalRecharge") return self.ipyActTotalRechargeCache[index] def GetTotalRechargeTemplateCount(self): self.CheckLoadData("TotalRechargeTemplate") return self.ipyTotalRechargeTemplateLen def GetTotalRechargeTemplateByIndex(self, index): self.CheckLoadData("TotalRechargeTemplate") return self.ipyTotalRechargeTemplateCache[index] def GetActRechargeRebateGoldCount(self): self.CheckLoadData("ActRechargeRebateGold") return self.ipyActRechargeRebateGoldLen def GetActRechargeRebateGoldByIndex(self, index): self.CheckLoadData("ActRechargeRebateGold") return self.ipyActRechargeRebateGoldCache[index] def GetRechargeRebateGoldTemplateCount(self): self.CheckLoadData("RechargeRebateGoldTemplate") return self.ipyRechargeRebateGoldTemplateLen def GetRechargeRebateGoldTemplateByIndex(self, index): self.CheckLoadData("RechargeRebateGoldTemplate") return self.ipyRechargeRebateGoldTemplateCache[index] def GetActGrowupBuyCount(self): self.CheckLoadData("ActGrowupBuy") return self.ipyActGrowupBuyLen def GetActGrowupBuyByIndex(self, index): self.CheckLoadData("ActGrowupBuy") return self.ipyActGrowupBuyCache[index] def GetActManyDayRechargeCount(self): self.CheckLoadData("ActManyDayRecharge") return self.ipyActManyDayRechargeLen def GetActManyDayRechargeByIndex(self, index): self.CheckLoadData("ActManyDayRecharge") return self.ipyActManyDayRechargeCache[index] def GetActManyDayRechargeAwardCount(self): self.CheckLoadData("ActManyDayRechargeAward") return self.ipyActManyDayRechargeAwardLen def GetActManyDayRechargeAwardByIndex(self, index): self.CheckLoadData("ActManyDayRechargeAward") return self.ipyActManyDayRechargeAwardCache[index] def GetActTurntableCount(self): self.CheckLoadData("ActTurntable") return self.ipyActTurntableLen def GetActTurntableByIndex(self, index): self.CheckLoadData("ActTurntable") return self.ipyActTurntableCache[index] def GetActSingleRechargeCount(self): self.CheckLoadData("ActSingleRecharge") return self.ipyActSingleRechargeLen def GetActSingleRechargeByIndex(self, index): self.CheckLoadData("ActSingleRecharge") return self.ipyActSingleRechargeCache[index] def GetActSingleRechargeAwardCount(self): self.CheckLoadData("ActSingleRechargeAward") return self.ipyActSingleRechargeAwardLen def GetActSingleRechargeAwardByIndex(self, index): self.CheckLoadData("ActSingleRechargeAward") return self.ipyActSingleRechargeAwardCache[index] def GetMagicWeaponFBCount(self): self.CheckLoadData("MagicWeaponFB") return self.ipyMagicWeaponFBLen def GetMagicWeaponFBByIndex(self, index): self.CheckLoadData("MagicWeaponFB") return self.ipyMagicWeaponFBCache[index] def GetIceLodeStarAwardCount(self): self.CheckLoadData("IceLodeStarAward") return self.ipyIceLodeStarAwardLen def GetIceLodeStarAwardByIndex(self, index): self.CheckLoadData("IceLodeStarAward") return self.ipyIceLodeStarAwardCache[index] def GetCrossRealmPKDanCount(self): self.CheckLoadData("CrossRealmPKDan") return self.ipyCrossRealmPKDanLen def GetCrossRealmPKDanByIndex(self, index): self.CheckLoadData("CrossRealmPKDan") return self.ipyCrossRealmPKDanCache[index] def GetCrossRealmPKDanAwardCount(self): self.CheckLoadData("CrossRealmPKDanAward") return self.ipyCrossRealmPKDanAwardLen def GetCrossRealmPKDanAwardByIndex(self, index): self.CheckLoadData("CrossRealmPKDanAward") return self.ipyCrossRealmPKDanAwardCache[index] def GetCrossRealmPKOrderAwardCount(self): self.CheckLoadData("CrossRealmPKOrderAward") return self.ipyCrossRealmPKOrderAwardLen def GetCrossRealmPKOrderAwardByIndex(self, index): self.CheckLoadData("CrossRealmPKOrderAward") return self.ipyCrossRealmPKOrderAwardCache[index] def GetCrossZoneCommCount(self): self.CheckLoadData("CrossZoneComm") return self.ipyCrossZoneCommLen def GetCrossZoneCommByIndex(self, index): self.CheckLoadData("CrossZoneComm") return self.ipyCrossZoneCommCache[index] def GetCrossZoneBattlefieldCount(self): self.CheckLoadData("CrossZoneBattlefield") return self.ipyCrossZoneBattlefieldLen def GetCrossZoneBattlefieldByIndex(self, index): self.CheckLoadData("CrossZoneBattlefield") return self.ipyCrossZoneBattlefieldCache[index] def GetCrossZonePKCount(self): self.CheckLoadData("CrossZonePK") return self.ipyCrossZonePKLen def GetCrossZonePKByIndex(self, index): self.CheckLoadData("CrossZonePK") return self.ipyCrossZonePKCache[index] def GetCrossPenglaiZoneMapCount(self): self.CheckLoadData("CrossPenglaiZoneMap") return self.ipyCrossPenglaiZoneMapLen def GetCrossPenglaiZoneMapByIndex(self, index): self.CheckLoadData("CrossPenglaiZoneMap") return self.ipyCrossPenglaiZoneMapCache[index] def GetCrossDemonLandZoneMapCount(self): self.CheckLoadData("CrossDemonLandZoneMap") return self.ipyCrossDemonLandZoneMapLen def GetCrossDemonLandZoneMapByIndex(self, index): self.CheckLoadData("CrossDemonLandZoneMap") return self.ipyCrossDemonLandZoneMapCache[index] def GetCrossFamilyFlagwarZoneMapCount(self): self.CheckLoadData("CrossFamilyFlagwarZoneMap") return self.ipyCrossFamilyFlagwarZoneMapLen def GetCrossFamilyFlagwarZoneMapByIndex(self, index): self.CheckLoadData("CrossFamilyFlagwarZoneMap") return self.ipyCrossFamilyFlagwarZoneMapCache[index] def GetGatherTheSoulCount(self): self.CheckLoadData("GatherTheSoul") return self.ipyGatherTheSoulLen def GetGatherTheSoulByIndex(self, index): self.CheckLoadData("GatherTheSoul") return self.ipyGatherTheSoulCache[index] def GetGatherTheSoulLVCount(self): self.CheckLoadData("GatherTheSoulLV") return self.ipyGatherTheSoulLVLen def GetGatherTheSoulLVByIndex(self, index): self.CheckLoadData("GatherTheSoulLV") return self.ipyGatherTheSoulLVCache[index] def GetGatherSoulCount(self): self.CheckLoadData("GatherSoul") return self.ipyGatherSoulLen def GetGatherSoulByIndex(self, index): self.CheckLoadData("GatherSoul") return self.ipyGatherSoulCache[index] def GetGatherSoulCompoundCount(self): self.CheckLoadData("GatherSoulCompound") return self.ipyGatherSoulCompoundLen def GetGatherSoulCompoundByIndex(self, index): self.CheckLoadData("GatherSoulCompound") return self.ipyGatherSoulCompoundCache[index] def GetGatherSoulAttrCount(self): self.CheckLoadData("GatherSoulAttr") return self.ipyGatherSoulAttrLen def GetGatherSoulAttrByIndex(self, index): self.CheckLoadData("GatherSoulAttr") return self.ipyGatherSoulAttrCache[index] def GetMagicWeaponOfKingCount(self): self.CheckLoadData("MagicWeaponOfKing") return self.ipyMagicWeaponOfKingLen def GetMagicWeaponOfKingByIndex(self, index): self.CheckLoadData("MagicWeaponOfKing") return self.ipyMagicWeaponOfKingCache[index] def GetCoatCount(self): self.CheckLoadData("Coat") return self.ipyCoatLen def GetCoatByIndex(self, index): self.CheckLoadData("Coat") return self.ipyCoatCache[index] def GetCoatChestUpCount(self): self.CheckLoadData("CoatChestUp") return self.ipyCoatChestUpLen def GetCoatChestUpByIndex(self, index): self.CheckLoadData("CoatChestUp") return self.ipyCoatChestUpCache[index] def GetActWeekPartyCount(self): self.CheckLoadData("ActWeekParty") return self.ipyActWeekPartyLen def GetActWeekPartyByIndex(self, index): self.CheckLoadData("ActWeekParty") return self.ipyActWeekPartyCache[index] def GetWeekPartyCount(self): self.CheckLoadData("WeekParty") return self.ipyWeekPartyLen def GetWeekPartyByIndex(self, index): self.CheckLoadData("WeekParty") return self.ipyWeekPartyCache[index] def GetActYunshiCount(self): self.CheckLoadData("ActYunshi") return self.ipyActYunshiLen def GetActYunshiByIndex(self, index): self.CheckLoadData("ActYunshi") return self.ipyActYunshiCache[index] def GetActLunhuidianCount(self): self.CheckLoadData("ActLunhuidian") return self.ipyActLunhuidianLen def GetActLunhuidianByIndex(self, index): self.CheckLoadData("ActLunhuidian") return self.ipyActLunhuidianCache[index] def GetActLunhuidianAwardCount(self): self.CheckLoadData("ActLunhuidianAward") return self.ipyActLunhuidianAwardLen def GetActLunhuidianAwardByIndex(self, index): self.CheckLoadData("ActLunhuidianAward") return self.ipyActLunhuidianAwardCache[index] def GetActBuyCountGiftCount(self): self.CheckLoadData("ActBuyCountGift") return self.ipyActBuyCountGiftLen def GetActBuyCountGiftByIndex(self, index): self.CheckLoadData("ActBuyCountGift") return self.ipyActBuyCountGiftCache[index] def GetActTaskCount(self): self.CheckLoadData("ActTask") return self.ipyActTaskLen def GetActTaskByIndex(self, index): self.CheckLoadData("ActTask") return self.ipyActTaskCache[index] def GetActTaskTempCount(self): self.CheckLoadData("ActTaskTemp") return self.ipyActTaskTempLen def GetActTaskTempByIndex(self, index): self.CheckLoadData("ActTaskTemp") return self.ipyActTaskTempCache[index] def GetActLoginNewCount(self): self.CheckLoadData("ActLoginNew") return self.ipyActLoginNewLen def GetActLoginNewByIndex(self, index): self.CheckLoadData("ActLoginNew") return self.ipyActLoginNewCache[index] def GetActLoginNewAwardCount(self): self.CheckLoadData("ActLoginNewAward") return self.ipyActLoginNewAwardLen def GetActLoginNewAwardByIndex(self, index): self.CheckLoadData("ActLoginNewAward") return self.ipyActLoginNewAwardCache[index] def GetActLoginAwardCount(self): self.CheckLoadData("ActLoginAward") return self.ipyActLoginAwardLen def GetActLoginAwardByIndex(self, index): self.CheckLoadData("ActLoginAward") return self.ipyActLoginAwardCache[index] def GetLoginAwardCount(self): self.CheckLoadData("LoginAward") return self.ipyLoginAwardLen def GetLoginAwardByIndex(self, index): self.CheckLoadData("LoginAward") return self.ipyLoginAwardCache[index] def GetActFeastLoginCount(self): self.CheckLoadData("ActFeastLogin") return self.ipyActFeastLoginLen def GetActFeastLoginByIndex(self, index): self.CheckLoadData("ActFeastLogin") return self.ipyActFeastLoginCache[index] def GetActFeastLoginAwardCount(self): self.CheckLoadData("ActFeastLoginAward") return self.ipyActFeastLoginAwardLen def GetActFeastLoginAwardByIndex(self, index): self.CheckLoadData("ActFeastLoginAward") return self.ipyActFeastLoginAwardCache[index] def GetActFeastWishCount(self): self.CheckLoadData("ActFeastWish") return self.ipyActFeastWishLen def GetActFeastWishByIndex(self, index): self.CheckLoadData("ActFeastWish") return self.ipyActFeastWishCache[index] def GetActFeastWishBottleCount(self): self.CheckLoadData("ActFeastWishBottle") return self.ipyActFeastWishBottleLen def GetActFeastWishBottleByIndex(self, index): self.CheckLoadData("ActFeastWishBottle") return self.ipyActFeastWishBottleCache[index] def GetActFeastWishPoolCount(self): self.CheckLoadData("ActFeastWishPool") return self.ipyActFeastWishPoolLen def GetActFeastWishPoolByIndex(self, index): self.CheckLoadData("ActFeastWishPool") return self.ipyActFeastWishPoolCache[index] def GetActFeastTravelCount(self): self.CheckLoadData("ActFeastTravel") return self.ipyActFeastTravelLen def GetActFeastTravelByIndex(self, index): self.CheckLoadData("ActFeastTravel") return self.ipyActFeastTravelCache[index] def GetActFeastTravelTaskCount(self): self.CheckLoadData("ActFeastTravelTask") return self.ipyActFeastTravelTaskLen def GetActFeastTravelTaskByIndex(self, index): self.CheckLoadData("ActFeastTravelTask") return self.ipyActFeastTravelTaskCache[index] def GetActFeastTravelAwardCount(self): self.CheckLoadData("ActFeastTravelAward") return self.ipyActFeastTravelAwardLen def GetActFeastTravelAwardByIndex(self, index): self.CheckLoadData("ActFeastTravelAward") return self.ipyActFeastTravelAwardCache[index] def GetZhuXianBossCount(self): self.CheckLoadData("ZhuXianBoss") return self.ipyZhuXianBossLen def GetZhuXianBossByIndex(self, index): self.CheckLoadData("ZhuXianBoss") return self.ipyZhuXianBossCache[index] def GetActFeastWeekPartyCount(self): self.CheckLoadData("ActFeastWeekParty") return self.ipyActFeastWeekPartyLen def GetActFeastWeekPartyByIndex(self, index): self.CheckLoadData("ActFeastWeekParty") return self.ipyActFeastWeekPartyCache[index] def GetFeastWeekPartyCount(self): self.CheckLoadData("FeastWeekParty") return self.ipyFeastWeekPartyLen def GetFeastWeekPartyByIndex(self, index): self.CheckLoadData("FeastWeekParty") return self.ipyFeastWeekPartyCache[index] def GetNewAllPeoplePartyCount(self): self.CheckLoadData("NewAllPeopleParty") return self.ipyNewAllPeoplePartyLen def GetNewAllPeoplePartyByIndex(self, index): self.CheckLoadData("NewAllPeopleParty") return self.ipyNewAllPeoplePartyCache[index] def GetNewAllPeoplePartyAwardCount(self): self.CheckLoadData("NewAllPeoplePartyAward") return self.ipyNewAllPeoplePartyAwardLen def GetNewAllPeoplePartyAwardByIndex(self, index): self.CheckLoadData("NewAllPeoplePartyAward") return self.ipyNewAllPeoplePartyAwardCache[index] def GetActLuckyTreasureCount(self): self.CheckLoadData("ActLuckyTreasure") return self.ipyActLuckyTreasureLen def GetActLuckyTreasureByIndex(self, index): self.CheckLoadData("ActLuckyTreasure") return self.ipyActLuckyTreasureCache[index] def GetLuckyTreasureTemplateCount(self): self.CheckLoadData("LuckyTreasureTemplate") return self.ipyLuckyTreasureTemplateLen def GetLuckyTreasureTemplateByIndex(self, index): self.CheckLoadData("LuckyTreasureTemplate") return self.ipyLuckyTreasureTemplateCache[index] def GetCrossActCTGBillboardDabiaoCount(self): self.CheckLoadData("CrossActCTGBillboardDabiao") return self.ipyCrossActCTGBillboardDabiaoLen def GetCrossActCTGBillboardDabiaoByIndex(self, index): self.CheckLoadData("CrossActCTGBillboardDabiao") return self.ipyCrossActCTGBillboardDabiaoCache[index] def GetCrossActCTGBillboardOrderCount(self): self.CheckLoadData("CrossActCTGBillboardOrder") return self.ipyCrossActCTGBillboardOrderLen def GetCrossActCTGBillboardOrderByIndex(self, index): self.CheckLoadData("CrossActCTGBillboardOrder") return self.ipyCrossActCTGBillboardOrderCache[index] def GetMysteryShopCount(self): self.CheckLoadData("MysteryShop") return self.ipyMysteryShopLen def GetMysteryShopByIndex(self, index): self.CheckLoadData("MysteryShop") return self.ipyMysteryShopCache[index] def GetEquipPlaceIndexMapCount(self): self.CheckLoadData("EquipPlaceIndexMap") return self.ipyEquipPlaceIndexMapLen def GetEquipPlaceIndexMapByIndex(self, index): self.CheckLoadData("EquipPlaceIndexMap") return self.ipyEquipPlaceIndexMapCache[index] def GetEquipShenAttrCount(self): self.CheckLoadData("EquipShenAttr") return self.ipyEquipShenAttrLen def GetEquipShenAttrByIndex(self, index): self.CheckLoadData("EquipShenAttr") return self.ipyEquipShenAttrCache[index] def GetEquipShenEvolveCount(self): self.CheckLoadData("EquipShenEvolve") return self.ipyEquipShenEvolveLen def GetEquipShenEvolveByIndex(self, index): self.CheckLoadData("EquipShenEvolve") return self.ipyEquipShenEvolveCache[index] def GetEquipStarUpCount(self): self.CheckLoadData("EquipStarUp") return self.ipyEquipStarUpLen def GetEquipStarUpByIndex(self, index): self.CheckLoadData("EquipStarUp") return self.ipyEquipStarUpCache[index] def GetEquipPlusEvolveCount(self): self.CheckLoadData("EquipPlusEvolve") return self.ipyEquipPlusEvolveLen def GetEquipPlusEvolveByIndex(self, index): self.CheckLoadData("EquipPlusEvolve") return self.ipyEquipPlusEvolveCache[index] def GetFamilyBossAwardCount(self): self.CheckLoadData("FamilyBossAward") return self.ipyFamilyBossAwardLen def GetFamilyBossAwardByIndex(self, index): self.CheckLoadData("FamilyBossAward") return self.ipyFamilyBossAwardCache[index] def GetFamilyBossHurtAwardCount(self): self.CheckLoadData("FamilyBossHurtAward") return self.ipyFamilyBossHurtAwardLen def GetFamilyBossHurtAwardByIndex(self, index): self.CheckLoadData("FamilyBossHurtAward") return self.ipyFamilyBossHurtAwardCache[index] def GetFamilyZhenfaCount(self): self.CheckLoadData("FamilyZhenfa") return self.ipyFamilyZhenfaLen def GetFamilyZhenfaByIndex(self, index): self.CheckLoadData("FamilyZhenfa") return self.ipyFamilyZhenfaCache[index] def GetItemWashMaxCount(self): self.CheckLoadData("ItemWashMax") return self.ipyItemWashMaxLen def GetItemWashMaxByIndex(self, index): self.CheckLoadData("ItemWashMax") return self.ipyItemWashMaxCache[index] def GetHorsePetBossAwardCount(self): self.CheckLoadData("HorsePetBossAward") return self.ipyHorsePetBossAwardLen def GetHorsePetBossAwardByIndex(self, index): self.CheckLoadData("HorsePetBossAward") return self.ipyHorsePetBossAwardCache[index] def GetFairyDomainCount(self): self.CheckLoadData("FairyDomain") return self.ipyFairyDomainLen def GetFairyDomainByIndex(self, index): self.CheckLoadData("FairyDomain") return self.ipyFairyDomainCache[index] def GetFairyAdventuresCount(self): self.CheckLoadData("FairyAdventures") return self.ipyFairyAdventuresLen def GetFairyAdventuresByIndex(self, index): self.CheckLoadData("FairyAdventures") return self.ipyFairyAdventuresCache[index] def GetFairyDomainAppointCount(self): self.CheckLoadData("FairyDomainAppoint") return self.ipyFairyDomainAppointLen def GetFairyDomainAppointByIndex(self, index): self.CheckLoadData("FairyDomainAppoint") return self.ipyFairyDomainAppointCache[index] def GetFBBuyBuffCount(self): self.CheckLoadData("FBBuyBuff") return self.ipyFBBuyBuffLen def GetFBBuyBuffByIndex(self, index): self.CheckLoadData("FBBuyBuff") return self.ipyFBBuyBuffCache[index] def GetSkillElementCount(self): self.CheckLoadData("SkillElement") return self.ipySkillElementLen def GetSkillElementByIndex(self, index): self.CheckLoadData("SkillElement") return self.ipySkillElementCache[index] def GetSkyTowerCount(self): self.CheckLoadData("SkyTower") return self.ipySkyTowerLen def GetSkyTowerByIndex(self, index): self.CheckLoadData("SkyTower") return self.ipySkyTowerCache[index] def GetSkyTowerServerChallengeCount(self): self.CheckLoadData("SkyTowerServerChallenge") return self.ipySkyTowerServerChallengeLen def GetSkyTowerServerChallengeByIndex(self, index): self.CheckLoadData("SkyTowerServerChallenge") return self.ipySkyTowerServerChallengeCache[index] def GetLingGenEffectCount(self): self.CheckLoadData("LingGenEffect") return self.ipyLingGenEffectLen def GetLingGenEffectByIndex(self, index): self.CheckLoadData("LingGenEffect") return self.ipyLingGenEffectCache[index] def GetLoveGiftCount(self): self.CheckLoadData("LoveGift") return self.ipyLoveGiftLen def GetLoveGiftByIndex(self, index): self.CheckLoadData("LoveGift") return self.ipyLoveGiftCache[index] def GetMarryCount(self): self.CheckLoadData("Marry") return self.ipyMarryLen def GetMarryByIndex(self, index): self.CheckLoadData("Marry") return self.ipyMarryCache[index] def GetLoveRingCount(self): self.CheckLoadData("LoveRing") return self.ipyLoveRingLen def GetLoveRingByIndex(self, index): self.CheckLoadData("LoveRing") return self.ipyLoveRingCache[index] def GetLoveCharmCount(self): self.CheckLoadData("LoveCharm") return self.ipyLoveCharmLen def GetLoveCharmByIndex(self, index): self.CheckLoadData("LoveCharm") return self.ipyLoveCharmCache[index] def GetHorsePetSkinCount(self): self.CheckLoadData("HorsePetSkin") return self.ipyHorsePetSkinLen def GetHorsePetSkinByIndex(self, index): self.CheckLoadData("HorsePetSkin") return self.ipyHorsePetSkinCache[index] def GetAssistThanksGiftCount(self): self.CheckLoadData("AssistThanksGift") return self.ipyAssistThanksGiftLen def GetAssistThanksGiftByIndex(self, index): self.CheckLoadData("AssistThanksGift") return self.ipyAssistThanksGiftCache[index] def GetFuncSysPrivilegeCount(self): self.CheckLoadData("FuncSysPrivilege") return self.ipyFuncSysPrivilegeLen def GetFuncSysPrivilegeByIndex(self, index): self.CheckLoadData("FuncSysPrivilege") return self.ipyFuncSysPrivilegeCache[index] def GetHistoryRechargeAwardCount(self): self.CheckLoadData("HistoryRechargeAward") return self.ipyHistoryRechargeAwardLen def GetHistoryRechargeAwardByIndex(self, index): self.CheckLoadData("HistoryRechargeAward") return self.ipyHistoryRechargeAwardCache[index] def GetCustomAwardCount(self): self.CheckLoadData("CustomAward") return self.ipyCustomAwardLen def GetCustomAwardByIndex(self, index): self.CheckLoadData("CustomAward") return self.ipyCustomAwardCache[index] def GetZhanlingCount(self): self.CheckLoadData("Zhanling") return self.ipyZhanlingLen def GetZhanlingByIndex(self, index): self.CheckLoadData("Zhanling") return self.ipyZhanlingCache[index] def GetXiangongCount(self): self.CheckLoadData("Xiangong") return self.ipyXiangongLen def GetXiangongByIndex(self, index): self.CheckLoadData("Xiangong") return self.ipyXiangongCache[index] def GetTiandaoTreeCount(self): self.CheckLoadData("TiandaoTree") return self.ipyTiandaoTreeLen def GetTiandaoTreeByIndex(self, index): self.CheckLoadData("TiandaoTree") return self.ipyTiandaoTreeCache[index] IPYData = IPY_DataMgr() def IPY_Data(): return IPYData def GetConfigEx(key): '''»ñÈ¡×Ô¶¨Òåkey»º´æÊý¾Ý ''' if key in IPYData.ipyConfigEx: return IPYData.ipyConfigEx[key] return def SetConfigEx(key, configData): '''ÉèÖÃ×Ô¶¨Òåkey»º´æÊý¾Ý ÓÐЩ±íµÄÅäÖÃÄÚÈÝ¿ÉÄÜÔÚʵ¼Ê¹¦ÄÜʹÓÃÖÐÖ±½ÓʹÓñíÊý¾ÝµÄ»°»á±È½ÏÂé·³£¬±ÈÈçÿ´Î¶¼Òª±éÀú»ñȡһЩ±íÊý¾Ý Èç¹û¾­¹ýÒ»²ãÊý¾Ýת»»ºóÔÙÀ´Ê¹ÓøÃÊý¾ÝµÄ»°»á¼ò»¯¹¦ÄÜÂß¼­»òÌá¸ßЧÂÊ£¬Ôò¿ÉÒÔͨ¹ýº¯Êý±£´æÒ»Ð©×Ô¶¨ÒåµÄ»º´æÄÚÈÝ£¬·½±ã¹¦ÄÜʹÓà Ҳ¿ÉÒÔÊÊÓÃÓÚÆäËû×Ô¶¨Ò建´æ´æ´¢ ''' IPYData.ipyConfigEx[key] = configData return configData def GetIpyGameData(dtName, *args): '''»ñÈ¡±íÊý¾Ý£¬ÊÊÓÃÓÚÊý¾ÝΨһµÄ£¬·µ»Øµ¥ÌõÊý¾ÝʵÀý @param dtName: ±íÃû£¬²»º¬tag @param args: ½¨±íʱÉèÖõÄË÷Òý×Ö¶Î˳Ðò¶ÔÓ¦µÄ²éѯֵ @return: ¶ÔÓ¦²éѯÌõ¼þµÄ ipyData Êý¾ÝʵÀý£¬Ö»·µ»Øµ¥¸öʵÀý @ʹÓÃ˵Ã÷: IpyGameDataPY.GetIpyGameData(±íÃû, Ë÷Òý1²éѯֵ, Ë÷Òý2²éѯֵ, ¡­ ) ''' IPYData.CheckLoadData(dtName) if dtName not in IPYData.ipyDataIndexMap: ErrLog("Can not found ipyData dtName=%s" % (dtName)) return indexDict = IPYData.ipyDataIndexMap[dtName] if args not in indexDict: ErrLog("Can not found ipyData dtName=%s,indexValue=%s" % (dtName, args)) return indexList = indexDict[args] return getattr(IPYData, "ipy%sCache" % dtName)[indexList[0]] def GetIpyGameDataList(dtName, *args): '''»ñÈ¡±íÊý¾Ý£¬ÊÊÓÃÓÚ²éѯ½á¹ûÓжàÌõÊý¾ÝµÄ @param dtName: ±íÃû£¬²»º¬tag @param args: ½¨±íʱÉèÖõÄË÷Òý×Ö¶Î˳Ðò¶ÔÓ¦µÄ²éѯֵ @return: ¶ÔÓ¦²éѯÌõ¼þµÄ ipyData Êý¾ÝʵÀýÁбí @ʹÓÃ˵Ã÷: Óë GetIpyGameData º¯ÊýÏàͬ ''' IPYData.CheckLoadData(dtName) if dtName not in IPYData.ipyDataIndexMap: ErrLog("Can not found ipyDataList dtName=%s" % (dtName)) return indexDict = IPYData.ipyDataIndexMap[dtName] if args not in indexDict: ErrLog("Can not found ipyDataList dtName=%s,indexValue=%s" % (dtName, args)) return indexList = indexDict[args] dataCache = getattr(IPYData, "ipy%sCache" % dtName) return [dataCache[i] for i in indexList] def GetIpyGameDataNotLog(dtName, *args): '''Óë GetIpyGameData º¯ÊýÏàͬ, Ö»ÊÇÕÒ²»µ½Êý¾Ýʱ²»»áÊä³öÈÕÖ¾ ''' IPYData.CheckLoadData(dtName) if dtName not in IPYData.ipyDataIndexMap: #ErrLog("Can not found ipyData dtName=%s" % (dtName)) return indexDict = IPYData.ipyDataIndexMap[dtName] if args not in indexDict: #ErrLog("Can not found ipyData dtName=%s,indexValue=%s" % (dtName, args)) return indexList = indexDict[args] return getattr(IPYData, "ipy%sCache" % dtName)[indexList[0]] def GetIpyGameDataListNotLog(dtName, *args): '''Óë GetIpyGameDataList º¯ÊýÏàͬ, Ö»ÊÇÕÒ²»µ½Êý¾Ýʱ²»»áÊä³öÈÕÖ¾ ''' IPYData.CheckLoadData(dtName) if dtName not in IPYData.ipyDataIndexMap: #ErrLog("Can not found ipyDataList dtName=%s" % (dtName)) return indexDict = IPYData.ipyDataIndexMap[dtName] if args not in indexDict: #ErrLog("Can not found ipyDataList dtName=%s,indexValue=%s" % (dtName, args)) return indexList = indexDict[args] dataCache = getattr(IPYData, "ipy%sCache" % dtName) return [dataCache[i] for i in indexList] def GetIpyGameDataByCondition(dtName, keyDict={}, returnList=False, isLogNone=True): '''¸ù¾Ý×Ô¶¨Òå²éѯÌõ¼þ²éѯ±íÊý¾Ý£¬ÓÉÓÚĿǰֻ֧³Ö½¨Á¢Ò»×é²éѯË÷Òý£¬ËùÒÔʹÓÃÆäËû²éѯÌõ¼þ²é±íʱֻÄÜͨ¹ý¸Ãº¯Êý²éÕÒ @param dtName: ±íÃû£¬²»º¬tag @param keyDict: ²éѯÌõ¼þ×Öµä {²éѯ×Ö¶ÎÃû:²éѯֵ, ...} @param returnList: ÊÇ·ñÒÔÁбíµÄÐÎʽ·µ»Ø²éѯÊý¾Ý£¬Ä¬ÈÏ·ñ @param isLogNone: ÕÒ²»µ½Êý¾ÝʱÊÇ·ñÊý¾ÝÈÕÖ¾£¬Ä¬ÈÏÊÇ @return: ÕÒ²»µ½Êý¾Ýʱ·µ»Ø None£¬ÓÐÊý¾Ýʱ¸ù¾Ý²ÎÊýÊÇ·ñ·µ»ØÁÐ±í·µ»Ø¶ÔÓ¦µÄÊý¾ÝʵÀý»òÊý¾ÝʵÀýÁбí ''' IPYData.CheckLoadData(dtName) fieldList = keyDict.keys() valueList = keyDict.values() findFieldKey = "%s_%s" % (dtName, fieldList) findValueKey = tuple(valueList) cacheList = getattr(IPYData, "ipy%sCache" % dtName) if findFieldKey not in IPYData.ipyDataIndexMapEx: indexMapDict = {} for index, iData in enumerate(cacheList): valuekey = tuple([getattr(iData, "Get%s" % field)() for field in fieldList]) indexList = indexMapDict.get(valuekey, []) indexList.append(index) indexMapDict[valuekey] = indexList IPYData.ipyDataIndexMapEx[findFieldKey] = indexMapDict indexMapDict = IPYData.ipyDataIndexMapEx[findFieldKey] if findValueKey not in indexMapDict: if isLogNone: ErrLog("GetIpyGameDataByCondition can not found data! %s %s" % (dtName, keyDict)) return indexList = indexMapDict[findValueKey] if not returnList: return cacheList[indexList[0]] return [cacheList[index] for index in indexList] def GetFuncCfgIpyData(key): '''¶Á¹¦ÄÜÅäÖñíÅäÖÃʵÀý @param key: ÅäÖÃkey @return: Ö±½Ó·µ»Ø¸ÃÅäÖÃkey¶ÔÓ¦µÄÅäÖÃipyDataʵÀý ''' IPYData.CheckLoadData("FuncConfig") if key not in IPYData.ipyFuncConfigDict: ErrLog("Can not found ipyData FuncConfig key=%s!" % key) return "" return IPYData.ipyFuncConfigDict[key] def GetFuncCfg(key, index=1): '''¶Á¹¦ÄÜÅäÖñíÅäÖÃרÓú¯Êý @param key: ÅäÖÃkey @param index: µÚ¼¸¸öÅäÖÃÖµ£¬Ö§³Ö1~5 @return: Ö±½Ó·µ»Ø¶ÔÓ¦µÄÊý¾ÝÀàÐÍ int¡¢str£¬²»ÓÃÔÙÊÖ¶¯×ªint ''' IPYData.CheckLoadData("FuncConfig") if key not in IPYData.ipyFuncConfigDict: ErrLog("Can not found ipyData FuncConfig key=%s!" % key) return "" cfgObj = IPYData.ipyFuncConfigDict[key] if index == 1: return cfgObj.attrTuple[1] if index == 2: return cfgObj.attrTuple[2] if index == 3: return cfgObj.attrTuple[3] if index == 4: return cfgObj.attrTuple[4] if index == 5: return cfgObj.attrTuple[5] ErrLog("Can not found ipyData FuncConfig key=%s,index=%s!" % (key, index)) return "" def GetFuncEvalCfg(key, index=1, defaultValue=[]): '''¶ÁÈ¡¹¦ÄÜÅäÖñíÅäÖÃÁÐ±í¡¢×Öµä¸ñʽרÓú¯Êý @param key: ÅäÖÃkey @param index: µÚ¼¸¸öÅäÖÃÖµ£¬Ö§³Ö1~5 @return: Ö±½Ó·µ»Ø¶ÔÓ¦µÄÊý¾ÝÀàÐÍ list¡¢dict¡¢tuple£¬²»ÓÃÔÙeval ÓÉÓڲ߻®ÓÐ×Ô¶¨ÒåµÄÁбí½á¹¹ obj|¡­ , µ±¸ÃÁбíÅäÖÃÖ»ÓÐÒ»¸öÔªËØÊ±£¬´ËʱÅäÖõÄÄÚÈÝΪµ¥¸öÊýÖµ£¬¼ÓÔØµÄÅäÖõÄʱºò´ËÌõÊý¾Ý»á±»×ªÎªintÐÍ ¹ÊʹÓøÃרÓú¯Êý·µ»ØÁбí½á¹¹£¬·½±ã¹¦ÄÜ¿ª·¢Ê±²»ÓÃÔÙ¿¼ÂÇÁбíΪintʱµÄÇé¿ö£» µ±È»Èç¹ûÅäÖõÄÄÚÈݱ¾Éí¾ÍΪpythonµÄÁÐ±í¡¢×Öµä½á¹¹µÄ»°¿ÉʹÓÃÉÏÃæµÄº¯Êý ²»¹ýΪÁËͳһ£¬½¨Ò鹦ÄÜÅäÖñí¶ÁÁÐ±í¡¢×Öµäʱ¶¼Ê¹Óøú¯Êý ''' IPYData.CheckLoadData("FuncConfig") if key not in IPYData.ipyFuncConfigDict: ErrLog("Can not found ipyData FuncConfig key=%s!" % key) return defaultValue cfgObj = IPYData.ipyFuncConfigDict[key] if index == 1: curConfig = cfgObj.attrTuple[1] elif index == 2: curConfig = cfgObj.attrTuple[2] elif index == 3: curConfig = cfgObj.attrTuple[3] elif index == 4: curConfig = cfgObj.attrTuple[4] elif index == 5: curConfig = cfgObj.attrTuple[5] else: ErrLog("Can not found ipyData FuncConfig key=%s,index=%s!" % (key, index)) return defaultValue curType = type(curConfig) if curType in [list, tuple, dict]: return curConfig if curType == int: return [curConfig] return defaultValue def GetFuncCompileCfg(key, index=1): '''»ñÈ¡¹¦ÄÜÅäÖñíÒѱàÒë¹ýµÄ¹«Ê½ @param key: ÅäÖÃkey @param index: µÚ¼¸¸öÅäÖÃÖµ£¬Ö§³Ö1~5 @return: ·µ»ØÒѱàÒë¹ýµÄ¹«Ê½ ''' return FormulaControl.GetCompileFormula(key + str(index), str(GetFuncCfg(key, index))) def InterpolationSearch(dtName, keyName, keyValue, conditionDict={}): '''²éѯÌõ¼þÏÂÓë¶ÔÓ¦²éѯ×ֶβο¼ÖµÏà½üµÄÊý¾ÝʵÀý£»²Î¿¼ÖµÐ¡ÓÚÅäÖñí×îСֵʱ·µ»Ønone£¬´óÓÚ×î´óֵʱ·µ»Ø×î´óÖµ¶ÔÓ¦µÄʵÀý @param dtName: ±íÃû£¬²»º¬tag @param keyName: ²Î¿¼×Ö¶ÎÃû @param keyValue: ²Î¿¼×Ö¶ÎÖµ£¬´óÓÚµÈÓÚ×Ö¶Îֵʱ·µ»Ø¶ÔÓ¦Êý¾Ý @param conditionDict: ²éѯÌõ¼þ£¬{²éѯ×Ö¶ÎÃû:×Ö¶ÎÖµ, ...} @return: ÕÒ²»µ½Êý¾Ý·µ»Ø None £¬ ·ñÔò·µ»Ø¶ÔÓ¦µÄ ipyData Êý¾ÝʵÀý ''' IPYData.CheckLoadData(dtName) if not conditionDict: dataList = getattr(IPYData, "ipy%sCache" % dtName) else: dataList = GetIpyGameDataByCondition(dtName, conditionDict, True) if not dataList: return low = 0 lowData = dataList[0] lowValue = getattr(lowData, "Get%s" % keyName)() if keyValue < lowValue: return high = len(dataList) - 1 highData = dataList[high] highValue = getattr(highData, "Get%s" % keyName)() if keyValue >= highValue: return highData near = low + int((high - low) * (keyValue - lowValue)/(highValue - lowValue)) nearData = dataList[near] nearValue = getattr(nearData, "Get%s" % keyName)() if keyValue < nearValue: for i in xrange(near - 1, low - 1, -1): nearData = dataList[i] nearValue = getattr(nearData, "Get%s" % keyName)() if nearValue <= keyValue: return nearData elif keyValue > nearValue: for i in xrange(near + 1, high + 1): nearData = dataList[i] nearValue = getattr(nearData, "Get%s" % keyName)() if nearValue > keyValue: return dataList[i - 1] return nearData #if __name__ == "__main__": # IPYDataTotalSize = ChConfig.GetSizeof(IPYData) # classSizeSum = sum(IPYData.classSizeDict.values()) # Log("Êý¾ÝÀàÄÚ´æ: %s b = %s M" % (classSizeSum, str(classSizeSum/float(1024*1024)))) # Log("×ÜÕ¼ÓÃÄÚ´æ: %s b = %s M" % (IPYDataTotalSize, str(IPYDataTotalSize/float(1024*1024)))) # for key in ["OpenBagItem", "RuneUnlock", "IceLodeNeedPoint", "RealmDifficulty", "TongTianLing", "TongTianLingaaa"]: # for i in range(1, 6): # v = GetFuncCfg(key, i) # Log("key:%s,i=%s,value=%s\t%s" % (key, i, type(v), str(v))) # # ipyData = GetIpyGameData("FlashGiftbag", 303) # giftbagIpyDataList = GetIpyGameDataByCondition("FlashGiftbag", {"GiftbagType":1002}, True, True) # for ipyData in giftbagIpyDataList: # print # print type(ipyData.GetGiftbagID()), ipyData.GetGiftbagID() # print type(ipyData.GetGiftbagType()), ipyData.GetGiftbagType() # print type(ipyData.GetOriginalRMB()), ipyData.GetOriginalRMB() # print type(ipyData.GetBuyCountLimit()), ipyData.GetBuyCountLimit() # print type(ipyData.GetGiftItemList()), ipyData.GetGiftItemList() # print type(ipyData.GetMainItemID()), ipyData.GetMainItemID() # print type(ipyData.GetNotifyKey()), ipyData.GetNotifyKey() # # collNPCIpyDataList = GetIpyGameDataListNotLog("MapRefreshNPC", 32050) # if collNPCIpyDataList: # npcIDList = [] # for ipyData in collNPCIpyDataList: # print # print type(ipyData.GetMapID()), ipyData.GetMapID() # print type(ipyData.GetNPCIDList()), ipyData.GetNPCIDList() # print type(ipyData.GetRefreshMarkList()), ipyData.GetRefreshMarkList() # npcIDList += ipyData.GetNPCIDList() # print "npcIDList", npcIDList # else: # print "None" # # ipyData = GetIpyGameData("RuneCompound", 4415) # if ipyData: # print # print type(ipyData.GetTagItemID()), ipyData.GetTagItemID() # print type(ipyData.GetNeedItem()), ipyData.GetNeedItem() # print type(ipyData.GetNeedMJ()), ipyData.GetNeedMJ() # else: # print "None" # # ipyData = GetIpyGameData("DailyGiftbag", 703, 105) # if ipyData: # print # print type(ipyData.GetGiftbagType()), ipyData.GetGiftbagType() # print type(ipyData.GetGiftbagID()), ipyData.GetGiftbagID() # print type(ipyData.GetBuyCountLimit()), ipyData.GetBuyCountLimit() # print type(ipyData.GetGiftItemList()), ipyData.GetGiftItemList() # else: # print "None"