//³ÆºÅ±í #tagDienstgrad  
 | 
  
 | 
struct    tagDienstgrad  
 | 
{  
 | 
    DWORD        _ID;    //Í·ÏÎid  
 | 
    WORD        Type;    //Í·ÏÎÀàÐÍ  
 | 
    DWORD        ExpireTime;    //ÓÐЧʱ¼ä  
 | 
    list        LightType;    //µãÁÁÊôÐÔÀàÐÍ  
 | 
    list        LightAttribute;    //µãÁÁÊôÐÔÖµ  
 | 
    list        Skills;        //±»¶¯¼¼ÄÜ  
 | 
};  
 | 
  
 | 
//Áé¸ù±í #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;    //ÁéÆ÷ÊôÐÔÆÀ·Ö  
 | 
};  
 | 
  
 | 
//¾³½ç±í #tagRealm  
 | 
  
 | 
struct    tagRealm  
 | 
{  
 | 
    WORD        _Lv;    //¾³½çµÈ¼¶  
 | 
    DWORD        NeedLV;    //ÐèÒªµÈ¼¶  
 | 
    DWORD        NeedItemID;    //ÐèÒªµÀ¾ßID  
 | 
    WORD        NeedItemCnt;    //ÏûºÄµÄµÀ¾ßÊýÁ¿  
 | 
    list        NeedEquip;    //ÐèÒª8²¿Î»×°±¸Ìõ¼þ½×¼¶|Æ·ÖÊ|ÊÇ·ñÌ××°  
 | 
    list        AddAttrType;    //¾³½ç¼Ó³ÉÊôÐÔÀàÐÍ      
 | 
    list        AddAttrNum;    //¾³½ç¼Ó³ÉÊôÐÔÖµ  
 | 
    DWORD        BossID;    //¶É½Ùbossid  
 | 
    DWORD        BuffID;    //¸øÈ«·þÔÚÏßÍæ¼ÒÔö¼Óbuff  
 | 
    DWORD        ExpRate;    //ÐÞΪ³Ø¾ÑéËÙÂÊ  
 | 
    DWORD        ExpLimit;    //ÐÞΪ³Ø¾ÑéÉÏÏÞ  
 | 
};  
 | 
  
 | 
//Éñ±ø±í #tagGodWeapon  
 | 
  
 | 
struct    tagGodWeapon  
 | 
{  
 | 
    WORD        _Type;    //Éñ±øÀàÐÍ  
 | 
    WORD        _LV;    //µÈ¼¶  
 | 
    DWORD        Exp;  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    list        AttrNum;    //ÊôÐÔÖµ  
 | 
    DWORD        SkillID;    //¼¤»î¼¼ÄÜID  
 | 
    char        SysMark;    //ϵͳÌáʾ  
 | 
};  
 | 
  
 | 
//¹¦ÄÜÅäÖñí¸ñ #tagFuncConfig  
 | 
  
 | 
struct    tagFuncConfig  
 | 
{  
 | 
    char        _Key;    //±êʶ  
 | 
    char        Numerical1;    //Êý¾Ý1  
 | 
    char        Numerical2;    //Êý¾Ý2  
 | 
    char        Numerical3;    //Êý¾Ý3  
 | 
    char        Numerical4;    //Êý¾Ý4  
 | 
    char        Numerical5;    //Êý¾Ý5  
 | 
};  
 | 
  
 | 
//µÈ¼¶¿ªÆô¹¦ÄÜ #tagFuncOpenLV  
 | 
  
 | 
struct    tagFuncOpenLV  
 | 
{  
 | 
    DWORD        _FuncId;    //¹¦Äܱêʶ  
 | 
    DWORD        LimitLV;    //¿ªÆôµÈ¼¶  
 | 
    DWORD        LimitMagicWeapon;    //ÐèÒª½âËø·¨±¦ID  
 | 
    WORD        LimiRealmLV;    //ÐèÒª¾³½çµÈ¼¶  
 | 
    DWORD        LimitMissionID;    //ÐèÒªÍê³ÉµÄÈÎÎñID  
 | 
    BYTE        LimitVIPLV;    //ÐèÒªVIPµÈ¼¶  
 | 
    char        MailKey;    //Óʼþ  
 | 
};  
 | 
  
 | 
  
 | 
//ºÏ³É±í #tagItemCompound  
 | 
  
 | 
struct    tagItemCompound  
 | 
{  
 | 
    WORD        _ID;    //ºÏ³ÉÅäÖñàºÅID  
 | 
    BYTE        ComposeGroup;    //ºÏ³É¹é×éÀàÐÍ  
 | 
    list        MakeID;    //¿ÉºÏ³ÉµÄµÀ¾ßID£¬¶à¸öÔòËæ»úÒ»¸ö  
 | 
    BYTE        IsFirstSuccMakeJobItem;    //Ê״γɹ¦ÊÇ·ñ±Ø³ö±¾Ö°Òµ  
 | 
    list        UnfixedItemID;    //²»¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱÔòÈÎÒâÒ»ÖÖ¾ù¿É  
 | 
    BYTE        UnfixedItemCount;    //²»¹Ì¶¨µÀ¾ßÏûºÄÊýÁ¿  
 | 
    list        FixedItemID;    //ÏûºÄ¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱ´ú±íÿ¸öID¾ùÐèÏûºÄ  
 | 
    list        FixedItemCount;    //ÏûºÄ¹Ì¶¨µÀ¾ßÊýÁ¿£¬Ã¿¸öID¶ÔÓ¦ÊýÁ¿  
 | 
    DWORD        NeedMoney;    // ÏûºÄÍÇ®  
 | 
    WORD        SuccessRate;    // ³É¹¦ÂÊÍò·ÖÂÊ  
 | 
    WORD        SuccessRateMax;    // ×î´ó³É¹¦ÂÊÍò·ÖÂÊ  
 | 
    list        SuccessRateIncrease;    //Ìá¸ß³É¹¦ÂʵÀ¾ß, µÀ¾ßID|¸öÊý|Ìá¸ßµÄ¸ÅÂÊ  
 | 
    BYTE        AddonsCountMax;    //×î´ó¿É¸½¼Ó²ÄÁÏÊý, Ôö¼Ó¸ÅÂÊÓÃ, ·Ç±ØÐë, 0´ú±í²»¿É¸½¼Ó²ÄÁÏ  
 | 
    char        SysMark;    //Ìáʾmark  
 | 
    BYTE        SysMarkParamType;    //ϵͳÌáʾ²ÎÊý×éºÏÀàÐÍ  
 | 
};  
 | 
  
 | 
  
 | 
