//ÆÁ±Î´Ê 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; //»î¶¯ÆÚ¼äÏÞÖÆ¶ÓÎé²Ù×÷ }; //NPC±í struct NPC { DWORD _NPCID; //NPCID char NPCName; //Ãû³Æ DWORD RelatedHeroID; //¹ØÁªÎ佫ID BYTE Country; //¹ú¼Ò BYTE AtkDistType; //Ô¶½üÀàÐÍ£»1-½üÕ½£»2-Ô¶³Ì BYTE Sex; //ÐÔ±ð£»1-ÄУ¬2-Å® WORD LV; //µÈ¼¶ BYTE BossType; //BossÀàÐÍ DWORD Atk; //¹¥»÷Á¦ DWORD Def; //·ÀÓùÖµ DWORD MaxHP; //×î´óÉúÃüÖµ£¬¿É³¬¹ý20E list SkillIDList; //¼¼ÄÜIDÁбí DWORD FinalDamPer; //×îÖÕÔöÉË DWORD FinalDamPerDef; //×îÖÕ¼õÉË DWORD MissRate; //ÉÁ±Ü¸ÅÂÊ DWORD MissRateDef; //¿¹ÉÁ±Ü¸ÅÂÊ DWORD SuperHitRate; //±©»÷¸ÅÂÊ DWORD SuperHitRateDef; //¿¹±©»÷¸ÅÂÊ DWORD StunRate; //»÷ÔθÅÂÊ DWORD StunRateDef; //¿¹»÷ÔθÅÂÊ DWORD ComboRate; //Á¬»÷¸ÅÂÊ DWORD ComboRateDef; //¿¹Á¬»÷¸ÅÂÊ DWORD ParryRate; //¸ñµ²¸ÅÂÊ DWORD ParryRateDef; //¿¹¸ñµ²¸ÅÂÊ DWORD SuckHPPer; //ÎüѪ±ÈÂÊ DWORD SuckHPPerDef; //¿¹ÎüѪ±ÈÂÊ dict SpecAttrInfo; //ÌØÊâÊôÐÔÐÅÏ¢ {"ÊôÐÔID":Öµ, ...} }; //NPC³É³¤±í struct NPCStronger { DWORD _NPCID; //NPCID float AtkRatio; //¹¥»÷ϵÊý float DefRatio; //·ÀÓùϵÊý float MaxHPRatio; //ÉúÃüϵÊý float StunRateRatio; float SuperHitRateRatio; float ComboRateRatio; float MissRateRatio; float ParryRateRatio; float SuckHPPerRatio; float StunRateDefRatio; float SuperHitRateDefRatio; float ComboRateDefRatio; float MissRateDefRatio; float ParryRateDefRatio; float SuckHPPerDefRatio; }; //¼¼Äܱí struct Skill { DWORD _SkillID; //¼¼ÄÜID DWORD SkillTypeID; //¼¼ÄÜTypeID WORD SkillLV; //µ±Ç°µÈ¼¶ WORD SkillMaxLV; //×î¸ßµÈ¼¶ char SkillName; //¼¼ÄÜÃû BYTE FuncType; //¹¦ÄÜ·ÖÀà BYTE SkillType; //¼¼ÄÜÀàÐÍ BYTE HurtType; //É˺¦ÀàÐÍ BYTE AtkType; //ÊÍ·Å·½Ê½ BYTE TagAim; //Ãé׼λÖà BYTE TagFriendly; //µÐÎÒÄ¿±ê BYTE TagAffect; //Ä¿±êϸ·Ö BYTE TagCount; //Ä¿±ê¸öÊý BYTE CalcType; //¼ÆË㷽ʽ WORD SkillPer; //¼¼ÄÜÍò·Ö±È DWORD SkillValue; //¼¼Ä̶ܹ¨Öµ WORD HappenRate; //ÊÍ·Å»òÌí¼Ó¼¸ÂÊ DWORD EffectID1; //Ч¹ûID1 list EffectValues1; //Ч¹ûÖµÁбí1 BYTE TriggerWay1; //´¥·¢·½Ê½ BYTE TriggerSrc1; //ÓÐЧÀ´Ô´ DWORD EffectID2; //Ч¹ûID2 list EffectValues2; //Ч¹ûÖµÁбí2 BYTE TriggerWay2; //´¥·¢·½Ê½ BYTE TriggerSrc2; //ÓÐЧÀ´Ô´ DWORD EffectID3; //Ч¹ûID3 list EffectValues3; //Ч¹ûÖµÁбí3 BYTE TriggerWay3; //´¥·¢·½Ê½ BYTE TriggerSrc3; //ÓÐЧÀ´Ô´ WORD CoolDownTime; //¼¼ÄÜÀäȴʱ¼ä list IgnoreStates; //ÎÞÊÓÏÞÖÆÁбí BYTE CurBuffState; //Buff״ֵ̬ WORD LastTime; //³ÖÐøÊ±¼ä BYTE LayerCnt; //Buff²ãÊý BYTE LayerMax; //×î´ó²ãÊý DWORD BuffRepeat; //Buffµþ¼Ó¹æÔò DWORD DieContinue; //BuffËÀÍö´æÔÚ DWORD FightPower; //¼¼ÄÜÕ½¶·Á¦ char SkillMotionName; //¼¼Äܶ¯×÷Ãû }; //Î佫±í struct Hero { DWORD _HeroID; //Ó¢ÐÛID char Name; //Ãû³Æ BYTE Country; // ¹ú¼Ò BYTE Quality; // Æ·ÖÊ BYTE AtkDistType; //Ô¶½üÀàÐÍ£»1-½üÕ½£»2-Ô¶³Ì BYTE Sex; //ÐÔ±ð£»1-ÄУ¬2-Å® list SkinIDList; // Ƥ·ôIDÁбí DWORD NormalSkillID; //ÆÕ¹¥¼¼ÄÜID DWORD AngerSkillID; //Å­Æø¼¼ÄÜID WORD AtkInheritPer; //¹¥»÷¼Ì³Ð WORD DefInheritPer; //·ÀÓù¼Ì³Ð WORD HPInheritPer; //ÉúÃü¼Ì³Ð dict BatAttrDict; //ÆäËûÕ½¶·ÊôÐÔ×Öµä {"ÊôÐÔID":Öµ, ...} list FetterIDList; //î¿°íIDÁбí BYTE RecruitBySelf; // ÕÐļÐèÒª±¾Ìå }; //Î佫ÐǼ¶Ì츳±í 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 HeroFetter { WORD _FetterID; //î¿°íID list HeroIDList; // Î佫ID×éºÏÁбí list AttrIDList; // ÊôÐÔIDÁбí list AttrValueList; // ÊôÐÔÖµÁбí }; //ÕóÈݹ⻷±í struct HeroLineupHalo { WORD _Country; //¹ú¼Ò BYTE NeedHeroCount; // ËùÐèÎ佫Êý list AttrIDList; // ÊôÐÔIDÁбí list AttrValueList; // ÊôÐÔÖµÁбí }; //Ƥ·ô±í struct HeroSkin { DWORD _SkinID; //Ƥ·ôNPCID list WearAttrIDList; // ´©´÷ÊôÐÔIDÁбí list WearAttrValueList; // ´©´÷ÊôÐÔÖµÁбí list AllBatAttrIDList; // È«ÌåÉÏÕóÊôÐÔIDÁбí list AllBatAttrValueList; // È«ÌåÉÏÕóÊôÐÔÖµÁбí }; //Î佫ƷÖʱí struct HeroQuality { DWORD _Quality; //Æ·ÖÊ list InitTalentWeight; // ³õʼÌ츳ÊýÈ¨ÖØ BYTE InitStarUpper; // ³õʼÐǼ¶ÉÏÏÞ DWORD InitAddPer; // ÉÏÕó³õʼ¼Ó³ÉÍò·ÖÂÊ DWORD LVAddPer; // ÉÏÕóÿµÈ¼¶¼Ó³É DWORD BreakLVAddPer; // ÉÏÕóÃ¿Í»ÆÆµÈ¼¶¼Ó³É DWORD StarAddPer; // ÉÏÕóÿÐǼ¶¼Ó³É list BookActAwardMoney; // ͼ¼ø¼¤»î½±Àø»õ±Ò ÀàÐÍ|Öµ DWORD BookInitAddPer; // ͼ¼ø³õʼ¼Ó³É DWORD BookStarAddPer; // ͼ¼øÃ¿ÐǼ¶¼Ó³É DWORD BookBreakLVAddPer; // ͼ¼øÃ¿Í»ÆÆµÈ¼¶¼Ó³É list DismissReturnItems; // DzɢÿÐÇ·µ»¹µÀ¾ß [[ÎïÆ·ID,¸öÊý], ...] }; //Î佫ƷÖÊÍ»ÆÆ±í struct HeroQualityBreak { DWORD _Quality; //Æ·ÖÊ DWORD _BreakLV; //Í»ÆÆµÈ¼¶ WORD LVMax; // µÈ¼¶ÉÏÏÞ list UPCostItem; // Í»ÆÆµ½Ï¼¶ÏûºÄµÀ¾ß }; //Î佫ƷÖʾõÐѱí struct HeroQualityAwake { DWORD _Quality; //Æ·ÖÊ DWORD _AwakeLV; //¾õÐѵȼ¶ list UPCostItem; // ¾õÐѵ½Ï¼¶ÏûºÄµÀ¾ß DWORD RebirthCostMoney; //ÖØÉúÏûºÄ»õ±Ò }; //Æ·ÖÊÎ佫Éý¼¶±í struct HeroQualityLV { DWORD _Quality; //Æ·ÖÊ DWORD _HeroLV; //Î佫µÈ¼¶ list UPCostItem; // Éý¼¶µ½Ï¼¶ÏûºÄµÀ¾ß }; //ÊôÐÔÌõÄ¿±í struct PlayerAttr { DWORD _AttrID; //ÊôÐÔID char Parameter; //ÊôÐÔÃû¡¢²ÎÊýÃû }; //Õ½Á¦ÏµÊý struct FightPowerRatio { DWORD _RealmLV; //¾³½çµÈ¼¶ float AtkRatio; //¹¥»÷ϵÊý float MaxHPRatio; float DefRatio; float StunRateRatio; float SuperHitRateRatio; float ComboRateRatio; float MissRateRatio; float ParryRateRatio; float SuckHPPerRatio; float StunRateDefRatio; float SuperHitRateDefRatio; float ComboRateDefRatio; float MissRateDefRatio; float ParryRateDefRatio; float SuckHPPerDefRatio; float FinalDamPerRatio; float FinalDamPerDefRatio; float PhyDamPerRatio; float PhyDamPerDefRatio; float MagDamPerRatio; float MagDamPerDefRatio; float NormalSkillPerRatio; float NormalSkillPerDefRatio; float AngerSkillPerRatio; float AngerSkillPerDefRatio; float SuperDamPerRatio; float SuperDamPerDefRatio; float CurePerRatio; float CurePerDefRatio; float ShieldPerRatio; float ShieldPerDefRatio; float DOTPerRatio; float DOTPerDefRatio; float WeiFinalDamPerRatio; float WeiFinalDamPerDefRatio; float ShuFinalDamPerRatio; float ShuFinalDamPerDefRatio; float WuFinalDamPerRatio; float WuFinalDamPerDefRatio; float QunFinalDamPerRatio; float QunFinalDamPerDefRatio; }; //Ö÷ÏßÕ½ڱí struct MainChapter { BYTE _ChapterID; //Õ½ÚID list DailyBootyUpperList; // ÿÈÕÕ½ÀûÆ·µôÂäÉÏÏÞ£¬[[ÎïÆ·ID,ÿÈÕÉÏÏÞ], ...] }; //Ö÷Ï߹ؿ¨±í struct MainLevel { BYTE _ChapterID; //Õ½ÚID BYTE _LevelNum; //Õ½ڹؿ¨±àºÅ list WaveLineupIDList1; // ²¨1ÕóÈÝIDÁÐ±í£¬Ð¡¶Ó1ÕóÈÝID|С¶Ó2ÕóÈÝID|... list WaveLineupIDList2; // ²¨2ÕóÈÝIDÁÐ±í£¬Ð¡¶Ó1ÕóÈÝID|С¶Ó2ÕóÈÝID|... list WaveLineupIDList3; // ²¨3ÕóÈÝIDÁÐ±í£¬Ð¡¶Ó1ÕóÈÝID|С¶Ó2ÕóÈÝID|... list WaveLineupIDList4; // ²¨4ÕóÈÝIDÁÐ±í£¬Ð¡¶Ó1ÕóÈÝID|С¶Ó2ÕóÈÝID|... list WaveLineupIDList5; // ²¨5ÕóÈÝIDÁÐ±í£¬Ð¡¶Ó1ÕóÈÝID|С¶Ó2ÕóÈÝID|... list WaveLineupIDList6; // ²¨6ÕóÈÝIDÁÐ±í£¬Ð¡¶Ó1ÕóÈÝID|С¶Ó2ÕóÈÝID|... list BossLineupIDList; // Boss²¨ÕóÈÝIDÁÐ±í£¬Ð¡¶Ó1ÕóÈÝID|С¶Ó2ÕóÈÝID|... list AwardItemList; // ¹ý¹Ø½±ÀøÁÐ±í£¬[[ÎïÆ·ID,¸öÊý], ...] WORD NPCLV; //NPCµÈ¼¶ float Difficulty; //ÄѶÈϵÊý }; //NPCÕóÈݱí struct NPCLineup { DWORD _LineupID; //ÕóÈÝID DWORD PosNPCID1; //1ºÅλNPCID DWORD PosNPCID2; //2ºÅλNPCID DWORD PosNPCID3; //3ºÅλNPCID DWORD PosNPCID4; //4ºÅλNPCID DWORD PosNPCID5; //5ºÅλNPCID DWORD PosNPCID6; //6ºÅλNPCID DWORD PosNPCID7; //7ºÅλNPCID DWORD BossID; // ±¾ÕóÈݵÄBossID£¬Ã»ÓÐbossʱΪ0 list SkillIDExList; // boss¸½¼Ó¼¼ÄÜÁбí BYTE SkillExCnt; //Ëæ»ú¸½¼Ó¼¼ÄÜÊý,0ΪËùÓÐ }; //³ÆºÅ±í #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 Task { 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 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 }; //µÈ¼¶¿ªÆô¹¦ÄÜ struct FuncOpenLV { DWORD _FuncId; //¹¦Äܱêʶ DWORD LimitLV; //¿ªÆôµÈ¼¶ WORD LimiRealmLV; //ÐèÒª¾³½çµÈ¼¶ DWORD LimitMissionID; //ÐèÒªÍê³ÉµÄÈÎÎñID char MailKey; //Óʼþ }; //ºÏ³É±í struct ItemCompound { WORD _ID; //ºÏ³ÉÅäÖñàºÅID list MakeID; //¿ÉºÏ³ÉµÄµÀ¾ßID£¬¶à¸öÔòËæ»úÒ»¸ö list UnfixedItemID; //²»¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱÔòÈÎÒâÒ»ÖÖ¾ù¿É BYTE UnfixedItemCount; //²»¹Ì¶¨µÀ¾ßÏûºÄÊýÁ¿ list FixedItemID; //ÏûºÄ¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱ´ú±íÿ¸öID¾ùÐèÏûºÄ list FixedItemCount; //ÏûºÄ¹Ì¶¨µÀ¾ßÊýÁ¿£¬Ã¿¸öID¶ÔÓ¦ÊýÁ¿ DWORD NeedMoney; // ÏûºÄÍ­Ç® WORD SuccessRate; // ³É¹¦ÂÊÍò·ÖÂÊ WORD SuccessRateMax; // ×î´ó³É¹¦ÂÊÍò·ÖÂÊ list SuccessRateIncrease; //Ìá¸ß³É¹¦ÂʵÀ¾ß, µÀ¾ßID|¸öÊý|Ìá¸ßµÄ¸ÅÂÊ 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 EquipColor { BYTE _ItemColor; //×°±¸Æ·ÖÊ DWORD AtkStep; //¹¥»÷²½³¤ DWORD DefStep; //·ÀÓù²½³¤ DWORD HPStep; //ÉúÃü²½³¤ list AttrLibCntList; //¿âÊôÐÔÌõÊýÁбí list AttrRange; //ͨÓÃÊôÐÔ·¶Î§£¬ÏÂÏÞ|ÉÏÏÞ dict AttrRangeDict; //Ö¸¶¨ÊôÐÔ·¶Î§×ֵ䣬{Ö¸¶¨ÊôÐÔID:[·¶Î§ÏÂÏÞ, ÉÏÏÞ], ...} }; //×°±¸²¿Î»±í struct EquipPlace { BYTE _EquipPlace; //×°±¸²¿Î» float BaseAttrProportion; //»ù´¡ÊôÐÔÕ¼±È list AttrLib1; //Ëæ»úÊôÐÔID¿â1£¬[ÊôÐÔID, ...] list AttrLib2; //Ëæ»úÊôÐÔID¿â2£¬[ÊôÐÔID, ...] list AttrLib3; //Ëæ»úÊôÐÔID¿â3£¬[ÊôÐÔID, ...] }; //¶¨ÖÆÊôÐÔ±í struct AppointItem { DWORD _ID; //¶¨ÖÆID BYTE CancelUseLimit; //´©´÷ÏÞÖÆ(³ýÖ°Òµ) WORD ItemLV; //ÎïÆ·µÈ¼¶ list BaseAttrID; //»ù´¡ÊôÐÔID list BaseAttrValue; //»ù´¡ÊôÐÔÖµ list LegendAttrID; //´«ÆæÊôÐÔID list LegendAttrValue; //´«ÆæÊôÐÔÖµ }; //×°±¸´«ÆæÊôÐÔÌõÊý±í 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 PlayerLV { WORD _LV; //Íæ¼ÒµÈ¼¶ DWORD Exp; //Éý¼¶ËùÐè¾­Ñé DWORD MaxHP; //ÉúÃü DWORD Atk; //¹¥»÷ DWORD Def; //·ÀÓù BYTE ReHeroBreakLV; //²Î¿¼Í»ÆÆµÈ¼¶ BYTE ReHeroAwakeLV; //²Î¿¼¾õÐѵȼ¶ DWORD ReAtk; //²Î¿¼¹¥»÷ DWORD ReDef; //·ÀÓù DWORD ReMaxHP; //ÉúÃü DWORD ReStunRate; DWORD ReSuperHitRate; DWORD ReComboRate; DWORD ReMissRate; DWORD ReParryRate; DWORD ReSuckHPPer; DWORD ReStunRateDef; DWORD ReSuperHitRateDef; DWORD ReComboRateDef; DWORD ReMissRateDef; DWORD ReParryRateDef; DWORD ReSuckHPPerDef; }; //ÌØÊâµØÍ¼Íæ¼ÒÊôÐÔ¹«Ê½±í 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, ...} }; //³É³¤Ð;³½ç¹ÖÎï±í 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 }; //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; //¶îÍâÕ½Á¦ }; //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 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 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 }; //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 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ǰ¶Ë´¦Àí }; //¸±±¾¹ÄÎè±í 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 Chests { DWORD _ChestsItemID; //±¦ÏäÎïÆ·ID DWORD CostItemID; //ÏûºÄÎïÆ·ID BYTE CostItemCount; //ÏûºÄÎïÆ·¸öÊý WORD CostGold; //ÏûºÄÏÉÓñ BYTE ShowType; //ǰ¶Ë±íÏÖÀàÐÍ0-ÎÞ±íÏÖ, >0ÓбíÏÖÐèͬ²½½á¹û£¬¾ßÌåÀàÐÍǰ¶Ë×Ô¶¨Òå BYTE IsBind; //¿ª³öÎïÆ·ÊÇ·ñ°ó¶¨ BYTE AucionItemCanSell; //¿ª³öÅÄÆ·¿É·ñÉϼܼ¯ÊÐ list AucionItemDiffSellIDList; //¿É·ñÉϼܲîÒìÅÄÆ·IDÁÐ±í£¬¼´¿ÉÉϼܴú±í²»¿ÉÉϼܵÄÅÄÆ·IDÁÐ±í£¬²»¿ÉÉϼܴú±í¿ÉÉϼܵÄÅÄÆ·IDÁбí }; //±¦Ïä±í²ú³ö±í struct ChestsAward { 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; //µ¥´ÎÐÒÔËÖµ 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´Î±Ø³ö²ú³ö¸ñ×Ó±àºÅ±ýͼ {´ÎÊý:[[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...], ...} dict LuckyItemRateInfo; //ÐÒÔ˲ú³ö¸ÅÂʱýͼ {"ÐÒÔËÖµ":[[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...], ...} }; //Ѱ±¦ÎïÆ·¿â 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 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 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; //ÐèÒª¹ã²¥µÄ±àºÅÁбí }; //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 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 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,¸öÊý,ÊÇ·ñÅÄÆ·], ...] }; //½ÚÈÕѲÀñ»î¶¯Ê±¼ä±í 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; //ÊôÐÔ }; //ÏÉÃ˵ȼ¶±í 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; //Ï´Á·µÈ¼¶ÉÏÏÞ }; //¸±±¾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 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 EquipColorRateList1; //¾«Ó¢²ú³ö×°±¸Æ·ÖʸÅÂÊÁÐ±í£¬[0Æ·ÖÊÍò·ÖÂÊ, 1Æ·ÖÊÍò·ÖÂÊ, ...] list EquipColorRateList2; //boss²ú³ö×°±¸Æ·ÖʸÅÂÊÁÐ±í£¬[0Æ·ÖÊÍò·ÖÂÊ, 1Æ·ÖÊÍò·ÖÂÊ, ...] }; //ÌÔ½ðÓªµØ±í struct GoldRushCamp { BYTE _CampID; WORD PanningUnlock; //ÌÔ½ð´ÎÊý½âËø list MoneyUnlock; //»õ±Ò½âËø£¬»õ±ÒÀàÐÍ|»õ±ÒÖµ }; //ÌÔ½ð¼à¹¤±í struct GoldRushWorker { BYTE _WorkerID; WORD PlayerLVUnlock; //Ö÷¹«µÈ¼¶½âËø list MoneyUnlock; //»õ±Ò½âËø£¬»õ±ÒÀàÐÍ|»õ±ÒÖµ }; //ÌÔ½ðÎïÆ·±í struct GoldRushItem { BYTE _GoldID; //ÌÔ½ðID DWORD ItemID; //ÎïÆ·ID BYTE ItemLV; //ÎïÆ·µÈ¼¶ DWORD ItemCount; //ÎïÆ·¸öÊý DWORD RefreshWeight; //³£¹æË¢ÐÂÈ¨ÖØ BYTE WorkerMax; //¼à¹¤ÉÏÏÞ BYTE NeedSeconds; //ºÄʱÃë };