//³ÆºÅ±í #tagDienstgrad struct tagDienstgrad { DWORD _ID; //Í·ÏÎid WORD Type; //Í·ÏÎÀàÐÍ DWORD ExpireTime; //ÓÐЧʱ¼ä list LightType; //µãÁÁÊôÐÔÀàÐÍ list LightAttribute; //µãÁÁÊôÐÔÖµ list Skills; //±»¶¯¼¼ÄÜ }; //¾³½ç±í #tagRealm struct tagRealm { WORD _Lv; //¾³½çµÈ¼¶ BYTE IsBigRealm; //ÊÇ·ñ´ó¾³½ç DWORD NeedPoint; //¿ªÆô¶É½ÙÐèÒªÐÞÁ¶µã DWORD NeedItemID; //¿ªÆô¶É½ÙÐèÒªµÀ¾ßID WORD NeedItemCnt; //¿ªÆô¶É½ÙÏûºÄµÄµÀ¾ßÊýÁ¿ dict NeedActiveTreasure; //¿ªÆô¶É½ÙÐèÒª¼¤»î·¨±¦Ìõ¼þ list AddAttrType; //¾³½ç¼Ó³ÉÊôÐÔÀàÐÍ list AddAttrNum; //¾³½ç¼Ó³ÉÊôÐÔÖµ DWORD BossID; //¶É½Ùbossid dict SitTime; //´ò×øÊ±¼ä dict TeamAward; //×é¶Ó°ï´òµÄÈ˵Ľ±Àø }; //Éñ±ø±í #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µÈ¼¶ }; //ºÏ³É±í #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; //ÏûºÄÍ­Ç® DWORD AddExp; //ÌáÉýÊìÁ·¶ÈÖµ DWORD TotalExp; //Éý¼¶ËùÐèÊìÁ·¶È×ÜÖµ }; //×°±¸Ç¿»¯µÈ¼¶ÉÏÏÞ struct tagItemPlusMax { BYTE _Type; //°´×°±¸Î»¶ÔÓ¦ÀàÐͲéÕÒ BYTE _ItemRank; // ×°±¸½×Êý BYTE _ItemColor; //×°±¸ÑÕÉ« Èç³È×° WORD LevelMax; //Ç¿»¯µÈ¼¶ÉÏÏÞ }; //×°±¸È«ÉíÇ¿»¯ÊôÐÔ struct tagItemPlusSumAttr { WORD _PlusCntNeed; //È«ÉíÇ¿»¯µÈ¼¶ list AttrType; //È«ÉíÇ¿»¯¼¤»îÊôÐÔÀàÐÍ list AttrValue; //È«ÉíÇ¿»¯¼¤»îÊôÐÔÖµ }; //×°±¸È«ÉíÐÇÊýÊôÐÔ struct tagRoleEquipStars { BYTE _StarsNeed; //È«ÉíÐÇÊý list AttrType; //ÊôÐÔÀàÐÍ list AttrValue; //ÊôÐÔÖµ }; //ÉñÊÞ±í 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; // ÏÉÓñÏ´Á·ÌõÊý¶ÔÓ¦ÏûºÄ }; //Ï´Á·ÌØÊâÊôÐÔ±í #tagEquipWashSpec struct tagEquipWashSpec { BYTE _WashTypeNeed; // ËùÐè×°±¸¹é×éÀàÐÍ BYTE _WashLVNeed; // ËùÐèÏ´Á·µÈ¼¶ list AddAttrType; //¼¤»î¼Ó³ÉÊôÐÔÀàÐÍ list AddAttrValue; //¼¤»î¼Ó³ÉÊôÐÔÖµ }; //ÊôÐÔ¹ûʵ±í struct tagAttrFruit { DWORD _ID; //ÎïÆ·ID BYTE FuncID; //ËùÊô¹¦ÄÜID WORD MaxUseCnt; //×î´ó¿ÉʹÓÃÊýÁ¿ 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; //³õʼսÁ¦ }; //×°±¸·Ö½âÊôÐÔ±í 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 tagHorse { DWORD _HorseID; //×øÆï±àºÅID DWORD ItemID; //×øÆïÎïÆ·ID DWORD UnlockItemID; //½âËø×øÆïÎïÆ·±àºÅ BYTE UnlockItemCnt; //½âËøËùÐèÎïÆ·ÊýÁ¿ BYTE InitLV; //×øÆï³õʼµÈ¼¶ BYTE MaxLV; //×øÆï×î¸ßµÈ¼¶ BYTE UseNeedRank; //¶àÉٽ׿ÉÇл»Íâ¹Û BYTE Quality; //×øÆïÆ·ÖÊ DWORD InitFightPower; //³õʼսÁ¦ char UnlockSys; //½âËø¹ã²¥Ìáʾ }; //×øÆïÉý¼¶±í struct tagHorseUp { DWORD _HorseID; //×øÆï±àºÅID BYTE _LV; //×øÆïµÈ¼¶ DWORD NeedExp; //Éý¼¶ËùÐè¾­Ñé list AttrType; //¼¤»î¼Ó³ÉÊôÐÔÀàÐÍ list AttrValue; //¼¤»î¼Ó³ÉÊôÐÔÖµ list SkillID; //¿É»ñµÃµÄ¼¼ÄÜID char SysMark; //¹ã²¥Ìáʾ }; //Íæ¼ÒµÈ¼¶±í 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; //±ù¾§¿óÂöɨµ´Õ½¶·Á¦ }; //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 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;//Ñ¹ÖÆÕ½¶·Á¦ÏµÊý }; //×°±¸Ì××°ÊôÐÔ±í struct tagEquipSuitAttr { BYTE _GroupType; //Ì××°×éºÏÀàÐÍ BYTE _SuiteType; //Ì××°ÀàÐÍ WORD _SuiteLV; //Ì××°µÈ¼¶ BYTE _Job; //Ö°Òµ BYTE Count1; //½×¶Î1ËùÐèÊýÁ¿ list AttrType1; //½×¶Î1ÊôÐÔÀàÐÍ list AttrValue1; //½×¶Î1ÊôÐÔÖµ BYTE Count2; //½×¶Î2ËùÐèÊýÁ¿ list AttrType2; //½×¶Î2ÊôÐÔÀàÐÍ list AttrValue2; //½×¶Î2ÊôÐÔÖµ BYTE Count3; //½×¶Î2ËùÐèÊýÁ¿ list AttrType3; //½×¶Î2ÊôÐÔÀàÐÍ list AttrValue3; //½×¶Î2ÊôÐÔÖµ }; //Ì××°ºÏ³É±í struct tagEquipSuitCompound { BYTE _SuiteType; //Ì××°ÀàÐÍ BYTE _EquipPlace; //×°±¸²¿Î» WORD _SuiteLV; //Ì××°µÈ¼¶ BYTE _Job; //Ö°Òµ list CostItemID; //²ÄÁÏID list CostItemCnt; //²ÄÁÏÊýÁ¿ }; //ÓðÒí¾«Á¶ÊôÐÔ±í 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 CftDamagePer; //Ôö¼ÓÉ˺¦ÏµÊý DWORD CftDamReduce; //¼õÉÙÉ˺¦ÏµÊý DWORD CftIgnoreDefRate; //ÎÞÊÓ·ÀÓùϵÊý DWORD CftDamChanceDef; //µÖÓùϵÊý DWORD CftBleedDamage; //Á÷ѪÉ˺¦ÏµÊý DWORD CftFaintRate; //»÷ÔÎϵÊý DWORD CftSuperHitReduce; //±©»÷¿¹ÐÔϵÊý DWORD CftLuckyHitRateReduce; //»áÐÄÒ»»÷¿¹ÐÔϵÊý DWORD CftSkillAtkRate; //¼¼ÄÜÉ˺¦ÏµÊý DWORD CftSkillAtkRateReduce; //¼¼ÄܼõÉËϵÊý DWORD CftDamagePerPVP; //PVPÉ˺¦Ôö¼¡ÏµÊý DWORD CftDamagePerPVPReduce; //PVPÉ˺¦¼õÉÙϵÊý DWORD CftDamBackPer; //É˺¦·´ÉäϵÊý DWORD CftIgnoreDefRateReduce; //ÎÞÊÓ·ÀÓù¿¹ÐÔϵÊý DWORD CftFaintDefRate; //¿ØÖƵֿ¹ÏµÊý DWORD CftAtkSpeed; //¹¥ËÙϵÊý DWORD CftLuckyHit; //»áÐÄÒ»»÷ϵÊý DWORD CftSpeedPer; //ÒÆ¶¯ËٶȰٷֱÈϵÊý DWORD CftAtkPer; //¹¥»÷°Ù·Ö±ÈϵÊý DWORD CftMaxHPPer; //ÉúÃü°Ù·Ö±ÈϵÊý DWORD CftJobAHurtAddPer; //¶ÔÄ¿±êսʿÉ˺¦¼Ó³É DWORD CftJobBHurtAddPer; //¶ÔÄ¿±ê·¨Ê¦É˺¦¼Ó³É DWORD CftJobCHurtAddPer; //¶ÔÄ¿±ê¹­¼ýÉ˺¦¼Ó³É DWORD CftJobAAtkReducePer; //սʿ¹¥»÷É˺¦¼õÃâ DWORD CftJobBAtkReducePer; //·¨Ê¦¹¥»÷É˺¦¼õÃâ DWORD CftJobCAtkReducePer; //¹­¼ý¹¥»÷É˺¦¼õÃâ }; //NPCµôÂä±í struct tagNPCDropItem { DWORD _NPCID; //NPCID WORD MaxWorldLV; //×î´óÊÀ½çµÈ¼¶£¬0Ϊ²»ÏÞÖÆ£¬²»ÊÜ×î´óµôÂäµÈ¼¶Ó°Ïì WORD MaxDropLV; //×î´ó¿ÉµôÂäµÄÍæ¼ÒµÈ¼¶, ²»Ó°ÏìÊÀ½çµÈ¼¶ BYTE CanDropRatePlus; //¶îÍâÌáÉýµôÂʵÄÊÇ·ñÓÐЧ BYTE IsDropJobSelf; //ÊÇ·ñÖ»µôÂä±¾Ö°Òµ list PieRateDrop; //±ýͼ¸ÅÂʵôÂäÐÅÏ¢ [(¸ÅÂÊ,0),(¸ÅÂÊ,(½×,ÑÕÉ«,²¿Î»¼¯ºÏkey)),...] BYTE PieRateDoCnt; //±ýͼ¸ÅÂÊÖ´ÐдÎÊý dict IndepRateDrop; //¶ÀÁ¢¸ÅÂʵôÂäÐÅÏ¢ {(½×,ÑÕÉ«,²¿Î»¼¯ºÏkey):¸ÅÂÊ,...} BYTE IndepRateDoCnt; //¶ÀÁ¢¸ÅÂÊÖ´ÐдÎÊý dict IndepRateMaxDropCount; //¶ÀÁ¢¸ÅÂÊ×°±¸ÑÕÉ«×î´óµôÂäÎïÆ·Êý {ÑÕÉ«:ÉÏÏÞÊýÁ¿,...} dict EquipStarInfo; //×°±¸ÑÕÉ«¶ÔÓ¦ÐǼ¶²ú³ö¹æÔò {ÑÕÉ«:[(¸ÅÂÊ, ÐǼ¶),...], ...} list KillCountDropEquipEx; //µÚx´Î»÷ɱ¸½¼Ó±Øµô×°±¸ [´ÎÊý,½×,ÑÕÉ«,[(¸ÅÂÊ,ÐǼ¶),...],²¿Î»¼¯ºÏkey] list KillCountDropEquipEx2; //ǰx´Î»÷ɱ¸½¼Ó±Øµô×°±¸ [´ÎÊý,½×,ÑÕÉ«,[(¸ÅÂÊ,ÐǼ¶),...],²¿Î»¼¯ºÏkey] dict ItemIDDropRate; //Ö¸¶¨ÎïÆ·IDµôÂÊÐÅÏ¢ {ÎïÆ·ID:¸ÅÂÊ, ...} dict ItemIDMaxDropCount; //Ö¸¶¨ÎïÆ·ID×î´óµôÂä¸öÊý,ûÅäĬÈÏ1´Î {ÎïÆ·ID:Ëæ»ú´ÎÊý,...} dict ItemKeyDropRate; //ÎïÆ·ID¼¯ºÏKey¸ÅÂÊ, Ëæ»úÒ»¸ö, ÓÅÏȼ¶µÍ {ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...} dict ItemKeyDropRateJob; //ÎïÆ·ID¼¯ºÏKey¸ÅÂÊ, ×ÔÉíÖ°Òµ, ÓÅÏȼ¶¸ß {ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...} dict ItemKeyMaxDropCount; //ÎïÆ·ID¼¯ºÏKeyËæ»ú´ÎÊý,ûÅäĬÈÏ1´Î {ÎïÆ·ID¼¯ºÏkey:Ëæ»ú´ÎÊý,...} BYTE DropMoneyDoCnt; //µôÂä½ð±ÒÖ´ÐдÎÊý WORD DropMoneyRate; //µôÂä½ð±Ò¸ÅÂÊ WORD DropMoneyMin; //µôÂä½ð±Ò×îСֵ WORD DropMoneyMax; //µôÂä½ð±Ò×î´óÖµ list KillCountDrop; //»÷ɱ´ÎÊý±Øµô,·ÀÖ¹°æ±¾±ä¸üÖØ¸´µô,Ö»Ö§³ÖÒ»´Î»ú»á [»÷ɱ´ÎÊý,ÊÇ·ñÖ±½Ó·ÅÈë±³°ü,[ÎïÆ·ID,...]] list PriItemIDDrop; //ËùÓйéÊôÕß˽ÓеôÂäÎïÆ·IDÁбí,ÿÈËÒ»·Ý,ĬÈϰó¶¨,ûÓÐÖ°ÒµÇø·Ö[ÎïÆ·ID, ...] }; //·ûÓ¡Ëþ±í struct tagRuneTower { DWORD _ID; //Ëþ±àºÅ DWORD RunePoint; //¹ý¹Ø¸ø·ûÓ¡¾«»ª DWORD Ysog; //¹ý¹Ø¸øÄ§¾« DWORD NPCID; //npcid BYTE IsNotify; //ÊÇ·ñ¹ã²¥ list FixEndAward; //¹Ì¶¨½áËã½±Àø dict GoodDrop; //ÕäÏ¡·ûӡͨ¹ØµôÂä¸ÅÂÊ DWORD SweepRunePoint; //ɨµ´·ûÓ¡¾«»ª DWORD SweepYsog; //ɨµ´Ä§¾« dict SweepGoodDrop; //ɨµ´ÕäÏ¡·ûÓ¡ }; //¸±±¾×ܱí 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Ϊ²»ÏÞÖÆ BYTE JobRankLimit; //ËùÐèÖ°Òµ½× 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 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 DWORD DayTimes; //ÿÈÕ´ÎÊý, 0Ϊ²»ÏÞÖÆ BYTE DayResetType; //ÿÈÕ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã DWORD WeekTimes; //ÿÖÜ´ÎÊý, 0Ϊ²»ÏÞÖÆ BYTE WeekResetType; //ÿÖÜ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã }; //×°±¸ÆÀ·ÖÊôÐÔϵÊý±í struct tagEquipGSParam { BYTE _ClassLV; // ×°±¸½×¼¶ BYTE _EquipColor; // ×°±¸ÑÕÉ« BYTE _EquipQualityLV; // ×°±¸ÐǼ¶ DWORD AtkPerC; // ¹¥»÷°Ù·Ö±ÈϵÊý DWORD DamagePerC; // Ôö¼ÓÉ˺¦ÏµÊý DWORD SuperHitRateC; // ±©»÷ÂÊϵÊý DWORD SuperHitPerC; // ±©»÷Öµ°Ù·Ö±ÈϵÊý DWORD DamReducePerC; // ¼õÉÙÉ˺¦ÏµÊý DWORD MaxHPPerC; // ÉúÃüÉÏÏÞ°Ù·Ö±ÈϵÊý DWORD DefPerC; // ·ÀÓùÁ¦°Ù·Ö±ÈϵÊý DWORD LuckyHitRateC; // »áÐÄÒ»»÷ÂÊϵÊý DWORD PetDamPerC; // Áé³èÉ˺¦Ôö¼Ó°Ù·Ö±ÈϵÊý DWORD PerLVAtkC; // ÿ¼¶Ôö¼Ó¹¥»÷Á¦ÏµÊý DWORD MissRateC; // ÉÁ±ÜÖµ°Ù·Ö±ÈϵÊý DWORD HitRateC; // ÃüÖÐÁ¦°Ù·Ö±ÈϵÊý DWORD DamBackPerC; // É˺¦·´Éä°Ù·Ö±ÈϵÊý DWORD PerLVMaxHPC; // ÿ¼¶Ôö¼ÓÉúÃüֵϵÊý DWORD DropEquipPerC; // Ôö¼Ó×°±¸µôÂ伸ÂÊϵÊý DWORD DropMoneyPerC; // Ôö¼ÓµôÂä½ð±ÒÁ¿°Ù·Ö±ÈϵÊý DWORD IgnoreDefRateReduceC; // ÎÞÊÓ·ÀÓù¿¹ÐÔ°Ù·Ö±ÈϵÊý DWORD DamChanceDefC; // µÖÓù°Ù·Ö±ÈϵÊý DWORD SuperHitReduceC; // ±©»÷¿¹ÐÔ°Ù·Ö±ÈϵÊý DWORD SkillAtkRateC; // ¼¼ÄÜÉ˺¦°Ù·Ö±ÈϵÊý DWORD SpeedPerC; // ÒÆ¶¯ËٶȰٷֱÈϵÊý DWORD AtkSpeedC; // ¹¥»÷ËÙ¶ÈϵÊý DWORD SkillAtkRateReduceC; // ¼¼ÄܼõÉ˰ٷֱÈϵÊý DWORD HitC; // ÃüÖÐϵÊý DWORD MissC; // ÉÁ±ÜϵÊý 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ϵÊý }; //³É¾Í±í struct tagSuccess { DWORD _ID; //³É¾ÍID WORD Type; //³É¾ÍÀàÐÍ DWORD NeedCnt; //ÐèÒªÊýÁ¿ list Condition; //¸¨ÖúÌõ¼þ list PreSuccess; //ÐèÒª´ï³ÉǰÖÃ³É¾Í dict AwardItem; //½±ÀøÎïÆ·Áбí dict Money; //½ðÇ® DWORD Exp; //¾­Ñé dict AwardAttr; //½±ÀøÊôÐÔ DWORD RedPacketID; //ºì°üID DWORD MagicWeaponID; //·¨±¦ID DWORD MagicWeaponExp; //·¨±¦Éý¼¶¾­Ñé }; //·¨±¦±í struct tagTreasure { DWORD _ID; //ID BYTE TreasureType; //·¨±¦ÀàÐÍ DWORD PreTreasure; //ǰÖ÷¨±¦ list SuccID; //³É¾ÍID list Potentials; //¼¼ÄÜDZÁ¦Éý¼¶ list SkillPower; //¼¼ÄܽâËøÕ½Á¦ dict NeedItem; //ÐèÒªÏûºÄÎïÆ· }; //·¨±¦Éý¼¶±í struct tagTreasureUp { DWORD _MWID; //·¨±¦ID BYTE _LV; //·¨±¦µÈ¼¶ DWORD NeedExp; //ÐèÒª¾­Ñé dict AddAttr; //ÊôÐÔ list UnLockSkill; //½âËøµÄ¼¼ÄÜ DWORD ActiveMWID; //¼¤»î·¨±¦ID list ItemAward; //ÎïÆ·½±Àø[itemID,cnt,isbind] DWORD ActiveSoulID; //¼¤»î»êID DWORD PowerEx; //¶îÍâ¹Ì¶¨Õ½Á¦ }; //·¨±¦ÌØÈ¨±í struct tagTreasurePrivilege { DWORD _PrivilegeID; //ÌØÈ¨ID eval EffectValue; //ÌØÊâЧ¹û DWORD SingleValue; //½ø¶È DWORD MaxValue; //×î´ó½ø¶È dict AddAttr; //ÊôÐÔ list ItemAward; //ÎïÆ·½±Àø list SuccessList; //ÐèÒªÍê³É³É¾Í }; //·¨±¦¼¼ÄÜÉý¼¶±í struct tagTreasureSkill { BYTE _SkillUpType; //¼¼ÄÜÉý¼¶ÀàÐÍ BYTE _SkillLV; //¼¼Äܵȼ¶ DWORD NeedPoint; //Éýµ½µ±Ç°¼¶ÏûºÄÌìʯ¾«»ª WORD InitRate; //³õʼ¸ÅÂÊ list NeedItemID; //Éýµ½µ±Ç°¼¶ÈܲÊʯID list NeedItemCnt; //Éýµ½µ±Ç°¼¶ÈܲÊʯÊýÁ¿ list MaxRate; //Éýµ½µ±Ç°¼¶¸ÅÂÊ }; //Á¬ÐøÇ©µ½½±Àø±í 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 SuiteLV; //Ì××°µÈ¼¶ BYTE CancelUseLimit; //´©´÷ÏÞÖÆ(³ýÖ°Òµ) list LegendAttrID; //´«ÆæÊôÐÔID list LegendAttrValue; //´«ÆæÊôÐÔÖµ list OutOfPrintAttr; //¾ø°æÊôÐÔID list OutOfPrintAttrValue; //¾ø°æÊôÐÔ×î´óÖµ }; //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 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; //ÊÇ·ñÿÌìÖØÖà list ShopTypeList; //É̵êÀàÐÍÁбí char MailKey; //»î¶¯¸üÐÂʱ·¢ËÍÓʼþkey list MailItemPrize; //»î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ· }; //ÈÕ³£ÈÎÎñ±í 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 tagTreasureRefine { WORD _TreasureID; //·¨±¦id BYTE _TreasureLV; //·¨±¦½×Êý dict TreasureAttr; //ÊôÐÔ£¨×î¶à3Ìõ£© dict Material; //ÖýÁ¶²ÄÁÏ WORD SuccessRate; //³É¹¦ÂÊ DWORD OpenSkill; //½âËø¼¼ÄÜ BYTE NeedAlchemyLV; //ËùÐèÁ¶µ¤µÈ¼¶ BYTE NeedAllTreasureLV; //ËùÐèËùÓз¨±¦µÈ¼¶ }; //Á¶µ¤Â¯µÈ¼¶±í struct tagRefineStove { BYTE _StoveLV; //Á¶µ¤Â¯µÈ¼¶ DWORD UpNeedExp; //ÉýÏÂÒ»¼¶ËùÐè¾­Ñé list AddAttrType; //µÈ¼¶¼Ó³ÉÊôÐÔÀàÐÍ list AddAttrNum; //µÈ¼¶¼Ó³ÉÊôÐÔÖµ }; //Á¶µ¤±í struct tagAlchemy { WORD _AlchemyID; //Á¶µ¤±àºÅ dict Material; //ËùÐèËùÓвÄÁϺÍÊýÁ¿ WORD AlchemyExp; //Á¶µ¤»ñµÃ¾­ÑéÖµ list AlchemyItem; //²ú³öÎïÆ·¼°ÊýÁ¿¼°È¨ÖØ list SpecAlchemyID; //ÌØÊâÁ¶µ¤ID×é list AlchemyUp; //²ú³ö°üº¬µÄ½ø½×µ¤Ò© BYTE NeedAlchemyLV; //ËùÐèÁ¶µ¤µÈ¼¶ }; //Á¶µ¤ÌØÊâ²ú³ö±í struct tagAlchemySpec { WORD _SpecAlchemyID; //ÌØÊâÁ¶µ¤ID DWORD MaterialID; //ÌØÊâ²ÄÁÏID BYTE MaterialCnt; //ÌØÊâ²ÄÁÏIDÏûºÄ¸öÊý WORD AlchemyExp; //ÌØÊâ²ÄÁϾ­Ñé list AlchemyItem; //²ú³öÎïÆ·¼°ÊýÁ¿¼°È¨ÖØ BYTE NeedAlchemyLV; //ËùÐèÁ¶µ¤µÈ¼¶ }; //BOSSÐÅÏ¢±í struct tagBOSSInfo { DWORD _NPCID; //ID DWORD MapID; //µØÍ¼ID BYTE RefreshMark; //ˢбêʶµã BYTE IsNeedShunt; //ÊÇ·ñÐèÒª·ÖÁ÷ BYTE RelatedType; //Ë¢¹Ö¹ØÁªÀàÐÍ WORD RelatedID; //¹ØÁªID DWORD StoneNPCID; //ű®NPCID }; //¹ÅÉñ½ûµØ±í struct tagElderGodArea { DWORD _NPCID; //ID BYTE MonsterAnger; //¹ÖÎïÅ­ÆøÖµ }; //¸öÈËBOSS±í struct tagPersonalBoss { DWORD _NPCID; //ID DWORD ChanllengeLv; //¿ÉÌôÕ½µÈ¼¶ }; //ÏÉÃË»îÔ¾±í 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; WORD KillTime; //»÷ɱ×Üʱ¼äÃë }; //¸±±¾¹ÄÎè±í struct tagFbEncourage { DWORD _DataMapID; //µØÍ¼ID BYTE _InspireType; //¹ÄÎèÀàÐÍ WORD InspireMaxLV; //¹ÄÎèµÈ¼¶ÏÞÖÆ char MoneyCount; //µ¥´ÎÏûºÄ½ðÇ®ÊýÁ¿ }; //·ûÓ¡ºÏ³É±í 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 PrepareTime; //²É¼¯ºÄʱ£¬Ãë list LostHPPer; //²É¼¯µôѪ£¬[ÿXÃë,µôѪ°Ù·Ö±È] BYTE MaxCollectCount; //ÿÈտɲɼ¯´ÎÊý£¬0ÏÞÖÆ char CollectCountLimitNotify; //Î޲ɼ¯´ÎÊý²É¼¯Ìáʾ list CollectAward; //²É¼¯½±ÀøÎïÆ·£¬ [ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨] }; //±¦Ïä±í¿ªÆô struct tagChests { DWORD _ChestsItemID; //±¦ÏäÎïÆ·ID DWORD CostItemID; //ÏûºÄÎïÆ·ID BYTE CostItemCount; //ÏûºÄÎïÆ·¸öÊý WORD CostGold; //ÏûºÄÏÉÓñ BYTE ShowType; //ǰ¶Ë±íÏÖÀàÐÍ0-ÎÞ±íÏÖ, >0ÓбíÏÖÐèͬ²½½á¹û£¬¾ßÌåÀàÐÍǰ¶Ë×Ô¶¨Òå BYTE IsBind; //¿ª³öÎïÆ·ÊÇ·ñ°ó¶¨ }; //±¦Ïä±í²ú³ö±í struct tagChestsAward { DWORD _ChestsItemID; //±¦ÏäÎïÆ·ID 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Áбí }; //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 tagOnlineAward { 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; //¶ÔÓ¦ÏÞʱÀñ°ü±àºÅ }; //³äÖµ±í struct tagCTG { BYTE _RecordID; //¼Ç¼ID BYTE DailyBuyCount; //ÿÈÕÏÞ¹º´ÎÊý WORD GainGold; //»ñµÃÏÉÓñÊý WORD GainGoldPrize; //ÔùËÍÏÉÓñÊý WORD FirstGoldPrize; //Ê״γäÖµ¸ÃµµÎ»ÔùËÍÏÉÓñ list GainItemList; //»ñµÃÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...] char NotifyMark; //¹ã²¥Ìáʾ }; //µÈ¼¶½±Àø±í 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; //ÐèÒªµÈ¼¶ dict Reward; //½±Àø {"key":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...} }; //Ïɱ¦Ñ°Ö÷±í struct tagXBXZ { DWORD _ID; //ID BYTE Type; //ÀàÐÍ DWORD NeedCnt; //ÐèÒªÊýÁ¿ list Condition; //Ìõ¼þ WORD MWID; //·¨±¦ID list AwardItem; //½±ÀøÎïÆ·Áбí list Money; //½ðÇ® }; //Ѱ±¦²ú³ö¿â±í struct tagTreasureHouse { BYTE _TreasureType; //Ѱ±¦ÀàÐÍ WORD MinLV; //×îСµÈ¼¶ dict GridItemInfo; //¸ñ×Ó±àºÅ¶ÔÓ¦ÎïÆ·ÐÅÏ¢ {"±àºÅ":[ÎïÆ·ID, ¸öÊý], ...} list JobItemList; //Ö°ÒµÎïÆ·×éÁбí [[Ö°Òµ1ÎïÆ·, Ö°Òµ2ÎïÆ·, ...], ...] list GridItemRateListFree; //Ãâ·Ñ²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] list FreeGridItemRateList2; //Ãâ·ÑÿÂúx´Î±£µ×²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] dict FreeGridItemRateList3; //Ãâ·ÑµÚx´Î±Ø³ö²ú³ö¸ñ×Ó±àºÅ±ýͼ {´ÎÊý:[[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...], ...} list GridItemRateList1; //³£¹æ²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] list GridItemRateList2; //ÿÂúx´Î±£µ×²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...] dict GridItemRateList3; //µÚx´Î±Ø³ö²ú³ö¸ñ×Ó±àºÅ±ýͼ {´ÎÊý:[[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...], ...} BYTE LuckyGridNum; //ÐÒÔ˼ӳɸñ×Ó±àºÅ }; //¼«Æ·°×Äñí struct tagFreeGoods { BYTE _ID; //ID dict AwardItem; //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...} WORD NeedMoney; //ÐèÒªÏÉÓñ DWORD ReturnTime; //·µ»¹Ê±¼ä(s) }; //ÏÞʱÀñ°ü»î¶¯±í struct tagActFlashGiftbag { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ list StartTimeList; //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î list EndTimeList; //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î WORD AdvanceMinutes; //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà list GiftbagTypeList; //Àñ°üÀàÐÍÁбí char MailKey; //»î¶¯¸üÐÂʱ·¢ËÍÓʼþkey list MailItemPrize; //»î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ· }; //ÏÞʱÀñ°üÄ£°å±í struct tagFlashGiftbag { DWORD _GiftbagID; //Àñ°ü±àºÅ WORD GiftbagType; //Àñ°üÀàÐÍ DWORD OriginalRMB; //Ô­¼Û£¨RMB£© WORD BuyCountLimit; //ÏÞ¹º´ÎÊý,0²»ÏÞ¹º list GiftItemList; //Àñ°üÎïÆ·ÐÅÏ¢Áбí [(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...] DWORD MainItemID; //±êµÄÎïÆ·ID char NotifyKey; //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È) }; //Ë«±¶¾­Ñé»î¶¯±í 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,ͬ¸öÄ£°åÖв»Öظ´ list AwardItemList; //·µÀûÎïÆ·ÐÅÏ¢Áбí [(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...] char NotifyKey; //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È) }; //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; //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý list 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; //ÊÇ·ñÿÌìÖØÖà list 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µÈ¼¶Àñ°ü }; //ÀۼƳäÖµ»î¶¯±í struct tagActTotalRecharge { DWORD _CfgID; //ÅäÖÃID char StartDate; //¿ªÆôÈÕÆÚ char EndDate; //½áÊøÈÕÆÚ WORD LVLimit; //ÏÞÖÆµÈ¼¶ BYTE IsDayReset; //ÊÇ·ñÿÌìÖØÖà list TemplateIDList; //Ä£°åIDÁбí }; //ÀۼƳäֵģ°å±í struct tagTotalRechargeTemplate { DWORD _TemplateID; //Ä£°åID DWORD NeedGold; //ÐèÒª³äÖµÏÉÓñÊý BYTE AwardIndex; //·µÀû½±ÀøË÷Òý0~31,ͬ¸öÄ£°åÖв»Öظ´ 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 tagGodWeaponEffect { BYTE GWType; //Éñ±øÀàÐÍ WORD Level; //Éñ±øµÈ¼¶ char NotifyCode; //¹ã²¥ DWORD FightPower; //Ôö¼ÓÕ½Á¦ dict Attr; //ÊôÐÔ¼Ó³É }; //¿ç·þ¾º¼¼³¡¶Îλ±í struct tagCrossRealmPKDan { BYTE _DanLV; //¶ÎλµÈ¼¶ list DanLVAwardList; //¶Îλ´ï±ê½±ÀøÎïÆ·Áбí list SeasonDanLVAwardList; //Èü¼¾¶Îλ½±ÀøÎïÆ·Áбí }; //¿ç·þBossÅîÀ³Ïɾ³·ÖÇø±í struct tagCrossPenglaiZone { BYTE ZoneID; //·ÖÇøID list ServerGroupIDList; //·þÎñÆ÷×éIDÁбí DWORD _MapID; //³¡¾°µØÍ¼ID DWORD _DataMapID; //Êý¾ÝµØÍ¼ID BYTE _CopyMapID; //ÐéÄâÏß·ID WORD PosX; //×ø±êX WORD PosY; //×ø±êY }; //¾Û»ê±í 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; //ʱװ±àºÅ list EquipItemID; //×°±¸ÎïÆ·ID(°´Ö°ÒµË³Ðò) DWORD UnlockItemID; //²ÄÁÏÎïÆ·ID DWORD MaxLV; //×î´óÐǼ¶ list CostItemCnt; //²ÄÁÏÊýÁ¿ dict StarAttr; //ÊôÐÔ }; //ʱװ¹ñÉý¼¶±í 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; //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý list Reward; //½±ÀøÎïÆ· WORD Point; //»ý·Ö }; //µÇ¼½±ÀøÊ±¼ä±í 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; //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý list Reward; //½±ÀøÎïÆ· }; //ÖïÏÉ×°±¸Ì××°ÊôÐÔ±í struct tagZhuXianSuitAttr { BYTE _SuitType; //Ì××°ÀàÐÍ BYTE _SuitLV; //Ì××°µÈ¼¶ list SuitAttrIDList; //ÊôÐÔIDÁбí list SuitAttrValueList; //ÊôÐÔÖµÁбí }; //ÖïÏÉBOSS±í struct tagZhuXianBoss { DWORD NPCID; //ID BYTE _LineID; WORD KillTime; //»÷ɱ×Üʱ¼äÃë WORD RealmLV; //ÐèÒª¾³½ç DWORD ZhuXianScore; //ÐèÒªÖïÏÉ×ÜÆÀ·Ö }; //ÖïÏÉËþ±í struct tagZhuXianTower { DWORD _ID; //Ëþ±àºÅ DWORD NPCID; //npcid list FirstAward; //Ê×´ÎS¼¶½±Àø dict GradeAward; //ÆÀ¼¶½±Àø WORD UnLockEquipPlace; //½âËøµÄ×°±¸Î» DWORD NeedPower; //ÍÆ¼öÕ½Á¦ }; //ÖïÏÉ×°±¸·Ö½â±í struct tagZhuXianEquipDecompose { BYTE _ClassLV; //½×¼¶ dict DecomposeInfo; //{(²ú³öÎïÆ·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,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...} };