//ÎïÆ·Ç¿»¯Ð§¹û±í  
 | 
  
 | 
struct tagItemPlus  
 | 
{  
 | 
    BYTE        _Type;    //Ç¿»¯ÀàÐÍ  
 | 
    WORD        _LV;    //Ç¿»¯µÈ¼¶  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    list        AttrValue;    //ÊôÐÔÖµ  
 | 
    DWORD        CostCount;    //ÏûºÄÍÇ®  
 | 
    DWORD        AddExp;    //ÌáÉýÊìÁ·¶ÈÖµ  
 | 
    DWORD        TotalExp;    //Éý¼¶ËùÐèÊìÁ·¶È×ÜÖµ  
 | 
};  
 | 
  
 | 
  
 | 
//×°±¸Ç¿»¯µÈ¼¶ÉÏÏÞ  
 | 
  
 | 
struct tagItemPlusMax  
 | 
{  
 | 
    BYTE        _Type;        //°´×°±¸Î»¶ÔÓ¦ÀàÐͲéÕÒ  
 | 
    BYTE        _Star;    // ×°±¸ÐÇÊý  
 | 
    WORD        LevelMax;    //Ç¿»¯µÈ¼¶ÉÏÏÞ  
 | 
};  
 | 
  
 | 
  
 | 
//×°±¸È«ÉíÐÇÊýÊôÐÔ  
 | 
  
 | 
struct tagRoleEquipStars  
 | 
{  
 | 
    BYTE        _StarsNeed;    //È«ÉíÐÇÊý  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    list        AttrValue;    //ÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
//×°±¸´«ÆæÊôÐÔÌõÊý±í  
 | 
  
 | 
struct tagEquipLegendAttrCount  
 | 
{  
 | 
    BYTE        _ItemType;    //ÎïÆ·ÀàÐÍ  
 | 
    BYTE        _ItemColor;    //ÎïÆ·ÑÕÉ«  
 | 
    BYTE        _IsSuit;    //ÊÇ·ñÌ××°  
 | 
    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;    //ÊÇ·ñÌ××°  
 | 
    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;    //³õʼսÁ¦  
 | 
};  
 | 
  
 | 
  
 | 
//×°±¸·Ö½âÊôÐﱒ  
 | 
  
 | 
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;//Ñ¹ÖÆÕ½¶·Á¦ÏµÊý  
 | 
};  
 | 
  
 | 
//NPCʱ¼äµôѪ±í  
 | 
  
 | 
struct tagNPCTimeLostHP  
 | 
{  
 | 
    DWORD        _NPCID;    //NPCID  
 | 
    DWORD        LostHPPerSecond;    //µ¥ÈËÿÃëµôѪÁ¿  
 | 
    BYTE        MaxPlayerCount;    //×î´óÈËÊý  
 | 
    DWORD        LostHPPerSecondEx;    //ÿÔö¼ÓÒ»È˸½¼ÓµôѪÁ¿  
 | 
    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;    //ÊÇ·ñ¹ã²¥  
 | 
};  
 | 
  
 | 
  
 | 
//ÓðÒí¾«Á¶ÊôÐﱒ  
 | 
  
 | 
struct tagWingRefineAttr  
 | 
{  
 | 
    BYTE        _WingClassLV;    //³á°ò½×¼¶  
 | 
    dict        AttrInfo;    //¾«Á¶ÊôÐÔÐÅÏ¢  
 | 
    dict        ItemColorInfo;    //¾«Á¶¾Ñé¶ÔÓ¦ÑÕÉ«ÐÅÏ¢  
 | 
    DWORD        MaxRefineExp;    //±¾½××î´ó¾«Á¶Öµ  
 | 
};  
 | 
  
 | 
//ÓðÒí¾«Á¶¾Ñé±í  
 | 
  
 | 
struct tagWingRefineExp  
 | 
{  
 | 
    DWORD        _ItemID;    //¾«Á¶ÎïÆ·ID  
 | 
    DWORD        RandExpMin;    //×îÐ¡Ëæ»ú¾«Á¶Öµ  
 | 
    DWORD        RandExpMax;    //×î´óËæ»ú¾«Á¶Öµ  
 | 
    dict        ExpMaterial; //³á°ò´úÊý¶ÔÓ¦¾«Á¶Öµ  
 | 
};  
 | 
  
 | 
//ÏÉÃ˿Ƽ¼±í  
 | 
  
 | 
struct tagFamilyTech  
 | 
{  
 | 
    DWORD        _TechID;    //¿Æ¼¼ID*1000+µÈ¼¶  
 | 
    BYTE        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    DWORD        AttrValue;    //ÊôÐÔÖµ  
 | 
    DWORD        Contribution;    //ÐèÒª¹±Ï×¶È  
 | 
    DWORD        PowerEx;    //¶îÍâÕ½Á¦  
 | 
};  
 | 
  
 | 
