//ÆÁ±Î´Ê struct DirtyList { WORD ID; char Word; //ÆÁ±Î´Ê }; //Íæ¼ÒÃûÆÁ±Î´Ê struct DirtyName { WORD ID; char Word; //ÆÁ±Î´Ê }; //¹¦ÄܶÓÎéÉ趨±í struct tagFuncTeamSet { DWORD _FuncMapID; //¹¦ÄܵØÍ¼ID BYTE NeedName; //ÐèÒª¶ÓÎéÃû BYTE MemberMax; //×î´óÈËÔ±Êý BYTE ApplyMax; //×î´ó½ÓÊÜÉêÇëÊý BYTE ReqApplyMax; //×î´óÉêÇëÊý BYTE SortType; //¶ÓÎéÁбíÅÅÐò·½°¸ BYTE SortReverse; //ÊÇ·ñµ¹Ðò BYTE OPLimitInAct; //»î¶¯ÆÚ¼äÏÞÖÆ¶ÓÎé²Ù×÷ }; //Î佫±í struct Hero { DWORD _HeroID; //Ó¢ÐÛID WORD HeroIndex; // ¼Ç¼Ë÷Òý BYTE Country; // ¹ú¼Ò BYTE Quality; // Æ·ÖÊ list SkinNPCIDList; // Ƥ·ôNPCIDÁбí DWORD AtkSkillID; //ÆÕ¹¥¼¼ÄÜID DWORD AngerSkillID; //Å­Æø¼¼ÄÜID }; //Î佫ÐǼ¶Ì츳±í struct HeroTalent { DWORD _TalentID; //Ì츳ID BYTE AttrID; // ÊôÐÔID DWORD AttrValue; // ÊôÐÔÖµ DWORD InitWeight; // ³õÊ¼È¨ÖØ DWORD WashWeight; // Ï´Á¶È¨ÖØ DWORD AweakWeight; // ¾õÐÑÈ¨ÖØ }; //Îä½«Í»ÆÆÇ±Äܱí struct HeroBreak { DWORD _HeroID; //Ó¢ÐÛID BYTE BreakLV; // Í»ÆÆµÈ¼¶ list AttrIDList; // ÊôÐÔIDÁбí list AttrValueList; // ÊôÐÔÖµÁбí DWORD SkillID; // ¼¤»î¼¼ÄÜID }; //Î佫¾õÐÑÌ츳±í struct HeroAwake { DWORD _HeroID; //Ó¢ÐÛID BYTE AwakeLV; // ¾õÐѵȼ¶ list AttrIDList; // ÊôÐÔIDÁбí list AttrValueList; // ÊôÐÔÖµÁбí DWORD SkillID; // ¼¤»î¼¼ÄÜID BYTE UnlockTalentSlot; // ½âËøµÚx²Ûλ BYTE AddStarUpper; // Ôö¼ÓÐǼ¶ÉÏÏÞ }; //Î佫Ƥ·ô±í struct HeroSkin { DWORD _SkinNPCID; //Ƥ·ôNPCID list WearAttrIDList; // ´©´÷ÊôÐÔIDÁбí list WearAttrValueList; // ´©´÷ÊôÐÔÖµÁбí list AllBatAttrIDList; // È«ÌåÉÏÕóÊôÐÔIDÁбí list AllBatAttrValueList; // È«ÌåÉÏÕóÊôÐÔÖµÁбí }; //Î佫ƷÖʱí struct HeroQuality { DWORD _Quality; //Æ·ÖÊ list UPCostItem; // Éý¼¶ÏûºÄµÀ¾ß list InitTalentWeight; // ³õʼÌ츳ÊýÈ¨ÖØ BYTE InitStarUpper; // ³õʼÐǼ¶ÉÏÏÞ DWORD InitAddPer; // ³õʼ¼Ó³ÉÍò·ÖÂÊ DWORD LVAddPer; // ÿµÈ¼¶¼Ó³É DWORD BreakLVAddPer; // Ã¿Í»ÆÆµÈ¼¶¼Ó³É DWORD StarAddPer; // ÿÐǼ¶¼Ó³É }; //Î佫ƷÖÊÍ»ÆÆ±í struct HeroQualityBreak { DWORD _Quality; //Æ·ÖÊ DWORD _BreakLV; //Í»ÆÆµÈ¼¶ WORD LVMax; // µÈ¼¶ÉÏÏÞ list UPCostItem; // Í»ÆÆµ½Ï¼¶ÏûºÄµÀ¾ß }; //Î佫ƷÖʾõÐѱí struct HeroQualityAwake { DWORD _Quality; //Æ·ÖÊ DWORD _AwakeLV; //¾õÐѵȼ¶ list UPCostItem; // ¾õÐѵ½Ï¼¶ÏûºÄµÀ¾ß }; //³ÆºÅ±í #tagDienstgrad struct tagDienstgrad { DWORD _ID; //Í·ÏÎid WORD Type; //Í·ÏÎÀàÐÍ DWORD ExpireTime; //ÓÐЧʱ¼ä list LightType; //µãÁÁÊôÐÔÀàÐÍ list LightAttribute; //µãÁÁÊôÐÔÖµ list Skills; //±»¶¯¼¼ÄÜ DWORD InitFightPower; //³õʼսÁ¦ }; //³ÆºÅÉýÐDZí struct tagTitleStarUp { DWORD _TitleID; //³ÆºÅNPCID BYTE _TitleStar; //³ÆºÅÐǼ¶ list StarUpNeedItemList; //ÉýÏÂÒ»ÐÇËùÐèµÀ¾ß [[ÎïÆ·ID,¸öÊý], ...] list StarAttrType; //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list StarAttrValue; //ÀÛ¼Æ×ÜÊôÐÔÖµ }; //Í·Ïñ±í struct tagPlayerFace { DWORD _FaceID; //Í·ÏñID BYTE UnlockDefault; //ÊÇ·ñĬÈϼ¤»î DWORD ExpireMinutes; //ʱЧ·ÖÖÓ£¬0ÓÀ¾Ã DWORD CustomPlayerID; //¶¨ÖÆÍæ¼ÒID list LightAttrType; //µãÁÁÊôÐÔÀàÐÍ list LightAttrValue; //µãÁÁÊôÐÔÖµ DWORD LightFightPower; //µãÁÁ¸½¼ÓÕ½Á¦ }; //Í·ÏñÉýÐDZí struct tagPlayerFaceStar { DWORD _FaceID; //Í·ÏñID BYTE _FaceStar; //Í·ÏñÐǼ¶ list StarUpNeedItemList; //Éý¸ÃÐÇËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list StarAttrType; //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list StarAttrValue; //ÀÛ¼Æ×ÜÊôÐÔÖµ }; //Í·Ïñ¿ò±í struct tagPlayerFacePic { DWORD _FacePicID; //Í·Ïñ¿òID BYTE UnlockDefault; //ÊÇ·ñĬÈϼ¤»î DWORD ExpireMinutes; //ʱЧ·ÖÖÓ£¬0ÓÀ¾Ã list LightAttrType; //µãÁÁÊôÐÔÀàÐÍ list LightAttrValue; //µãÁÁÊôÐÔÖµ DWORD LightFightPower; //µãÁÁ¸½¼ÓÕ½Á¦ }; //Í·Ïñ¿òÉýÐDZí struct tagPlayerFacePicStar { DWORD _FacePicID; //Í·Ïñ¿òID BYTE _FacePicStar; //Í·Ïñ¿òÐǼ¶ list StarUpNeedItemList; //Éý¸ÃÐÇËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list StarAttrType; //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list StarAttrValue; //ÀÛ¼Æ×ÜÊôÐÔÖµ }; //¼¼ÄÜ´îÅä±í struct tagSkillMatch { BYTE _IDIndex; list Skills; //Ö÷¶¯¼¼ÄÜ£¨Ö°Òµ1id|Ö°Òµ2id£© }; //Áé¸ù±í #tagRolePoint struct tagRolePoint { BYTE _AttrID; //ÊôÐÔID dict AddAttrInfoPerPoint; //ÿµãÔö¼ÓÊôÐÔÐÅÏ¢ {"Ö°Òµ":[[ÿXµã,ÊôÐÔID,Öµ], ...], ..} BYTE FightPowerPerPoint; //ÿµã¸½¼ÓÕ½¶·Á¦ dict PointQualityAttrDict; //µãÊýÆ·Öʽø½×Ôö¼ÓÊôÐÔ, {Ö°Òµ:{ÊôÐÔID:[½×¶ÎÊôÐÔ,..],..},..} list PointQualityIntervalList; //µãÊýÆ·Öʽø½×ÊôÐÔµãÇø¼äÁбí }; //ÁéÆ÷ÊôÐÔ±í #tagLingQiAttr struct tagLingQiAttr { BYTE _ItemID; //ÊôÐÔID list LingQiAttrID; //ÁéÆ÷ÊôÐÔID list LingQiAttrValue; //ÁéÆ÷ÊôÐÔÊýÖµ DWORD LingQiAttrScore; //ÁéÆ÷ÊôÐÔÆÀ·Ö dict UpCostItem; //Í»ÆÆÐèÒª²ÄÁÏ DWORD NextItemID; //Í»ÆÆºóÎïÆ·ID }; //ÁéÆ÷ÅàÑø±í struct tagLingQiTrain { BYTE _EquipPlace; //ÁéÆ÷×°±¸Î» BYTE _TrainType; //ÅàÑøÀàÐÍ BYTE _TrainLV; //ÅàÑøµÈ½× WORD NeedRealmLV; //ÅàÑøËùÐè¾³½ç DWORD EatCntTotal; //Éý½×ËùÐè¸öÊý£¨·ÇÀۼƣ© DWORD EatCntEverytime; //ÿ´ÎÅàÑøÏûºÄx¸ö list EatItemAttrTypeList; //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ=EatCntEverytime list EatItemAttrValueList; //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ=EatCntEverytime list LVAttrTypeList; //ÿ¼¶¶îÍâÊôÐÔÀࣨ·ÇÀÛ»ý£© list LVAttrValueList; //ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© }; //ÈÎÎñ±í struct tagTask { WORD _TaskID; //ÈÎÎñID BYTE TaskGroup; //ÈÎÎñ×é±ð 0-Ö÷Ïß BYTE TaskType; //ÈÎÎñÀàÐÍ list TaskConds; //ÈÎÎñÌõ¼þ[...] DWORD NeedValue; //ËùÐèÈÎÎñÖµ list AwardItemList; //½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //¾³½çÐÞÏÉ֮· struct tagRealmXXZL { WORD _TaskID; //ÈÎÎñID BYTE TaskType; //ÈÎÎñÀàÐÍ DWORD NeedValue; //ËùÐèÈÎÎñÖµ list AwardItemList; //½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //¾³½ç±í #tagRealm struct tagRealm { WORD _Lv; //¾³½çµÈ¼¶ BYTE LvLarge; //´ó¾³½ç DWORD LVMax; //µÈ¼¶ÉÏÏÞ list AddAttrType; //¾³½ç¼Ó³ÉÊôÐÔÀàÐÍ list AddAttrNum; //¾³½ç¼Ó³ÉÊôÐÔÖµ }; //¾³½ç½ø½×ÈÎÎñ±í struct tagRealmLVUPTask { WORD _Lv; //¾³½çµÈ¼¶ BYTE TaskID; //ÈÎÎñID BYTE TaskType; //ÈÎÎñÀàÐÍ list NeedValueList; //ËùÐèÖµÁбí list AwardItemList; //½±ÀøÎïÆ·Áбí }; //¾³½çËþ±í struct tagRealmTower { DWORD _FloorID; //²ã WORD NeedRealmLV; //ËùÐè¾³½ç DWORD BossID; //BossID list RewardItemList; //½±ÀøÎïÆ·Áбí }; //¾³½çÁ¶ÌåÊôÐÔ±í struct tagLianTi { BYTE _LianTiLV; //Á¶ÌåµÈ¼¶ list FixedAttrType; //¹Ì¶¨ÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list FixedAttrValue; //¹Ì¶¨ÊôÐÔÖµ£¨·ÇÀÛ»ý£© list PlusAttrType; //ÔöÇ¿ÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list PlusAttrRate; //ÔöÇ¿ÊôÐÔÍò·ÖÂÊ£¨·ÇÀÛ»ý£© list EatItemAttrType; //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount list EatItemAttrValue; //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount WORD NeedEatCount; //Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ© WORD EatPerCount; //ÿ´ÎÅàÑøÏûºÄx¸ö list LVUpCostItemInfo; //Í»ÆÆµÈ¼¶µÀ¾ßID|¸öÊý DWORD ActivateSkillID; //¼¤»î¼¼ÄÜID }; //Éñ±ø±í #tagGodWeapon struct tagGodWeapon { WORD _Type; //Éñ±øÀàÐÍ WORD _LV; //µÈ¼¶ DWORD Exp; list AttrType; //ÊôÐÔÀàÐÍ list AttrNum; //ÊôÐÔÖµ DWORD SkillID; //¼¤»î¼¼ÄÜID char SysMark; //ϵͳÌáʾ }; //¹¦ÄÜÅäÖñí¸ñ #tagFuncConfig struct tagFuncConfig { char _Key; //±êʶ char Numerical1; //Êý¾Ý1 char Numerical2; //Êý¾Ý2 char Numerical3; //Êý¾Ý3 char Numerical4; //Êý¾Ý4 char Numerical5; //Êý¾Ý5 }; //µÈ¼¶¿ªÆô¹¦ÄÜ #tagFuncOpenLV struct tagFuncOpenLV { DWORD _FuncId; //¹¦Äܱêʶ DWORD LimitLV; //¿ªÆôµÈ¼¶ DWORD LimitMagicWeapon; //ÐèÒª½âËø·¨±¦ID WORD LimiRealmLV; //ÐèÒª¾³½çµÈ¼¶ DWORD LimitMissionID; //ÐèÒªÍê³ÉµÄÈÎÎñID BYTE LimitVIPLV; //ÐèÒªVIPµÈ¼¶ char MailKey; //Óʼþ }; //ºÏ³É±í #tagItemCompound struct tagItemCompound { WORD _ID; //ºÏ³ÉÅäÖñàºÅID BYTE ComposeGroup; //ºÏ³É¹é×éÀàÐÍ list MakeID; //¿ÉºÏ³ÉµÄµÀ¾ßID£¬¶à¸öÔòËæ»úÒ»¸ö BYTE IsFirstSuccMakeJobItem; //Ê״γɹ¦ÊÇ·ñ±Ø³ö±¾Ö°Òµ list UnfixedItemID; //²»¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱÔòÈÎÒâÒ»ÖÖ¾ù¿É BYTE UnfixedItemCount; //²»¹Ì¶¨µÀ¾ßÏûºÄÊýÁ¿ list FixedItemID; //ÏûºÄ¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱ´ú±íÿ¸öID¾ùÐèÏûºÄ list FixedItemCount; //ÏûºÄ¹Ì¶¨µÀ¾ßÊýÁ¿£¬Ã¿¸öID¶ÔÓ¦ÊýÁ¿ DWORD NeedMoney; // ÏûºÄÍ­Ç® WORD SuccessRate; // ³É¹¦ÂÊÍò·ÖÂÊ WORD SuccessRateMax; // ×î´ó³É¹¦ÂÊÍò·ÖÂÊ list SuccessRateIncrease; //Ìá¸ß³É¹¦ÂʵÀ¾ß, µÀ¾ßID|¸öÊý|Ìá¸ßµÄ¸ÅÂÊ BYTE AddonsCountMax; //×î´ó¿É¸½¼Ó²ÄÁÏÊý, Ôö¼Ó¸ÅÂÊÓÃ, ·Ç±ØÐë, 0´ú±í²»¿É¸½¼Ó²ÄÁÏ char SysMark; //Ìáʾmark BYTE SysMarkParamType; //ϵͳÌáʾ²ÎÊý×éºÏÀàÐÍ }; //ÎïÆ·Ç¿»¯Ð§¹û±í struct tagItemPlus { BYTE _Type; //Ç¿»¯ÀàÐÍ WORD _LV; //Ç¿»¯µÈ¼¶ list AttrType; //ÊôÐÔÀàÐÍ list AttrValue; //ÊôÐÔÖµ DWORD CostCount; //ÏûºÄÍ­Ç® list CostItemInfo; //ÏûºÄÎïÆ·²ÄÁϼ°¸öÊý [itemID, itemCount] DWORD AddExp; //ÌáÉýÊìÁ·¶ÈÖµ DWORD TotalExp; //Éý¼¶ËùÐèÊìÁ·¶È×ÜÖµ }; //×°±¸×ܱí struct tagEquipControl { BYTE ClassLV; //½× BYTE NeedRealmLV; //ÐèÒªµÄ¾³½ç }; //×°±¸Ç¿»¯´óʦ±í struct tagItemPlusMaster { BYTE _ClassLV; //½× WORD MasterPlusLV; //´óʦǿ»¯µÈ¼¶ list MasterPlusAttrIDList; //¼¤»îÊôÐÔÀàÐÍÁбí list MasterPlusAttrValueList; //¼¤»îÊôÐÔÖµÁбí }; //×°±¸Ç¿»¯µÈ¼¶ÉÏÏÞ struct tagItemPlusMax { BYTE _Type; //Ç¿»¯ÀàÐÍ BYTE _ClassLV; //½× WORD PlusLVMax; //×î´óÇ¿»¯µÈ¼¶ }; //×°±¸È«ÉíÐÇÊýÊôÐÔ struct tagRoleEquipStars { BYTE _StarsNeed; //È«ÉíÐÇÊý list AttrType; //ÊôÐÔÀàÐÍ list AttrValue; //ÊôÐÔÖµ }; //×°±¸´«ÆæÊôÐÔÌõÊý±í struct tagEquipLegendAttrCount { BYTE _ItemType; //ÎïÆ·ÀàÐÍ BYTE _ItemColor; //ÎïÆ·ÑÕÉ« BYTE _IsSuit; //ÊÇ·ñÌ××° BYTE _ItemQuality; //ÎïÆ·ÐǼ¶ list LegendAttrCountInfo; //´«ÆæÊôÐÔÌõÊýÐÅÏ¢ [[ÌõÊý, [ÊôÐÔÀàÐÍ¿â±àºÅ, ...]], ...] }; //×°±¸´«ÆæÊôÐÔÀàÐͱí struct tagEquipLegendAttrType { BYTE _ItemType; //ÎïÆ·ÀàÐÍ dict LegendAttrTypeLib; //´«ÆæÊôÐÔÀàÐÍ¿â {ÊôÐÔÀàÐÍ¿â±àºÅ:[ÊôÐÔID,...], ...} }; //×°±¸´«ÆæÊôÐÔÖµ¿â±í struct tagEquipLegendAttrLib { BYTE _LegendAttrID; //´«ÆæÊôÐÔID dict LegendAttrLib; //ÊôÐÔ¿âÐÅÏ¢ {¿â±àºÅ:[Ëæ»úÊýÖµ, ...], ...} }; //×°±¸´«ÆæÊôÐԵȼ¶ÊýÖµ±í struct tagEquipLegendAttrValue { BYTE _ItemType; //ÎïÆ·ÀàÐÍ BYTE _ItemClassLV; //ÎïÆ·½×¼¶ BYTE _ItemColor; //ÎïÆ·ÑÕÉ« BYTE _IsSuit; //ÊÇ·ñÌ××° BYTE _ItemQuality; //ÎïÆ·ÐǼ¶ dict LVLegendAttrLibNumInfo; //ÊôÐÔIDµÈ¼¶¶Î¶ÔÓ¦ÊýÖµ¿â±àºÅ {ÊôÐÔID:{µÈ¼¶:¿â±àºÅ, ...}} }; //ÉñÊÞ±í struct tagDogz { BYTE _DogzID; //ÉñÊÞID list BaseAttrTypes; //»ù´¡ÊôÐÔÀàÐÍÁбí list BaseAttrValues; //»ù´¡ÊôÐÔÖµÁбí list HelpBattleSkills; //ÖúÕ½¼¼ÄÜIDÁбí DWORD FightPowerEx; //ÖúÕ½¸½¼ÓÕ½Á¦ list EquipPlaceColorList; //´©´÷×°±¸ÑÕÉ«ÏÞÖÆ list HelpBattleNotify; //ÖúÕ½¹ã²¥ ["¹ã²¥key",[²ÎÊý1,²ÎÊý2,...],¹ã²¥CD·ÖÖÓ] }; //ÉñÊÞÇ¿»¯±í struct tagDogzEquipPlus { BYTE _EquipPlace; //×°±¸Î» BYTE _PlusLV; //Ç¿»¯µÈ¼¶ list PlusAttrTypes; //Ç¿»¯ÊôÐÔÀàÐÍÁбí list PlusAttrValues; //Ç¿»¯ÊôÐÔÖµÁбí DWORD PlusLVUPTotalExp; //Éý¼¶ËùÐèÀÛ¼ÆÊìÁ·¶È×ÜÖµ }; //·ûÓ¡±í struct tagRune { DWORD _ID; //±àºÅID list AttrType; //ÊôÐÔÀàÐÍ DWORD TowerID; //½âËø·ûÓ¡Ëþ±àºÅ }; //Ï´Á·±í #tagEquipWash struct tagEquipWash { BYTE _WashType; // ×°±¸¹é×éÀàÐÍ BYTE _WashLV; // Ï´Á·µÈ¼¶ BYTE AttrType1; // ÊôÐÔ1ÀàÐÍ DWORD AttrMax1; // ÊôÐÔ1µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ dict AttrRandDict1; // ÊôÐÔ1Ëæ»ú·¶Î§ DWORD AttrCostGoldMin1; // ÊôÐÔ1ÏÉÓñÏ´Á·ÏÂÏÞÖµ DWORD AttrCostGoldMax1; // ÊôÐÔ1ÏÉÓñÏ´Á·ÉÏÏÞÖµ BYTE AttrType2; // ÊôÐÔ2ÀàÐÍ DWORD AttrMax2; // ÊôÐÔ2µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ dict AttrRandDict2; // ÊôÐÔ2Ëæ»ú·¶Î§ DWORD AttrCostGoldMin2; // ÊôÐÔ2ÏÉÓñÏ´Á·ÏÂÏÞÖµ DWORD AttrCostGoldMax2; // ÊôÐÔ2ÏÉÓñÏ´Á·ÉÏÏÞÖµ BYTE AttrType3; // ÊôÐÔ3ÀàÐÍ DWORD AttrMax3; // ÊôÐÔ3µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ dict AttrRandDict3; // ÊôÐÔ3Ëæ»ú·¶Î§ DWORD AttrCostGoldMin3; // ÊôÐÔ3ÏÉÓñÏ´Á·ÏÂÏÞÖµ DWORD AttrCostGoldMax3; // ÊôÐÔ3ÏÉÓñÏ´Á·ÉÏÏÞÖµ DWORD CostItemID; // ¹Ì¶¨ÏûºÄÎïÆ·ID BYTE CostItemCount; // ¹Ì¶¨ÏûºÄÎïÆ·¸öÊý list GoldWashCostList; // ÏÉÓñÏ´Á·ÌõÊý¶ÔÓ¦ÏûºÄ }; //ÊôÐÔ¹ûʵ±í struct tagAttrFruit { DWORD _ID; //ÎïÆ·ID BYTE FuncID; //ËùÊô¹¦ÄÜID dict MaxUseCnt; //¾³½ç¶ÔÓ¦×î´ó¿ÉʹÓÃÊýÁ¿ list AddItemInfo; //[Ôö·ùµ¤ID,µ¥´ÎÎïÆ·ÊýÁ¿,µ¥´ÎÔö¼ÓÉÏÏÞ] WORD RecycleMoney; //»ØÊÕ»õ±ÒÖµ DWORD FightPowerEx; //¸½¼ÓÕ½¶·Á¦ }; //ÁéÊÞ±í struct tagPetInfo { DWORD _ID; //ÁéÊÞNPCID BYTE Quality; //Æ·ÖÊ char UnlockSys; //½âËø¹ã²¥Ìáʾ DWORD UnLockNeedItemID; //½âËøÁéÊÞÎïÆ·ID BYTE UnLockNeedItemCnt; //½âËøËùÐèÎïÆ·ÊýÁ¿ DWORD DecomposeExp; //·Ö½âµ¥¸ö½âËøÎïÆ·¿É»ñµÃÉý½×¾­Ñé BYTE InitRank; //ÁéÊÞ³õʼ½×Êý WORD MaxRank; //ÁéÊÞ×î¸ß½×Êý WORD UseNeedRank; //¶àÉٽ׿ÉÇл»Íâ¹Û list SkillID; //ÁéÊÞ¼¼ÄÜID list SkillUnLock; //ÁéÊÞ¼¼ÄܽâËøÐèÒª½×Êý list SkillUnLockSys; //ÁéÊÞ¼¼ÄܽâËøÌáʾ DWORD InitFightPower; //³õʼսÁ¦ }; //Áé³èÉýÐDZí struct tagPetStarUp { DWORD _PetNPCID; //ÁéÊÞNPCID BYTE _PetStar; //ÁéÊÞÐǼ¶ list StarUpNeedItemList; //ÉýÏÂÒ»ÐÇËùÐèµÀ¾ß [[ÎïÆ·ID,¸öÊý], ...] list StarAttrType; //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list StarAttrValue; //ÀÛ¼Æ×ÜÊôÐÔÖµ }; //Áé³èÅàÑø±í struct tagPetTrain { BYTE _TrainType; //ÅàÑøÀàÐÍ BYTE _TrainLV; //ÅàÑøµÈ½× WORD NeedRealmLV; //ÅàÑøËùÐè¾³½ç DWORD EatCntTotal; //Éý½×ËùÐè¸öÊý£¨·ÇÀۼƣ© DWORD EatCntEverytime; //ÿ´ÎÅàÑøÏûºÄx¸ö list EatItemAttrTypeList; //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ=EatCntEverytime list EatItemAttrValueList; //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ=EatCntEverytime list LVAttrTypeList; //ÿ¼¶¶îÍâÊôÐÔÀࣨ·ÇÀÛ»ý£© list LVAttrValueList; //ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© }; //×°±¸·Ö½âÊôÐÔ±í struct tagEquipDecompose { WORD _LV; //µÈ¼¶ DWORD UpNeedExp; //Éý¼¶ËùÐè¾­ÑéÊý dict Attr; //ÊôÐÔ¼Ó³É }; //ÁéÊÞÉý½×ÏûºÄ±í struct tagPetClassCost { DWORD _PetID; //ÁéÊÞNPCID DWORD _Class; //ÁéÊÞ½×Êý DWORD UpNeedExp; //ÁéÊÞÉý½×ËùÐè¾­ÑéÊý DWORD AtkAdd; //ÿ½×¹¥»÷Á¦¼Ó³É }; //ÁéÊÞÎüÊÕ×°±¸±í struct tagPetEatEquip { BYTE _EquipColor; //×°±¸Æ·ÖÊ BYTE _EquipClass; //×°±¸½×Êý DWORD Exp; //»ñµÃÁéÊÞÉý¼¶¾­Ñé DWORD FamilyStoreItemScore; //ÏÉÃ˱¦¿â»ý·Ö }; //·¨Æ÷Éý¼¶±í struct tagFaQiLVUp { BYTE _FaQiLV; //·¨Æ÷µÈ¼¶ WORD NeedEatCount; //Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ© list LVAttrType; //ÿ¼¶¶îÍâÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list LVAttrValue; //ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© list UpItemAttrType; //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount list UpItemAttrValue; //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount DWORD UpEatItemPerCount; //ÿ´ÎÅàÑøÏûºÄx¸ö }; //×øÆïÉý¼¶±í struct tagHorseLVUp { BYTE _HorseLV; //×øÆïµÈ¼¶ DWORD HorseSkinID; //Íâ¹ÛÎïÆ·ID WORD NeedEatCount; //Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ© list LVAttrType; //ÿ¼¶¶îÍâÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list LVAttrValue; //ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© list UpItemAttrType; //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount list UpItemAttrValue; //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount DWORD UpEatItemPerCount; //ÿ´ÎÅàÑøÏûºÄx¸ö }; //×øÆïÅàÑø±í struct tagHorseTrain { BYTE _TrainType; //ÅàÑøÀàÐÍ BYTE _TrainLV; //ÅàÑøµÈ½× WORD NeedRealmLV; //ÅàÑøËùÐè¾³½ç DWORD EatCntTotal; //Éý½×ËùÐè¸öÊý£¨·ÇÀۼƣ© DWORD EatCntEverytime; //ÿ´ÎÅàÑøÏûºÄx¸ö list EatItemAttrTypeList; //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ=EatCntEverytime list EatItemAttrValueList; //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ=EatCntEverytime list LVAttrTypeList; //ÿ¼¶¶îÍâÊôÐÔÀࣨ·ÇÀÛ»ý£© list LVAttrValueList; //ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© }; //×øÆï»Ã»¯±í struct tagHorseSkinPlus { BYTE _ID; //»Ã»¯±àºÅID DWORD HorseSkinPlusID; //Íâ¹ÛÎïÆ·ID DWORD UnlockItemID; //½âËø×øÆïÎïÆ·±àºÅ BYTE UnlockItemCnt; //½âËøËùÐèÎïÆ·ÊýÁ¿ list AttrType; //¼¤»î¼Ó³ÉÊôÐÔÀàÐÍ list AttrValue; //¼¤»î¼Ó³ÉÊôÐÔÖµ DWORD InitFightPower; //Ƥ·ô¶îÍâÕ½Á¦ DWORD HorseID; //¶ÔӦ׸ÆïID DWORD SkinValidTime; //ÓÐЧʱ³¤Ãë }; //×øÆï±í struct tagHorse { DWORD _HorseID; //×øÆïID DWORD HorseSkinID; //Íâ¹ÛÎïÆ·ID BYTE Quality; //×øÆïÆ·ÖÊ }; //×øÆïÉýÐDZí struct tagHorseStarUp { DWORD _HorseID; //×øÆïID BYTE _HorseStar; //×øÆïÐǼ¶ list StarUpNeedItemList; //ÉýÏÂÒ»ÐÇËùÐèµÀ¾ß [[ÎïÆ·ID,¸öÊý], ...] list StarAttrType; //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list StarAttrValue; //ÀÛ¼Æ×ÜÊôÐÔÖµ }; //¹Å±¦±í struct tagGubao { WORD _GubaoID; //¹Å±¦ID BYTE GubaoType; //¹Å±¦·ÖÀà BYTE GubaoQuality; //¹Å±¦Æ·ÖÊ DWORD UnlockItemID; //½âËøËùÐèÎïÆ·ID BYTE UnlockItemCnt; //½âËøËùÐèÎïÆ·ÊýÁ¿ }; //¹Å±¦¹²ÃùÊôÐÔ±í struct tagGubaoResonanceAttr { WORD _ResonanceID; //¹²ÃùID BYTE ResonanceStar; //¹²ÃùÐǼ¶ list ResonanceAttrIDList; //¹²Ãù×ÜÊôÐÔIDÁбí list ResonanceAttrValueList; //¹²Ãù×ÜÊôÐÔÖµÁбí }; //¹Å±¦¹²Ãù×éºÏ±í struct tagGubaoResonance { WORD _ResonanceID; //¹²ÃùID list GubaoIDList; //¹Å±¦IDÁбí }; //¹Å±¦ÉýÐDZí struct tagGubaoStar { WORD _GubaoID; //¹Å±¦ID BYTE _GubaoStar; //¹Å±¦ÐǼ¶ list StarUPNeedItemInfo; //ÉýÐÇËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list StarUPNeedQualityPiece; //ÉýÏÂÒ»ÐǶîÍâËùÐèÆ·ÖÊË鯬 [[Æ·ÖÊ,¸öÊý], ...] list StarAttrIDList; //ÀÛ¼Æ×ÜÊôÐÔIDÁбí list StarAttrValueList; //ÀÛ¼Æ×ÜÊôÐÔÖµÁбí list StarEffIDList; //ÐǼ¶ÌØÊâЧ¹ûIDÁбí }; //¹Å±¦ÌØÊâЧ¹û±í struct tagGubaoEffAttr { DWORD _GubaoEffID; //¹Å±¦ÌØÊâЧ¹ûID BYTE GubaoEffType; //Ч¹ûÀàÐÍ DWORD EffCond; //Ìõ¼þ DWORD EffCond2; //Ìõ¼þ2 DWORD EffCond3; //Ìõ¼þ3 BYTE IsPer; //ÊÇ·ñ°Ù·Ö±ÈÌáÉý list EffFuncAttrIDList; //ÌáÉýÖ¸¶¨¹¦ÄÜÊôÐÔIDÁбí DWORD EffAttrID; //Ö±½ÓÔö¼ÓÊôÐÔÀàÐÍ DWORD EffAttrValue; //ÌáÉýÊôÐÔÖµ list EffItemAwardList; //ÁìÈ¡ÎïÆ·Áбí }; //¹Å±¦Æ·ÖÊÉý¼¶±í struct tagGubaoLV { BYTE _GubaoType; //¹Å±¦·ÖÀà BYTE _GubaoQuality; //¹Å±¦Æ·ÖÊ BYTE _GubaoLV; //¹Å±¦µÈ¼¶ list LVUPNeedItemInfo; //Éý¼¶ËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list LVAttrTypeList; //µÈ¼¶ÊôÐÔÀàÐÍÁбí list LVAttrValueList; //µÈ¼¶ÊôÐÔÖµÁбí }; //Éñͨ±í struct tagShentong { BYTE _ShentongID; //ÉñͨID WORD NeedGubaoID; //½âËøËùÐè¹Å±¦ID }; //ÉñͨÉý¼¶±í struct tagShentongLV { BYTE _ShentongID; //ÉñͨID BYTE _ShentongClassLV; //Éñͨ½×¼¶ BYTE _ShentongLV; //ÉñͨµÈ¼¶ list LVLightNeedItem; //µãÁÁ¸Ã¼¶ËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list LVAttrTypeList; //¸Ã¼¶ÊôÐÔÀàÐÍÁбí list LVAttrValueList; //¸Ã¼¶ÊôÐÔÖµÁбí DWORD LVSkillID; //¸Ã¼¶Ö°ÒµÍ¨Óü¼ÄÜID DWORD FightPowerEx; //¸½¼ÓÕ½Á¦ }; //Íæ¼ÒµÈ¼¶±í struct tagPlayerLV { WORD _LV; //Íæ¼ÒµÈ¼¶ DWORD ExpPoint; //Éý¼¶ËùÐè¾­Ñéµã,ÿ¸ö¾­Ñéµã´ú±íµÄ¾­ÑéÓÉÏîÄ¿¾ö¶¨ DWORD Exp; //³ý¾­Ñéµã×ܾ­ÑéÍâÉý¼¶»¹ÐèµÄ¾­Ñé BYTE TalentPoint; //µÈ¼¶»ñµÃµÄÌ츳µã DWORD ReExp; //µÈ¼¶¾­ÑéЧÂÊ(second) DWORD ReMaxHP; //ÉúÃü DWORD ReAtk; //¹¥»÷ DWORD ReDef; //·ÀÓù DWORD ReHit; //ÃüÖÐ DWORD ReMiss; //ÉÁ±Ü DWORD ReAtkSpeed; //¹¥ËÙ DWORD ReSkillAtkRate; //¼¼ÄÜÉ˺¦±ÈÀý DWORD ReDamagePer; //Ôö¼ÓÉ˺¦ DWORD ReDamReduce; //¼õÉÙÉ˺¦ DWORD ReIgnoreDefRate; //ÎÞÊÓ·ÀÓù±ÈÀý DWORD ReLuckyHitRate; //»áÐÄÒ»»÷ÂÊ DWORD ReLuckyHit; //»áÐÄÒ»»÷É˺¦ DWORD ReBleedDamage; //Á÷ѪÉ˺¦Ôö¼Ó DWORD ReIceAtk; //ÕæÊµÉ˺¦ DWORD ReIceDef; //ÕæÊµµÖÓù DWORD RePetAtk; //Áé³è¹¥»÷ DWORD RePetSkillAtkRate; //Áé³è¼¼ÄÜ DWORD RePetDamPer; //Áé³èÉ˺¦Ôö¼Ó DWORD ReFinalHurt; //¹Ì¶¨É˺¦Ôö¼Ó DWORD ReFinalHurtReduce; //¹Ì¶¨É˺¦¼õÉÙ DWORD RePotionReply; //Ѫƿ»Ö¸´Á¿ DWORD RePotionCD; //ѪƿCD DWORD AttackEff; //¹Ò»úЧÂÊ DWORD ReFightPower; //Õ½¶·Á¦ DWORD IceLodeFightPower; //±ù¾§¿óÂöɨµ´Õ½¶·Á¦ }; //ÌØÊâµØÍ¼Íæ¼ÒÊôÐÔ¹«Ê½±í struct tagSpecMapPlayerAttrFormat { DWORD _DataMapID; //Êý¾ÝµØÍ¼ID char AttrName; //ÊôÐÔÃû char AttrValueFormat; //×îÖÕÊôÐÔÖµ¹«Ê½£¨¿ÉÓòÎÊýÊôÐÔÃû£© }; //GM²âÊÔÊôÐÔ±í struct tagGMAttr { DWORD _GMAttrID; //Êý¾ÝID BYTE IsValid; //ÊÇ·ñÓÐЧµÄ char GMAccID; //GMÍæ¼ÒÕ˺ŠWORD GMMaxLV; //ÓÐЧµÄ×î´óµÈ¼¶ WORD AttrLV; //¶ÔÓ¦µÈ¼¶±íÖеÄÊôÐÔ float AttrPer; //¶ÔÓ¦µÈ¼¶±íÖеıÈÀý dict AttrSpecDict; //ÌØÊâÊôÐÔÖµ×Öµä {attrKey:value, ...} dict AttrExDict; //ÌØÊâÊôÐÔÖµ×Öµä {attrKey:value, ...} }; //NPC±íÀ©Õ¹ struct tagNPCEx { DWORD _NPCID; //NPCID BYTE FightPowerLackAtkLimit; //Õ½Á¦²»×ãÏÞÖÆ¹¥»÷ DWORD SuppressFightPower; //ÍÆ¼ö/Ñ¹ÖÆÕ½Á¦ }; //³É³¤Ð;³½ç¹ÖÎï±í struct tagNPCRealmStrengthen { DWORD _NPCID; //NPCID BYTE _RealmDifficulty; //¾³½çÄÑ¶È DWORD MapID; DWORD LV; //NPCµÈ¼¶ DWORD Exp;//»ù´¡¾­Ñé WORD MaxDrapLV;//Íæ¼Ò×î´ó¿ÉµôÂäµÈ¼¶ BYTE EquipClassLV; //µôÂä×°±¸½× DWORD DropMoneyMin;//×îС½ð±Ò DWORD DropMoneyMax;//×î´ó½ð±Ò WORD LowLV; // ÍÆ¼ö×îµÍµÈ¼¶ WORD HighestLV; // ÍÆ¼ö×î¸ßµÈ¼¶ DWORD Defense; // ÍÆ¼ö·ÀÓù DWORD MDef; // ±ê×¼»÷ɱʱ¼ä/ºÁÃë DWORD FireDef; // ÍÑ»ú¹Ò¾­Ñ鼯ËãÕ½Á¦ DWORD SP; // SP }; //³É³¤Ð͹ÖÎï²ÎÊý¹«Ê½±í struct tagNPCStrengthen { DWORD _NPCID; //NPCID BYTE IsStrengthenByPlayerCount;//ÊÇ·ñ¸ù¾ÝÈËÊý³É³¤ BYTE LVStrengthenMark;//µÈ¼¶³É³¤ÊôÐÔ¹«Ê½±ê¼Ç BYTE LVStrengthenType;//µÈ¼¶³É³¤ÀàÐÍ, 0-²»°´µÈ¼¶³É³¤£»1-°´Íæ¼Òƽ¾ùµÈ¼¶£»2-°´Íæ¼Ò×î´óµÈ¼¶£»3-°´ÊÀ½çµÈ¼¶£» BYTE CmpNPCBaseLV;//ÊÇ·ñ±È½ÏNPC±íµÈ¼¶, ÊǵĻ°È¡NPC±íÅäÖõȼ¶Óë³É³¤µÈ¼¶ÖнϴóµÈ¼¶ DWORD HitTime;//ÊÜ»÷´ÎÊý DWORD DefCoefficient;//ÈËÎï·ÀÓùϵÊý DWORD AtkCoefficient;//ÈËÎï¹¥»÷ϵÊý DWORD AdjustCoefficient;//µ÷ÕûϵÊý±ÈÀý DWORD AtkInterval;//¹ÖÎï¹¥»÷¼ä¸ô DWORD HitRate;//¶ÔÈËÎïµÄÃüÖÐÂÊ DWORD MissRate;//¶ÔÈËÎïµÄÉÁ±ÜÂÊ DWORD MonterNum;//¹ÖÎïÊý DWORD IceAtkCoefficient;//ÔªËØ¹¥»÷±ÈÀý DWORD IceDefCoefficient;//ÔªËØ¿¹ÐÔ±ÈÀý DWORD MaxEnduranceTime;//Íæ¼Ò×î´ó³ÐÊÜÉ˺¦Ê±¼ä DWORD FightPowerCoefficient;//Ñ¹ÖÆÕ½¶·Á¦ÏµÊý }; //NPCʱ¼äµôѪ±í struct tagNPCTimeLostHP { DWORD _NPCID; //NPCID DWORD LostHPPerSecond; //µ¥ÈËÿÃëµôѪÁ¿ BYTE MaxPlayerCount; //×î´óÈËÊý DWORD LostHPPerSecondEx; //ÿÔö¼ÓÒ»È˸½¼ÓµôѪÁ¿ BYTE FightPowerMinByLV; //±ê×¼Õ½Á¦ÊÇ·ñÈ¡µÈ¼¶±í DWORD FightPowerMin; //±ê×¼Õ½Á¦ DWORD FightPowerMax; //ÉÏÏÞÕ½Á¦ DWORD EveryFightPower; //ÿxµãÕ½Á¦ DWORD EveryFightPowerLostHPEx; //ÿxµãÕ½Á¦¸½¼ÓÉ˺¦ }; //×°±¸Ì××°ÊôÐÔ±í struct tagEquipSuitAttr { WORD _SuiteID; //Ì××°ID BYTE SuiteCnt; //Ì××°¼þÊý BYTE Star; //ÐÇÊý dict AttrInfo; //ÊôÐÔ DWORD SkillID; //¼¼ÄÜID BYTE IsNotify; //ÊÇ·ñ¹ã²¥ WORD ActivateIndex; //¼¤»îË÷Òý }; //ÓðÒí¾«Á¶ÊôÐÔ±í struct tagWingRefineAttr { BYTE _WingClassLV; //³á°ò½×¼¶ dict AttrInfo; //¾«Á¶ÊôÐÔÐÅÏ¢ dict ItemColorInfo; //¾«Á¶¾­Ñé¶ÔÓ¦ÑÕÉ«ÐÅÏ¢ DWORD MaxRefineExp; //±¾½××î´ó¾«Á¶Öµ }; //ÓðÒí¾«Á¶¾­Ñé±í struct tagWingRefineExp { DWORD _ItemID; //¾«Á¶ÎïÆ·ID DWORD RandExpMin; //×îÐ¡Ëæ»ú¾«Á¶Öµ DWORD RandExpMax; //×î´óËæ»ú¾«Á¶Öµ dict ExpMaterial; //³á°ò´úÊý¶ÔÓ¦¾«Á¶Öµ }; //ÏÉÃ˿Ƽ¼±í struct tagFamilyTech { DWORD _TechID; //¿Æ¼¼ID*1000+µÈ¼¶ BYTE AttrType; //ÊôÐÔÀàÐÍ DWORD AttrValue; //ÊôÐÔÖµ DWORD Contribution; //ÐèÒª¹±Ï×¶È DWORD PowerEx; //¶îÍâÕ½Á¦ }; //Õ½¶·Á¦²ÎÊýµÈ¼¶ÏµÊý±í struct tagFightPowerParam { WORD _LV; //µÈ¼¶ DWORD CftHit; //ÃüÖÐϵÊý DWORD CftMiss; //ÉÁ±ÜϵÊý DWORD CftIgnoreDefRate; //ÎÞÊÓ·ÀÓùϵÊý DWORD CftDamChanceDef; //µÖÓùϵÊý DWORD CftFaintRate; //»÷ÔÎϵÊý DWORD CftSuperHitRateReduce; //±©»÷ÂÊ¿¹ÐÔϵÊý DWORD CftSuperHitRate; //±©»÷ÂÊϵÊý DWORD CftLuckyHitRate; //»áÐÄÒ»»÷ÂÊϵÊý DWORD CftLuckyHitRateReduce; //»áÐÄÒ»»÷¿¹ÐÔϵÊý DWORD CftSkillAtkRate; //¼¼ÄÜÉ˺¦ÏµÊý DWORD CftSkillAtkRateReduce; //¼¼ÄܼõÉËϵÊý DWORD CftFinalHurtPer; //×îÖÕÉ˺¦¼Ó³ÉϵÊý DWORD CftFinalHurtReducePer; //×îÖÕÉ˺¦¼õÃâϵÊý DWORD CftDamagePerPVP; //PVPÉ˺¦Ôö¼ÓϵÊý DWORD CftDamagePerPVPReduce; //PVPÉ˺¦¼õÉÙϵÊý DWORD CftNPCHurtAddPer; //PVE¼¼ÄܼӳÉϵÊý DWORD CftNormalHurtPer; //ÆÕͨ¸½¼ÓÉ˺¦¼Ó³ÉϵÊý DWORD CftFabaoHurtPer; //·¨±¦¸½¼ÓÉ˺¦¼Ó³ÉϵÊý DWORD CftDamBackPer; //É˺¦·´ÉäϵÊý DWORD CftIgnoreDefRateReduce; //ÎÞÊÓ·ÀÓù¿¹ÐÔϵÊý DWORD CftFaintDefRate; //¿ØÖƵֿ¹ÏµÊý DWORD CftAtkSpeed; //¹¥ËÙϵÊý DWORD CftJobAHurtAddPer; //¶ÔÄ¿±êսʿÉ˺¦¼Ó³É DWORD CftJobBHurtAddPer; //¶ÔÄ¿±ê·¨Ê¦É˺¦¼Ó³É DWORD CftJobCHurtAddPer; //¶ÔÄ¿±ê¹­¼ýÉ˺¦¼Ó³É DWORD CftJobAAtkReducePer; //սʿ¹¥»÷É˺¦¼õÃâ DWORD CftJobBAtkReducePer; //·¨Ê¦¹¥»÷É˺¦¼õÃâ DWORD CftJobCAtkReducePer; //¹­¼ý¹¥»÷É˺¦¼õÃâ DWORD CftAffairSpeedPer; //ÏÉÃËÊÂÎñËÙ¶È¼Ó³É DWORD CftFamilyBossHurtPer; //ÏÉÃËBOSSÉ˺¦¼Ó³É DWORD CftFamilyWarHPPer; //ÏÉÃËÁªÈüÉúÃü¼Ó³É DWORD CftFamilyWarAtkPer; //ÏÉÃËÁªÈü¹¥»÷¼Ó³É DWORD CftFamilySitExpPer; //ÏÉÃË´ò×ø¾­Ñé¼Ó³É DWORD CftBossFinalHurtPer; //Boss×îÖÕÉ˺¦¼Ó³ÉϵÊý }; //NPCµôÂä±í struct tagNPCDropItem { DWORD _NPCID; //NPCID WORD MaxWorldLV; //×î´óÊÀ½çµÈ¼¶£¬0Ϊ²»ÏÞÖÆ£¬²»ÊÜ×î´óµôÂäµÈ¼¶Ó°Ïì WORD MaxDropLV; //×î´ó¿ÉµôÂäµÄÍæ¼ÒµÈ¼¶, ²»Ó°ÏìÊÀ½çµÈ¼¶ BYTE CanDropRatePlus; //¶îÍâÌáÉýµôÂʵÄÊÇ·ñÓÐЧ BYTE IsDropJobSelf; //ÊÇ·ñÖ»µôÂä±¾Ö°Òµ list PieRateDrop; //±ýͼ¸ÅÂʵôÂäÐÅÏ¢ [(¸ÅÂÊ,0),(¸ÅÂÊ,(½×,ÑÕÉ«)),...] BYTE PieRateDoCnt; //±ýͼ¸ÅÂÊÖ´ÐдÎÊý dict IndepRateDrop; //¶ÀÁ¢¸ÅÂʵôÂäÐÅÏ¢ {(½×,ÑÕÉ«):¸ÅÂÊ,...} BYTE IndepRateDoCnt; //¶ÀÁ¢¸ÅÂÊÖ´ÐдÎÊý dict EquipColorMaxDropCount; //×°±¸ÑÕÉ«×î´óµôÂäÎïÆ·Êý {ÑÕÉ«:ÉÏÏÞÊýÁ¿,...} list TianxuanEquipRateList; //ÌìÐþµ¤×°±¸µôÂä±ýͼ [[¸ÅÂÊ,(½×,Æ·ÖÊ)], ...] dict EquipColorSuitInfo; //×°±¸ÑÕÉ«¶ÔÓ¦Ì××°¸ÅÂÊ {ÑÕÉ«:Ì××°¸ÅÂÊ, ...} dict EquipPartKeyRateInfo; //×°±¸²¿Î»¼¯ºÏÐÅÏ¢ {(ÑÕÉ«,ÊÇ·ñÌ××°):²¿Î»¼¯ºÏkey, ...} BYTE ColorSuitPartOptimization; //²¿Î»ÑÕÉ«ÌׯÀ·ÖÓÅÑ¡µôÂ䣬ʮλ´ú±íÑÕÉ«£¬¸öλ´ú±íÌ××° dict KillCountDropEquipPub; //µÚx´Î»÷ɱ¸½¼Ó±Øµô×°±¸ {´ÎÊý:[½×,ÑÕÉ«,ÊÇ·ñÌ××°,²¿Î»¼¯ºÏkey], ...} dict ItemIDDropRate; //Ö¸¶¨ÎïÆ·IDµôÂÊÐÅÏ¢ {ÎïÆ·ID:¸ÅÂÊ, ...} dict TianxuanItemIDRate; //ÌìÐþµ¤Ö¸¶¨ID¸ÅÂÊ {ÎïÆ·ID:¸ÅÂÊ, ...} dict ItemIDMaxDropCount; //Ö¸¶¨ÎïÆ·ID×î´óµôÂä¸öÊý,ûÅäĬÈÏ1´Î {ÎïÆ·ID:Ëæ»ú´ÎÊý,...} dict ItemKeyDropRate; //ÎïÆ·ID¼¯ºÏKey¸ÅÂÊ, Ëæ»úÒ»¸ö, ÓÅÏȼ¶µÍ {ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...} dict ItemKeyDropRateJob; //ÎïÆ·ID¼¯ºÏKey¸ÅÂÊ, ×ÔÉíÖ°Òµ, ÓÅÏȼ¶¸ß {ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...} dict TianxuanItemKeyRate; //ÌìÐþµ¤Ö¸¶¨ID¼¯ºÏKey¸ÅÂÊ{ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...} dict ItemKeyMaxDropCount; //ÎïÆ·ID¼¯ºÏKeyËæ»ú´ÎÊý,ûÅäĬÈÏ1´Î {ÎïÆ·ID¼¯ºÏkey:Ëæ»ú´ÎÊý,...} BYTE DropMoneyDoCnt; //µôÂä½ð±ÒÖ´ÐдÎÊý WORD DropMoneyRate; //µôÂä½ð±Ò¸ÅÂÊ WORD DropMoneyMin; //µôÂä½ð±Ò×îСֵ WORD DropMoneyMax; //µôÂä½ð±Ò×î´óÖµ dict KillCountDropPub; //»÷ɱ´ÎÊý±Øµô£¨¹«¹²£©{»÷ɱ´ÎÊý:[[ÎïÆ·ID, ...], [Ëæ»úÎïÆ·ID, ...]], ...} list KillCountDropPri; //»÷ɱ´ÎÊý±Øµô£¨Ë½ÓУ©[»÷ɱ´ÎÊý,[ÎïÆ·ID,...],ÊÇ·ñÖ±½Ó·ÅÈë±³°ü] list PriItemIDDrop; //ËùÓйéÊôÕß˽ÓеôÂäÎïÆ·IDÁбí,ÿÈËÒ»·Ý,ĬÈϰó¶¨,ûÓÐÖ°ÒµÇø·Ö[ÎïÆ·ID, ...] BYTE AucionItemCanSell; //µôÂäÅÄÆ·¿É·ñÉϼܼ¯ÊÐ }; //·ûÓ¡Ëþ±í struct tagRuneTower { DWORD _ID; //Ëþ±àºÅ DWORD RunePoint; //¹ý¹Ø¸ø·ûÓ¡¾«»ª DWORD Ysog; //¹ý¹Ø¸øÄ§¾« DWORD NPCID; //npcid BYTE IsNotify; //ÊÇ·ñ¹ã²¥ list FixEndAward; //¹Ì¶¨½áËã½±Àø dict GoodDrop; //ÕäÏ¡·ûӡͨ¹ØµôÂä¸ÅÂÊ DWORD SweepRunePoint; //ɨµ´·ûÓ¡¾«»ª DWORD SweepYsog; //ɨµ´Ä§¾« dict SweepGoodDrop; //ɨµ´ÕäÏ¡·ûÓ¡ }; //µØÍ¼±í¸ñ struct tagChinMap { DWORD _MapID; //µØÍ¼ID BYTE CanRide; //¿É·ñÆï³Ë BYTE CanOutPet; //¿É·ñÕÙ»½³èÎï }; //¸±±¾×ܱí struct tagFBFunc { DWORD _DataMapID; //Êý¾ÝµØÍ¼ID BYTE DayTimes; //ÿÈÕ¿ÉÌôÕ½´ÎÊý, 0Ϊ²»ÏÞÖÆ BYTE DayResetType; //ÿÈÕ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã BYTE WeekTimes; //ÿÖÜ¿ÉÌôÕ½´ÎÊý, 0Ϊ²»ÏÞÖÆ BYTE WeekResetType; //ÿÖÜ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã list RewardRate; //ÆÀ¼¶½±Àø±ÈÀý DWORD BuyTimesVIPPriID; //¹ºÂò´ÎÊýVIPȨÏÞID DWORD ExtraTimesVIPPriID; //¶îÍâ´ÎÊýVIPȨÏÞID DWORD ExtraTimesMWPriID; //¶îÍâ´ÎÊý·¨±¦È¨ÏÞID BYTE GuardPick; //¸ÃµØÍ¼ÊØ»¤ÊÇ·ñÄÜʰȡ WORD OfflineTime; //ÀëÏß¶à¾ÃÍ˳ö¸±±¾(Ãë) WORD FBPoint; //¸±±¾¹ý¹ØÏÉÔµ±Ò WORD HelpPoint; //ÖúÕ½ÏÉÔµ±Ò(0´ú±í²»¿ÉÖúÕ½) BYTE DayHelpCountMax; //ÿÈÕÊÖ¶¯ÖúÕ½»ñµÃÏÉÔµ±Ò´ÎÊý£¨·Ç¾µÏñ£© }; //¸±±¾¹¦ÄÜÏß·±í struct tagFBLine { DWORD _DataMapID; //Êý¾ÝµØÍ¼ID BYTE _LineID; //¹¦ÄÜÏß·ID DWORD MapID; //³¡¾°µØÍ¼ID WORD LVLimitMin; //×îµÍµÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ WORD LVLimitMax; //×î¸ßµÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ DWORD TicketID; //ÃÅÆ±ID list TicketCostCnt; //ÃÅÆ±ÏûºÄÊýÐÅÏ¢ WORD TicketPrice; //ÃÅÆ±µ¥¼Û(²»ÄÜÓÃÇ®µÖµÄÅä0) WORD SweepLVLimit; //ɨµ´µÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ DWORD SweepItemID; //ɨµ´ËùÐèµÀ¾ßID BYTE SweepCostCnt; //ɨµ´ËùÐèµÀ¾ß¸öÊý eval EnterPosInfo; //½øÈë×ø±êÐÅÏ¢ eval StepTime; //½×¶Îʱ¼ä eval RefreshNPC; //±êÊÔµãË¢¹ÖÅäÖà eval GradeInfo; //ÆÀ¼¶¹æÔò eval RewardInfo; //½±ÀøÐÅÏ¢ }; //¸±±¾Í¨ÓÃÑø³É±í struct tagFBGeneralTrain { DWORD _DataMapID; //Êý¾ÝµØÍ¼ID BYTE _LineID; //¹¦ÄÜÏß·ID WORD LVLimit; //¶àÉÙ¼¶¿ÉÌôÕ½, 0Ϊ²»ÏÞÖÆ WORD RealmLimit; //¶àÉÙ¾³½ç¿ÉÌôÕ½, 0Ϊ²»ÏÞÖÆ DWORD BossNPCID; //¹ý¹ØbossID list OtherNPCIDList; //ÆäËûNPCIDList list PassAwardItemList; //¹ý¹Ø½±ÀøÁбí }; //¸±±¾ÖúÕ½±í struct tagFBHelpBattle { DWORD _DataMapID; //Êý¾ÝµØÍ¼ID BYTE _LineID; //¹¦ÄÜÏß·ID DWORD FightPowerMin; //ÖúÕ½×îµÍÕ½Á¦£¬Ò²ÊǸ±±¾±£µ×Õ½Á¦ DWORD RobotFightPower; //ÖúÕ½NPCÕ½Á¦ WORD RobotLV; //ÖúÕ½NPCµÈ¼¶ DWORD RobotBaseHurt; //ÖúÕ½NPC±£µ×É˺¦ WORD RobotHPCoefficient; //ÖúÕ½NPCÉúÃüϵÊý dict RobotSkillsDict; //ÖúÕ½NPC¼¼ÄÜ, {"Ö°Òµ":[¼¼ÄÜÁбí], ...} }; //¸±±¾Ë¢¹Ö±êʶµã±í struct tagNPCCustomRefresh { DWORD _ID; //Ë¢¹Ö¹æÔòID list RefreshMarkInfo; //±êÊÔµã, µ±ÅäÖöà¸öÊ±ÎªËæ»ú±êÊÔµã, ²»Öظ´ DWORD RefreshNPCID; //Ö¸¶¨NPCID list RandNPCIDList; //µ¥´ÎËæ»úË¢¹ÖNPCID list NPCIDCountList; //µ¥´ÎÖ¸¶¨Ë¢¹ÖNPC WORD MaxCount; //µ¥¸öµã×î´ó´æÔÚ¹ÖÎïÊý WORD TotalMaxCount; //Ïàͬ±êÊÔµã×ÜË¢¹ÖÎïÊý BYTE IsLineOneOnly; //ÊÇ·ñ½öÔÚ1ÏßË¢¹Ö DWORD RefreshTick; //Ë¢¹Ö¼ä¸ôÃë BYTE IsRepeat; //ÊÇ·ñÑ­»·Ë¢¹Ö }; //ÈÕ³£»î¶¯±í struct tagDailyAction { DWORD _DailyID; //»î¶¯ID dict OpenTimeDict; //¿ªÆôʱ¼ä DWORD Duration; //³ÖÐøÊ±¼ä, 0Ϊ²»ÏÞÖÆ DWORD DayTimes; //ÿÈÕ´ÎÊý, 0Ϊ²»ÏÞÖÆ DWORD DayBuyTimes; //ÿÈտɹºÂò´ÎÊý BYTE BuyTimesPrivilegeID; //¹ºÂò´ÎÊýVIPȨÏÞID BYTE MoneyType; //»õ±ÒÀàÐÍ list BuyNeedMoney; //¹ºÂò´ÎÊýÐèÒªÏÉÓñ DWORD DayItemAddTimes; //ÿÈÕ¿ÉÓÃÎïÆ·Ôö¼Ó´ÎÊý DWORD DayItemID; //Ôö¼Ó´ÎÊýµÄÎïÆ·ID BYTE DayResetType; //ÿÈÕ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã DWORD WeekTimes; //ÿÖÜ´ÎÊý, 0Ϊ²»ÏÞÖÆ BYTE WeekResetType; //ÿÖÜ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã }; //×°±¸ÆÀ·ÖÊôÐÔϵÊý±í struct tagEquipGSParam { BYTE _ClassLV; // ×°±¸½×¼¶ BYTE _EquipColor; // ×°±¸ÑÕÉ« BYTE _IsSuit; // ÊÇ·ñÌ××° BYTE _ItemQuality; //ÎïÆ·ÐǼ¶ DWORD BaseEquipMaxHPAddPerC; // »ù´¡·À¾ßÉúÃü°Ù·Ö±ÈϵÊý DWORD BaseEquipAtkAddPerC; // »ù´¡ÎäÆ÷¹¥»÷°Ù·Ö±ÈϵÊý DWORD SuperHitC; // ±©»÷ֵϵÊý DWORD SuperHitPerC; // ±©»÷Öµ°Ù·Ö±ÈϵÊý DWORD LuckyHitRateC; // »áÐÄÒ»»÷ÂÊϵÊý DWORD LuckyHitRateReduceC; // »áÐÄÒ»»÷¿¹ÐÔϵÊý DWORD LuckPerC; // ÆøÔ˰ٷֱÈϵÊý DWORD PerLVAtkC; // ÿ¼¶Ôö¼Ó¹¥»÷Á¦ÏµÊý DWORD PerLVMaxHPC; // ÿ¼¶Ôö¼ÓÉúÃüֵϵÊý DWORD DropMoneyPerC; // Ôö¼ÓµôÂä½ð±ÒÁ¿°Ù·Ö±ÈϵÊý DWORD SuperHitReduceC; // ±©»÷¼õÉ˰ٷֱÈϵÊý DWORD SuperHitRateReduceC; // ±©»÷¿¹ÐÔϵÊý DWORD HitC; // ÃüÖÐϵÊý DWORD MissC; // ÉÁ±ÜϵÊý DWORD PetDamPerC; // Áé³èÔöÉ˰ٷֱÈϵÊý DWORD MaxHPPerC; // ÉúÃü¼Ó³ÉϵÊý DWORD AtkPerC; // ¹¥»÷¼Ó³ÉϵÊý DWORD SkillAtkRateC; // ¼¼ÄܼӳÉϵÊý DWORD SkillAtkRateReduceC; // ¼¼ÄܼõÃâϵÊý DWORD SkillAddPer1C; // ¼¼ÄÜÉ˺¦ÔöÇ¿1ϵÊý DWORD SkillAddPer2C; // ¼¼ÄÜÉ˺¦ÔöÇ¿2ϵÊý DWORD SkillAddPer3C; // ¼¼ÄÜÉ˺¦ÔöÇ¿3ϵÊý DWORD SkillAddPer4C; // ¼¼ÄÜÉ˺¦ÔöÇ¿4ϵÊý DWORD SkillAddPer5C; // ¼¼ÄÜÉ˺¦ÔöÇ¿5ϵÊý DWORD SkillAddPer6C; // ¼¼ÄÜÉ˺¦ÔöÇ¿6ϵÊý DWORD SkillAddPer7C; // ¼¼ÄÜÉ˺¦ÔöÇ¿7ϵÊý DWORD SkillReducePer1C; // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ1ϵÊý DWORD SkillReducePer2C; // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ2ϵÊý DWORD SkillReducePer3C; // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ3ϵÊý DWORD SkillReducePer4C; // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ4ϵÊý DWORD SkillReducePer5C; // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ5ϵÊý DWORD SkillReducePer6C; // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ6ϵÊý DWORD SkillReducePer7C; // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ7ϵÊý DWORD ReduceSkillCDPerC; // ¼õÉÙËùÓм¼ÄÜCDϵÊý DWORD LuckyHitPerC; // »áÐÄÉ˺¦¼Ó³ÉϵÊý DWORD FaintDefRateC; // ¿ØÖƵֿ¹ÏµÊý DWORD SuperHitRateC; // ±©»÷ÂʼӳÉϵÊý DWORD IgnoreDefRateC; // ÎÞÊÓ·ÀÓùϵÊý DWORD IgnoreDefRateReduceC; // ÎÞÊÓ·ÀÓù¼õÃâϵÊý DWORD ProDefPerC; // ·À»¤°Ù·Ö±ÈϵÊý DWORD FinalHurtPerC; // ×îÖÕÉ˺¦¼Ó³ÉϵÊý DWORD FinalHurtReducePerC; // ×îÖÕÉ˺¦¼õÃâϵÊý }; //³É¾Í±í struct tagSuccess { DWORD _ID; //³É¾ÍID WORD Type; //³É¾ÍÀàÐÍ DWORD NeedCnt; //ÐèÒªÊýÁ¿ list Condition; //¸¨ÖúÌõ¼þ list PreSuccess; //ÐèÒª´ï³ÉǰÖÃ³É¾Í dict AwardItem; //½±ÀøÎïÆ·Áбí dict AwardItem2; //ͨÐÐÖ¤½±ÀøÎïÆ·Áбí dict Money; //½ðÇ® DWORD Exp; //¾­Ñé dict AwardAttr; //½±ÀøÊôÐÔ DWORD RedPacketID; //ºì°üID DWORD MagicWeaponID; //·¨±¦ID DWORD MagicWeaponExp; //·¨±¦Éý¼¶¾­Ñé }; //ͨÌìÁîµÈ¼¶±í struct tagTongTianLV { WORD _TTLV; //ͨÌìÁîµÈ¼¶ WORD LVUPPoint; //Éý¼¶ËùÐè»ý·Ö£¨0²»¿ÉÉý¼¶£© list CommAwardItemList; //³£¹æ½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list XianAwardItemList; //ÏÉÆ·½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list NotifyItemIDList; //ÐèÒª¹ã²¥µÄÎïÆ·IDÁбí }; //ͨÌìÁîÈÎÎñ±í struct tagTongTianTask { WORD _TTTaskID; //ͨÌìÈÎÎñID£¨È·¶¨ºó²»¿ÉÐ޸ģ© BYTE TTTaskType; //ͨÌìÈÎÎñÀàÐÍ BYTE IsDailyTask; //ÊÇ·ñÿÈÕÈÎÎñ DWORD FinishNeedValue; //ÈÎÎñÍê³ÉËùÐèÖµ DWORD TaskPoint; //ÈÎÎñ»ý·Öµã½±Àø }; //·¨±¦±í struct tagTreasure { DWORD _ID; //ID BYTE TreasureType; //·¨±¦ÀàÐÍ DWORD PreTreasure; //ǰÖ÷¨±¦ DWORD FBMapID; //¸±±¾ID DWORD FBLineID; //¸±±¾Ïß·ID DWORD NeedLV; //ÐèÒªµÈ¼¶ dict NeedItem; //ÐèÒªÏûºÄÎïÆ· }; //·¨±¦Éý¼¶±í struct tagTreasureUp { DWORD _MWID; //·¨±¦ID BYTE _LV; //·¨±¦µÈ¼¶ DWORD NeedExp; //ÐèÒª¾­Ñé dict AddAttr; //ÊôÐÔ list UnLockSkill; //½âËøµÄ¼¼ÄÜ DWORD PowerEx; //¶îÍâ¹Ì¶¨Õ½Á¦ }; //Á¬ÐøÇ©µ½½±Àø±í struct tagContineSignAward { BYTE _ContineDay; //Á¬ÐøÇ©µ½ÌìÊý list ItemID; //½±ÀøÎïÆ·ID BYTE IsBind; //ÎïÆ·ÊÇ·ñ°ó¶¨ list ItemNum; //ÎïÆ·½±Àø×îСֵ list JobItemList; //Ö°ÒµÎïÆ·Áбí }; //Ç©µ½½±Àø±í struct tagSignAward { BYTE _RewardID; //½±ÀøID list ItemID; //½±ÀøÎïÆ·ID BYTE IsBind; //ÎïÆ·ÊÇ·ñ°ó¶¨ BYTE VipLv; //vipµÈ¼¶ list OrdinaryNum; //½±ÀøÎïÆ·ÊýÁ¿ BYTE VipMultiple; //½±Àø±¶ÂÊ }; //VIPÀñ°ü±í struct tagVIPAward { BYTE _VIPLV; //VIPµÈ¼¶ dict ItemID; //½±ÀøÎïÆ·ÐÅÏ¢ WORD Price; //Àñ°üÏÖ¼Û WORD OldPrice; //Àñ°üÔ­¼Û }; //¶¨ÖÆÎïÆ·±í struct tagAppointItem { DWORD _ID; //¶¨ÖÆÎïÆ·ID BYTE CancelUseLimit; //´©´÷ÏÞÖÆ(³ýÖ°Òµ) list LegendAttrID; //´«ÆæÊôÐÔID list LegendAttrValue; //´«ÆæÊôÐÔÖµ }; //ÅÄÂôÎïÆ·±í struct tagAuctionItem { DWORD _AuctionItemID; }; //VIPÌØÈ¨±í struct tagVipPrivilege { DWORD _VIPPriID; //ÌØÈ¨ID DWORD VIP0; //VIP0¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP1; //VIP1¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP2; //VIP2¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP3; //VIP3¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP4; //VIP4¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP5; //VIP5¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP6; //VIP6¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP7; //VIP7¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP8; //VIP8¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP9; //VIP9¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP10; //VIP10¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP11; //VIP11¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP12; //VIP12¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP13; //VIP13¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP14; //VIP14¶ÔÓ¦µÄÌØÈ¨Öµ DWORD VIP15; //VIP15¶ÔÓ¦µÄÌØÈ¨Öµ }; //É̳DZí struct tagStore { DWORD _ID; //ID DWORD ShopType; //É̵êÀàÐÍ BYTE OperationActionShop; //ÊÇ·ñÔËÓª»î¶¯É̵ê DWORD ItemID; //ÎïÆ·ID WORD ItemCnt; //ÎïÆ·ÊýÁ¿ BYTE IsBind; //ÊÇ·ñ°ó¶¨ list ItemListEx; //À©Õ¹ÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...] DWORD MainItemID; //±êµÄÎïÆ·ID list JobItem; //Ö°ÒµÌæ»»ÎïÆ· BYTE RefreshLimit; //ÊÇ·ñÏÞÖÆË¢ÐÂÏÞ¹º´ÎÊý£¬¼´ÊÇ·ñÓÀ¾ÃÏÞ¹º£¬°üº¬»î¶¯Ò²²»ÖØÖà BYTE RefreshType; //Ë¢ÐÂÀàÐÍ 0-²»ÖØÖÃ,1-onWeek0µã,2-onWeek5µã,3-OnDay0µã,4-OnDay5µã list LimitVIPLV; //VIPÏÞÖÆ DWORD LimitLV; //µÈ¼¶ÏÞÖÆ list LimitCnt; //¸öÈËÏÞÖÆÊýÁ¿ DWORD ServerLimitCnt; //È«·þÏÞÖÆÊýÁ¿ BYTE MoneyType; //½ðÇ®ÀàÐÍ DWORD MoneyNum; //½ðÇ®ÊýÁ¿ DWORD MoneyOriginal; //Ô­¼Û DWORD LimitValue; //ÏÞÖÆÌõ¼þ char NotifyMark; //¹ã²¥Ìáʾ char MailKey; //±³°ü²»×ãʱÓʼþKEY }; //ÏÞÊ±ÌØ»Ý±í struct tagActSpringSale { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ list StartTimeList; //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list EndTimeList; //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î WORD AdvanceMinutes; //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà dict ShopTypeList; //É̵êÀàÐÍÁбí char MailKey; //»î¶¯¸üÐÂʱ·¢ËÍÓʼþkey list MailItemPrize; //»î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ· }; //ÈÎÎñÁбí struct tagTaskList { DWORD _TaskID; //ÈÎÎñID }; //ÈÕ³£ÈÎÎñ±í struct tagDailyQuest { DWORD _ID; //ID BYTE RelatedType; //¹ØÁªÀàÐÍ DWORD RelatedID; //¹ØÁªID WORD UnLockFuncID; //½âËø¹¦ÄÜID BYTE OnceActivityTime; //Ôö¼Ó»îÔ¾ËùÐè´ÎÊý BYTE OnceActivity; //µ¥´Î»îÔ¾Öµ WORD TotalActiveValue; //×Ü»îÔ¾ }; //ÈÕ³£»îÔ¾½±Àø±í struct tagDailyLivenessReward { BYTE _ID; //ID WORD Liveness; //ËùÐè»îÔ¾¶È list StageLV; //½×¶ÎµÈ¼¶ list ItemID; //ÎïÆ·ID list ItemCount; //ÎïÆ·ÊýÁ¿ list ItemBind; //ÊÇ·ñ°ó¶¨ }; //ÈÕ³£»îÔ¾·ÅÖñí struct tagActivityPlaceReward { BYTE _ID; //ID BYTE PlaceCount; //·ÅÖö¨ÖÆ´ÎÊý WORD PlaceMaxLV; //×î´óµÈ¼¶ list FixedItemRewardList; //¹Ì¶¨½±Àø [[ÎïÆ·ID, ¸öÊý], ...] BYTE RandItemCountA; //±ýͼ½±Àø´ÎÊýA list RandItemRewardListA; //±ýͼ½±Àø¿âA [[±ýͼ¸ÅÂÊ,ÎïÆ·ID], ...] ÎïÆ·IDÖ§³Ö0 BYTE RandItemCountB; //±ýͼ½±Àø´ÎÊýB list RandItemRewardListB; //±ýͼ½±Àø¿âB [[±ýͼ¸ÅÂÊ,ÎïÆ·ID], ...] ÎïÆ·IDÖ§³Ö0 }; //Á¶µ¤Â¯µÈ¼¶±í struct tagRefineStove { BYTE _StoveLV; //Á¶µ¤Â¯µÈ¼¶ DWORD UpNeedExp; //ÉýÏÂÒ»¼¶ËùÐè¾­Ñé }; //Á¶µ¤±í struct tagAlchemy { DWORD _ID; //ÃØ·½Î¨Ò»ID²»¿É±ä¸ü DWORD AlchemItemID; //µ¤Ò©ÎïÆ·ID BYTE AlchemType; //ÃØ·½ÀàÐÍ1-Á鵤 2-Ïɵ¤ BYTE AlchemyQuality; //ÃØ·½Æ·¼¶ DWORD LearnNeedItemID; //µ¤·½ÎïÆ·ID BYTE LearnNeedAlchemLV; //µ¤·½ÐèÒªÁ¶µ¤µÈ¼¶ WORD LearnNeedLingGenPoint; //µ¤·½ÐèÒª×ÜÁé¸ùµãÊý WORD NeedTime; //Á¶µ¤Ê±¼ä(Ãë) WORD AlchemyExp; //Á¶µ¤»ñµÃ¾­ÑéÖµ dict Material; //Á¶µ¤²ÄÁÏ }; //Á¶µ¤ÊýÁ¿±í struct tagAlchemyResult { BYTE _AlchemyQuality; //µ¤·½µÈ¼¶ DWORD LuckValue; //»Û¸ù list CntRateList; //ÊýÁ¿±ýͼ }; //BOSSÐÅÏ¢±í struct tagBOSSInfo { DWORD _NPCID; //ID DWORD MapID; //µØÍ¼ID BYTE RefreshLine; //Ë¢ÐÂÏß· BYTE RefreshMark; //ˢбêʶµã BYTE IsNeedShunt; //ÊÇ·ñÐèÒª·ÖÁ÷ BYTE RelatedType; //Ë¢¹Ö¹ØÁªÀàÐÍ char RelatedID; //¹ØÁªID ÈÕ³£»î¶¯ID »ò ÔËÓª»î¶¯Ãû DWORD StoneNPCID; //ű®NPCID BYTE CanAssist; //ÊÇ·ñ¿ÉЭÖú BYTE SkillResist; //ÊÇ·ñ¼¼Äֿܵ¹ }; //BossÊ×ɱ struct tagBOSSFirstKill { DWORD _NPCID; //ID WORD PerPlayerMoneyAward; // Ê×ɱȫ·þÍæ¼Ò½±ÀøÁéʯ¶î¶È/ÈË list PersonFirstKillAward; // ¸öÈËÊ״λ÷ɱ½±Àø [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //¹ÅÉñ½ûµØ±í struct tagElderGodArea { DWORD _NPCID; //ID BYTE MonsterAnger; //¹ÖÎïÅ­ÆøÖµ }; //¸öÈËBOSS±í struct tagPersonalBoss { DWORD NPCID; //ID DWORD _FuncLineID; //¿ÉÌôÕ½µÈ¼¶ }; //ÏÉÃË»îÔ¾±í struct tagFamilyActivity { DWORD _ID; //ID WORD UnLockFuncID; //½âËø¹¦ÄÜID BYTE TotalActivityTime; //×Ü´ÎÊý WORD SingleTimes; //Ôö¼Ó»îÔ¾ÐèÒª´ÎÊý WORD SingleActiveValue; //ÿÂÖÔö¼Ó»îÔ¾»ý·Ö }; //ÏÉÃ˺ì°ü±í struct tagFamilyRedPack { WORD _ID; //ID WORD GetType; //»ñµÃ;¾¶ WORD MoneyNum; //ºì°ü¶î¶È BYTE MoneyType; //½ðÇ®ÀàÐÍ BYTE PacketCnt; //ºì°ü¸öÊý }; //½ÚÈÕºì°üÿÈճɾͱí struct tagActFeastRedPacketSucc { BYTE _FeastDay; //½ÚÈÕµÚ¼¸Ìì list FeastSuccIDList; //½ÚÈճɾÍIDÁбí }; //NPCÐã±í struct tagNPCShow { DWORD _NPCID; DWORD _MapID; BYTE LineID; DWORD ProtectTime; //±£»¤Ê±¼ä, ºÁÃë DWORD BindMissionID; //°ó¶¨µÄÈÎÎñID BYTE ShowType; //0-·þÎñ¶Ë֪ͨ,>0ǰ¶Ë´¦Àí }; //·âħ̳BOSS±í struct tagSealDemon { DWORD _NPCID; //ID BYTE LineID; list OwnerAwardItemEx; //µÚÒ»Ãû¶îÍâ½±ÀøÎïÆ·[[itemID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //¸±±¾¹ÄÎè±í struct tagFbEncourage { DWORD _DataMapID; //µØÍ¼ID BYTE _InspireType; //¹ÄÎèÀàÐÍ WORD InspireMaxLV; //¹ÄÎèµÈ¼¶ÏÞÖÆ char MoneyCount; //µ¥´ÎÏûºÄ½ðÇ®ÊýÁ¿ }; //µØÍ¼±êÊÔµãNPCˢРstruct tagMapRefreshNPC { DWORD _MapID; //µØÍ¼ID BYTE RefreshNum; //Ë¢¹Ö¹æÔò±àºÅ list NPCIDList; //NPCIDÁбí list RefreshMarkList; //±êÊÔµãÁбí BYTE PointMaxCount; //µ¥¸öµã×î´ó´æÔÚ¹ÖÎïÊý BYTE TotalMaxCount; //ËùÓеã×ܹÖÎïÊý BYTE RefreshSeconds; //Ë¢¹Ö¼ä¸ôÃë BYTE RefreshPerMinutes; //ÿÕûX·ÖË¢¹Ö }; //·ûÓ¡ºÏ³É±í struct tagRuneCompound { DWORD _TagItemID; //ºÏ³ÉµÄ·ûÓ¡ÎïÆ·ID list NeedItem; //ÐèÒªµÄÎïÆ·ID WORD NeedMJ; //ÐèÒªµÄħ¾«ÊýÁ¿ }; //×ÊÔ´Õһرí struct tagResourcesBack { BYTE _ID; //ID DWORD RelatedID; //¹ØÁªÈÕ³£ÈÎÎñ±íID BYTE CanBackTimes; //ÄÜ·ñÕһشÎÊý BYTE NormalCostJade; //°óÓñÕÒ»ØÆÕͨ´ÎÊý¼Û¸ñ WORD VipCostJade; //°óÓñÕÒ»ØVIP´ÎÊýÕһؼ۸ñ dict JadeReward; //°óÓñÕһؽ±Àø DWORD CostCopper; //Í­Ç®ÕÒ»ØÍ­Ç®ÏûºÄ dict CopperReward; //Í­Ç®Õһؽ±Àø list JobItemList; //Ö°ÒµÎïÆ·Áбí }; //²É¼¯Îï±í struct tagCollectNPC { DWORD _NPCID; //ID BYTE IsMissionCollectNPC; //ÊÇ·ñÈÎÎñ²É¼¯Îï BYTE PrepareTime; //²É¼¯ºÄʱ£¬Ãë list LostHPPer; //²É¼¯µôѪ£¬[ÿXÃë,µôѪ°Ù·Ö±È] BYTE MaxCollectCount; //¿É²É¼¯´ÎÊý£¬0ÎÞÏÞÖÆ BYTE CollectResetType; //²É¼¯´ÎÊýÖØÖÃÀàÐÍ£¬0-²»ÖØÖã¬1-ÿÈÕ5µãÖØÖà char CollectCountLimitNotify; //Î޲ɼ¯´ÎÊý²É¼¯Ìáʾ list CollectAward; //²É¼¯½±ÀøÎïÆ·£¬È¨ÖØÁбí [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...] dict CollectAppointAward; //²É¼¯´ÎÊý¶¨ÖƲú³ö {´ÎÊý:[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...} BYTE AlchemyDiffLV; //¹ýÂËÁ¶µ¤µÈ¼¶²î£¬0-²»¹ýÂË£¬>0¹ýÂË´óÓÚ×ÔÉíÁ¶µ¤µÈ¼¶X¼¶µÄÎïÆ· BYTE NotifyCollectResult; //ÊÇ·ñ֪ͨ²É¼¯½á¹û BYTE CanBreakCollect; //±»¹¥»÷ÊÇ·ñ´ò¶Ï²É¼¯ }; //±¦Ïä¹Ö±í struct tagTreasureNPC { DWORD _NPCID; //±¦Ïä¹ÖNPCID dict AttackCountDropWeightInfo; //¹¥»÷´ÎÊý¶ÔÓ¦µôÂäÈ¨ÖØ±ýͼ {´ÎÊý:[[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...], ...} list AttackDropWeightList; //³£¹æ¹¥»÷È¨ÖØ±ýͼ [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...] list AttackDropWeightListEx; //¶îÍâµôÂäÈ¨ÖØ±ýͼ¿â£¬Ã¿´Î¹¥»÷¶¼»áµôÂä [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...] BYTE DropCountEx; //¶îÍâ¿âÖ´ÐдÎÊý BYTE AlchemyDiffLV; //¹ýÂËÁ¶µ¤µÈ¼¶²î£¬0-²»¹ýÂË£¬>0¹ýÂË´óÓÚ×ÔÉíÁ¶µ¤µÈ¼¶X¼¶µÄÎïÆ· char NotDropNotify; //ûÓеôÂäʱÌáʾÐÅÏ¢ }; //±¦Ïä±í¿ªÆô struct tagChests { DWORD _ChestsItemID; //±¦ÏäÎïÆ·ID DWORD CostItemID; //ÏûºÄÎïÆ·ID BYTE CostItemCount; //ÏûºÄÎïÆ·¸öÊý WORD CostGold; //ÏûºÄÏÉÓñ BYTE ShowType; //ǰ¶Ë±íÏÖÀàÐÍ0-ÎÞ±íÏÖ, >0ÓбíÏÖÐèͬ²½½á¹û£¬¾ßÌåÀàÐÍǰ¶Ë×Ô¶¨Òå BYTE IsBind; //¿ª³öÎïÆ·ÊÇ·ñ°ó¶¨ BYTE AucionItemCanSell; //¿ª³öÅÄÆ·¿É·ñÉϼܼ¯ÊÐ list AucionItemDiffSellIDList; //¿É·ñÉϼܲîÒìÅÄÆ·IDÁÐ±í£¬¼´¿ÉÉϼܴú±í²»¿ÉÉϼܵÄÅÄÆ·IDÁÐ±í£¬²»¿ÉÉϼܴú±í¿ÉÉϼܵÄÅÄÆ·IDÁбí }; //±¦Ïä±í²ú³ö±í struct tagChestsAward { DWORD _ChestsItemID; //±¦ÏäÎïÆ·ID WORD RealmLV; //¾³½çµÈ¼¶ WORD AwardLV; //±¦Ïä½±ÀøµÈ¼¶ dict SelectItemDict; //Ñ¡ÔñÎïÆ·ID¶ÔÓ¦¸öÊý×ֵ䣬¹æ¶¨Ö»ÄÜѡһ¸ö dict FixedItemDict; //¹Ì¶¨²ú³öÎïÆ·ID¶ÔÓ¦¸öÊý×Öµä list RandItemList1; //Ëæ»úÎïÆ·±ýͼÁбí1 list RandTimeList1; //Ëæ»ú´ÎÊý±ýͼÁбí1 list RandItemList2; //Ëæ»úÎïÆ·±ýͼÁбí2 list RandTimeList2; //Ëæ»ú´ÎÊý±ýͼÁбí2 dict RandItemByUseCount; //±¦Ï俪ÆôX´Î¶ÔÓ¦ÌØÊâ²ú³ö£¬Óë±ýͼÁбí2»¥³â list JobItemList; //Ö°ÒµÎïÆ·Áбí BYTE MoneyType; //»õ±ÒÀàÐÍ DWORD MoneyCount; //»õ±ÒÊýÁ¿ list NeedNotifyItemList; //ÐèÒª¹ã²¥µÄÎïÆ·IDÁбí BYTE IsDropJobSelf; //ÊÇ·ñÖ»µôÂä±¾Ö°Òµ list PieRateDrop; //±ýͼ¸ÅÂʵôÂäÐÅÏ¢ [(¸ÅÂÊ,0),(¸ÅÂÊ,(½×,ÑÕÉ«)),...] BYTE PieRateDoCnt; //±ýͼ¸ÅÂÊÖ´ÐдÎÊý dict IndepRateDrop; //¶ÀÁ¢¸ÅÂʵôÂäÐÅÏ¢ {(½×,ÑÕÉ«):¸ÅÂÊ,...} dict EquipColorSuitInfo; //×°±¸ÑÕÉ«¶ÔÓ¦Ì××°¸ÅÂÊ {ÑÕÉ«:Ì××°¸ÅÂÊ, ...} dict EquipPartKeyRateInfo; //×°±¸²¿Î»¼¯ºÏÐÅÏ¢ {(ÑÕÉ«,ÊÇ·ñÌ××°):²¿Î»¼¯ºÏkey, ...} }; //VIPɱ¹Ö¼Ó¹¥»÷±í struct tagVIPKillNPC { WORD _KillLV; //ɱ¹Ö³É³¤µÈ¼¶ DWORD LVExpPoint; //Éý¼¶ËùÐè¾­Ñéµã,ÿ¸ö¾­Ñéµã´ú±íµÄ¾­ÑéÓÉÏîÄ¿¾ö¶¨ DWORD LVExp; //³ý¾­Ñéµã×ܾ­ÑéÍâÉý¼¶»¹ÐèµÄ¾­Ñé DWORD AddMinAtk; //Ôö¼Ó×îС¹¥»÷ DWORD AddMaxAtk; //Ôö¼Ó×î´ó¹¥»÷ }; //È«Ãñ³å°ñÅÅÐн±Àø±í struct tagOSCBillRankAward { BYTE _OSCBillType; //³å°ñÀàÐÍ BYTE RankA; //ÅÅÃûA BYTE RankB; //ÖÁÅÅÃûB dict RankAward; //ÅÅÃû½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...} }; //È«Ãñ³å°ñ´ï³É½±Àø±í struct tagOSCBillTagAward { BYTE _OSCBillType; //³å°ñÀàÐÍ WORD TagCondition; //Ä¿±êÌõ¼þÖµ dict TagAward; //Ä¿±ê½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...} }; //ÆßÌìµÇ¼½±Àø±í struct tagLoginDayAward { BYTE _DayID; //ÌìÊý dict Reward; //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...} }; //ÆßÌìÔÚÏß½±Àø±íРstruct tagOnlineAwardNew { BYTE _DayID; //ÌìÊý list StageTime; //½×¶ÎËùÐèʱ¼ä(·ÖÖÓ) dict Reward; //½±Àø {"Ë÷Òý":[[ÎïÆ·ID,¸öÊý],...], ...} }; //ÆßÌìÏÞÊ±ÌØ»Ý±í struct tagSpringSale { BYTE _GiftID; //Àñ°üID BYTE SellDay; //´´½ÇµÚ¼¸ÌìÉÏ¼Ü BYTE BuyNumLimit; //ÿÈËÏÞ¹ºÊýÁ¿ WORD GiftPrice; //Àñ°ü¼Û¸ñ£¬ÏÉÓñ list GiftItemList; //Àñ°üÎïÆ·ÐÅÏ¢Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...] }; //³äÖµÉÌÆ·±àºÅ±í struct tagOrderInfo { char _OrderInfo; //ÉÌÆ·±àºÅ char _AppID; //appID float PayRMBNum; //¸¶·Ñ¶î¶È£¬Ôª DWORD CTGID; //¶ÔÓ¦³äÖµID DWORD GiftbagID; //¶ÔÓ¦ÏÞʱÀñ°ü±àºÅ DWORD CoinExp; //¶ÔӦת»¯¾­Ñé float UsdMoney; //ÃÀÔª¼Û¸ñ }; //³äÖµ±í struct tagCTG { BYTE _RecordID; //¼Ç¼ID BYTE CanResetBuyCount; //ÊÇ·ñÔÊÐíÖØÖôÎÊý BYTE TotalBuyCount; //×ÜÏÞ¹º´ÎÊý BYTE DailyBuyCount; //ÿÈÕÏÞ¹º´ÎÊý BYTE WeekBuyCount; //ÿÖÜÏÞ¹º´ÎÊý BYTE MonthBuyCount; //ÿÔÂÏÞ¹º´ÎÊý BYTE MoneyType; //»ñµÃ»õ±ÒÀàÐÍ WORD GainGold; //»ñµÃ»õ±ÒÊý WORD GainGoldPrize; //ÔùËÍ»õ±ÒÊý WORD FirstGoldPrize; //Ê״γäÖµ¸ÃµµÎ»ÔùËÍÏÉÓñ list GainItemList; //»ñµÃÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...] dict ActWorldLVGainItemInfo; //¸ù¾Ý»î¶¯ÊÀ½çµÈ¼¶»ñµÃÎïÆ·ÐÅÏ¢£¬»î¶¯×¨Óà {"ÊÀ½çµÈ¼¶":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...], ...} list SelectItemInfo; //×ÔÑ¡Àñ°üÎïÆ·ÐÅÏ¢ [[×ÔÑ¡1ID, ...], [×ÔÑ¡2ID, ...], ...] char NotifyMark; //¹ã²¥Ìáʾ BYTE PayType; //³äÖµÀàÐÍ }; //³äÖµ×ÔÑ¡ÎïÆ·±í struct tagCTGSelectItem { WORD _SelectID; //×ÔÑ¡ID DWORD ItemID; //ÎïÆ·ID DWORD ItemCount; //ÎïÆ·¸öÊý BYTE IsAuctionItem; //ÊÇ·ñÅÄÆ· }; //Ê׳ä±í struct tagFirstGold { BYTE _Day; //Ê׳äµÚ¼¸Ìì dict JobItemInfo; //Ö°ÒµÎïÆ·½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý], ...], ...} list CommItemList; //ͨÓÃÎïÆ·½±Àø [[ÎïÆ·ID,¸öÊý], ...] }; //µÈ¼¶½±Àø±í struct tagLVAward { BYTE _AwardID; //½±ÀøID WORD LV; //µÈ¼¶ WORD LimitCnt; //È«·þÏÞÖÆÊýÁ¿ dict Reward; //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...} BYTE VIPLimit; //ÐèÒªVIP¼¸ list VIPAward; //vip½±Àø[[ÎïÆ·ID,¸öÊý],...] }; //Ͷ×ʱí struct tagInvest { WORD _ID; //ID BYTE Type; //Ͷ×ÊÀàÐÍ BYTE NeedDay; //ÐèÒªÌìÊý WORD NeedLV; //ÐèÒªµÈ¼¶ DWORD NeedNPCID; //ÐèÒªNPCID dict Reward; //½±Àø {"key":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...} }; //Ïɱ¦Ñ°Ö÷±í struct tagXBXZ { DWORD _ID; //ID BYTE Type; //ÀàÐÍ DWORD NeedCnt; //ÐèÒªÊýÁ¿ list Condition; //Ìõ¼þ WORD MWID; //·¨±¦ID list AwardItem; //½±ÀøÎïÆ·Áбí list Money; //½ðÇ® }; //Ѱ±¦É趨±í struct tagTreasureSet { BYTE _TreasureType; //Ѱ±¦ÀàÐÍ BYTE PackType; //·ÅÈë±³°ü BYTE CheckPack; //ÊÇ·ñ¼ì²é±³°ü BYTE IsActType; //ÊÇ·ñ»î¶¯Ñ°±¦ DWORD DailyMaxCount; //ÿÈÕ×î´ó´ÎÊý BYTE DailyFreeCount; //ÿÈÕÃâ·Ñ´ÎÊý list TreasureCountList; //³é½±´ÎÊýÁбí char RecycleItemMail; //ÖØÖûØÊÕµÀ¾ßÓʼþ£¬Èç¹ûÓÐÅäÖûØÊÕÓʼþkey£¬ÔòÖØÖÃʱ»á»ØÊÕ¶àÓàµÄѰ±¦µÀ¾ß DWORD CostItemID; //ÏûºÄµÀ¾ßID list CostItemCountList; //ÏûºÄ¸öÊýÁбí BYTE CostMoneyType; //ÏûºÄ»õ±ÒÀàÐÍ list CostMoneyList; //ÏûºÄ»õ±ÒÁбí WORD EnsureCount; //ÿx´Î±Ø³ö BYTE OnceLucky; //µ¥´ÎÐÒÔËÖµ WORD FullLucky; //ÂúÐÒÔËÖµ char LuckyRateFormat; //ÐÒÔ˸ñ×Ó¸ÅÂʹ«Ê½ BYTE LuckyGridNum; //ÐÒÔ˸ñ×Ó±àºÅ dict GridNumMaxLimitInfo; //¸ñ×Ó×î´ó²ú³ö´ÎÊýÏÞÖÆ£¬{"¸ñ×Ó":×î´ó¿É²ú³ö´ÎÊý, ...} list NotifyGridNumList; //ÐèÒª¶îÍâ¹ã²¥µÄ¸ñ×Ó char NotifyKey; //¹ã²¥key BYTE AwardMoneyType; //¶îÍâ½±Àø»õ±ÒÀàÐÍ WORD AwardMoneyValue; //µ¥´Î½±Àø»õ±ÒÊý }; //Ѱ±¦²ú³ö¿â±í struct tagTreasureHouse { BYTE _TreasureType; //Ѱ±¦ÀàÐÍ WORD MinLV; //×îСµÈ¼¶ dict GridItemInfo; //¸ñ×Ó±àºÅ¶ÔÓ¦ÎïÆ·ÐÅÏ¢ {"±àºÅ":[ÎïÆ·ID, ¸öÊý], ...} dict GridLibInfo; //¸ñ×Ó±àºÅ¶ÔÓ¦¿âID {"±àºÅ":ÎïÆ·¿âID, ...} list JobItemList; //Ö°ÒµÎïÆ·×éÁбí [[Ö°Òµ1ÎïÆ·, Ö°Òµ2ÎïÆ·, ...], ...] list GridItemRateListFree; //Ãâ·Ñ²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] list GridItemRateList1; //³£¹æ²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] list GridItemRateList2; //ÿÂúx´Î±£µ×²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] dict GridItemRateList3; //µÚx´Î±Ø³ö²ú³ö¸ñ×Ó±àºÅ±ýͼ {´ÎÊý:[[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...], ...} list LuckyItemRateList; //ÂúÐÒÔ˲ú³ö¸ÅÂʱýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] }; //Ѱ±¦ÎïÆ·¿â struct tagTreasureItemLib { WORD _LibID; //¿âID DWORD ItemID; //ÎïÆ·ID DWORD ItemCount; //ÎïÆ·¸öÊý DWORD ItemWeight; //ÎïÆ·È¨ÖØ }; //Ѱ±¦ÀۼƴÎÊý½±Àø±í struct tagTreasureCntAward { BYTE _TreasureType; //Ѱ±¦ÀàÐÍ DWORD _NeedTreasureCnt; //ËùÐèѰ±¦´ÎÊý BYTE AwardIndex; //½±Àø¼Ç¼Ë÷Òý 0~30 list AwardItemList; //½±ÀøÎïÆ·ÐÅÏ¢Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...] }; //¼«Æ·°×Äñí struct tagFreeGoods { BYTE _ID; //ID dict AwardItem; //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...} WORD NeedMoney; //ÐèÒªÏÉÓñ DWORD ReturnDays; //·µ»¹ËùÐèÌì }; //ÏÞʱÀñ°ü»î¶¯±í struct tagActFlashGiftbag { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ list StartTimeList; //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list EndTimeList; //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î WORD AdvanceMinutes; //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà BYTE IsJueban; //ÊÇ·ñ¾ø°æÀñ°ü dict GiftbagTypeList; //Àñ°üÀàÐÍÁбí char MailKey; //»î¶¯¸üÐÂʱ·¢ËÍÓʼþkey list MailItemPrize; //»î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ· }; //ÏÞʱÀñ°üÄ£°å±í struct tagFlashGiftbag { DWORD _GiftbagID; //Àñ°ü±àºÅ WORD GiftbagType; //Àñ°üÀàÐÍ float OriginalRMB; //Ô­¼Û£¨RMB£© WORD BuyCountLimit; //ÏÞ¹º´ÎÊý,0²»ÏÞ¹º list GiftItemList; //Àñ°üÎïÆ·ÐÅÏ¢Áбí [(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...] DWORD MainItemID; //±êµÄÎïÆ·ID char NotifyKey; //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È) }; //ÿÈÕÀñ°ü»î¶¯±í struct tagActDailyGiftbag { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ WORD GiftbagType; //Àñ°üÄ£°åÀàÐÍ }; //ÿÈÕÀñ°üÄ£°å±í struct tagDailyGiftbag { WORD _GiftbagType; //Àñ°üÄ£°åÀàÐÍ DWORD _GiftbagID; //Àñ°ü±àºÅ WORD BuyCountLimit; //ÏÞ¹º´ÎÊý,0²»ÏÞ¹º eval GiftItemList; //Àñ°üÎïÆ·ÐÅÏ¢Áбí [(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...] WORD Discount; //ÕÛ¿Û°Ù·Ö±È }; //Ë«±¶¾­Ñé»î¶¯±í struct tagActExpRate { DWORD _CfgID; //ÅäÖÃID WORD LVLimit; //ÏÞÖÆµÈ¼¶ DWORD AddExpRate; //¾­Ñé±¶Âʼӳɣ¬Íò·ÖÂÊ }; //Ïû·Ñ·µÀû»î¶¯±í struct tagActCostRebate { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà list TemplateIDList; //Ä£°åIDÁбí }; //Ïû·Ñ·µÀûÄ£°å±í struct tagCostRebateTemplate { DWORD _TemplateID; //Ä£°åID DWORD NeedCostGold; //ÐèÒªÏû·ÑÏÉÓñÊý BYTE AwardIndex; //·µÀû½±ÀøË÷Òý0~31,ͬ¸öÄ£°åÖв»Öظ´ dict AwardItemList; //·µÀûÎïÆ·ÐÅÏ¢Áбí {ÊÀ½çµÈ¼¶·¶Î§:[({Ö°Òµ:ÎïÆ·ID,..},¸öÊý,ÊÇ·ñ°ó¶¨), ...]} char NotifyKey; //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È) }; //ÂòÒ»ËͶà»î¶¯±í struct tagActBuyOne { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà list TemplateIDList; //Ä£°åIDÁбí }; //ÂòÒ»ËͶàÄ£°å±í struct tagActBuyOneTemplate { DWORD _TemplateID; //Ä£°åID DWORD NeedCTGID; //ÐèÒª³äÖµID BYTE RecordIndex; //¼Ç¼Ë÷Òý dict FreeItemInfo; //Ãâ·ÑÁìÈ¡µÄÎïÆ·ÐÅÏ¢Áбí{ÁìÈ¡¼Ç¼Ë÷Òý:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...} }; //ÏÉÃ˳äֵЭÖú»î¶¯±í struct tagActFamilyCTGAssist { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà DWORD TemplateID; //ЭÖú½±ÀøÄ£°åID list CTGIDList; //ÓÐЧµÄ³äÖµIDÁбí [ctgID, ...] DWORD ActShopType; //É̳ÇÀàÐÍ }; //ÏÉÃ˳äֵЭÖú»î¶¯Ä£°å±í struct tagActFamilyCTGAssistTemp { DWORD _TemplateID; //Ä£°åID BYTE NeedCTGPlayers; //ÐèÒª³äÖµÈËÊý BYTE RecordIndex; //¼Ç¼Ë÷Òý list AwardItemList; //½±ÀøÎïÆ·ÐÅÏ¢£¬[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //¼¯×ֻʱ¼ä±í struct tagActCollectWords { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE LastDayOnlyExchange; //×îºóÒ»ÌìÊÇ·ñ½ö¶Ò»» WORD TemplateID; //¶Ò»»Ä£°å±àºÅ WORD DropDiffLVLimit; //µôÂäµÈ¼¶²îÖµÏÞÖÆ list GuajiAwardSet; //¹Ò»úÊÕÒæÉèÖã¬xÃë|x´ÎС¹ÖµôÂÊ list DropItemRateList; //С¹ÖµôÂä±ýͼ¸ÅÂÊ dict DropItemRateListBoss; //BossµôÂä±ýͼ¸ÅÂÊ }; //¼¯×ֻ¶Ò»»Ä£°å±í struct tagCollectWordsExchange { DWORD _TemplateID; //Ä£°åID BYTE ExchangeNum; //¶Ò»»±àºÅ£¨Í¬¸öÄ£°åÖÐÐèΨһ²»¿É±ä£© eval ExchangeItemInfo; //¶Ò»»Ä¿±êÎïÆ·[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨] BYTE ExchangeCountMax; //×î´ó¶Ò»»´ÎÊý(0²»ÏÞÖÆ) list NeedItemList; //ËùÐèÎïÆ·ÐÅÏ¢Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...] BYTE NeedNotify; //ÊÇ·ñÐèÒª¹ã²¥ }; //À¬»ø·ÖÀà»î¶¯Ê±¼ä±í struct tagActGarbageSorting { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE CTGTypeEffValue; //³äÖµÓÐЧÀàÐÍÖµ }; //À¬»ø·ÖÀàÈÎÎñ²ú³ö±í struct tagActGarbageTask { DWORD _GarbageTasklD; //À¬»øÈÎÎñID DWORD FinishNeedValue; //Íê³ÉËùÐè½ø¶ÈÖµ DWORD FinishTimeMax; //×Ü¿ÉÍê³É´ÎÊý£¬0²»ÏÞ BYTE AutoProduce; //×Ô¶¯²úÉúÀ¬»ø list ProduceGarbageRateList; //Ëæ»ú²úÉúÀ¬»ø¸ÅÂʱýͼ }; //BossÀúÁ·»î¶¯±í struct tagActBossTrial { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ char JoinStartTime; //²ÎÓ뿪ʼʱ¼äµã char JoinEndTime; //²ÎÓë½áÊøÊ±¼äµã WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà dict SubmitItemAwardInfo; //Ìύƾ֤¸öÊý¶ÔÓ¦½±Àø BYTE SubmitAwardResetType; //Ìύƾ֤ÿÈÕÖØÖÃÀàÐÍ£¬0-¸úËæ»î¶¯£» 1-0µãÖØÖã»2-5µãÖØÖà WORD ActShopType; //¿ª·ÅÉ̵êÀàÐÍ£¬Îª0ʱ²»¿ª·Å list TemplateIDList; //°ñµ¥Ä£°å±àºÅÁбí list FamilyTemplateIDList; //ÏÉÃ˰ñµ¥Ä£°å±àºÅÁбí }; //BossÀúÁ·°ñµ¥Ä£°æ±í struct tagActBossTrialTemplate { DWORD _TemplateID; //Ä£°å±àºÅ BYTE Rank; //Ãû´Î list AwardItemList; //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] ÏÉÃ˰ñʱΪÃËÖ÷½±Àø£¬Èç¹ûûÓÐÅäÖã¬Ôòͳһȡ³ÉÔ±½±Àø list MemAwardItemList; //ÏÉÃ˰ñ³ÉÔ±½±ÀøÎïÆ·ÐÅÏ¢Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] DWORD NeedScore; //ÉϰñËùÐè»ý·Ö dict ScoreAwardEx; //´ï±ê»ý·Ö¶îÍâ½±Àø {»ý·Ö:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...], ...} }; //Æï³èÑø³É»î¶¯Ê±¼ä±í struct tagActHorsePetTrain { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ char JoinStartTime; //²ÎÓ뿪ʼʱ¼äµã char JoinEndTime; //²ÎÓë½áÊøÊ±¼äµã WORD LVLimit; //ÏÞÖÆµÈ¼¶ WORD ActShopType; //¿ª·ÅÉ̵êÀàÐÍ£¬Îª0ʱ²»¿ª·Å WORD PersonalTemplateID; //¸öÈËÅÅÐÐÄ£°å±àºÅ BYTE IsRelationCrossAct; //ÊÇ·ñ¹ØÁª¿ç·þ»î¶¯ }; //Æï³èÑø³É°ñµ¥Ä£°æ±í struct tagActHorsePetTrainBillTemp { DWORD _TemplateID; //Ä£°å±àºÅ BYTE Rank; //Ãû´Î list AwardItemList; //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] DWORD NeedScore; //ÉϰñËùÐè»ý·Ö dict ScoreAwardEx; //´ï±ê»ý·Ö¶îÍâ½±Àø {»ý·Ö:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...], ...} }; //¹Å±¦Ñø³É»î¶¯Ê±¼ä±í struct tagActGubao { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ char JoinStartTime; //²ÎÓ뿪ʼʱ¼äµã char JoinEndTime; //²ÎÓë½áÊøÊ±¼äµã WORD LVLimit; //ÏÞÖÆµÈ¼¶ WORD ActShopType; //¿ª·ÅÉ̵êÀàÐÍ£¬Îª0ʱ²»¿ª·Å WORD PersonalTemplateID; //¸öÈËÅÅÐÐÄ£°å±àºÅ BYTE IsRelationCrossAct; //ÊÇ·ñ¹ØÁª¿ç·þ»î¶¯ }; //¹Å±¦Ñø³É°ñµ¥Ä£°æ±í struct tagActGubaoBillTemp { DWORD _TemplateID; //Ä£°å±àºÅ BYTE Rank; //Ãû´Î list AwardItemList; //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] DWORD NeedScore; //ÉϰñËùÐè»ý·Ö dict ScoreAwardEx; //´ï±ê»ý·Ö¶îÍâ½±Àø {»ý·Ö:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...], ...} }; //Á¶Æ÷°ñµ¥Ä£°æ±í struct tagActLianqiBillTemp { DWORD _TemplateID; //Ä£°å±àºÅ BYTE Rank; //Ãû´Î list AwardItemList; //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] DWORD NeedScore; //ÉϰñËùÐè»ý·Ö dict ScoreAwardEx; //´ï±ê»ý·Ö¶îÍâ½±Àø {»ý·Ö:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...], ...} }; //ÏÉÃ˹¥³ÇսʥȪ±í struct tagCrossActFamilyGCZSQ { DWORD _LayerNum; //²ã BYTE CostItemCnt; //ÏûºÄ³é½±µÀ¾ß¸öÊý BYTE GridCnt; //¸ñ×ÓÊý WORD PassRate; //¹ý¹ØÍò·ÖÂÊ list GridWeightItemList; //¸ñ×ÓÎïÆ·È¨ÖØËæ»ú¿â [[È¨ÖØ,ÎïÆ·ID,¸öÊý], ...] list LayerAwardItemList; //ͨ¹Ø¸Ã²ã¹Ì¶¨½±Àø [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list LayerWeightItemList; //ͨ¹Ø¸Ã²ã¶îÍâËæ»ú½±Àø [[È¨ÖØ,ÎïÆ·ID,¸öÊý], ...] }; //ÏÉÏ»ÃØ¾³»î¶¯Ê±¼ä±í struct tagActXianXiaMJ { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ char JoinStartTime; //²ÎÓ뿪ʼʱ¼äµã char JoinEndTime; //²ÎÓë½áÊøÊ±¼äµã BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà WORD LVLimit; //ÏÞÖÆµÈ¼¶ DWORD UseItemID; //ÏûºÄÎïÆ·ID list UseMoneyInfo; //ÏûºÄ»õ±ÒÐÅÏ¢ BYTE TemplateID; //Ä£°åID WORD PersonalTemplateID; //¸öÈËÅÅÐÐÄ£°å±àºÅ WORD LotteryAddScore; //ÿ´Î³é½±¼Ó»ý·Ö WORD LayerAddScore; //ÿ´Î¿ç²ã¼Ó»ý·Ö BYTE IsRelationCrossAct; //ÊÇ·ñ¹ØÁª¿ç·þ»î¶¯ }; //ÏÉÏ»ÃØ¾³°ñµ¥Ä£°æ±í struct tagActXianXiaMJBillTemp { DWORD _TemplateID; //Ä£°å±àºÅ BYTE Rank; //Ãû´Î list AwardItemList; //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] DWORD NeedScore; //ÉϰñËùÐè»ý·Ö dict ScoreAwardEx; //´ï±ê»ý·Ö¶îÍâ½±Àø {»ý·Ö:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...], ...} }; //ÏÉÏ»ÃØ¾³½±³Ø±í struct tagActXianXiaMJAward { DWORD _TemplateID; //½±³ØÄ£°å±àºÅ BYTE AwardLibType; //½±Àø¿âÀàÐÍ list AwardItemCountList; //²ãÑ¡Ôñ¸öÊýÁÐ±í ²ã1ÎïÆ·Êý|²ã2|¡­ list UnlockAwardLimitTimesList; //²ã³éX´Îºó¿É²ú³ö£¨±¾²ã£© ²ã1ÏÞÖÆ|²ã2|¡­ list AwardLibWeightList; //²ú³ö¸Ã¿âÍâÈ¨ÖØ dict LibItemInfo; //±¾¿âÎïÆ·Ëæ»ú¿âÄÚÈ¨ÖØ£¨ÏÈËæ»ú¿âÍâÈ¨ÖØ£¬Èô²ú³öÔÙËæ»ú¿âÄÚÈ¨ÖØ£© dict ItemLayerLimitInfo; //ÎïÆ·²ú³ö½±³Ø²ãÏÞÖÆ {ÎïÆ·ID:´óÓÚµÈÓÚX²ã¿É²ú³ö, ...} dict ItemAwardTimesTotalInfo; //ÎïÆ·²ú³ö´ÎÊýÏÞÖÆ£¨ËùÓв㣩{ÎïÆ·ID:×ܲú³ö´ÎÊý, ...} }; //ÌìµÛÀñ°ü»î¶¯Ê±¼ä±í struct tagActGodGift { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE UseMoneyType; //ÏûºÄ»õ±ÒÀàÐÍ list UseGoldList; //³é½±ÏûºÄ»õ±ÒÁбí BYTE PrizeMoneyType; //½±Àø»õ±ÒÀàÐÍ list PrizeMoneyList; //½±Àø»õ±ÒÁбí BYTE ResetLimitTimes; //ÖÁÉٳ鼸´Î¿ÉÖØÖà BYTE ResetCountMax; //¿ÉÖØÖôÎÊý dict TemplateIDInfo; //½±³ØÄ£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):[Ä£°å±àºÅÁбí, ...], ...} }; //ÌìµÛÀñ°ü½±³Ø±í struct tagActGodGiftAward { DWORD _TemplateID; //½±³ØÄ£°å±àºÅ BYTE AwardLibType; //½±Àø¿âÀàÐÍ BYTE UnlockAwardLimitTimes; //³éX´Îºó¿É²ú³ö±¾¿â BYTE ChooseItemCount; //Ñ¡Ôñ¸öÊý dict LibItemInfo; //ÎïÆ·±àºÅ¶ÔÓ¦ÎïÆ·ÐÅÏ¢ {ÎïÆ·±àºÅ:[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·,¿ÉÑ¡´ÎÊý], ...} 0²»ÏÞ´ÎÊý list NotifyItemNumList; //ÐèÒª¹ã²¥µÄ±àºÅÁбí }; //Æï³èÊ¢Ñç»î¶¯ struct tagActHorsePetFeast { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ list StartTimeList; //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list EndTimeList; //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î WORD LVLimit; //ÏÞÖÆµÈ¼¶ }; //BOSS¸´»î»î¶¯Ê±¼ä±í struct tagActBossReborn { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE TemplateID; //Ä£°å±àºÅ }; //BOSS¸´»î±í struct tagBossReborn { BYTE _TemplateID; //Ä£°åID BYTE _ID; //»î¶¯ÌõÄ¿ID DWORD TotalTimes; //¿ÉÍê³ÉµÄ×Ü´ÎÊý£¬0±íʾ²»ÏÞ´ÎÊý WORD SingleTimes; //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý dict Reward; //½±ÀøÎïÆ·ID1 }; //¶à±¶ÐÞÐеã»î¶¯Ê±¼ä±í struct tagActRealmPoint { DWORD _CfgID; //ÅäÖÃID WORD Multiple; //±¶Êý WORD LVLimit; //ÏÞÖÆµÈ¼¶ DWORD PointLimit; //ÏÞÖÆ¶îÍâÐÞÐеã }; //×ÚÃÅÊÔÁ¶¶Ò»»±í struct tagTrialExchange { DWORD _ID; //¶Ò»»ID list ExchangeItemIDList; //¶Ò»»ÎïÆ·ID DWORD ExchangeItemCount; //¶Ò»»ÎïÆ·¸öÊý DWORD ExchangeItemIsBind; //¶Ò»»ÎïÆ·ÊÇ·ñ°ó¶¨ DWORD CostItemID; //ÏûºÄÎïÆ·ID DWORD CostItemCount; //ÏûºÄÎïÆ·¸öÊý }; //ÏɽçÊ¢µä-È«ÃñÀ´à˱í struct tagAllPeopleParty { BYTE _ID; //ID WORD TotalTimes; //×Ü´ÎÊý WORD AddPoint; //ÿÍê³É´ÎÊý»ñµÃà˵ã }; //ÏɽçÊ¢µä-È«ÃñÀ´à˽±Àø±í struct tagAllPeoplePartyAward { BYTE _WorldLvNum; //ÊÀ½çµÈ¼¶µµ DWORD _Index; //Ë÷Òý DWORD NeedPoint; //ÐèÒªµãÊý dict Award; //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...} }; //µØÍ¼NPCÅäÖñí-¹Ò»úµã struct tagMapEventPoint { DWORD _MapID; DWORD _NPCID; WORD LowLV; // ÍÆ¼ö×îµÍµÈ¼¶ WORD HighestLV; // ÍÆ¼ö×î¸ßµÈ¼¶ DWORD Defense; // ÍÆ¼ö·ÀÓù }; //Ì츳¼¼Äܱí struct tagTalentSkill { DWORD _SkillID; //¼¼ÄÜID BYTE TalentType; //Ì츳ÀàÐÍ BYTE Series; //Ì츳ϵ±ð }; //ÏÞʱÇÀ¹º±í struct tagActFlashSale { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ list StartTimeList; //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list EndTimeList; //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î WORD AdvanceMinutes; //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà dict ShopTypeList; //É̵êÀàÐÍÁбí char MailKey; //»î¶¯¸üÐÂʱ·¢ËÍÓʼþkey list MailItemPrize; //»î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ· }; //ÐíÔ¸³Ø»î¶¯Ê±¼ä±í struct tagActWishingWell { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE TemplateID; //Ä£°å±àºÅ }; //ÐíÔ¸³Ø¿âÄ£°å±í struct tagWishingWell { BYTE _TemplateID; //Ä£°åID BYTE IsFree; //ÊÇ·ñÃâ·Ñ¿â list WorldLVLimit; //ÊÀ½çµÈ¼¶·¶Î§ DWORD ItemID; //ÎïÆ·ID WORD ItemCnt; //ÎïÆ·ÊýÁ¿ BYTE IsBind; //ÊÇ·ñ°ó¶¨ DWORD Weight; //È¨ÖØ DWORD Mark; //ÅÅÐòÓñêʶ BYTE Rare; //Õäϡֵ }; //¹¦ÄÜÔ¤¸æ±í struct tagFunctionForecast { DWORD _FuncID; //¹¦ÄÜID dict Award; //ÊôÐÔÀàÐÍ }; //ÁÄÌìÆøÅݱí struct tagChatBubbleBox { BYTE _BoxID; //ÆøÅÝ¿òID WORD NeedLV; //ËùÐèµÈ¼¶ BYTE NeedVIPLVGift; //ËùÐ蹺ÂòVIPµÈ¼¶Àñ°ü BYTE UnlockDefault; //ÊÇ·ñĬÈϼ¤»î DWORD ExpireMinutes; //ʱЧ·ÖÖÓ£¬0ÓÀ¾Ã list LightAttrType; //µãÁÁÊôÐÔÀàÐÍ list LightAttrValue; //µãÁÁÊôÐÔÖµ DWORD LightFightPower; //µãÁÁ¸½¼ÓÕ½Á¦ }; //ÁÄÌìÆøÅÝÉýÐDZí struct tagChatBubbleBoxStar { BYTE _BoxID; //ÆøÅÝ¿òID BYTE _BoxStar; //ÆøÅÝ¿òÐǼ¶ list StarUpNeedItemList; //Éý¸ÃÐÇËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...] list StarAttrType; //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list StarAttrValue; //ÀÛ¼Æ×ÜÊôÐÔÖµ }; //±íÇé°ü±í struct tagEmojiPack { DWORD _EmojiPackID; //±íÇé°üID BYTE UnlockDefault; //ÊÇ·ñĬÈϼ¤»î DWORD ExpireMinutes; //ʱЧ·ÖÖÓ£¬0ÓÀ¾Ã }; //³äÖµ·µÀû»î¶¯±í struct tagActRechargePrize { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà list TemplateIDList; //Ä£°åIDÁбí }; //³äÖµ·µÀûÄ£°å±í struct tagRechargePrizeTemplate { DWORD _TemplateID; //Ä£°åID WORD CTGID; //³äÖµ±í³äÖµID DWORD GoldPrize; //·µÀûÏÉÓñÊý BYTE PrizeCountLimit; //×î´óÔùËÍ´ÎÊý }; //ÀۼƳäÖµ»î¶¯±í struct tagActTotalRecharge { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà BYTE CTGTypeEffValue; //³äÖµÓÐЧÀàÐÍÖµ BYTE IsOfflineAct; //ÊÇ·ñÏßÏ» list TemplateIDList; //Ä£°åIDÁбí }; //ÀۼƳäֵģ°å±í struct tagTotalRechargeTemplate { DWORD _TemplateID; //Ä£°åID float NeedGold; //ÐèÒª³äÖµRMB£¬Ôª BYTE AwardIndex; //·µÀû½±ÀøË÷Òý0~31,ͬ¸öÄ£°åÖв»Öظ´ dict AwardItem; //·µÀûÎïÆ·ÐÅÏ¢Áбí {Ö°Òµ:[(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...]} char NotifyKey; //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È) }; //ÀۼƳäÖµ·µÀûÏÉÓñ»î¶¯±í struct tagActRechargeRebateGold { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà list TemplateIDList; //Ä£°åIDÁбí }; //ÀۼƳäÖµ·µÀûÏÉÓñÄ£°å±í struct tagRechargeRebateGoldTemplate { DWORD _TemplateID; //Ä£°åID DWORD RMBMin; //³äÖµRMB×îСֵ DWORD RMBMax; //³äÖµRMB×î´óÖµ WORD RebateRate; //·µÀûÏÉÓñ±ÈÀý°Ù·Ö±È }; //³É³¤±ØÂò»î¶¯±í struct tagActGrowupBuy { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ list CTGIDGroupList; //³äÖµ±àºÅ×éÁбí [[ctgID, ...], ...] }; //¶àÈÕÁ¬³ä»î¶¯±í struct tagActManyDayRecharge { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ WORD TemplateID; //Ä£°å±àºÅ }; //¶àÈÕÁ¬³äÄ£°å±í struct tagActManyDayRechargeAward { DWORD _TemplateID; //Ä£°åID float NeedRMB; //ËùÐè³äÖµ¶î¶È BYTE NeedDays; //ËùÐè³äÖµÌìÊý BYTE AwardIndex; //½±ÀøË÷Òý dict AwardItemInfo; //½±ÀøÎïÆ·ÐÅÏ¢ {ÊÀ½çµÈ¼¶·¶Î§:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]} char NotifyKey; //¹ã²¥ }; //תÅ̻±í struct tagActTurntable { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà BYTE CTGTypeEffValue; //³äÖµÓÐЧÀàÐÍÖµ list CTGPrizeList; //ÀۼƳäÖµ½±Àø´ÎÊý BYTE UseMoneyType; //ÀÛ¼ÆÏû·Ñ»õ±ÒÀàÐÍ list UseMoneyPrizeList; //ÀÛ¼ÆÏû·ÑX»õ±Ò½±Àø´ÎÊý list LibChooseCountList; //¸÷µÀ¾ß¿âÑ¡Ôñ¸öÊý list SuperItemLimitRule; //ÖÕ¼«¿â²ú³öÍò·ÖÂÊ|ÖÁÉÙX´Îºó¿É²ú³ö dict CommItemLib; //ÆÕͨµÀ¾ß¿â {(ÊÀ½çµÈ¼¶A,ÊÀ½çµÈ¼¶B):[[¿ÉÑ¡ÎïÆ·ID, ¸öÊý, ÊÇ·ñÅÄÆ·], ...], ...} dict GoodItemLib; //¼«Æ·µÀ¾ß¿â {(ÊÀ½çµÈ¼¶A,ÊÀ½çµÈ¼¶B):[[¿ÉÑ¡ÎïÆ·ID, ¸öÊý, ÊÇ·ñÅÄÆ·], ...], ...} dict SuperItemLib; //³¬¼¶µÀ¾ß¿â {(ÊÀ½çµÈ¼¶A,ÊÀ½çµÈ¼¶B):[[¿ÉÑ¡ÎïÆ·ID, ¸öÊý, ÊÇ·ñÅÄÆ·], ...], ...} char WorldNotifyKey; //ºÃÎïÆ·È«·þ¹ã²¥mark£¬¼«Æ·¼°³¬¼¶µÀ¾ßĬÈÏÈ«·þ¹ã²¥ }; //µ¥±ÊÀÛ³ä»î¶¯±í struct tagActSingleRecharge { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà BYTE CTGTypeEffValue; //³äÖµÓÐЧÀàÐÍÖµ BYTE IsOfflineAct; //ÊÇ·ñÏßÏ» BYTE AwardRuleType; //Áì½±¹æÔòÀàÐÍ 0-ÏòϼæÈÝ£»1-Æ¥Åä×î¸ßµµ£»2-¾«È·Æ¥Åä¶ÔÓ¦µµ´Î list TemplateIDList; //Ä£°åIDÁбí }; //µ¥±ÊÀÛ³äÄ£°å±í struct tagActSingleRechargeAward { DWORD _TemplateID; //Ä£°åID float SingleRechargeValue; //µ¥±Ê³äÖµ¶î¶È BYTE AwardIndex; //ͬ¸öÄ£°åÖв»Öظ´ WORD AwardCountMax; //×î´óÁì½±´ÎÊý£¬×î´ó999´Î dict AwardItem; //·µÀûÎïÆ·ÐÅÏ¢Áбí {Ö°Òµ:[(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...]} char NotifyKey; //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È) }; //·¨±¦¸±±¾±í struct tagMagicWeaponFB { DWORD _MWID; //·¨±¦ID BYTE LineID; //¸±±¾¹¦ÄÜÏß·ID BYTE _Level; //¹Ø¿¨ list RefreshNPC; //Ë¢¹ÖÅäÖà dict AttrDict; //ÊôÐÔ }; //±ù¾§¿óÂöÐǼ¶½±Àø±í struct tagIceLodeStarAward { BYTE _Index; //½±ÀøË÷Òý BYTE Star; //ÐÇÊý list LVLimit; //µÈ¼¶·¶Î§ list ItemList; //½±Àø }; //¿ç·þ¾º¼¼³¡¶Îλ±í struct tagCrossRealmPKDan { BYTE _DanLV; //¶ÎλµÈ¼¶ WORD LVUpScore; //Éý¶ÎλËùÐè»ý·Ö }; //¿ç·þ¾º¼¼³¡¶Îλ½±Àø±í struct tagCrossRealmPKDanAward { char _CrossZoneName; //¿ç·þ·ÖÇøÃû BYTE _SeasonID; //Èü¼¾ID BYTE _DanLV; //¶ÎλµÈ¼¶ list DanLVAwardList; //¶Îλ´ï±ê½±ÀøÎïÆ·Áбí [[½±ÀøÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...] list SeasonDanLVAwardList; //Èü¼¾¶Îλ½±ÀøÎïÆ·Áбí [[½±ÀøÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...] }; //¿ç·þ¾º¼¼³¡ÅÅÃû½±Àø±í struct tagCrossRealmPKOrderAward { char _CrossZoneName; //¿ç·þ·ÖÇøÃû BYTE _SeasonID; //Èü¼¾ID dict OrderAwardInfo; //Èü¼¾ÅÅÃû½±ÀøÐÅÏ¢ {"ÅÅÃû":[[½±ÀøÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...], ...} }; //¿ç·þ·ÖÇø±íͨÓà struct tagCrossZoneComm { char _CrossZoneName; //¿ç·þ·ÖÇøÃû BYTE _ZoneID; //ÈüÇøID list ServerGroupIDList; //ÈüÇø·þÎñÆ÷×éIDÁбí }; //¿ç·þ·ÖÇø±í¹ÅÉñÕ½³¡ struct tagCrossZoneBattlefield { char _CrossZoneName; //¿ç·þ·ÖÇøÃû BYTE _ZoneID; //ÈüÇøID list ServerGroupIDList; //ÈüÇø·þÎñÆ÷×éIDÁбí }; //¿ç·þ·ÖÇø±í¾º¼¼³¡ struct tagCrossZonePK { char _CrossZoneName; //¿ç·þ·ÖÇøÃû BYTE _ZoneID; //ÈüÇøID list ServerGroupIDList; //ÈüÇø·þÎñÆ÷×éIDÁбí }; //¿ç·þBossÅîÀ³Ïɾ³·ÖÇøµØÍ¼±í struct tagCrossPenglaiZoneMap { BYTE ZoneID; //·ÖÇøID DWORD _MapID; //³¡¾°µØÍ¼ID DWORD _DataMapID; //Êý¾ÝµØÍ¼ID BYTE _CopyMapID; //ÐéÄâÏß·ID WORD PosX; //×ø±êX WORD PosY; //×ø±êY }; //¿ç·þBossħ»¯Ö®µØ·ÖÇøµØÍ¼±í struct tagCrossDemonLandZoneMap { BYTE ZoneID; //·ÖÇøID DWORD _MapID; //³¡¾°µØÍ¼ID DWORD _DataMapID; //Êý¾ÝµØÍ¼ID BYTE _CopyMapID; //ÐéÄâÏß·ID WORD PosX; //×ø±êX WORD PosY; //×ø±êY }; //¿ç·þ·ÖÇøµØÍ¼Öð¹Íò½ç struct tagCrossFamilyFlagwarZoneMap { BYTE ZoneID; //·ÖÇøID DWORD _MapID; //³¡¾°µØÍ¼ID DWORD _DataMapID; //Êý¾ÝµØÍ¼ID BYTE _CopyMapID; //ÐéÄâÏß·ID WORD PosX; //×ø±êX WORD PosY; //×ø±êY }; //¾Û»êбí struct tagGatherTheSoul { DWORD _SoulID; //¾Û»êID DWORD PieceItemID; //Ë鯬ÎïÆ·ID BYTE HoleNum; //¿×±àºÅ BYTE SoulColor; //Æ·ÖÊ DWORD SoulSkillTypeID; //¼¼ÄÜTypeID list SoulSkillLVList; //¼¼Äܵȼ¶ËùÐè»êµÈ¼¶Áбí }; //¾Û»êÐÂÉý¼¶±í struct tagGatherTheSoulLV { DWORD _SoulID; //¾Û»êID WORD _SoulLV; //»êµÈ¼¶ WORD NeedPiece; //¸Ã¼¶ËùÐèË鯬 DWORD NeedSoulValue; //ËùÐè¾Û»ê¾«»ª list LVAttrTypeList; //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list LVAttrValueList; //ÀÛ¼Æ×ÜÊôÐÔÖµ }; //¾Û»ê±í struct tagGatherSoul { DWORD _ItemID; //ÎïÆ·ID list AttrType; //ÊôÐÔÀàÐÍ BYTE SoulGrade; //»ê½×¶Î }; //¾Û»êºÏ³É±í struct tagGatherSoulCompound { DWORD _TagItemID; //ºÏ³ÉµÄÎïÆ·ID WORD NeedLV; //ÐèÒªµÄÍæ¼ÒµÈ¼¶ list NeedItem; //ÐèÒªµÄÎïÆ·ID WORD NeedSoulSplinters; //ÐèÒªµÄ¾Û»êË鯬 WORD NeedSoulCore; //ÐèÒªµÄºËÐÄ»· }; //¾Û»êÊôÐÔ±í struct tagGatherSoulAttr { WORD _AttrType; //ÊôÐÔÀàÐÍ char AttrInfo1; //»ù´¡ÊôÐÔ-²ÎÊý¾Û»êµÈ¼¶level dict AttrInfo2; //Æ·ÖÊϵÊý(Æ·ÖÊ_ϵÊý|¡­) dict AttrInfo3; //¶àÊôÐÔϵÊý dict AttrInfo4; //³õʼÊôÐÔ(Æ·ÖÊ_ÊôÐÔÖµ|¡­) dict AttrInfo5; //½×¶ÎϵÊý }; //ÍõÕß·¨±¦±í struct tagMagicWeaponOfKing { DWORD _MWID; //·¨±¦ID BYTE _AwardMark; //Èü¼¾½±ÀøµÈ¼¶ dict AddAttr; //ÊôÐÔ }; //ʱװ±í struct tagCoat { DWORD _CoatID; //ʱװ±àºÅ BYTE CostQuality; //ʱװƷÖÊ 0-ÆÕͨ£»1-Ï¡ÓУ»2-´«Ëµ list EquipItemID; //×°±¸ÎïÆ·ID(°´Ö°ÒµË³Ðò) DWORD UnlockItemID; //²ÄÁÏÎïÆ·ID DWORD MaxLV; //×î´óÐǼ¶ list CostItemCnt; //²ÄÁÏÊýÁ¿ dict StarAttr; //ÊôÐÔ DWORD InitFightPower; //³õʼսÁ¦ }; //ʱװ¹ñÉý¼¶±í struct tagCoatChestUp { DWORD _LV; //µÈ¼¶ BYTE NeedExp; //Éý¼¶ËùÐè¾­Ñé dict AddAttr; //ÊôÐÔ }; //ÖÜ¿ñ»¶»î¶¯Ê±¼ä±í struct tagActWeekParty { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD AdvanceMinutes; //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà WORD LVLimit; //ÏÞÖÆµÈ¼¶ list TemplateID; //Ä£°å±àºÅ dict PointAward; //×Ü»ý·Ö½±Àø }; //ÖÜ¿ñ»¶±í struct tagWeekParty { BYTE _TemplateID; //Ä£°åID BYTE ActionType; //»î¶¯ÌõÄ¿ID DWORD TotalTimes; //¿ÉÍê³ÉµÄ×Ü´ÎÊý£¬0±íʾ²»ÏÞ´ÎÊý WORD SingleTimes; //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý eval Reward; //½±ÀøÎïÆ· WORD Point; //»ý·Ö }; //ÔËÊÆ»î¶¯Ê±¼ä±í struct tagActYunshi { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà DWORD TreasureType; //É̳ÇÀàÐÍ }; //Âֻصî»î¶¯Ê±¼ä±í struct tagActLunhuidian { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà dict RoundSetInfo; //¿ª·ÅÂÖ»ØÉ趨 dict RoundCTGIDInfo; //ÂÖ»ØÀàÐͶÔÓ¦³äÖµIDÁбí dict RoundShopTypeInfo; //ÂÖ»ØÀàÐͶÔÓ¦É̵êÀàÐÍ }; //Âֻصî»î¶¯½±Àø±í struct tagActLunhuidianAward { BYTE _RoundType; //ÂÖ»ØÀàÐÍ DWORD NeedValue; //½±ÀøËùÐèÖµ BYTE AwardIndex; //½±Àø¼Ç¼Ë÷Òý 0~30 list AwardItemList; //½±ÀøÎïÆ·ÐÅÏ¢Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...] }; //¹ºÂò´ÎÊýÀñ°ü»î¶¯Ê±¼ä±í struct tagActBuyCountGift { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD RelateFuncID; //¹ØÁª¹¦ÄÜID BYTE FuncActDays; //¹¦ÄܻÌìÊý BYTE FuncLoop; //¹¦ÄÜÊÇ·ñÑ­»· WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà list CTGIDList; //³äÖµIDÁбí [ctgID, ...] dict CTGCountAwardInfo; //ÀۼƳäÖµ´ÎÊý¶îÍâ½±Àø list CTGCountDayResetList; //ÿÈÕÖØÖÃÀÛ³ä´ÎÊýÁбí DWORD ActShopType; //É̳ÇÀàÐÍ }; //ÈÎÎñ»î¶¯Ê±¼ä±í struct tagActTask { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD RelateFuncID; //¹ØÁª¹¦ÄÜID BYTE FuncActDays; //¹¦ÄܻÌìÊý BYTE FuncLoop; //¹¦ÄÜÊÇ·ñÑ­»· WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà BYTE TemplateID; //µÇ¼½±ÀøÄ£°å±àºÅ BYTE RoundMax; //ÈÎÎñ×î´óÂÖ´Î }; //ÈÎÎñ»î¶¯Ä£°å±í struct tagActTaskTemp { BYTE _TemplateID; //Ä£°åID DWORD TaskID; //ÈÎÎñID BYTE TaskType; //ÈÎÎñÀàÐÍ DWORD NeedValue; //Íê³ÉÈÎÎñËùÐèÖµ list AwardItemList; //ÈÎÎñ½±ÀøÁбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //µÇ¼»î¶¯½±ÀøÊ±¼ä±íРstruct tagActLoginNew { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD RelateFuncID; //¹ØÁª¹¦ÄÜID BYTE FuncActDays; //¹¦ÄܻÌìÊý BYTE FuncLoop; //¹¦ÄÜÊÇ·ñÑ­»· WORD LVLimit; //ÏÞÖÆµÈ¼¶ list RepSignCostMoneyInfo; //²¹Ç©ÏûºÄ»õ±ÒÀàÐÍÊýÁ¿ BYTE TemplateID; //µÇ¼½±ÀøÄ£°å±àºÅ WORD AwardExCTGID; //À©Õ¹½±ÀøÀñ°ü³äÖµID WORD ActZhanlingType; //¹ØÁª»î¶¯Õ½ÁîÀàÐÍ }; //µÇ¼»î¶¯½±ÀøÄ£°å±íРstruct tagActLoginNewAward { BYTE _TemplateID; //Ä£°åID BYTE DayNum; //µÚXÌì´Ó1¿ªÊ¼ list LoginAwardItemList; //½±ÀøÁбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] list LoginAwardItemListEx; //À©Õ¹½±ÀøÁбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //µÇ¼½±ÀøÊ±¼ä±í struct tagActLoginAward { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD AdvanceMinutes; //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà WORD LVLimit; //ÏÞÖÆµÈ¼¶ list TemplateID; //Ä£°å±àºÅ }; //µÇ¼½±ÀøÄ£°å±í struct tagLoginAward { BYTE _TemplateID; //Ä£°åID BYTE ActionType; //»î¶¯ÌõÄ¿ID DWORD TotalTimes; //¿ÉÍê³ÉµÄ×Ü´ÎÊý£¬0±íʾ²»ÏÞ´ÎÊý WORD SingleTimes; //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý char Reward; //½±ÀøÎïÆ· }; //½ÚÈյǼ½±ÀøÊ±¼ä±í struct tagActFeastLogin { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ dict TemplateIDInfo; //Ä£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):½±ÀøÄ£°å±àºÅ, ...} }; //½ÚÈյǼ½±ÀøÄ£°å±í struct tagActFeastLoginAward { BYTE _TemplateID; //Ä£°åID BYTE DayNum; //µÚXÌì´Ó1¿ªÊ¼ list LoginAwardItemList; //½±ÀøÁбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //½ÚÈÕ×£¸£Ê±¼ä±í struct tagActFeastWish { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà dict TemplateIDInfo; //Ä£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):Ä£°å±àºÅ, ...} }; //½ÚÈÕ×£¸£Æ¿Ä£°å±í struct tagActFeastWishBottle { BYTE _TemplateID; //Ä£°åID BYTE WishBottleNum; //×£¸£Æ¿±àºÅ WORD NeedWishValue; //µ¥´ÎÁì½±ËùÐè×£¸£Öµ BYTE ChooseTimeMax; //×î´ó¿ÉÁì½±´ÎÊý dict ChoosePrizeItem; //Ñ¡Ôñ½±ÀøÎïÆ·ÐÅÏ¢£¬Ñ¡ÍêΪֹ {¼Ç¼Ë÷Òý:[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...} list GoodItemIDList; //ÐèÒª¹ã²¥µÄÎïÆ·IDÁбí [ÎïÆ·ID, ...] char WorldNotifyKey; //È«·þ¹ã²¥key£¬²ÎÊý(Íæ¼ÒÃû, ÎïÆ·ID, ÎïÆ·Êý¾Ý, ¸öÊý,) }; //½ÚÈÕ×£¸£³ØÄ£°å±í struct tagActFeastWishPool { BYTE _TemplateID; //Ä£°åID list WishPoolItemWeightInfo; //×£¸£³Ø²ú³öÎïÆ·È¨ÖØ [[È¨ÖØ, [ÎïÆ·ID,¸öÊý]], ..] list WishPoolClientItemShow; //ǰ¶ËչʾÎïÆ·Áбí [ÎïÆ·ID, ...] list GoodItemIDList; //ÐèÒª¹ã²¥µÄÎïÆ·IDÁбí [ÎïÆ·ID, ...] char WorldNotifyKey; //È«·þ¹ã²¥key£¬²ÎÊý(Íæ¼ÒÃû, ÎïÆ·ID, ÎïÆ·Êý¾Ý, ¸öÊý,) }; //½ÚÈÕÓÎÀúʱ¼ä±í struct tagActFeastTravel { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà dict TemplateIDInfo; //Ä£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):Ä£°å±àºÅ, ...} }; //½ÚÈÕÓÎÀúÈÎÎñ±í struct tagActFeastTravelTask { BYTE _TraveTasklD; //ÓÎÀúID WORD FinishNeedValue; //Íê³ÉËùÐè½ø¶ÈÖµ WORD FinishTimeMax; //×Ü¿ÉÍê³É´ÎÊý£¬0²»ÏÞ BYTE AddTravelPoint; //Íê³É´ÎÊý»ñµÃÓÎÀúÖµ }; //½ÚÈÕÓÎÀú½±Àø±í struct tagActFeastTravelAward { BYTE _TemplatelD; //½±ÀøÄ£°åID BYTE RecordIndex; //½±Àø¼Ç¼Ë÷Òý WORD NeedTravelPoint; //Áì½±ËùÐèÓÎÀúÖµ BYTE AwardCountMax; //¿ÉÁìÈ¡´ÎÊý£¬0´ú±í²»ÏÞ list TravelAwardInfo; //ÓÎÀú½±Àø [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //ÖïÏÉBOSS±í struct tagZhuXianBoss { DWORD NPCID; //ID BYTE _LineID; WORD RealmLV; //ÐèÒª¾³½ç DWORD ZhuXianScore; //ÐèÒªÖïÏÉ×ÜÆÀ·Ö }; //½ÚÈÕѲÀñ»î¶¯Ê±¼ä±í struct tagActFeastWeekParty { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD AdvanceMinutes; //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà WORD LVLimit; //ÏÞÖÆµÈ¼¶ list TemplateID; //Ä£°å±àºÅ dict PointAward; //×Ü»ý·Ö½±Àø }; //½ÚÈÕѲÀñÄ£°å±í struct tagFeastWeekParty { BYTE _TemplateID; //Ä£°åID BYTE ActionType; //»î¶¯ÌõÄ¿ID DWORD TotalTimes; //¿ÉÍê³ÉµÄ×Ü´ÎÊý£¬0±íʾ²»ÏÞ´ÎÊý WORD SingleTimes; //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý list Reward; //½±ÀøÎïÆ· WORD Point; //»ý·Ö }; //ÐÂÏɽçÊ¢µä-È«ÃñÀ´à˱í struct tagNewAllPeopleParty { BYTE _ID; //ID WORD TotalTimes; //×Ü´ÎÊý WORD AddPoint; //ÿÍê³É´ÎÊý»ñµÃà˵ã }; //ÐÂÏɽçÊ¢µä-È«ÃñÀ´à˽±Àø±í struct tagNewAllPeoplePartyAward { BYTE _WorldLvNum; //ÊÀ½çµÈ¼¶µµ DWORD _Index; //Ë÷Òý DWORD NeedPoint; //ÐèÒªµãÊý dict Award; //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...} }; //ÐÒÔ˼ø±¦»î¶¯Ê±¼ä±í struct tagActLuckyTreasure { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ BYTE ResetType; //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE TemplateID; //Ä£°å±àºÅ WORD LuckyPoint; //×ÜÐÒÔËÖµ }; //ÐÒÔ˼ø±¦¿âÄ£°å±í struct tagLuckyTreasureTemplate { BYTE _TemplateID; //Ä£°åID list WorldLVLimit; //ÊÀ½çµÈ¼¶·¶Î§ DWORD ItemID; //ÎïÆ·ID WORD ItemCnt; //ÎïÆ·ÊýÁ¿ BYTE IsBind; //ÊÇ·ñ°ó¶¨ DWORD Weight; //È¨ÖØ }; //¿ç·þ³äÖµÅÅÐÐÄ£°å´ï±ê½±Àø±í struct tagCrossActCTGBillboardDabiao { DWORD _TemplateID; //Ä£°åID float CTGNeed; //Ðè³äÖµRMB BYTE AwardIndex; //½±Àø¼Ç¼Ë÷Òý£¬´Ó0¿ªÊ¼£¬Í¬¸öÄ£°å²»¿ÉÖØ¸´£¬²»¿É±ä¸ü list AwardItemList; //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //¿ç·þ³äÖµÅÅÐÐÄ£°åÃû´Î½±Àø±í struct tagCrossActCTGBillboardOrder { DWORD _TemplateID; //Ä£°åID WORD OrderA; //Ãû´ÎA WORD OrderB; //ÖÁÃû´ÎB float CTGAtleast; //ÖÁÉÙ³äÖµRMB list AwardItemList; //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //ÉñÃØÉ̵ê±í struct tagMysteryShop { list LVRange; //µÈ¼¶·¶Î§ DWORD GoodsID; //É̳DZíID }; //×°±¸Î»±³°üË÷ÒýÓ³Éä±í struct tagEquipPlaceIndexMap { DWORD GridIndex; //±³°ü¸ñ×ÓË÷Òý DWORD _ClassLV; //½×¼¶(ÎïÆ·±íLV×Ö¶Î) DWORD _EquipPlace; //×°±¸Î»(ÎïÆ·±íEquipPlace×Ö¶Î) }; //×°±¸Éñ×°±í struct tagEquipShenAttr { DWORD _EquipItemID; //×°±¸ID list ShenAttrIDList; //ÉñÆ·´«ÆæÊôÐÔIDÁбí list ShenAttrValueList; //ÉñÆ·´«ÆæÊôÐÔÖµÁбí list XianAttrIDList; //ÏÉÆ·´«ÆæÊôÐÔIDÁбí list XianAttrValueList; //ÏÉÆ·´«ÆæÊôÐÔÖµÁбí list JiAttrIDList; //¼«Æ·´«ÆæÊôÐÔIDÁбí list JiAttrValueList; //¼«Æ·´«ÆæÊôÐÔÖµÁбí list LegendAttrIDList; //ÆÕͨ´«ÆæÊôÐÔIDÁбí list LegendAttrValueList; //ÆÕͨ´«ÆæÊôÐÔÖµÁбí }; //×°±¸Éñ×°½ø½×±í struct tagEquipShenEvolve { DWORD _EquipItemID; //×°±¸ID DWORD EvolveEquipID; //¿É½ø½×Ä¿±ê×°±¸ID list EvolveNeedItemIDInfo; //½ø½×ËùÐ踽¼Ó²ÄÁϼ°¸öÊý }; //×°±¸ÉýÐDZí struct tagEquipStarUp { BYTE _ClassLV; //½×¼¶ BYTE _EquipPlace; //×°±¸Î» BYTE _Star; //ÐÇÊý list CostEquipPlace; //¿ÉÓÃ×°±¸²¿Î» BYTE IsJobLimit; //ÊÇ·ñÖ»Óñ¾Ö°Òµ×°±¸²ÄÁÏ list CostEquipColor; //¿ÉÓÃ×°±¸Æ·ÖÊ BYTE CostEquipCnt; //×°±¸ÊýÁ¿ BYTE UnSuitRate; //µ¥¼þ·ÇÌ××°¼Ó³É¸ÅÂÊ BYTE SuitRate; //µ¥¼þÌ××°¼Ó³É¸ÅÂÊ dict CostItemDict; //ÌØÊâ²ÄÁÏ dict StarAttrInfo; //ÐǼ¶ÊôÐÔ dict BaseAttrInfo; //»ù´¡ÊôÐÔÔö¼Ó }; //×°±¸Ç¿»¯½ø»¯±í struct tagEquipPlusEvolve { BYTE _EquipPlace; //×°±¸Î» BYTE _EvolveLV; //½ø»¯µÈ¼¶ WORD NeedPlusLV; //ÐèҪǿ»¯µÈ¼¶ dict CostItem; //ÏûºÄ²ÄÁÏ dict Attr; //ÊôÐÔ }; //ÏÉÃËBoss½±Àø±í struct tagFamilyBossAward { DWORD _BossID; //BossID list WorldLV; //ÊÀ½çµÈ¼¶ list Rank; //ÅÅÃû list Award1; //½±Àø [[¶ÀÁ¢¸ÅÂÊÍò·ÖÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]],..] dict Award2; //±ýͼ½±Àø{Ëæ»ú´ÎÊý:[(¸ÅÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..]} }; //ÏÉÃËÊÔÁ¶ÉËѪ½±Àø±í struct tagFamilyBossHurtAward { BYTE _AwardType; //½±ÀøÀàÐÍ 1-¸öÈË£»2-ÏÉÃË BYTE _RecordIndex; //½±Àø¼Ç¼Ë÷Òý£¬Í¬½±ÀøÀàÐÍʱ¼Ç¼Ë÷Òý²»¿ÉÖØ¸´ DWORD NeedHurtTotal; //ËùÐè×ÜÉËѪ list AwardItemList; //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //ÏÉÃ˵ȼ¶±í struct Family { BYTE _FamilyLV; //ÏÉÃ˵ȼ¶ BYTE MemberMax; //³ÉÔ±ÊýÉÏÏÞ BYTE DeputyLeaderMax; //¸±ÃËÖ÷ÊýÉÏÏÞ BYTE EliteMax; //¾«Ó¢ÊýÉÏÏÞ DWORD NeedExp; //Éý¼¶ËùÐè¾­Ñé DWORD ZhenbaogeWeights; //Õ䱦¸ó×ÜÈ¨ÖØ }; //ÏÉÃË»ÕÕ±í struct FamilyEmblem { BYTE _EmblemID; //»ÕÕÂID BYTE UnlockFamilyLV; //½âËøÏÉÃ˵ȼ¶£¬Îª0ʱ´ú±íÆäËû·½Ê½½âËø DWORD ExpireMinutes; //ÓÐЧʱ³¤£¬·ÖÖÓ DWORD CustomFamilyID; //¶¨ÖÆÏÉÃËID }; //ÏÉÃËÕ䱦¸ó¿³¼Û±í struct FamilyZhenbaogeCut { BYTE _CutNum; //¿³¼ÛÈË´Î DWORD CutWeight; //¿³¼ÛÈ¨ÖØ float MinRatio; //±£µ×±ÈÖµ float RandRatio; //Ëæ»ú±ÈÖµ }; //ÏÉÃËÕ䱦¸óÎïÆ·±í struct FamilyZhenbaogeItem { BYTE _ItemGroupNum; //ÎïÆ·×é±àºÅ DWORD ItemWeight; //Ëæ»úÈ¨ÖØ list ItemList; //ÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //ÏÉÃËÕ󷨱í struct tagFamilyZhenfa { BYTE _ZhenfaType; // Õó·¨ÀàÐÍ WORD _ZhenfaLV; // Õ󷨵ȼ¶ DWORD LVUpNeedExp; //ÉýÏÂÒ»¼¶ËùÐè¾­Ñé list LVAttrType; //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ list LVAttrValue; //ÀÛ¼Æ×ÜÊôÐÔÖµ }; //×°±¸Ï´Á·µÈ¼¶ÉÏÏÞ struct tagItemWashMax { BYTE _Type; //°´×°±¸Î»¶ÔÓ¦ÀàÐͲéÕÒ BYTE _Star; // ×°±¸ÐÇÊý WORD LevelMax; //Ï´Á·µÈ¼¶ÉÏÏÞ }; //Æï³èBoss½±Àø±í struct tagHorsePetBossAward { BYTE _LineID; // Ïß·ID list WorldLV; //ÊÀ½çµÈ¼¶ list Rank; //ÅÅÃû list Award1; //½±Àø [[¶ÀÁ¢¸ÅÂÊÍò·ÖÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]],..] list Award2; //±ýͼ½±Àø [[(¸ÅÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..]] }; //çÎç¿ÏÉÓò±í struct tagFairyDomain { WORD _ID; //ʼþ±àºÅ BYTE EventType; //ʼþÀàÐÍ DWORD MapID; //¸±±¾id BYTE LineID; //¸±±¾Ïß·id DWORD BossID; //¸±±¾BossID BYTE EventFBType; //ʼþ¸±±¾ÀàÐÍ£¬0-ǰ¶Ë£¬1-±¾·þ£¬2-¿ç·þ BYTE CostEnergy; //ÏûºÄÌåÁ¦ BYTE NeedAlchemyLV; //³öÏÖµÄÁ¶µ¤µÈ¼¶ÒªÇó list NeedLV; //³öÏÖµÄÍæ¼ÒµÈ¼¶ÒªÇó DWORD Weight; //È¨ÖØ DWORD HourCntPriLimit; //¸öÈËÿСʱ´ÎÊýÏÞÖÆ DWORD DayCntPriLimit; //¸öÈËÿÌì´ÎÊýÏÞÖÆ }; //çÎç¿ÆæÓö±í struct tagFairyAdventures { WORD _ID; //ΨһID DWORD OpenServerDay; //¿ª·þÌì BYTE EventID; //ʼþ±àºÅ list Condition; //Ìõ¼þ list GearAward; //µµÎ»½±Àø list BasicAward; //±£µ×½±Àø }; //çÎç¿ÏÉÓò¶¨ÖƱí struct tagFairyDomainAppoint { WORD _Cnt; //´ÎÊý DWORD EventID; //ʼþ±àºÅ list Award; //¶¨Öƽ±Àø£¨Ã»Åä×ßÕý³£½±Àø¹æÔò£©[[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·],..] list RandomAward; //Ëæ»ú½±Àø [[(È¨ÖØ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..],..] }; //¸±±¾Buff±í struct tagFBBuyBuff { DWORD _MapId; // WORD _MoneyCnt; //ÏÉÓñÊýÁ¿ DWORD BuffID; //BuffID WORD BuffCD; //¼ä¸ôʱ¼äs }; //¼¼ÄÜÉý¼¶±í struct tagSkillElement { DWORD _ElementSkillID; //ר¾«¼¼ÄÜID BYTE ElementSkillNum; //ר¾«¼¼ÄܱàºÅ DWORD MainSkillID; //Ö÷¼¼ÄÜID DWORD NeedLV; //Ñ¡ÔñÐèÒªµÈ¼¶ }; //ÌìÐÇËþ±í struct tagSkyTower { DWORD _FloorID; //²ã DWORD BossID; //bossID dict Reward; //½±Àø WORD NeedLV; //ÒªÇóµÈ¼¶ DWORD FightPower; //ÍÆ¼öÕ½Á¦ BYTE IsNotify; //ÊÇ·ñ¹ã²¥ }; //ÌìÐÇËþÈ«·þÌôÕ½±í struct tagSkyTowerServerChallenge { DWORD _FloorID; //²ã dict PassRankRewardInfo; //ͨ¹ØÅÅÃû½±Àø {"Ãû´Î":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...], ...} dict ServerRewardInfo; //ͨ¹ØÅÅÃû½±Àø {"ËùÐè¹ý¹ØÈËÊý":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...], ...} }; //Áé¸ùÌØÐ§±í struct tagLingGenEffect { DWORD ID; //ΨһID DWORD _PointID; //Áé¸ùID BYTE _QualityLV; //Æ·¼¶ }; //ÇéÔµÀñÎï±í struct tagLoveGift { BYTE _GiftNum; //ƸÀñID DWORD GiftItemID; //ÎïÆ·ID BYTE AllowBatch; //ÊÇ·ñÔÊÐíÅúÁ¿ÔùËÍ }; //ÇéÔµÌáÇ×±í struct tagMarry { BYTE _BridePriceID; //ƸÀñID list CostMoneyInfo; //ÏûºÄ»õ±ÒÀàÐÍ|ÊýÖµ }; //ÇéÔµÇé½ä±í struct tagLoveRing { BYTE _RingClassLV; //Çé½ä½×¼¶ BYTE _RingStarLV; //Çé½äÐǼ¶ list CoupleAttrType; //ÏÉÂÂÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list CoupleAttrValue; //ÏÉÂÂÊôÐÔÖµ£¨·ÇÀÛ»ý£© list StarAttrType; //ÐǼ¶¶îÍâÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£© list StarAttrValue; //ÐǼ¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£© list UpItemAttrType; //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount list UpItemAttrValue; //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount DWORD NeedEatCount; //Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ© DWORD UpEatItemPerCount; //ÿ´ÎÅàÑøÏûºÄx¸ö }; //ÇéÔµ÷ÈÁ¦ÊôÐÔ±í struct tagLoveCharm { BYTE _CharmLV; //÷ÈÁ¦µÈ¼¶ DWORD UpNeedCharm; //Éýϼ¶ËùÐè×Ü÷ÈÁ¦ list LVAttrType; //ÊôÐÔÀàÐÍ list LVAttrValue; //×ÜÊôÐÔÖµ list LVAwardItemInfo; //µÈ¼¶ÎïÆ·½±Àø[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //Æï³è¾õÐѱí struct tagHorsePetSkin { BYTE _Type; //1×øÆï2Áé³è DWORD _ID; //¹ØÁªID(×øÆï±íºÍÁé³è±íID) BYTE _SkinLV; //»Ã»¯µÈ¼¶ DWORD NeedExp; //Éý¼¶ÐèÒª¾­Ñé dict AttrInfo; //ÊôÐÔ BYTE SkinIndex; //Íâ¹Û }; //ЭÖú¸ÐлÀñºÐ±í struct tagAssistThanksGift { DWORD _GiftID; //ÀñºÐÎïÆ·ID list RequestPlayerAward; // ·¢²¼½±ÀøÎïÆ· ÎïÆ·ID|¸öÊý list AssistPlayerAward; // ЭÖú½±ÀøÎïÆ· ÎïÆ·ID|¸öÊý }; //¹¦ÄÜÌØÈ¨½±Àø±í struct tagFuncSysPrivilege { BYTE _FuncSysID; //¹¦ÄÜϵͳID BYTE DayNum; //µÚXÌì list DayAwardItemInfo; // ½±ÀøÎïÆ·ÐÅÏ¢ [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //ÀۼƳäÖµ½±Àø±í struct tagHistoryRechargeAward { BYTE _ID; //id float NeedRMB; //ËùÐè³äÖµÔª dict Reward; //Ö°Òµ¶ÔÓ¦µÄ½±ÀøÄÚÈÝ,ÿ¸öÖ°Òµ4×éÊý¾Ý£¬ÎïÆ·IDºÍÎïÆ·ÊýÁ¿(1.ǹºÀ2.µÀʦ3.½£ÐÞ) }; //½±Àø±í struct tagCustomAward { BYTE _AwardID; //½±ÀøID 1~n list AwardItemList; //ÎïÆ·½±Àø[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //Õ½Áî±í struct tagZhanling { BYTE _ZhanlingType; //Õ½ÁîÀàÐÍ DWORD _NeedValue; //ËùÐèÖµ BYTE RewardIndex; //½±Àø¼Ç¼Ë÷Òý£¬0~n£¬Í¬¸öÕ½ÁîÀàÐͲ»¿ÉÖØ¸´ list FreeRewardItemList; //Ãâ·Ñ½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...] list ZLRewardItemList; //Õ½Áî½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...] list ZLRewardItemListH; //¸ß¼¶Õ½Áî½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...] }; //Ïɹ¬±í struct tagXiangong { WORD _XiangongID; //Ïɹ¬ID }; //Ïɹ¬ÌìµÀÊ÷ struct tagTiandaoTree { WORD _AwardIndex; //½±ÀøË÷Òý DWORD NeedQiyun; //ËùÐèÆøÔËÖµ list AwardItemList; //½±ÀøÎïÆ·Áбí }; //ÏÉÊ÷µÈ¼¶±í struct tagTreeLV { BYTE _TreeLV; //ÏÉÊ÷µÈ¼¶ DWORD LVUPNeedMoney; //Éýµ½ÏÂÒ»¼¶ËùÐè»õ±ÒÊý DWORD LVUPNeedTime; //Éý¼¶ÏÂÒ»¼¶ËùÐèËùÐèÃë list EquipColorRateList; //²ú³ö×°±¸Æ·ÖʸÅÂÊÁÐ±í£¬[0Æ·ÖÊÍò·ÖÂÊ, 1Æ·ÖÊÍò·ÖÂÊ, ...] list ExAwardItemRateList; //ÿ´Î¿³Ê÷¸ÅÂʶîÍâ²ú³öµÀ¾ß±ýͼ£¬[[Íò·ÖÂÊ,[ÎïÆ·ID,¸öÊý]], ...] };