//Õ½¶·Á¦²ÎÊýµÈ¼¶ÏµÊý±í  
 | 
  
 | 
struct tagFightPowerParam  
 | 
{  
 | 
    WORD        _LV;    //µÈ¼¶  
 | 
    DWORD        CftHit;    //ÃüÖÐϵÊý  
 | 
    DWORD        CftMiss;    //ÉÁ±ÜϵÊý  
 | 
    DWORD        CftIgnoreDefRate;    //ÎÞÊÓ·ÀÓùϵÊý  
 | 
    DWORD        CftDamChanceDef;    //µÖÓùϵÊý  
 | 
    DWORD        CftFaintRate;    //»÷ÔÎϵÊý  
 | 
    DWORD        CftSuperHitRateReduce;    //±©»÷ÂÊ¿¹ÐÔϵÊý  
 | 
    DWORD        CftSuperHitRate;    //±©»÷ÂÊϵÊý  
 | 
    DWORD        CftLuckyHitRate;    //»áÐÄÒ»»÷ÂÊϵÊý  
 | 
    DWORD        CftLuckyHitRateReduce;    //»áÐÄÒ»»÷¿¹ÐÔϵÊý  
 | 
    DWORD        CftSkillAtkRate;    //¼¼ÄÜÉ˺¦ÏµÊý  
 | 
    DWORD        CftSkillAtkRateReduce;    //¼¼ÄܼõÉËϵÊý  
 | 
    DWORD        CftFinalHurtPer;    //×îÖÕÉ˺¦¼Ó³ÉϵÊý  
 | 
    DWORD        CftFinalHurtReducePer;    //×îÖÕÉ˺¦¼õÃâϵÊý  
 | 
    DWORD        CftDamagePerPVP;    //PVPÉ˺¦Ôö¼ÓϵÊý  
 | 
    DWORD        CftDamagePerPVPReduce;    //PVPÉ˺¦¼õÉÙϵÊý  
 | 
    DWORD        CftNPCHurtAddPer;    //PVE¼¼ÄܼӳÉϵÊý  
 | 
    DWORD        CftNormalHurtPer;    //ÆÕͨ¸½¼ÓÉ˺¦¼Ó³ÉϵÊý  
 | 
    DWORD        CftFabaoHurtPer;    //·¨±¦¸½¼ÓÉ˺¦¼Ó³ÉϵÊý  
 | 
    DWORD        CftDamBackPer;    //É˺¦·´ÉäϵÊý  
 | 
    DWORD        CftIgnoreDefRateReduce;    //ÎÞÊÓ·ÀÓù¿¹ÐÔϵÊý  
 | 
    DWORD        CftFaintDefRate;    //¿ØÖƵֿ¹ÏµÊý  
 | 
    DWORD        CftAtkSpeed;    //¹¥ËÙϵÊý  
 | 
    DWORD        CftJobAHurtAddPer;    //¶ÔÄ¿±êսʿÉ˺¦¼Ó³É  
 | 
    DWORD        CftJobBHurtAddPer;    //¶ÔÄ¿±ê·¨Ê¦É˺¦¼Ó³É  
 | 
    DWORD        CftJobCHurtAddPer;    //¶ÔÄ¿±ê¹¼ýÉ˺¦¼Ó³É  
 | 
    DWORD        CftJobAAtkReducePer;    //սʿ¹¥»÷É˺¦¼õÃâ  
 | 
    DWORD        CftJobBAtkReducePer;    //·¨Ê¦¹¥»÷É˺¦¼õÃâ  
 | 
    DWORD        CftJobCAtkReducePer;    //¹¼ý¹¥»÷É˺¦¼õÃâ  
 | 
};  
 | 
  
 | 
//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;    //×°±¸ÑÕÉ«×î´óµôÂäÎïÆ·Êý {ÑÕÉ«:ÉÏÏÞÊýÁ¿,...}  
 | 
    dict        EquipColorSuitInfo;    //×°±¸ÑÕÉ«¶ÔÓ¦Ì××°¸ÅÂÊ {ÑÕÉ«:Ì××°¸ÅÂÊ, ...}  
 | 
    dict        EquipPartKeyRateInfo;    //×°±¸²¿Î»¼¯ºÏÐÅÏ¢ {(ÑÕÉ«,ÊÇ·ñÌ××°):²¿Î»¼¯ºÏkey, ...}  
 | 
    BYTE        ColorSuitPartOptimization;    //²¿Î»ÑÕÉ«ÌׯÀ·ÖÓÅÑ¡µôÂ䣬ʮλ´ú±íÑÕÉ«£¬¸öλ´ú±íÌ××°  
 | 
    dict        KillCountDropEquipPub;    //µÚ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;        //µôÂä½ð±Ò×î´óÖµ  
 | 
    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 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Ϊ²»ÏÞÖÆ  
 | 
    DWORD        DayBuyTimes;    //ÿÈտɹºÂò´ÎÊý  
 | 
    DWORD        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;    // ÊÇ·ñÌ××°  
 | 
    DWORD        BaseEquipMaxHPAddPerC;    // »ù´¡·À¾ßÉúÃü°Ù·Ö±ÈϵÊý  
 | 
    DWORD        BaseEquipAtkAddPerC;    // »ù´¡ÎäÆ÷¹¥»÷°Ù·Ö±ÈϵÊý  
 | 
    DWORD        SuperHitC;    // ±©»÷ֵϵÊý  
 | 
    DWORD        SuperHitPerC;    // ±©»÷Öµ°Ù·Ö±ÈϵÊý  
 | 
    DWORD        LuckyHitRateC;    // »áÐÄÒ»»÷ÂÊϵÊý  
 | 
    DWORD        LuckyHitRateReduceC;    // »áÐÄÒ»»÷¿¹ÐÔϵÊý  
 | 
    DWORD        LuckPerC;    // ÆøÔ˰ٷֱÈϵÊý  
 | 
    DWORD        PerLVAtkC;    // Ã¿¼¶Ôö¼Ó¹¥»÷Á¦ÏµÊý  
 | 
    DWORD        PerLVMaxHPC;    // Ã¿¼¶Ôö¼ÓÉúÃüֵϵÊý  
 | 
    DWORD        DropMoneyPerC;    // Ôö¼ÓµôÂä½ð±ÒÁ¿°Ù·Ö±ÈϵÊý  
 | 
    DWORD        SuperHitReduceC;    // ±©»÷¿¹ÐÔ°Ù·Ö±ÈϵÊý  
 | 
    DWORD        HitC;    // ÃüÖÐϵÊý  
 | 
    DWORD        MissC;    // ÉÁ±ÜϵÊý  
 | 
};  
 | 
  
 | 
//³É¾Í±í  
 | 
  
 | 
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;    //ǰÖ÷¨±¦  
 | 
    DWORD        FBMapID;    //¸±±¾ID  
 | 
    DWORD        FBLineID;    //¸±±¾Ïß·ID  
 | 
    DWORD        NeedLV;    //ÐèÒªµÈ¼¶  
 | 
    dict        NeedItem;    //ÐèÒªÏûºÄÎïÆ·  
 | 
};  
 | 
  
 | 
//·¨±¦Éý¼¶±í  
 | 
  
 | 
struct tagTreasureUp  
 | 
{  
 | 
    DWORD        _MWID;    //·¨±¦ID  
 | 
    BYTE        _LV;    //·¨±¦µÈ¼¶  
 | 
    DWORD        NeedExp;    //ÐèÒª¾Ñé  
 | 
    dict        AddAttr;    //ÊôÐÔ  
 | 
    list        UnLockSkill;    //½âËøµÄ¼¼ÄÜ  
 | 
    DWORD        PowerEx;    //¶îÍâ¹Ì¶¨Õ½Á¦  
 | 
};  
 | 
  
 | 
  
 | 
//Á¬ÐøÇ©µ½½±Àø±í  
 | 
  
 | 
struct tagContineSignAward  
 | 
{  
 | 
    BYTE        _ContineDay;    //Á¬ÐøÇ©µ½ÌìÊý  
 | 
    list        ItemID;    //½±ÀøÎïÆ·ID   
 | 
    BYTE        IsBind;    //ÎïÆ·ÊÇ·ñ°ó¶¨      
 | 
    list        ItemNum;    //ÎïÆ·½±Àø×îСֵ  
 | 
    list        JobItemList;    //Ö°ÒµÎïÆ·ÁÐ±í  
 | 
};  
 | 
  
 | 
//Ç©µ½½±Àø±í  
 | 
  
 | 
struct tagSignAward  
 | 
{  
 | 
    BYTE        _RewardID;    //½±ÀøID  
 | 
    list        ItemID;    //½±ÀøÎïÆ·ID  
 | 
    BYTE        IsBind;    //ÎïÆ·ÊÇ·ñ°ó¶¨   
 | 
    BYTE        VipLv;    //vipµÈ¼¶  
 | 
    list        OrdinaryNum;    //½±ÀøÎïÆ·ÊýÁ¿  
 | 
    BYTE        VipMultiple;   //½±Àø±¶ÂÊ      
 | 
};  
 | 
  
 | 
//VIPÀñ°ü±í  
 | 
  
 | 
struct tagVIPAward  
 | 
{  
 | 
    BYTE        _VIPLV;    //VIPµÈ¼¶  
 | 
    dict        ItemID;    //½±ÀøÎïÆ·ÐÅÏ¢  
 | 
    WORD        Price;    //Àñ°üÏÖ¼Û   
 | 
    WORD        OldPrice;    //Àñ°üÔ¼Û  
 | 
};  
 | 
  
 | 
//¶¨ÖÆÎïÆ·±í  
 | 
  
 | 
struct tagAppointItem  
 | 
{  
 | 
    DWORD        _ID;    //¶¨ÖÆÎïÆ·ID  
 | 
    BYTE        CancelUseLimit;    //´©´÷ÏÞÖÆ(³ýÖ°Òµ)  
 | 
    list        LegendAttrID;    //´«ÆæÊôÐÔID  
 | 
    list        LegendAttrValue;    //´«ÆæÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
//ÅÄÂôÎïÆ·±í  
 | 
  
 | 
struct tagAuctionItem  
 | 
{  
 | 
    DWORD        _AuctionItemID;  
 | 
};  
 | 
  
 | 
//VIPÌØÈ¨±í  
 | 
  
 | 
struct tagVipPrivilege  
 | 
{  
 | 
    DWORD   _VIPPriID;  //ÌØÈ¨ID  
 | 
    DWORD   VIP0;   //VIP0¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP1;   //VIP1¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP2;   //VIP2¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP3;   //VIP3¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP4;   //VIP4¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP5;   //VIP5¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP6;    //VIP6¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP7;    //VIP7¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP8;    //VIP8¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP9;    //VIP9¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP10;   //VIP10¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP11;   //VIP11¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP12;   //VIP12¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP13;   //VIP13¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP14;   //VIP14¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP15;   //VIP15¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
};  
 | 
  
 | 
//ÉÌ³Ç±í  
 | 
  
 | 
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;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    dict        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 tagRefineStove  
 | 
{  
 | 
    BYTE    _StoveLV;    //Á¶µ¤Â¯µÈ¼¶  
 | 
    DWORD    UpNeedExp;    //ÉýÏÂÒ»¼¶ËùÐè¾Ñé  
 | 
};  
 | 
  
 | 
//Á¶µ¤±í  
 | 
  
 | 
struct tagAlchemy  
 | 
{  
 | 
    DWORD   _ID;    //ÃØ·½Î¨Ò»ID²»¿É±ä¸ü  
 | 
    DWORD   AlchemItemID;    //µ¤Ò©ÎïÆ·ID  
 | 
    BYTE    AlchemType;    //ÃØ·½ÀàÐÍ1-Á鵤 2-Ïɵ¤  
 | 
    BYTE    AlchemyQuality;    //ÃØ·½Æ·¼¶  
 | 
    DWORD   LearnNeedItemID;    //µ¤·½ÎïÆ·ID  
 | 
    BYTE    LearnNeedAlchemLV;    //µ¤·½ÐèÒªÁ¶µ¤µÈ¼¶  
 | 
    WORD    LearnNeedLingGenPoint;    //µ¤·½ÐèÒª×ÜÁé¸ùµãÊý  
 | 
    WORD    NeedTime;    //Á¶µ¤Ê±¼ä(Ãë)  
 | 
    WORD    AlchemyExp; //Á¶µ¤»ñµÃ¾ÑéÖµ  
 | 
    dict    Material;    //Á¶µ¤²ÄÁÏ  
 | 
};  
 | 
  
 | 
//Á¶µ¤ÊýÁ¿±í  
 | 
  
 | 
struct tagAlchemyResult  
 | 
{  
 | 
    BYTE    _AlchemyQuality;    //µ¤·½µÈ¼¶  
 | 
    DWORD    LuckValue;    //»Û¸ù  
 | 
    list    CntRateList;    //ÊýÁ¿±ýͼ      
 | 
};  
 | 
  
 | 
  
 | 
//BOSSÐÅÏ¢±í  
 | 
  
 | 
struct tagBOSSInfo  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    DWORD        MapID;    //µØÍ¼ID  
 | 
    BYTE        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        _FuncLineID;    //¿ÉÌôÕ½µÈ¼¶  
 | 
};  
 | 
  
 | 
//ÏÉÃË»îÔ¾±í  
 | 
  
 | 
struct tagFamilyActivity  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    WORD        UnLockFuncID;    //½âËø¹¦ÄÜID  
 | 
    BYTE        TotalActivityTime;    //×Ü´ÎÊý  
 | 
    WORD        SingleTimes;    //Ôö¼Ó»îÔ¾ÐèÒª´ÎÊý  
 | 
    WORD        SingleActiveValue;    //ÿÂÖÔö¼Ó»îÔ¾»ý·Ö  
 | 
};  
 | 
  
 | 
//ÏÉÃ˺ì°ü±í  
 | 
  
 | 
struct tagFamilyRedPack  
 | 
{  
 | 
    WORD        _ID;    //ID  
 | 
    WORD        GetType;    //»ñµÃ;¾¶  
 | 
    WORD        MoneyNum;    //ºì°ü¶î¶È  
 | 
    BYTE        MoneyType;    //½ðÇ®ÀàÐÍ  
 | 
    BYTE        PacketCnt;    //ºì°ü¸öÊý  
 | 
};  
 | 
  
 | 
//½ÚÈÕºì°üÿÈÕ³É¾Í±í  
 | 
  
 | 
struct tagActFeastRedPacketSucc  
 | 
{  
 | 
    BYTE        _FeastDay;    //½ÚÈÕµÚ¼¸Ìì  
 | 
    list        FeastSuccIDList;    //½ÚÈճɾÍIDÁÐ±í  
 | 
};  
 | 
  
 | 
//NPCÐã±í  
 | 
  
 | 
struct tagNPCShow  
 | 
{  
 | 
    DWORD        _NPCID;  
 | 
    DWORD        _MapID;  
 | 
    BYTE        LineID;  
 | 
    DWORD        ProtectTime; //±£»¤Ê±¼ä, ºÁÃë  
 | 
    DWORD        BindMissionID;    //°ó¶¨µÄÈÎÎñID  
 | 
    BYTE        ShowType;    //0-·þÎñ¶Ë֪ͨ,>0ǰ¶Ë´¦Àí  
 | 
};  
 | 
  
 | 
  
 | 
//·âħ̳BOSS±í  
 | 
  
 | 
struct tagSealDemon  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    BYTE        LineID;  
 | 
    list        OwnerAwardItemEx;    //µÚÒ»Ãû¶îÍâ½±ÀøÎïÆ·[[itemID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//¸±±¾¹ÄÎè±í  
 | 
  
 | 
struct tagFbEncourage  
 | 
{  
 | 
    DWORD        _DataMapID;    //µØÍ¼ID  
 | 
    BYTE        _InspireType; //¹ÄÎèÀàÐÍ  
 | 
    WORD        InspireMaxLV;    //¹ÄÎèµÈ¼¶ÏÞÖÆ  
 | 
    char        MoneyCount;    //µ¥´ÎÏûºÄ½ðÇ®ÊýÁ¿  
 | 
};  
 | 
  
 | 
//µØÍ¼±êÊÔµãNPCˢР 
 | 
  
 | 
struct tagMapRefreshNPC  
 | 
{  
 | 
    DWORD        _MapID;    //µØÍ¼ID  
 | 
    BYTE        RefreshNum; //Ë¢¹Ö¹æÔò±àºÅ  
 | 
    list        NPCIDList;    //NPCIDÁÐ±í  
 | 
    list        RefreshMarkList;    //±êÊÔµãÁÐ±í  
 | 
    BYTE        PointMaxCount;    //µ¥¸öµã×î´ó´æÔÚ¹ÖÎïÊý  
 | 
    BYTE        TotalMaxCount;    //ËùÓеã×ܹÖÎïÊý  
 | 
    BYTE        RefreshSeconds;    //Ë¢¹Ö¼ä¸ôÃë  
 | 
    BYTE        RefreshPerMinutes;    //ÿÕûX·ÖË¢¹Ö  
 | 
};  
 | 
  
 | 
//·ûÓ¡ºÏ³É±í  
 | 
  
 | 
struct tagRuneCompound  
 | 
{  
 | 
    DWORD        _TagItemID;    //ºÏ³ÉµÄ·ûÓ¡ÎïÆ·ID  
 | 
    list        NeedItem; //ÐèÒªµÄÎïÆ·ID  
 | 
    WORD        NeedMJ;    //ÐèÒªµÄħ¾«ÊýÁ¿  
 | 
};  
 | 
  
 | 
//×ÊÔ´ÕÒ»Ø±í  
 | 
  
 | 
struct tagResourcesBack  
 | 
{  
 | 
    BYTE        _ID;    //ID  
 | 
    DWORD        RelatedID; //¹ØÁªÈÕ³£ÈÎÎñ±íID  
 | 
    BYTE        CanBackTimes;    //ÄÜ·ñÕһشÎÊý  
 | 
    BYTE        NormalCostJade; //°óÓñÕÒ»ØÆÕͨ´ÎÊý¼Û¸ñ  
 | 
    WORD        VipCostJade; //°óÓñÕÒ»ØVIP´ÎÊýÕһؼ۸ñ  
 | 
    dict        JadeReward; //°óÓñÕһؽ±Àø  
 | 
    DWORD        CostCopper; //ÍÇ®ÕÒ»ØÍÇ®ÏûºÄ  
 | 
    dict        CopperReward; //ÍÇ®Õһؽ±Àø  
 | 
    list        JobItemList; //Ö°ÒµÎïÆ·ÁÐ±í  
 | 
};  
 | 
  
 | 
//²É¼¯Îï±í  
 | 
  
 | 
struct tagCollectNPC  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    BYTE        IsMissionCollectNPC;    //ÊÇ·ñÈÎÎñ²É¼¯Îï  
 | 
    BYTE        PrepareTime;    //²É¼¯ºÄʱ£¬Ãë  
 | 
    list        LostHPPer;    //²É¼¯µôѪ£¬[ÿXÃë,µôѪ°Ù·Ö±È]  
 | 
    BYTE        MaxCollectCount;    //¿É²É¼¯´ÎÊý£¬0ÎÞÏÞÖÆ  
 | 
    BYTE        CollectResetType;    //²É¼¯´ÎÊýÖØÖÃÀàÐÍ£¬0-²»ÖØÖã¬1-ÿÈÕ5µãÖØÖà  
 | 
    char        CollectCountLimitNotify;    //Î޲ɼ¯´ÎÊý²É¼¯Ìáʾ  
 | 
    list        CollectAward;    //²É¼¯½±ÀøÎïÆ·£¬È¨ÖØÁбí [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...]  
 | 
    dict        CollectAppointAward;    //²É¼¯´ÎÊý¶¨ÖƲú³ö {´ÎÊý:[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...}  
 | 
    BYTE        AlchemyDiffLV;    //¹ýÂËÁ¶µ¤µÈ¼¶²î£¬0-²»¹ýÂË£¬>0¹ýÂË´óÓÚ×ÔÉíÁ¶µ¤µÈ¼¶X¼¶µÄÎïÆ·  
 | 
    BYTE        NotifyCollectResult;    //ÊÇ·ñ֪ͨ²É¼¯½á¹û  
 | 
    BYTE        CanBreakCollect;    //±»¹¥»÷ÊÇ·ñ´ò¶Ï²É¼¯  
 | 
};  
 | 
  
 | 
//±¦Ïä¹Ö±í  
 | 
  
 | 
struct tagTreasureNPC  
 | 
{  
 | 
    DWORD        _NPCID;    //±¦Ïä¹ÖNPCID  
 | 
    dict        AttackCountDropWeightInfo;    //¹¥»÷´ÎÊý¶ÔÓ¦µôÂäÈ¨ÖØ±ýͼ {´ÎÊý:[[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...], ...}  
 | 
    list        AttackDropWeightList;    //³£¹æ¹¥»÷È¨ÖØ±ýͼ [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...]  
 | 
    list        AttackDropWeightListEx;    //¶îÍâµôÂäÈ¨ÖØ±ýͼ¿â£¬Ã¿´Î¹¥»÷¶¼»áµôÂä  [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...]  
 | 
    BYTE        DropCountEx;    //¶îÍâ¿âÖ´ÐдÎÊý  
 | 
    BYTE        AlchemyDiffLV;    //¹ýÂËÁ¶µ¤µÈ¼¶²î£¬0-²»¹ýÂË£¬>0¹ýÂË´óÓÚ×ÔÉíÁ¶µ¤µÈ¼¶X¼¶µÄÎïÆ·  
 | 
    char        NotDropNotify;    //ûÓеôÂäʱÌáʾÐÅÏ¢  
 | 
};  
 | 
  
 | 
//±¦Ïä±í¿ªÆô  
 | 
  
 | 
struct tagChests  
 | 
{  
 | 
    DWORD        _ChestsItemID;    //±¦ÏäÎïÆ·ID  
 | 
    DWORD        CostItemID;        //ÏûºÄÎïÆ·ID  
 | 
    BYTE        CostItemCount;    //ÏûºÄÎïÆ·¸öÊý  
 | 
    WORD        CostGold;        //ÏûºÄÏÉÓñ  
 | 
    BYTE        ShowType;        //ǰ¶Ë±íÏÖÀàÐÍ0-ÎÞ±íÏÖ, >0ÓбíÏÖÐèͬ²½½á¹û£¬¾ßÌåÀàÐÍǰ¶Ë×Ô¶¨Òå  
 | 
    BYTE        IsBind;            //¿ª³öÎïÆ·ÊÇ·ñ°ó¶¨  
 | 
    BYTE        AucionItemCanSell;    //¿ª³öÅÄÆ·¿É·ñÉϼܼ¯ÊÐ  
 | 
};  
 | 
  
 | 
//±¦Ïä±í²ú³ö±í  
 | 
  
 | 
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ÁÐ±í  
 | 
    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 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        CanResetBuyCount;    //ÊÇ·ñÔÊÐíÖØÖôÎÊý  
 | 
    BYTE        TotalBuyCount;    //×ÜÏÞ¹º´ÎÊý  
 | 
    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;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    dict        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,ͬ¸öÄ£°åÖв»Öظ´  
 | 
    dict        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;    //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý  
 | 
    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;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    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 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 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  
 | 
};  
 | 
  
 | 
//¾Û»ê±í  
 | 
  
 | 
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;    //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý  
 | 
    char        Reward;    //½±ÀøÎïÆ·  
 | 
};  
 | 
  
 | 
//ÖïÏÉ×°±¸Ì××°ÊôÐﱒ  
 | 
  
 | 
struct tagZhuXianSuitAttr  
 | 
{  
 | 
    BYTE        _SuitType;    //Ì××°ÀàÐÍ  
 | 
    BYTE        _SuitLV;    //Ì××°µÈ¼¶  
 | 
    list        SuitAttrIDList;        //ÊôÐÔIDÁÐ±í  
 | 
    list        SuitAttrValueList;    //ÊôÐÔÖµÁÐ±í  
 | 
};  
 | 
  
 | 
//ÖïÏÉBOSS±í  
 | 
  
 | 
struct tagZhuXianBoss  
 | 
{  
 | 
    DWORD        NPCID;    //ID  
 | 
    BYTE        _LineID;  
 | 
    WORD        RealmLV;    //ÐèÒª¾³½ç  
 | 
    DWORD        ZhuXianScore;    //ÐèÒªÖïÏÉ×ÜÆÀ·Ö  
 | 
};  
 | 
  
 | 
  
 | 
//ÖïÏÉ×°±¸·Ö½â±í  
 | 
  
 | 
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,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...}  
 | 
};  
 | 
  
 | 
//ÖïÏɱ¦Ê¯¹²ÃùÊôÐﱒ  
 | 
  
 | 
struct tagZhuXianStoneAttr  
 | 
{  
 | 
    BYTE        _SuitType;    //Ì××°ÀàÐÍ  
 | 
    BYTE        _ShareSoneLV;    //¹²ÃùµÈ¼¶  
 | 
    list        AttrIDList;        //ÊôÐÔIDÁÐ±í  
 | 
    list        AttrValueList;    //ÊôÐÔÖµÁÐ±í  
 | 
};  
 | 
  
 | 
//ÐÒÔ˼ø±¦»î¶¯Ê±¼ä±í  
 | 
  
 | 
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 tagMysteryShop  
 | 
{  
 | 
    list        LVRange;    //µÈ¼¶·¶Î§  
 | 
    DWORD        GoodsID;    //É̳DZíID  
 | 
};  
 | 
  
 | 
//×°±¸Î»±³°üË÷ÒýÓ³Éä±í  
 | 
  
 | 
struct tagEquipPlaceIndexMap  
 | 
{  
 | 
    DWORD        GridIndex;    //±³°ü¸ñ×ÓË÷Òý  
 | 
    DWORD        _ClassLV;    //½×¼¶(ÎïÆ·±íLV×Ö¶Î)  
 | 
    DWORD        _EquipPlace;    //×°±¸Î»(ÎïÆ·±íEquipPlace×Ö¶Î)  
 | 
};  
 | 
  
 | 
//×°±¸ÉýÐÇ±í  
 | 
  
 | 
struct tagEquipStarUp  
 | 
{  
 | 
    BYTE        _ClassLV;    //½×¼¶  
 | 
    BYTE        _EquipPlace;    //×°±¸Î»  
 | 
    BYTE        _Star;    //ÐÇÊý  
 | 
    list        CostEquipPlace;    //¿ÉÓÃ×°±¸²¿Î»  
 | 
    BYTE        IsJobLimit;    //ÊÇ·ñÖ»Óñ¾Ö°Òµ×°±¸²ÄÁÏ  
 | 
    list        CostEquipColor;    //¿ÉÓÃ×°±¸Æ·ÖÊ  
 | 
    BYTE        CostEquipCnt;    //×°±¸ÊýÁ¿  
 | 
    BYTE        SuitTotalRate;    //È«Ì××°¼Ó³É¸ÅÂÊ(·ÇÌ×50%)  
 | 
    dict        CostItemDict;    //ÌØÊâ²ÄÁÏ  
 | 
    dict        StarAttrInfo;    //ÐǼ¶ÊôÐÔ  
 | 
    dict        BaseAttrInfo;    //»ù´¡ÊôÐÔÔö¼Ó  
 | 
};  
 | 
  
 | 
//×°±¸Ç¿»¯½ø»¯±í  
 | 
  
 | 
struct tagEquipPlusEvolve  
 | 
{  
 | 
    BYTE        _EquipPlace;    //×°±¸Î»  
 | 
    BYTE        _EvolveLV;    //½ø»¯µÈ¼¶  
 | 
    WORD        NeedPlusLV;    //ÐèҪǿ»¯µÈ¼¶  
 | 
    dict        CostItem;    //ÏûºÄ²ÄÁÏ  
 | 
    dict        Attr;    //ÊôÐÔ  
 | 
};  
 | 
  
 | 
//ÏÉÃËBoss½±Àø±í  
 | 
  
 | 
struct tagFamilyBossAward  
 | 
{  
 | 
    list        WorldLV;    //ÊÀ½çµÈ¼¶  
 | 
    list        Rank;    //ÅÅÃû  
 | 
    list        Award1;    //½±Àø [[¶ÀÁ¢¸ÅÂÊÍò·ÖÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]],..]  
 | 
    dict        Award2;    //±ýͼ½±Àø{Ëæ»ú´ÎÊý:[(¸ÅÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..]}  
 | 
};  
 | 
  
 | 
//×°±¸Ï´Á·µÈ¼¶ÉÏÏÞ  
 | 
  
 | 
struct tagItemWashMax  
 | 
{  
 | 
    BYTE        _Type;        //°´×°±¸Î»¶ÔÓ¦ÀàÐͲéÕÒ  
 | 
    BYTE        _Star;    // ×°±¸ÐÇÊý  
 | 
    WORD        LevelMax;    //Ï´Á·µÈ¼¶ÉÏÏÞ  
 | 
};  
 | 
  
 | 
//Æï³èBoss½±Àø±í  
 | 
  
 | 
struct tagHorsePetBossAward  
 | 
{  
 | 
    BYTE        _LineID;    // Ïß·ID  
 | 
    list        WorldLV;    //ÊÀ½çµÈ¼¶  
 | 
    list        Rank;    //ÅÅÃû  
 | 
    list        Award1;    //½±Àø [[¶ÀÁ¢¸ÅÂÊÍò·ÖÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]],..]  
 | 
    list        Award2;    //±ýͼ½±Àø  [[(¸ÅÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..]]  
 | 
};  
 | 
  
 | 
//çÎç¿ÏÉÓò±í  
 | 
  
 | 
struct tagFairyDomain  
 | 
{  
 | 
    WORD        _ID;    //ʼþ±àºÅ  
 | 
    BYTE        EventType;    //ʼþÀàÐÍ  
 | 
    DWORD        MapID;    //¸±±¾id  
 | 
    BYTE        LineID;    //¸±±¾Ïß·id  
 | 
    DWORD        BossID;    //¸±±¾BossID  
 | 
    BYTE        EventFBType;    //ʼþ¸±±¾ÀàÐÍ£¬0-ǰ¶Ë£¬1-±¾·þ£¬2-¿ç·þ  
 | 
    BYTE        CostEnergy;    //ÏûºÄÌåÁ¦  
 | 
    BYTE        NeedAlchemyLV;    //³öÏÖµÄÁ¶µ¤µÈ¼¶ÒªÇó  
 | 
    list        NeedLV;    //³öÏÖµÄÍæ¼ÒµÈ¼¶ÒªÇó  
 | 
    DWORD        Weight;    //È¨ÖØ  
 | 
    DWORD        HourCntPriLimit;    //¸öÈËÿСʱ´ÎÊýÏÞÖÆ  
 | 
    DWORD        DayCntPriLimit;    //¸öÈËÿÌì´ÎÊýÏÞÖÆ  
 | 
};  
 | 
  
 | 
//çÎç¿ÆæÓö±í  
 | 
  
 | 
struct tagFairyAdventures  
 | 
{  
 | 
    WORD        _ID;    //ΨһID  
 | 
    DWORD        OpenServerDay;    //¿ª·þÌì  
 | 
    BYTE        EventID;    //ʼþ±àºÅ  
 | 
    list        Condition;    //Ìõ¼þ  
 | 
    list        GearAward;    //µµÎ»½±Àø  
 | 
    list        BasicAward;    //±£µ×½±Àø  
 | 
};  
 | 
  
 | 
//çÎç¿ÏÉÓò¶¨ÖÆ±í  
 | 
  
 | 
struct tagFairyDomainAppoint  
 | 
{  
 | 
    WORD        _Cnt;    //´ÎÊý  
 | 
    DWORD        EventID;    //ʼþ±àºÅ  
 | 
    list        Award;    //¶¨Öƽ±Àø£¨Ã»Åä×ßÕý³£½±Àø¹æÔò£©[[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·],..]  
 | 
    list        RandomAward;    //Ëæ»ú½±Àø [[(È¨ÖØ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..],..]  
 | 
};  
 | 
  
 | 
//¸±±¾Buff±í  
 | 
  
 | 
struct tagFBBuyBuff  
 | 
{  
 | 
    DWORD        _MapId;    //  
 | 
    WORD        _MoneyCnt;    //ÏÉÓñÊýÁ¿  
 | 
    DWORD        BuffID;    //BuffID  
 | 
    WORD        BuffCD;    //¼ä¸ôʱ¼äs  
 | 
};  
 | 
  
 | 
//¼¼ÄÜÉý¼¶±í  
 | 
  
 | 
struct tagSkillElement  
 | 
{  
 | 
    DWORD        _ElementSkillID;    //ר¾«¼¼ÄÜID  
 | 
    DWORD        MainSkillID;    //Ö÷¼¼ÄÜID  
 | 
    DWORD        NeedLV;    //Ñ¡ÔñÐèÒªµÈ¼¶  
 | 
};  
 | 
  
 | 
//ÌìÐÇËþ±í  
 | 
  
 | 
struct tagSkyTower  
 | 
{  
 | 
    DWORD        _FloorID;    //²ã  
 | 
    DWORD        BossID;    //bossID  
 | 
    dict        Reward;    //½±Àø  
 | 
    WORD        NeedLV;    //ÒªÇóµÈ¼¶  
 | 
    DWORD        FightPower;    //ÍÆ¼öÕ½Á¦  
 | 
    BYTE        IsNotify;    //ÊÇ·ñ¹ã²¥  
 | 
}; 
 |