//³ÆºÅ±í #tagDienstgrad  
 | 
  
 | 
struct    tagDienstgrad  
 | 
{  
 | 
    DWORD        _ID;    //Í·ÏÎid  
 | 
    WORD        Type;    //Í·ÏÎÀàÐÍ  
 | 
    DWORD        ExpireTime;    //ÓÐЧʱ¼ä  
 | 
    list        LightType;    //µãÁÁÊôÐÔÀàÐÍ  
 | 
    list        LightAttribute;    //µãÁÁÊôÐÔÖµ  
 | 
    list        Skills;        //±»¶¯¼¼ÄÜ  
 | 
};  
 | 
  
 | 
//³ÆºÅÉýÐÇ±í  
 | 
  
 | 
struct tagTitleStarUp  
 | 
{  
 | 
    DWORD        _TitleID;    //³ÆºÅNPCID  
 | 
    BYTE        _TitleStar;    //³ÆºÅÐǼ¶  
 | 
    list        StarUpNeedItemList;    //ÉýÏÂÒ»ÐÇËùÐèµÀ¾ß [[ÎïÆ·ID,¸öÊý], ...]  
 | 
    list        StarAttrType;    //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ  
 | 
    list        StarAttrValue;    //ÀÛ¼Æ×ÜÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
//Áé¸ù±í #tagRolePoint  
 | 
  
 | 
struct    tagRolePoint  
 | 
{  
 | 
    BYTE        _AttrID;    //ÊôÐÔID  
 | 
    dict        AddAttrInfoPerPoint;    //ÿµãÔö¼ÓÊôÐÔÐÅÏ¢ {"Ö°Òµ":[[ÿXµã,ÊôÐÔID,Öµ], ...], ..}  
 | 
    BYTE        FightPowerPerPoint;        //ÿµã¸½¼ÓÕ½¶·Á¦  
 | 
    dict        PointQualityAttrDict;        //µãÊýÆ·Öʽø½×Ôö¼ÓÊôÐÔ,  {Ö°Òµ:{ÊôÐÔID:[½×¶ÎÊôÐÔ,..],..},..}  
 | 
    list        PointQualityIntervalList;        //µãÊýÆ·Öʽø½×ÊôÐÔµãÇø¼äÁÐ±í  
 | 
};  
 | 
  
 | 
//ÁéÆ÷ÊôÐÔ±í #tagLingQiAttr  
 | 
  
 | 
struct    tagLingQiAttr  
 | 
{  
 | 
    BYTE        _ItemID;    //ÊôÐÔID  
 | 
    list        LingQiAttrID;        //ÁéÆ÷ÊôÐÔID  
 | 
    list        LingQiAttrValue;        //ÁéÆ÷ÊôÐÔÊýÖµ  
 | 
    DWORD        LingQiAttrScore;    //ÁéÆ÷ÊôÐÔÆÀ·Ö  
 | 
    dict        UpCostItem;    //Í»ÆÆÐèÒª²ÄÁÏ  
 | 
    DWORD        NextItemID;    //Í»ÆÆºóÎïÆ·ID  
 | 
};  
 | 
  
 | 
//ÁéÆ÷ÅàÑø±í  
 | 
  
 | 
struct tagLingQiTrain  
 | 
{  
 | 
    BYTE        _EquipPlace;    //ÁéÆ÷×°±¸Î»  
 | 
    BYTE        _TrainType;    //ÅàÑøÀàÐÍ  
 | 
    BYTE        _TrainLV;    //ÅàÑøµÈ½×  
 | 
    WORD        NeedRealmLV;    //ÅàÑøËùÐè¾³½ç  
 | 
    DWORD        EatCntTotal;    //Éý½×ËùÐè¸öÊý£¨·ÇÀۼƣ©  
 | 
    DWORD        EatCntEverytime;    //ÿ´ÎÅàÑøÏûºÄx¸ö  
 | 
    list        EatItemAttrTypeList;    //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ=EatCntEverytime  
 | 
    list        EatItemAttrValueList;    //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ=EatCntEverytime  
 | 
    list        LVAttrTypeList;    //ÿ¼¶¶îÍâÊôÐÔÀࣨ·ÇÀÛ»ý£©  
 | 
    list        LVAttrValueList;    //ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£©  
 | 
};  
 | 
  
 | 
//¾³½çÐÞÏÉ֮·  
 | 
  
 | 
struct    tagRealmXXZL  
 | 
{  
 | 
    WORD        _TaskID;    //ÈÎÎñID  
 | 
    BYTE        TaskType;    //ÈÎÎñÀàÐÍ  
 | 
    DWORD        NeedValue;    //ËùÐèÈÎÎñÖµ  
 | 
    list        AwardItemList;    //½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//¾³½ç±í #tagRealm  
 | 
  
 | 
struct    tagRealm  
 | 
{  
 | 
    WORD        _Lv;    //¾³½çµÈ¼¶  
 | 
    BYTE        LvLarge;    //´ó¾³½ç  
 | 
    DWORD        NeedLV;    //ÐèÒªµÈ¼¶  
 | 
    DWORD        NeedItemID;    //ÐèÒªµÀ¾ßID  
 | 
    WORD        NeedItemCnt;    //ÏûºÄµÄµÀ¾ßÊýÁ¿  
 | 
    list        NeedEquip;    //ÐèÒª8²¿Î»×°±¸Ìõ¼þ½×¼¶|Æ·ÖÊ|ÊÇ·ñÌ××°  
 | 
    list        AddAttrType;    //¾³½ç¼Ó³ÉÊôÐÔÀàÐÍ      
 | 
    list        AddAttrNum;    //¾³½ç¼Ó³ÉÊôÐÔÖµ  
 | 
    DWORD        BossID;    //¶É½Ùbossid  
 | 
    DWORD        BuffID;    //¸øÈ«·þÔÚÏßÍæ¼ÒÔö¼Óbuff  
 | 
    DWORD        ExpRate;    //ÐÞΪ³Ø¾ÑéËÙÂÊ  
 | 
    DWORD        ExpLimit;    //ÐÞΪ³Ø¾ÑéÉÏÏÞ  
 | 
    dict        LearnSkillIDInfo;    //ѧϰ¼¼ÄÜIDÐÅÏ¢ {"Ö°Òµ":[¼¼ÄÜID, ...], ...}  
 | 
    BYTE        AddFreePoint;    //Ôö¼Ó×ÔÓÉÊôÐ﵋  
 | 
};  
 | 
  
 | 
//¾³½çËþ±í  
 | 
  
 | 
struct tagRealmTower  
 | 
{  
 | 
    DWORD        _FloorID;    //²ã  
 | 
    WORD        NeedRealmLV;    //ËùÐè¾³½ç  
 | 
    DWORD        BossID;    //BossID  
 | 
    list        RewardItemList;    //½±ÀøÎïÆ·ÁÐ±í  
 | 
};  
 | 
  
 | 
//¾³½çÁ¶ÌåÊôÐﱒ  
 | 
  
 | 
struct tagLianTi  
 | 
{  
 | 
    BYTE        _LianTiLV;    //Á¶ÌåµÈ¼¶  
 | 
    list        FixedAttrType;    //¹Ì¶¨ÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£©  
 | 
    list        FixedAttrValue;    //¹Ì¶¨ÊôÐÔÖµ£¨·ÇÀÛ»ý£©  
 | 
    list        PlusAttrType;    //ÔöÇ¿ÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£©  
 | 
    list        PlusAttrRate;    //ÔöÇ¿ÊôÐÔÍò·ÖÂÊ£¨·ÇÀÛ»ý£©  
 | 
    list        EatItemAttrType;    //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount  
 | 
    list        EatItemAttrValue;    //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount  
 | 
    WORD        NeedEatCount;    //Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ©  
 | 
    WORD        EatPerCount;    //ÿ´ÎÅàÑøÏûºÄx¸ö  
 | 
    list        LVUpCostItemInfo;    //Í»ÆÆµÈ¼¶µÀ¾ßID|¸öÊý  
 | 
    DWORD        ActivateSkillID;    //¼¤»î¼¼ÄÜID  
 | 
};  
 | 
  
 | 
//Éñ±ø±í #tagGodWeapon  
 | 
  
 | 
struct    tagGodWeapon  
 | 
{  
 | 
    WORD        _Type;    //Éñ±øÀàÐÍ  
 | 
    WORD        _LV;    //µÈ¼¶  
 | 
    DWORD        Exp;  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    list        AttrNum;    //ÊôÐÔÖµ  
 | 
    DWORD        SkillID;    //¼¤»î¼¼ÄÜID  
 | 
    char        SysMark;    //ϵͳÌáʾ  
 | 
};  
 | 
  
 | 
//¹¦ÄÜÅäÖñí¸ñ #tagFuncConfig  
 | 
  
 | 
struct    tagFuncConfig  
 | 
{  
 | 
    char        _Key;    //±êʶ  
 | 
    char        Numerical1;    //Êý¾Ý1  
 | 
    char        Numerical2;    //Êý¾Ý2  
 | 
    char        Numerical3;    //Êý¾Ý3  
 | 
    char        Numerical4;    //Êý¾Ý4  
 | 
    char        Numerical5;    //Êý¾Ý5  
 | 
};  
 | 
  
 | 
//µÈ¼¶¿ªÆô¹¦ÄÜ #tagFuncOpenLV  
 | 
  
 | 
struct    tagFuncOpenLV  
 | 
{  
 | 
    DWORD        _FuncId;    //¹¦Äܱêʶ  
 | 
    DWORD        LimitLV;    //¿ªÆôµÈ¼¶  
 | 
    DWORD        LimitMagicWeapon;    //ÐèÒª½âËø·¨±¦ID  
 | 
    WORD        LimiRealmLV;    //ÐèÒª¾³½çµÈ¼¶  
 | 
    DWORD        LimitMissionID;    //ÐèÒªÍê³ÉµÄÈÎÎñID  
 | 
    BYTE        LimitVIPLV;    //ÐèÒªVIPµÈ¼¶  
 | 
    char        MailKey;    //Óʼþ  
 | 
};  
 | 
  
 | 
  
 | 
//ºÏ³É±í #tagItemCompound  
 | 
  
 | 
struct    tagItemCompound  
 | 
{  
 | 
    WORD        _ID;    //ºÏ³ÉÅäÖñàºÅID  
 | 
    BYTE        ComposeGroup;    //ºÏ³É¹é×éÀàÐÍ  
 | 
    list        MakeID;    //¿ÉºÏ³ÉµÄµÀ¾ßID£¬¶à¸öÔòËæ»úÒ»¸ö  
 | 
    BYTE        IsFirstSuccMakeJobItem;    //Ê״γɹ¦ÊÇ·ñ±Ø³ö±¾Ö°Òµ  
 | 
    list        UnfixedItemID;    //²»¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱÔòÈÎÒâÒ»ÖÖ¾ù¿É  
 | 
    BYTE        UnfixedItemCount;    //²»¹Ì¶¨µÀ¾ßÏûºÄÊýÁ¿  
 | 
    list        FixedItemID;    //ÏûºÄ¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱ´ú±íÿ¸öID¾ùÐèÏûºÄ  
 | 
    list        FixedItemCount;    //ÏûºÄ¹Ì¶¨µÀ¾ßÊýÁ¿£¬Ã¿¸öID¶ÔÓ¦ÊýÁ¿  
 | 
    DWORD        NeedMoney;    // ÏûºÄÍÇ®  
 | 
    WORD        SuccessRate;    // ³É¹¦ÂÊÍò·ÖÂÊ  
 | 
    WORD        SuccessRateMax;    // ×î´ó³É¹¦ÂÊÍò·ÖÂÊ  
 | 
    list        SuccessRateIncrease;    //Ìá¸ß³É¹¦ÂʵÀ¾ß, µÀ¾ßID|¸öÊý|Ìá¸ßµÄ¸ÅÂÊ  
 | 
    BYTE        AddonsCountMax;    //×î´ó¿É¸½¼Ó²ÄÁÏÊý, Ôö¼Ó¸ÅÂÊÓÃ, ·Ç±ØÐë, 0´ú±í²»¿É¸½¼Ó²ÄÁÏ  
 | 
    char        SysMark;    //Ìáʾmark  
 | 
    BYTE        SysMarkParamType;    //ϵͳÌáʾ²ÎÊý×éºÏÀàÐÍ  
 | 
};  
 | 
  
 | 
  
 | 
//ÎïÆ·Ç¿»¯Ð§¹û±í  
 | 
  
 | 
struct tagItemPlus  
 | 
{  
 | 
    BYTE        _Type;    //Ç¿»¯ÀàÐÍ  
 | 
    WORD        _LV;    //Ç¿»¯µÈ¼¶  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    list        AttrValue;    //ÊôÐÔÖµ  
 | 
    DWORD        CostCount;    //ÏûºÄÍÇ®  
 | 
    list        CostItemInfo;    //ÏûºÄÎïÆ·²ÄÁϼ°¸öÊý [itemID, itemCount]  
 | 
    DWORD        AddExp;    //ÌáÉýÊìÁ·¶ÈÖµ  
 | 
    DWORD        TotalExp;    //Éý¼¶ËùÐèÊìÁ·¶È×ÜÖµ  
 | 
};  
 | 
  
 | 
//×°±¸×Ü±í  
 | 
  
 | 
struct tagEquipControl  
 | 
{  
 | 
    BYTE        ClassLV;    //½×  
 | 
    BYTE        NeedRealmLV;    //ÐèÒªµÄ¾³½ç  
 | 
};  
 | 
  
 | 
//×°±¸Ç¿»¯´óʦ±í  
 | 
  
 | 
struct tagItemPlusMaster  
 | 
{  
 | 
    BYTE        _ClassLV;    //½×  
 | 
    WORD        MasterPlusLV;    //´óʦǿ»¯µÈ¼¶  
 | 
    list        MasterPlusAttrIDList;    //¼¤»îÊôÐÔÀàÐÍÁÐ±í  
 | 
    list        MasterPlusAttrValueList;    //¼¤»îÊôÐÔÖµÁÐ±í  
 | 
};  
 | 
  
 | 
//×°±¸Ç¿»¯µÈ¼¶ÉÏÏÞ  
 | 
  
 | 
struct tagItemPlusMax  
 | 
{  
 | 
    BYTE        _Type;    //Ç¿»¯ÀàÐÍ  
 | 
    BYTE        _ClassLV;    //½×  
 | 
    WORD        PlusLVMax;    //×î´óÇ¿»¯µÈ¼¶  
 | 
};  
 | 
  
 | 
//×°±¸È«ÉíÐÇÊýÊôÐÔ  
 | 
  
 | 
struct tagRoleEquipStars  
 | 
{  
 | 
    BYTE        _StarsNeed;    //È«ÉíÐÇÊý  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    list        AttrValue;    //ÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
//×°±¸´«ÆæÊôÐÔÌõÊý±í  
 | 
  
 | 
struct tagEquipLegendAttrCount  
 | 
{  
 | 
    BYTE        _ItemType;    //ÎïÆ·ÀàÐÍ  
 | 
    BYTE        _ItemColor;    //ÎïÆ·ÑÕÉ«  
 | 
    BYTE        _IsSuit;    //ÊÇ·ñÌ××°  
 | 
    BYTE        _ItemQuality;    //ÎïÆ·ÐǼ¶  
 | 
    list        LegendAttrCountInfo;    //´«ÆæÊôÐÔÌõÊýÐÅÏ¢ [[ÌõÊý, [ÊôÐÔÀàÐÍ¿â±àºÅ, ...]], ...]  
 | 
};  
 | 
  
 | 
//×°±¸´«ÆæÊôÐÔÀàÐ걒  
 | 
  
 | 
struct tagEquipLegendAttrType  
 | 
{  
 | 
    BYTE        _ItemType;    //ÎïÆ·ÀàÐÍ  
 | 
    dict        LegendAttrTypeLib;    //´«ÆæÊôÐÔÀàÐÍ¿â {ÊôÐÔÀàÐÍ¿â±àºÅ:[ÊôÐÔID,...], ...}  
 | 
};  
 | 
  
 | 
//×°±¸´«ÆæÊôÐÔÖµ¿â±í  
 | 
  
 | 
struct tagEquipLegendAttrLib  
 | 
{  
 | 
    BYTE        _LegendAttrID;    //´«ÆæÊôÐÔID  
 | 
    dict        LegendAttrLib;    //ÊôÐÔ¿âÐÅÏ¢ {¿â±àºÅ:[Ëæ»úÊýÖµ, ...], ...}  
 | 
};  
 | 
  
 | 
//×°±¸´«ÆæÊôÐԵȼ¶ÊýÖµ±í  
 | 
  
 | 
struct tagEquipLegendAttrValue  
 | 
{  
 | 
    BYTE        _ItemType;    //ÎïÆ·ÀàÐÍ  
 | 
    BYTE        _ItemClassLV;    //ÎïÆ·½×¼¶  
 | 
    BYTE        _ItemColor;    //ÎïÆ·ÑÕÉ«  
 | 
    BYTE        _IsSuit;    //ÊÇ·ñÌ××°  
 | 
    BYTE        _ItemQuality;    //ÎïÆ·ÐǼ¶  
 | 
    dict        LVLegendAttrLibNumInfo;    //ÊôÐÔIDµÈ¼¶¶Î¶ÔÓ¦ÊýÖµ¿â±àºÅ {ÊôÐÔID:{µÈ¼¶:¿â±àºÅ, ...}}  
 | 
};  
 | 
  
 | 
//ÉñÊÞ±í  
 | 
  
 | 
struct tagDogz  
 | 
{  
 | 
    BYTE        _DogzID;    //ÉñÊÞID  
 | 
    list        BaseAttrTypes;    //»ù´¡ÊôÐÔÀàÐÍÁÐ±í  
 | 
    list        BaseAttrValues;    //»ù´¡ÊôÐÔÖµÁÐ±í  
 | 
    list        HelpBattleSkills;    //ÖúÕ½¼¼ÄÜIDÁÐ±í  
 | 
    DWORD        FightPowerEx;    //ÖúÕ½¸½¼ÓÕ½Á¦  
 | 
    list        EquipPlaceColorList;    //´©´÷×°±¸ÑÕÉ«ÏÞÖÆ  
 | 
    list        HelpBattleNotify;    //ÖúÕ½¹ã²¥ ["¹ã²¥key",[²ÎÊý1,²ÎÊý2,...],¹ã²¥CD·ÖÖÓ]  
 | 
};  
 | 
  
 | 
//ÉñÊÞÇ¿»¯±í  
 | 
  
 | 
struct tagDogzEquipPlus  
 | 
{  
 | 
    BYTE        _EquipPlace;    //×°±¸Î»  
 | 
    BYTE        _PlusLV;    //Ç¿»¯µÈ¼¶  
 | 
    list        PlusAttrTypes;    //Ç¿»¯ÊôÐÔÀàÐÍÁÐ±í  
 | 
    list        PlusAttrValues;    //Ç¿»¯ÊôÐÔÖµÁÐ±í  
 | 
    DWORD        PlusLVUPTotalExp;    //Éý¼¶ËùÐèÀÛ¼ÆÊìÁ·¶È×ÜÖµ  
 | 
};  
 | 
  
 | 
//·ûÓ¡±í  
 | 
  
 | 
struct tagRune  
 | 
{  
 | 
    DWORD        _ID;    //±àºÅID  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    DWORD        TowerID;    //½âËø·ûÓ¡Ëþ±àºÅ  
 | 
};  
 | 
  
 | 
  
 | 
//Ï´Á·±í #tagEquipWash  
 | 
  
 | 
struct    tagEquipWash  
 | 
{  
 | 
    BYTE        _WashType;    // ×°±¸¹é×éÀàÐÍ  
 | 
    BYTE        _WashLV;    // Ï´Á·µÈ¼¶  
 | 
    BYTE        AttrType1;    // ÊôÐÔ1ÀàÐÍ  
 | 
    DWORD        AttrMax1;    // ÊôÐÔ1µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ  
 | 
    dict        AttrRandDict1;    // ÊôÐÔ1Ëæ»ú·¶Î§  
 | 
    DWORD        AttrCostGoldMin1;    // ÊôÐÔ1ÏÉÓñÏ´Á·ÏÂÏÞÖµ  
 | 
    DWORD        AttrCostGoldMax1;    // ÊôÐÔ1ÏÉÓñÏ´Á·ÉÏÏÞÖµ  
 | 
    BYTE        AttrType2;    // ÊôÐÔ2ÀàÐÍ  
 | 
    DWORD        AttrMax2;    // ÊôÐÔ2µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ  
 | 
    dict        AttrRandDict2;    // ÊôÐÔ2Ëæ»ú·¶Î§  
 | 
    DWORD        AttrCostGoldMin2;    // ÊôÐÔ2ÏÉÓñÏ´Á·ÏÂÏÞÖµ  
 | 
    DWORD        AttrCostGoldMax2;    // ÊôÐÔ2ÏÉÓñÏ´Á·ÉÏÏÞÖµ  
 | 
    BYTE        AttrType3;    // ÊôÐÔ3ÀàÐÍ  
 | 
    DWORD        AttrMax3;    // ÊôÐÔ3µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ  
 | 
    dict        AttrRandDict3;    // ÊôÐÔ3Ëæ»ú·¶Î§  
 | 
    DWORD        AttrCostGoldMin3;    // ÊôÐÔ3ÏÉÓñÏ´Á·ÏÂÏÞÖµ  
 | 
    DWORD        AttrCostGoldMax3;    // ÊôÐÔ3ÏÉÓñÏ´Á·ÉÏÏÞÖµ  
 | 
    DWORD        CostItemID;        // ¹Ì¶¨ÏûºÄÎïÆ·ID  
 | 
    BYTE        CostItemCount;    // ¹Ì¶¨ÏûºÄÎïÆ·¸öÊý  
 | 
    list        GoldWashCostList;    // ÏÉÓñÏ´Á·ÌõÊý¶ÔÓ¦ÏûºÄ  
 | 
};  
 | 
  
 | 
  
 | 
//ÊôÐÔ¹ûʵ±í  
 | 
  
 | 
struct tagAttrFruit  
 | 
{  
 | 
    DWORD        _ID;    //ÎïÆ·ID  
 | 
    BYTE        FuncID;    //ËùÊô¹¦ÄÜID  
 | 
    dict        MaxUseCnt;    //¾³½ç¶ÔÓ¦×î´ó¿ÉʹÓÃÊýÁ¿  
 | 
    list        AddItemInfo;    //[Ôö·ùµ¤ID,µ¥´ÎÎïÆ·ÊýÁ¿,µ¥´ÎÔö¼ÓÉÏÏÞ]  
 | 
    WORD        RecycleMoney;    //»ØÊÕ»õ±ÒÖµ  
 | 
    DWORD        FightPowerEx;    //¸½¼ÓÕ½¶·Á¦  
 | 
};  
 | 
  
 | 
  
 | 
//ÁéÊÞ±í  
 | 
  
 | 
struct tagPetInfo  
 | 
{  
 | 
    DWORD        _ID;    //ÁéÊÞNPCID  
 | 
    BYTE        Quality;    //Æ·ÖÊ  
 | 
    char        UnlockSys;    //½âËø¹ã²¥Ìáʾ  
 | 
    DWORD        UnLockNeedItemID;    //½âËøÁéÊÞÎïÆ·ID  
 | 
    BYTE        UnLockNeedItemCnt;    //½âËøËùÐèÎïÆ·ÊýÁ¿  
 | 
    DWORD        DecomposeExp;    //·Ö½âµ¥¸ö½âËøÎïÆ·¿É»ñµÃÉý½×¾Ñé  
 | 
    BYTE        InitRank;    //ÁéÊÞ³õʼ½×Êý  
 | 
    WORD        MaxRank;    //ÁéÊÞ×î¸ß½×Êý  
 | 
    WORD        UseNeedRank;    //¶àÉٽ׿ÉÇл»Íâ¹Û  
 | 
    list        SkillID;    //ÁéÊÞ¼¼ÄÜID  
 | 
    list        SkillUnLock;    //ÁéÊÞ¼¼ÄܽâËøÐèÒª½×Êý  
 | 
    list        SkillUnLockSys;    //ÁéÊÞ¼¼ÄܽâËøÌáʾ  
 | 
    DWORD        InitFightPower;    //³õʼսÁ¦  
 | 
};  
 | 
  
 | 
//Áé³èÉýÐÇ±í  
 | 
  
 | 
struct tagPetStarUp  
 | 
{  
 | 
    DWORD        _PetNPCID;    //ÁéÊÞNPCID  
 | 
    BYTE        _PetStar;    //ÁéÊÞÐǼ¶  
 | 
    list        StarUpNeedItemList;    //ÉýÏÂÒ»ÐÇËùÐèµÀ¾ß [[ÎïÆ·ID,¸öÊý], ...]  
 | 
    list        StarAttrType;    //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ  
 | 
    list        StarAttrValue;    //ÀÛ¼Æ×ÜÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
//Áé³èÅàÑø±í  
 | 
  
 | 
struct tagPetTrain  
 | 
{  
 | 
    BYTE        _TrainType;    //ÅàÑøÀàÐÍ  
 | 
    BYTE        _TrainLV;    //ÅàÑøµÈ½×  
 | 
    WORD        NeedRealmLV;    //ÅàÑøËùÐè¾³½ç  
 | 
    DWORD        EatCntTotal;    //Éý½×ËùÐè¸öÊý£¨·ÇÀۼƣ©  
 | 
    DWORD        EatCntEverytime;    //ÿ´ÎÅàÑøÏûºÄx¸ö  
 | 
    list        EatItemAttrTypeList;    //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ=EatCntEverytime  
 | 
    list        EatItemAttrValueList;    //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ=EatCntEverytime  
 | 
    list        LVAttrTypeList;    //ÿ¼¶¶îÍâÊôÐÔÀࣨ·ÇÀÛ»ý£©  
 | 
    list        LVAttrValueList;    //ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£©  
 | 
};  
 | 
  
 | 
//×°±¸·Ö½âÊôÐﱒ  
 | 
  
 | 
struct tagEquipDecompose  
 | 
{  
 | 
    WORD        _LV;    //µÈ¼¶  
 | 
    DWORD        UpNeedExp;    //Éý¼¶ËùÐè¾ÑéÊý  
 | 
    dict        Attr;    //ÊôÐÔ¼Ó³É  
 | 
};  
 | 
  
 | 
  
 | 
//ÁéÊÞÉý½×ÏûºÄ±í  
 | 
  
 | 
struct tagPetClassCost  
 | 
{  
 | 
    DWORD        _PetID;    //ÁéÊÞNPCID  
 | 
    DWORD        _Class;    //ÁéÊÞ½×Êý  
 | 
    DWORD        UpNeedExp;    //ÁéÊÞÉý½×ËùÐè¾ÑéÊý  
 | 
    DWORD        AtkAdd;    //ÿ½×¹¥»÷Á¦¼Ó³É  
 | 
};  
 | 
  
 | 
  
 | 
//ÁéÊÞÎüÊÕ×°±¸±í  
 | 
  
 | 
struct tagPetEatEquip  
 | 
{  
 | 
    BYTE        _EquipColor;    //×°±¸Æ·ÖÊ  
 | 
    BYTE        _EquipClass;    //×°±¸½×Êý  
 | 
    DWORD        Exp;    //»ñµÃÁéÊÞÉý¼¶¾Ñé  
 | 
    DWORD        FamilyStoreItemScore;    //ÏÉÃ˱¦¿â»ý·Ö  
 | 
};  
 | 
  
 | 
//·¨Æ÷Éý¼¶±í  
 | 
  
 | 
struct tagFaQiLVUp  
 | 
{  
 | 
    BYTE        _FaQiLV;    //·¨Æ÷µÈ¼¶  
 | 
    WORD        NeedEatCount;    //Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ©  
 | 
    list        LVAttrType;    //ÿ¼¶¶îÍâÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£©  
 | 
    list        LVAttrValue;    //ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£©  
 | 
    list        UpItemAttrType;    //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount  
 | 
    list        UpItemAttrValue;    //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount  
 | 
    DWORD        UpEatItemPerCount;    //ÿ´ÎÅàÑøÏûºÄx¸ö  
 | 
};  
 | 
  
 | 
//×øÆïÉý¼¶±í  
 | 
  
 | 
struct tagHorseLVUp  
 | 
{  
 | 
    BYTE        _HorseLV;    //×øÆïµÈ¼¶  
 | 
    DWORD        HorseSkinID;    //Íâ¹ÛÎïÆ·ID  
 | 
    WORD        NeedEatCount;    //Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ©  
 | 
    list        LVAttrType;    //ÿ¼¶¶îÍâÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£©  
 | 
    list        LVAttrValue;    //ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£©  
 | 
    list        UpItemAttrType;    //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount  
 | 
    list        UpItemAttrValue;    //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount  
 | 
    DWORD        UpEatItemPerCount;    //ÿ´ÎÅàÑøÏûºÄx¸ö  
 | 
};  
 | 
  
 | 
//×øÆïÅàÑø±í  
 | 
  
 | 
struct tagHorseTrain  
 | 
{  
 | 
    BYTE        _TrainType;    //ÅàÑøÀàÐÍ  
 | 
    BYTE        _TrainLV;    //ÅàÑøµÈ½×  
 | 
    WORD        NeedRealmLV;    //ÅàÑøËùÐè¾³½ç  
 | 
    DWORD        EatCntTotal;    //Éý½×ËùÐè¸öÊý£¨·ÇÀۼƣ©  
 | 
    DWORD        EatCntEverytime;    //ÿ´ÎÅàÑøÏûºÄx¸ö  
 | 
    list        EatItemAttrTypeList;    //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ=EatCntEverytime  
 | 
    list        EatItemAttrValueList;    //ÿX¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ=EatCntEverytime  
 | 
    list        LVAttrTypeList;    //ÿ¼¶¶îÍâÊôÐÔÀࣨ·ÇÀÛ»ý£©  
 | 
    list        LVAttrValueList;    //ÿ¼¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£©  
 | 
};  
 | 
  
 | 
//×øÆï»Ã»¯±í  
 | 
  
 | 
struct tagHorseSkinPlus  
 | 
{  
 | 
    BYTE        _ID;    //»Ã»¯±àºÅID  
 | 
    DWORD        HorseSkinPlusID;    //Íâ¹ÛÎïÆ·ID  
 | 
    DWORD        UnlockItemID;    //½âËø×øÆïÎïÆ·±àºÅ  
 | 
    BYTE        UnlockItemCnt;    //½âËøËùÐèÎïÆ·ÊýÁ¿  
 | 
    list        AttrType;    //¼¤»î¼Ó³ÉÊôÐÔÀàÐÍ  
 | 
    list        AttrValue;    //¼¤»î¼Ó³ÉÊôÐÔÖµ  
 | 
    DWORD        InitFightPower;    //Ƥ·ô¶îÍâÕ½Á¦  
 | 
    DWORD        HorseID;    //¶ÔӦ׸ÆïID  
 | 
    DWORD        SkinValidTime;    //ÓÐЧʱ³¤Ãë  
 | 
};  
 | 
  
 | 
//×øÆï±í  
 | 
  
 | 
struct tagHorse  
 | 
{  
 | 
    DWORD        _HorseID;    //×øÆïID  
 | 
    DWORD        HorseSkinID;    //Íâ¹ÛÎïÆ·ID  
 | 
    BYTE        Quality;    //×øÆïÆ·ÖÊ  
 | 
};  
 | 
  
 | 
//×øÆïÉýÐÇ±í  
 | 
  
 | 
struct tagHorseStarUp  
 | 
{  
 | 
    DWORD        _HorseID;    //×øÆïID  
 | 
    BYTE        _HorseStar;    //×øÆïÐǼ¶  
 | 
    list        StarUpNeedItemList;    //ÉýÏÂÒ»ÐÇËùÐèµÀ¾ß [[ÎïÆ·ID,¸öÊý], ...]  
 | 
    list        StarAttrType;    //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ  
 | 
    list        StarAttrValue;    //ÀÛ¼Æ×ÜÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
//¹Å±¦±í  
 | 
  
 | 
struct tagGubao  
 | 
{  
 | 
    WORD        _GubaoID;    //¹Å±¦ID  
 | 
    BYTE        GubaoType;    //¹Å±¦·ÖÀà  
 | 
    BYTE        GubaoQuality;    //¹Å±¦Æ·ÖÊ  
 | 
    DWORD        UnlockItemID;    //½âËøËùÐèÎïÆ·ID  
 | 
    BYTE        UnlockItemCnt;    //½âËøËùÐèÎïÆ·ÊýÁ¿  
 | 
};  
 | 
  
 | 
//¹Å±¦ÉýÐÇ±í  
 | 
  
 | 
struct tagGubaoStar  
 | 
{  
 | 
    WORD        _GubaoID;    //¹Å±¦ID  
 | 
    BYTE        _GubaoStar;    //¹Å±¦ÐǼ¶  
 | 
    list        StarUPNeedItemInfo;    //ÉýÐÇËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...]  
 | 
    list        StarEffIDList;    //ÐǼ¶ÌØÊâЧ¹ûIDÁÐ±í  
 | 
};  
 | 
  
 | 
//¹Å±¦ÌØÊâЧ¹û±í  
 | 
  
 | 
struct tagGubaoEffAttr  
 | 
{  
 | 
    DWORD        _GubaoEffID;    //¹Å±¦ÌØÊâЧ¹ûID  
 | 
    BYTE        GubaoEffType;    //Ч¹ûÀàÐÍ  
 | 
    DWORD        EffCond;    //Ìõ¼þ  
 | 
    DWORD        EffCond2;    //Ìõ¼þ2  
 | 
    DWORD        EffCond3;    //Ìõ¼þ3  
 | 
    BYTE        IsPer;    //ÊÇ·ñ°Ù·Ö±ÈÌáÉý  
 | 
    list        EffFuncAttrIDList;    //ÌáÉýÖ¸¶¨¹¦ÄÜÊôÐÔIDÁÐ±í  
 | 
    DWORD        EffAttrID;    //Ö±½ÓÔö¼ÓÊôÐÔÀàÐÍ  
 | 
    DWORD        EffAttrValue;    //ÌáÉýÊôÐÔÖµ  
 | 
    list        EffItemAwardList;    //ÁìÈ¡ÎïÆ·ÁÐ±í  
 | 
};  
 | 
  
 | 
//¹Å±¦Æ·ÖÊÉý¼¶±í  
 | 
  
 | 
struct tagGubaoLV  
 | 
{  
 | 
    BYTE        _GubaoType;    //¹Å±¦·ÖÀà  
 | 
    BYTE        _GubaoQuality;    //¹Å±¦Æ·ÖÊ  
 | 
    BYTE        _GubaoLV;    //¹Å±¦µÈ¼¶  
 | 
    list        LVUPNeedItemInfo;    //Éý¼¶ËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...]  
 | 
    list        LVAttrTypeList;    //µÈ¼¶ÊôÐÔÀàÐÍÁÐ±í  
 | 
    list        LVAttrValueList;    //µÈ¼¶ÊôÐÔÖµÁÐ±í  
 | 
};  
 | 
  
 | 
//Éñͨ±í  
 | 
  
 | 
struct tagShentong  
 | 
{  
 | 
    BYTE        _ShentongID;    //ÉñͨID  
 | 
    WORD        NeedGubaoID;    //½âËøËùÐè¹Å±¦ID  
 | 
};  
 | 
  
 | 
//ÉñͨÉý¼¶±í  
 | 
  
 | 
struct tagShentongLV  
 | 
{  
 | 
    BYTE        _ShentongID;    //ÉñͨID  
 | 
    BYTE        _ShentongClassLV;    //Éñͨ½×¼¶  
 | 
    BYTE        _ShentongLV;    //ÉñͨµÈ¼¶  
 | 
    list        LVLightNeedItem;    //µãÁÁ¸Ã¼¶ËùÐèÎïÆ· [[ÎïÆ·ID,¸öÊý], ...]  
 | 
    list        LVAttrTypeList;    //¸Ã¼¶ÊôÐÔÀàÐÍÁÐ±í  
 | 
    list        LVAttrValueList;    //¸Ã¼¶ÊôÐÔÖµÁÐ±í  
 | 
    DWORD        LVSkillID;    //¸Ã¼¶Ö°ÒµÍ¨Óü¼ÄÜID  
 | 
    DWORD        FightPowerEx;    //¸½¼ÓÕ½Á¦  
 | 
};  
 | 
  
 | 
//Íæ¼ÒµÈ¼¶±í  
 | 
  
 | 
struct tagPlayerLV  
 | 
{  
 | 
    WORD        _LV;    //Íæ¼ÒµÈ¼¶  
 | 
    DWORD        ExpPoint;    //Éý¼¶ËùÐè¾Ñéµã,ÿ¸ö¾Ñéµã´ú±íµÄ¾ÑéÓÉÏîÄ¿¾ö¶¨  
 | 
    DWORD        Exp;    //³ý¾Ñéµã×ܾÑéÍâÉý¼¶»¹ÐèµÄ¾Ñé  
 | 
    BYTE        TalentPoint;    //µÈ¼¶»ñµÃµÄÌ츳µã  
 | 
    DWORD        ReExp;    //µÈ¼¶¾ÑéЧÂÊ(second)  
 | 
    DWORD        ReMaxHP;    //ÉúÃü  
 | 
    DWORD        ReAtk;    //¹¥»÷  
 | 
    DWORD        ReDef;    //·ÀÓù  
 | 
    DWORD        ReHit;    //ÃüÖÐ  
 | 
    DWORD        ReMiss;    //ÉÁ±Ü  
 | 
    DWORD        ReAtkSpeed;    //¹¥ËÙ  
 | 
    DWORD        ReSkillAtkRate;    //¼¼ÄÜÉ˺¦±ÈÀý  
 | 
    DWORD        ReDamagePer;    //Ôö¼ÓÉ˺¦  
 | 
    DWORD        ReDamReduce;    //¼õÉÙÉ˺¦  
 | 
    DWORD        ReIgnoreDefRate;    //ÎÞÊÓ·ÀÓù±ÈÀý  
 | 
    DWORD        ReLuckyHitRate;    //»áÐÄÒ»»÷ÂÊ  
 | 
    DWORD        ReLuckyHit;    //»áÐÄÒ»»÷É˺¦  
 | 
    DWORD        ReBleedDamage;    //Á÷ѪÉ˺¦Ôö¼Ó  
 | 
    DWORD        ReIceAtk;    //ÕæÊµÉ˺¦  
 | 
    DWORD        ReIceDef;    //ÕæÊµµÖÓù  
 | 
    DWORD        RePetAtk;    //Áé³è¹¥»÷  
 | 
    DWORD        RePetSkillAtkRate;    //Áé³è¼¼ÄÜ  
 | 
    DWORD        RePetDamPer;    //Áé³èÉ˺¦Ôö¼Ó  
 | 
    DWORD        ReFinalHurt;    //¹Ì¶¨É˺¦Ôö¼Ó  
 | 
    DWORD        ReFinalHurtReduce;    //¹Ì¶¨É˺¦¼õÉÙ  
 | 
    DWORD        RePotionReply;    //Ѫƿ»Ö¸´Á¿  
 | 
    DWORD        RePotionCD;    //ѪƿCD  
 | 
    DWORD        AttackEff;    //¹Ò»úЧÂÊ  
 | 
    DWORD        ReFightPower;    //Õ½¶·Á¦  
 | 
    DWORD        IceLodeFightPower;    //±ù¾§¿óÂöɨµ´Õ½¶·Á¦  
 | 
};  
 | 
  
 | 
//ÌØÊâµØÍ¼Íæ¼ÒÊôÐÔ¹«Ê½±í  
 | 
  
 | 
struct tagSpecMapPlayerAttrFormat  
 | 
{  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    char        AttrName;    //ÊôÐÔÃû  
 | 
    char        AttrValueFormat;    //×îÖÕÊôÐÔÖµ¹«Ê½£¨¿ÉÓòÎÊýÊôÐÔÃû£©  
 | 
};  
 | 
  
 | 
//GM²âÊÔÊôÐﱒ  
 | 
  
 | 
struct tagGMAttr  
 | 
{  
 | 
    DWORD        _GMAttrID;    //Êý¾ÝID  
 | 
    BYTE        IsValid;    //ÊÇ·ñÓÐЧµÄ  
 | 
    char        GMAccID;    //GMÍæ¼ÒÕ˺Š 
 | 
    WORD        GMMaxLV;    //ÓÐЧµÄ×î´óµÈ¼¶  
 | 
    WORD        AttrLV;    //¶ÔÓ¦µÈ¼¶±íÖеÄÊôÐÔ  
 | 
    float        AttrPer;    //¶ÔÓ¦µÈ¼¶±íÖеıÈÀý  
 | 
    dict        AttrSpecDict;    //ÌØÊâÊôÐÔÖµ×Öµä {attrKey:value, ...}  
 | 
    dict        AttrExDict;    //ÌØÊâÊôÐÔÖµ×Öµä {attrKey:value, ...}  
 | 
};  
 | 
  
 | 
//NPC±íÀ©Õ¹  
 | 
  
 | 
struct tagNPCEx  
 | 
{  
 | 
    DWORD        _NPCID;    //NPCID  
 | 
    BYTE        FightPowerLackAtkLimit;    //Õ½Á¦²»×ãÏÞÖÆ¹¥»÷  
 | 
    DWORD        SuppressFightPower;    //ÍÆ¼ö/Ñ¹ÖÆÕ½Á¦  
 | 
};  
 | 
  
 | 
//³É³¤Ð;³½ç¹ÖÎï±í  
 | 
  
 | 
struct tagNPCRealmStrengthen  
 | 
{  
 | 
    DWORD        _NPCID;    //NPCID  
 | 
    BYTE        _RealmDifficulty;    //¾³½çÄÑ¶È  
 | 
    DWORD        MapID;  
 | 
    DWORD        LV;    //NPCµÈ¼¶  
 | 
    DWORD        Exp;//»ù´¡¾Ñé  
 | 
    WORD        MaxDrapLV;//Íæ¼Ò×î´ó¿ÉµôÂäµÈ¼¶  
 | 
    BYTE        EquipClassLV;    //µôÂä×°±¸½×  
 | 
    DWORD        DropMoneyMin;//×îС½ð±Ò  
 | 
    DWORD        DropMoneyMax;//×î´ó½ð±Ò  
 | 
    WORD        LowLV;    // ÍƼö×îµÍµÈ¼¶  
 | 
    WORD        HighestLV;    // ÍƼö×î¸ßµÈ¼¶  
 | 
    DWORD        Defense;    // ÍƼö·ÀÓù  
 | 
    DWORD        MDef;    // ±ê×¼»÷ɱʱ¼ä/ºÁÃë  
 | 
    DWORD        FireDef;    // ÍÑ»ú¹Ò¾Ñ鼯ËãÕ½Á¦  
 | 
    DWORD        SP;    // SP  
 | 
};  
 | 
  
 | 
//³É³¤Ð͹ÖÎï²ÎÊý¹«Ê½±í  
 | 
  
 | 
struct tagNPCStrengthen  
 | 
{  
 | 
    DWORD        _NPCID;    //NPCID  
 | 
    BYTE        IsStrengthenByPlayerCount;//ÊÇ·ñ¸ù¾ÝÈËÊý³É³¤  
 | 
    BYTE        LVStrengthenMark;//µÈ¼¶³É³¤ÊôÐÔ¹«Ê½±ê¼Ç  
 | 
    BYTE        LVStrengthenType;//µÈ¼¶³É³¤ÀàÐÍ, 0-²»°´µÈ¼¶³É³¤£»1-°´Íæ¼Òƽ¾ùµÈ¼¶£»2-°´Íæ¼Ò×î´óµÈ¼¶£»3-°´ÊÀ½çµÈ¼¶£»  
 | 
    BYTE        CmpNPCBaseLV;//ÊÇ·ñ±È½ÏNPC±íµÈ¼¶, ÊǵĻ°È¡NPC±íÅäÖõȼ¶Óë³É³¤µÈ¼¶ÖнϴóµÈ¼¶  
 | 
    DWORD        HitTime;//ÊÜ»÷´ÎÊý  
 | 
    DWORD        DefCoefficient;//ÈËÎï·ÀÓùϵÊý  
 | 
    DWORD        AtkCoefficient;//ÈËÎï¹¥»÷ϵÊý  
 | 
    DWORD        AdjustCoefficient;//µ÷ÕûϵÊý±ÈÀý  
 | 
    DWORD        AtkInterval;//¹ÖÎï¹¥»÷¼ä¸ô  
 | 
    DWORD        HitRate;//¶ÔÈËÎïµÄÃüÖÐÂÊ  
 | 
    DWORD        MissRate;//¶ÔÈËÎïµÄÉÁ±ÜÂÊ  
 | 
    DWORD        MonterNum;//¹ÖÎïÊý  
 | 
    DWORD        IceAtkCoefficient;//ÔªËØ¹¥»÷±ÈÀý  
 | 
    DWORD        IceDefCoefficient;//ÔªËØ¿¹ÐÔ±ÈÀý  
 | 
    DWORD        MaxEnduranceTime;//Íæ¼Ò×î´ó³ÐÊÜÉ˺¦Ê±¼ä  
 | 
    DWORD        FightPowerCoefficient;//Ñ¹ÖÆÕ½¶·Á¦ÏµÊý  
 | 
};  
 | 
  
 | 
//NPCʱ¼äµôѪ±í  
 | 
  
 | 
struct tagNPCTimeLostHP  
 | 
{  
 | 
    DWORD        _NPCID;    //NPCID  
 | 
    DWORD        LostHPPerSecond;    //µ¥ÈËÿÃëµôѪÁ¿  
 | 
    BYTE        MaxPlayerCount;    //×î´óÈËÊý  
 | 
    DWORD        LostHPPerSecondEx;    //ÿÔö¼ÓÒ»È˸½¼ÓµôѪÁ¿  
 | 
    BYTE        FightPowerMinByLV;    //±ê×¼Õ½Á¦ÊÇ·ñÈ¡µÈ¼¶±í  
 | 
    DWORD        FightPowerMin;    //±ê×¼Õ½Á¦  
 | 
    DWORD        FightPowerMax;    //ÉÏÏÞÕ½Á¦  
 | 
    DWORD        EveryFightPower;    //ÿxµãÕ½Á¦  
 | 
    DWORD        EveryFightPowerLostHPEx;    //ÿxµãÕ½Á¦¸½¼ÓÉ˺¦  
 | 
};  
 | 
  
 | 
//×°±¸Ì××°ÊôÐﱒ  
 | 
  
 | 
struct tagEquipSuitAttr  
 | 
{  
 | 
    WORD        _SuiteID;    //Ì××°ID  
 | 
    BYTE        SuiteCnt;    //Ì××°¼þÊý  
 | 
    BYTE        Star;    //ÐÇÊý  
 | 
    dict        AttrInfo;    //ÊôÐÔ  
 | 
    DWORD        SkillID;    //¼¼ÄÜID  
 | 
    BYTE        IsNotify;    //ÊÇ·ñ¹ã²¥  
 | 
    WORD        ActivateIndex;    //¼¤»îË÷Òý  
 | 
};  
 | 
  
 | 
  
 | 
//ÓðÒí¾«Á¶ÊôÐﱒ  
 | 
  
 | 
struct tagWingRefineAttr  
 | 
{  
 | 
    BYTE        _WingClassLV;    //³á°ò½×¼¶  
 | 
    dict        AttrInfo;    //¾«Á¶ÊôÐÔÐÅÏ¢  
 | 
    dict        ItemColorInfo;    //¾«Á¶¾Ñé¶ÔÓ¦ÑÕÉ«ÐÅÏ¢  
 | 
    DWORD        MaxRefineExp;    //±¾½××î´ó¾«Á¶Öµ  
 | 
};  
 | 
  
 | 
//ÓðÒí¾«Á¶¾Ñé±í  
 | 
  
 | 
struct tagWingRefineExp  
 | 
{  
 | 
    DWORD        _ItemID;    //¾«Á¶ÎïÆ·ID  
 | 
    DWORD        RandExpMin;    //×îÐ¡Ëæ»ú¾«Á¶Öµ  
 | 
    DWORD        RandExpMax;    //×î´óËæ»ú¾«Á¶Öµ  
 | 
    dict        ExpMaterial; //³á°ò´úÊý¶ÔÓ¦¾«Á¶Öµ  
 | 
};  
 | 
  
 | 
//ÏÉÃ˿Ƽ¼±í  
 | 
  
 | 
struct tagFamilyTech  
 | 
{  
 | 
    DWORD        _TechID;    //¿Æ¼¼ID*1000+µÈ¼¶  
 | 
    BYTE        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    DWORD        AttrValue;    //ÊôÐÔÖµ  
 | 
    DWORD        Contribution;    //ÐèÒª¹±Ï×¶È  
 | 
    DWORD        PowerEx;    //¶îÍâÕ½Á¦  
 | 
};  
 | 
  
 | 
//Õ½¶·Á¦²ÎÊýµÈ¼¶ÏµÊý±í  
 | 
  
 | 
struct tagFightPowerParam  
 | 
{  
 | 
    WORD        _LV;    //µÈ¼¶  
 | 
    DWORD        CftHit;    //ÃüÖÐϵÊý  
 | 
    DWORD        CftMiss;    //ÉÁ±ÜϵÊý  
 | 
    DWORD        CftIgnoreDefRate;    //ÎÞÊÓ·ÀÓùϵÊý  
 | 
    DWORD        CftDamChanceDef;    //µÖÓùϵÊý  
 | 
    DWORD        CftFaintRate;    //»÷ÔÎϵÊý  
 | 
    DWORD        CftSuperHitRateReduce;    //±©»÷ÂÊ¿¹ÐÔϵÊý  
 | 
    DWORD        CftSuperHitRate;    //±©»÷ÂÊϵÊý  
 | 
    DWORD        CftLuckyHitRate;    //»áÐÄÒ»»÷ÂÊϵÊý  
 | 
    DWORD        CftLuckyHitRateReduce;    //»áÐÄÒ»»÷¿¹ÐÔϵÊý  
 | 
    DWORD        CftSkillAtkRate;    //¼¼ÄÜÉ˺¦ÏµÊý  
 | 
    DWORD        CftSkillAtkRateReduce;    //¼¼ÄܼõÉËϵÊý  
 | 
    DWORD        CftFinalHurtPer;    //×îÖÕÉ˺¦¼Ó³ÉϵÊý  
 | 
    DWORD        CftFinalHurtReducePer;    //×îÖÕÉ˺¦¼õÃâϵÊý  
 | 
    DWORD        CftDamagePerPVP;    //PVPÉ˺¦Ôö¼ÓϵÊý  
 | 
    DWORD        CftDamagePerPVPReduce;    //PVPÉ˺¦¼õÉÙϵÊý  
 | 
    DWORD        CftNPCHurtAddPer;    //PVE¼¼ÄܼӳÉϵÊý  
 | 
    DWORD        CftNormalHurtPer;    //ÆÕͨ¸½¼ÓÉ˺¦¼Ó³ÉϵÊý  
 | 
    DWORD        CftFabaoHurtPer;    //·¨±¦¸½¼ÓÉ˺¦¼Ó³ÉϵÊý  
 | 
    DWORD        CftDamBackPer;    //É˺¦·´ÉäϵÊý  
 | 
    DWORD        CftIgnoreDefRateReduce;    //ÎÞÊÓ·ÀÓù¿¹ÐÔϵÊý  
 | 
    DWORD        CftFaintDefRate;    //¿ØÖƵֿ¹ÏµÊý  
 | 
    DWORD        CftAtkSpeed;    //¹¥ËÙϵÊý  
 | 
    DWORD        CftJobAHurtAddPer;    //¶ÔÄ¿±êսʿÉ˺¦¼Ó³É  
 | 
    DWORD        CftJobBHurtAddPer;    //¶ÔÄ¿±ê·¨Ê¦É˺¦¼Ó³É  
 | 
    DWORD        CftJobCHurtAddPer;    //¶ÔÄ¿±ê¹¼ýÉ˺¦¼Ó³É  
 | 
    DWORD        CftJobAAtkReducePer;    //սʿ¹¥»÷É˺¦¼õÃâ  
 | 
    DWORD        CftJobBAtkReducePer;    //·¨Ê¦¹¥»÷É˺¦¼õÃâ  
 | 
    DWORD        CftJobCAtkReducePer;    //¹¼ý¹¥»÷É˺¦¼õÃâ  
 | 
    DWORD        CftAffairSpeedPer;    //ÏÉÃËÊÂÎñËÙ¶È¼Ó³É  
 | 
    DWORD        CftFamilyBossHurtPer;    //ÏÉÃËBOSSÉ˺¦¼Ó³É  
 | 
    DWORD        CftFamilyWarHPPer;    //ÏÉÃËÁªÈüÉúÃü¼Ó³É  
 | 
    DWORD        CftFamilyWarAtkPer;    //ÏÉÃËÁªÈü¹¥»÷¼Ó³É  
 | 
    DWORD        CftFamilySitExpPer;    //ÏÉÃË´ò×ø¾Ñé¼Ó³É  
 | 
};  
 | 
  
 | 
//NPCµôÂä±í  
 | 
  
 | 
struct tagNPCDropItem  
 | 
{  
 | 
    DWORD        _NPCID;    //NPCID  
 | 
    WORD        MaxWorldLV;    //×î´óÊÀ½çµÈ¼¶£¬0Ϊ²»ÏÞÖÆ£¬²»ÊÜ×î´óµôÂäµÈ¼¶Ó°Ïì  
 | 
    WORD        MaxDropLV;    //×î´ó¿ÉµôÂäµÄÍæ¼ÒµÈ¼¶, ²»Ó°ÏìÊÀ½çµÈ¼¶  
 | 
    BYTE        CanDropRatePlus;    //¶îÍâÌáÉýµôÂʵÄÊÇ·ñÓÐЧ  
 | 
    BYTE        IsDropJobSelf;    //ÊÇ·ñÖ»µôÂä±¾Ö°Òµ  
 | 
    list        PieRateDrop;    //±ýͼ¸ÅÂʵôÂäÐÅÏ¢ [(¸ÅÂÊ,0),(¸ÅÂÊ,(½×,ÑÕÉ«)),...]  
 | 
    BYTE        PieRateDoCnt;    //±ýͼ¸ÅÂÊÖ´ÐдÎÊý  
 | 
    dict        IndepRateDrop;    //¶ÀÁ¢¸ÅÂʵôÂäÐÅÏ¢ {(½×,ÑÕÉ«):¸ÅÂÊ,...}  
 | 
    BYTE        IndepRateDoCnt;        //¶ÀÁ¢¸ÅÂÊÖ´ÐдÎÊý  
 | 
    dict        EquipColorMaxDropCount;    //×°±¸ÑÕÉ«×î´óµôÂäÎïÆ·Êý {ÑÕÉ«:ÉÏÏÞÊýÁ¿,...}  
 | 
    list        TianxuanEquipRateList;    //ÌìÐþµ¤×°±¸µôÂä±ýͼ [[¸ÅÂÊ,(½×,Æ·ÖÊ)], ...]  
 | 
    dict        EquipColorSuitInfo;    //×°±¸ÑÕÉ«¶ÔÓ¦Ì××°¸ÅÂÊ {ÑÕÉ«:Ì××°¸ÅÂÊ, ...}  
 | 
    dict        EquipPartKeyRateInfo;    //×°±¸²¿Î»¼¯ºÏÐÅÏ¢ {(ÑÕÉ«,ÊÇ·ñÌ××°):²¿Î»¼¯ºÏkey, ...}  
 | 
    BYTE        ColorSuitPartOptimization;    //²¿Î»ÑÕÉ«ÌׯÀ·ÖÓÅÑ¡µôÂ䣬ʮλ´ú±íÑÕÉ«£¬¸öλ´ú±íÌ××°  
 | 
    dict        KillCountDropEquipPub;    //µÚx´Î»÷ɱ¸½¼Ó±Øµô×°±¸ {´ÎÊý:[½×,ÑÕÉ«,ÊÇ·ñÌ××°,²¿Î»¼¯ºÏkey], ...}  
 | 
    dict        ItemIDDropRate;    //Ö¸¶¨ÎïÆ·IDµôÂÊÐÅÏ¢ {ÎïÆ·ID:¸ÅÂÊ, ...}  
 | 
    dict        TianxuanItemIDRate;    //ÌìÐþµ¤Ö¸¶¨ID¸ÅÂÊ {ÎïÆ·ID:¸ÅÂÊ, ...}  
 | 
    dict        ItemIDMaxDropCount;    //Ö¸¶¨ÎïÆ·ID×î´óµôÂä¸öÊý,ûÅäĬÈÏ1´Î {ÎïÆ·ID:Ëæ»ú´ÎÊý,...}  
 | 
    dict        ItemKeyDropRate;    //ÎïÆ·ID¼¯ºÏKey¸ÅÂÊ, Ëæ»úÒ»¸ö, ÓÅÏȼ¶µÍ {ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...}   
 | 
    dict        ItemKeyDropRateJob;    //ÎïÆ·ID¼¯ºÏKey¸ÅÂÊ, ×ÔÉíÖ°Òµ, ÓÅÏȼ¶¸ß {ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...}  
 | 
    dict        TianxuanItemKeyRate;    //ÌìÐþµ¤Ö¸¶¨ID¼¯ºÏKey¸ÅÂÊ{ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...}  
 | 
    dict        ItemKeyMaxDropCount;    //ÎïÆ·ID¼¯ºÏKeyËæ»ú´ÎÊý,ûÅäĬÈÏ1´Î {ÎïÆ·ID¼¯ºÏkey:Ëæ»ú´ÎÊý,...}  
 | 
    BYTE        DropMoneyDoCnt;        //µôÂä½ð±ÒÖ´ÐдÎÊý  
 | 
    WORD        DropMoneyRate;        //µôÂä½ð±Ò¸ÅÂÊ  
 | 
    WORD        DropMoneyMin;        //µôÂä½ð±Ò×îСֵ  
 | 
    WORD        DropMoneyMax;        //µôÂä½ð±Ò×î´óÖµ  
 | 
    dict        KillCountDropPub;    //»÷ɱ´ÎÊý±Øµô£¨¹«¹²£©{»÷ɱ´ÎÊý:[[ÎïÆ·ID, ...], [Ëæ»úÎïÆ·ID, ...]], ...}  
 | 
    list        KillCountDropPri;    //»÷ɱ´ÎÊý±Øµô£¨Ë½ÓУ©[»÷ɱ´ÎÊý,[ÎïÆ·ID,...],ÊÇ·ñÖ±½Ó·ÅÈë±³°ü]  
 | 
    list        PriItemIDDrop;        //ËùÓйéÊôÕß˽ÓеôÂäÎïÆ·IDÁбí,ÿÈËÒ»·Ý,ĬÈϰó¶¨,ûÓÐÖ°ÒµÇø·Ö[ÎïÆ·ID, ...]  
 | 
    BYTE        AucionItemCanSell;    //µôÂäÅÄÆ·¿É·ñÉϼܼ¯ÊÐ  
 | 
};  
 | 
  
 | 
//·ûÓ¡Ëþ±í  
 | 
  
 | 
struct tagRuneTower  
 | 
{  
 | 
    DWORD        _ID;    //Ëþ±àºÅ  
 | 
    DWORD        RunePoint;    //¹ý¹Ø¸ø·ûÓ¡¾«»ª  
 | 
    DWORD        Ysog;    //¹ý¹Ø¸øÄ§¾«  
 | 
    DWORD        NPCID;    //npcid  
 | 
    BYTE        IsNotify;    //ÊÇ·ñ¹ã²¥  
 | 
    list        FixEndAward;    //¹Ì¶¨½áËã½±Àø  
 | 
    dict        GoodDrop;    //ÕäÏ¡·ûӡͨ¹ØµôÂä¸ÅÂÊ  
 | 
    DWORD        SweepRunePoint;    //ɨµ´·ûÓ¡¾«»ª  
 | 
    DWORD        SweepYsog;    //ɨµ´Ä§¾«  
 | 
    dict        SweepGoodDrop;    //ɨµ´ÕäÏ¡·ûÓ¡  
 | 
};  
 | 
  
 | 
//µØÍ¼±í¸ñ  
 | 
  
 | 
struct tagChinMap  
 | 
{  
 | 
    DWORD        _MapID;    //µØÍ¼ID  
 | 
    BYTE        CanRide;    //¿É·ñÆï³Ë  
 | 
    BYTE        CanOutPet;    //¿É·ñÕÙ»½³èÎï  
 | 
};  
 | 
  
 | 
//¸±±¾×Ü±í  
 | 
  
 | 
struct tagFBFunc  
 | 
{  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    BYTE        DayTimes;    //ÿÈÕ¿ÉÌôÕ½´ÎÊý, 0Ϊ²»ÏÞÖÆ  
 | 
    BYTE        DayResetType;    //ÿÈÕ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã  
 | 
    BYTE        WeekTimes;    //ÿÖÜ¿ÉÌôÕ½´ÎÊý, 0Ϊ²»ÏÞÖÆ  
 | 
    BYTE        WeekResetType;    //ÿÖÜ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã  
 | 
    list        RewardRate;    //ÆÀ¼¶½±Àø±ÈÀý  
 | 
    DWORD        BuyTimesVIPPriID;    //¹ºÂò´ÎÊýVIPȨÏÞID  
 | 
    DWORD        ExtraTimesVIPPriID;    //¶îÍâ´ÎÊýVIPȨÏÞID  
 | 
    DWORD        ExtraTimesMWPriID;    //¶îÍâ´ÎÊý·¨±¦È¨ÏÞID  
 | 
    BYTE        GuardPick;    //¸ÃµØÍ¼ÊØ»¤ÊÇ·ñÄÜʰȡ  
 | 
    WORD        OfflineTime;    //ÀëÏß¶à¾ÃÍ˳ö¸±±¾(Ãë)  
 | 
    WORD        FBPoint;    //¸±±¾¹ý¹ØÏÉÔµ±Ò  
 | 
    WORD        HelpPoint;    //ÖúÕ½ÏÉÔµ±Ò(0´ú±í²»¿ÉÖúÕ½)  
 | 
    BYTE        DayHelpCountMax;    //ÿÈÕÊÖ¶¯ÖúÕ½»ñµÃÏÉÔµ±Ò´ÎÊý£¨·Ç¾µÏñ£©  
 | 
};  
 | 
  
 | 
//¸±±¾¹¦ÄÜÏß·±í  
 | 
  
 | 
struct tagFBLine  
 | 
{  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    BYTE        _LineID;    //¹¦ÄÜÏß·ID  
 | 
    DWORD        MapID;    //³¡¾°µØÍ¼ID  
 | 
    WORD        LVLimitMin;    //×îµÍµÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ  
 | 
    WORD        LVLimitMax;    //×î¸ßµÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ  
 | 
    DWORD        TicketID;    //ÃÅÆ±ID  
 | 
    list        TicketCostCnt;    //ÃÅÆ±ÏûºÄÊýÐÅÏ¢  
 | 
    WORD        TicketPrice;    //ÃÅÆ±µ¥¼Û(²»ÄÜÓÃÇ®µÖµÄÅä0)  
 | 
    WORD        SweepLVLimit;    //ɨµ´µÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ  
 | 
    DWORD        SweepItemID;    //ɨµ´ËùÐèµÀ¾ßID  
 | 
    BYTE        SweepCostCnt;    //ɨµ´ËùÐèµÀ¾ß¸öÊý  
 | 
    eval        EnterPosInfo;    //½øÈë×ø±êÐÅÏ¢  
 | 
    eval        StepTime;    //½×¶Îʱ¼ä  
 | 
    eval        RefreshNPC;    //±êÊÔµãË¢¹ÖÅäÖà  
 | 
    eval        GradeInfo;    //ÆÀ¼¶¹æÔò  
 | 
    eval        RewardInfo;    //½±ÀøÐÅÏ¢  
 | 
};  
 | 
  
 | 
//¸±±¾ÖúÕ½±í  
 | 
  
 | 
struct tagFBHelpBattle  
 | 
{  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    BYTE        _LineID;    //¹¦ÄÜÏß·ID  
 | 
    DWORD        FightPowerMin;    //ÖúÕ½×îµÍÕ½Á¦£¬Ò²ÊǸ±±¾±£µ×Õ½Á¦  
 | 
    DWORD        RobotFightPower;    //ÖúÕ½NPCÕ½Á¦  
 | 
    WORD        RobotLV;    //ÖúÕ½NPCµÈ¼¶  
 | 
    DWORD        RobotBaseHurt;    //ÖúÕ½NPC±£µ×É˺¦  
 | 
    WORD        RobotHPCoefficient;    //ÖúÕ½NPCÉúÃüϵÊý  
 | 
    dict        RobotSkillsDict;    //ÖúÕ½NPC¼¼ÄÜ, {"Ö°Òµ":[¼¼ÄÜÁбí], ...}  
 | 
};  
 | 
  
 | 
//¸±±¾Ë¢¹Ö±êʶµã±í  
 | 
  
 | 
struct tagNPCCustomRefresh  
 | 
{  
 | 
    DWORD        _ID;    //Ë¢¹Ö¹æÔòID  
 | 
    list        RefreshMarkInfo;    //±êÊÔµã, µ±ÅäÖöà¸öÊ±ÎªËæ»ú±êÊÔµã, ²»Öظ´  
 | 
    DWORD        RefreshNPCID;    //Ö¸¶¨NPCID  
 | 
    list        RandNPCIDList;    //µ¥´ÎËæ»úË¢¹ÖNPCID  
 | 
    list        NPCIDCountList;    //µ¥´ÎÖ¸¶¨Ë¢¹ÖNPC  
 | 
    WORD        MaxCount;    //µ¥¸öµã×î´ó´æÔÚ¹ÖÎïÊý  
 | 
    WORD        TotalMaxCount;    //Ïàͬ±êÊÔµã×ÜË¢¹ÖÎïÊý  
 | 
    BYTE        IsLineOneOnly;    //ÊÇ·ñ½öÔÚ1ÏßË¢¹Ö  
 | 
    DWORD        RefreshTick;    //Ë¢¹Ö¼ä¸ôÃë  
 | 
    BYTE        IsRepeat;    //ÊÇ·ñÑ»·Ë¢¹Ö  
 | 
};  
 | 
  
 | 
//ÈÕ³£»î¶¯±í  
 | 
  
 | 
struct tagDailyAction  
 | 
{  
 | 
    DWORD        _DailyID;    //»î¶¯ID  
 | 
    dict        OpenTimeDict;    //¿ªÆôʱ¼ä  
 | 
    DWORD        Duration;    //³ÖÐøÊ±¼ä, 0Ϊ²»ÏÞÖÆ  
 | 
    DWORD        DayTimes;    //ÿÈÕ´ÎÊý, 0Ϊ²»ÏÞÖÆ  
 | 
    DWORD        DayBuyTimes;    //ÿÈտɹºÂò´ÎÊý  
 | 
    BYTE        BuyTimesPrivilegeID;    //¹ºÂò´ÎÊýVIPȨÏÞID  
 | 
    BYTE        MoneyType;    //»õ±ÒÀàÐÍ  
 | 
    list        BuyNeedMoney;    //¹ºÂò´ÎÊýÐèÒªÏÉÓñ  
 | 
    DWORD        DayItemAddTimes;    //ÿÈÕ¿ÉÓÃÎïÆ·Ôö¼Ó´ÎÊý  
 | 
    DWORD        DayItemID;    //Ôö¼Ó´ÎÊýµÄÎïÆ·ID  
 | 
    BYTE        DayResetType;    //ÿÈÕ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã  
 | 
    DWORD        WeekTimes;    //ÿÖÜ´ÎÊý, 0Ϊ²»ÏÞÖÆ  
 | 
    BYTE        WeekResetType;    //ÿÖÜ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã  
 | 
};  
 | 
  
 | 
//×°±¸ÆÀ·ÖÊôÐÔϵÊý±í  
 | 
  
 | 
struct tagEquipGSParam  
 | 
{  
 | 
    BYTE        _ClassLV;        // ×°±¸½×¼¶  
 | 
    BYTE        _EquipColor;    // ×°±¸ÑÕÉ«  
 | 
    BYTE        _IsSuit;    // ÊÇ·ñÌ××°  
 | 
    BYTE        _ItemQuality;    //ÎïÆ·ÐǼ¶  
 | 
    DWORD        BaseEquipMaxHPAddPerC;    // »ù´¡·À¾ßÉúÃü°Ù·Ö±ÈϵÊý  
 | 
    DWORD        BaseEquipAtkAddPerC;    // »ù´¡ÎäÆ÷¹¥»÷°Ù·Ö±ÈϵÊý  
 | 
    DWORD        SuperHitC;    // ±©»÷ֵϵÊý  
 | 
    DWORD        SuperHitPerC;    // ±©»÷Öµ°Ù·Ö±ÈϵÊý  
 | 
    DWORD        LuckyHitRateC;    // »áÐÄÒ»»÷ÂÊϵÊý  
 | 
    DWORD        LuckyHitRateReduceC;    // »áÐÄÒ»»÷¿¹ÐÔϵÊý  
 | 
    DWORD        LuckPerC;    // ÆøÔ˰ٷֱÈϵÊý  
 | 
    DWORD        PerLVAtkC;    // Ã¿¼¶Ôö¼Ó¹¥»÷Á¦ÏµÊý  
 | 
    DWORD        PerLVMaxHPC;    // Ã¿¼¶Ôö¼ÓÉúÃüֵϵÊý  
 | 
    DWORD        DropMoneyPerC;    // Ôö¼ÓµôÂä½ð±ÒÁ¿°Ù·Ö±ÈϵÊý  
 | 
    DWORD        SuperHitReduceC;    // ±©»÷¼õÉ˰ٷֱÈϵÊý  
 | 
    DWORD        SuperHitRateReduceC;    // ±©»÷¿¹ÐÔϵÊý  
 | 
    DWORD        HitC;    // ÃüÖÐϵÊý  
 | 
    DWORD        MissC;    // ÉÁ±ÜϵÊý  
 | 
    DWORD        PetDamPerC;    // Áé³èÔöÉ˰ٷֱÈϵÊý  
 | 
    DWORD        MaxHPPerC;    // ÉúÃü¼Ó³ÉϵÊý  
 | 
    DWORD        AtkPerC;    // ¹¥»÷¼Ó³ÉϵÊý  
 | 
    DWORD        SkillAtkRateC;    // ¼¼ÄܼӳÉϵÊý  
 | 
    DWORD        SkillAtkRateReduceC;    // ¼¼ÄܼõÃâϵÊý  
 | 
    DWORD        SkillAddPer1C;    // ¼¼ÄÜÉ˺¦ÔöÇ¿1ϵÊý  
 | 
    DWORD        SkillAddPer2C;    // ¼¼ÄÜÉ˺¦ÔöÇ¿2ϵÊý  
 | 
    DWORD        SkillAddPer3C;    // ¼¼ÄÜÉ˺¦ÔöÇ¿3ϵÊý  
 | 
    DWORD        SkillAddPer4C;    // ¼¼ÄÜÉ˺¦ÔöÇ¿4ϵÊý  
 | 
    DWORD        SkillAddPer5C;    // ¼¼ÄÜÉ˺¦ÔöÇ¿5ϵÊý  
 | 
    DWORD        SkillAddPer6C;    // ¼¼ÄÜÉ˺¦ÔöÇ¿6ϵÊý  
 | 
    DWORD        SkillAddPer7C;    // ¼¼ÄÜÉ˺¦ÔöÇ¿7ϵÊý  
 | 
    DWORD        SkillReducePer1C;    // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ1ϵÊý  
 | 
    DWORD        SkillReducePer2C;    // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ2ϵÊý  
 | 
    DWORD        SkillReducePer3C;    // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ3ϵÊý  
 | 
    DWORD        SkillReducePer4C;    // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ4ϵÊý  
 | 
    DWORD        SkillReducePer5C;    // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ5ϵÊý  
 | 
    DWORD        SkillReducePer6C;    // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ6ϵÊý  
 | 
    DWORD        SkillReducePer7C;    // Êܵ½¼¼ÄÜÉ˺¦¼õÉÙ7ϵÊý  
 | 
    DWORD        ReduceSkillCDPerC;    // ¼õÉÙËùÓм¼ÄÜCDϵÊý  
 | 
    DWORD        LuckyHitPerC;    // »áÐÄÉ˺¦¼Ó³ÉϵÊý  
 | 
    DWORD        FaintDefRateC;    // ¿ØÖƵֿ¹ÏµÊý  
 | 
    DWORD        SuperHitRateC;    // ±©»÷ÂʼӳÉϵÊý  
 | 
    DWORD        IgnoreDefRateC;    // ÎÞÊÓ·ÀÓùϵÊý  
 | 
    DWORD        IgnoreDefRateReduceC;    // ÎÞÊÓ·ÀÓù¼õÃâϵÊý  
 | 
    DWORD        ProDefPerC;    // ·À»¤°Ù·Ö±ÈϵÊý  
 | 
    DWORD        FinalHurtPerC;    // ×îÖÕÉ˺¦¼Ó³ÉϵÊý  
 | 
    DWORD        FinalHurtReducePerC;    // ×îÖÕÉ˺¦¼õÃâϵÊý  
 | 
};  
 | 
  
 | 
//³É¾Í±í  
 | 
  
 | 
struct tagSuccess  
 | 
{  
 | 
    DWORD        _ID;    //³É¾ÍID  
 | 
    WORD        Type;    //³É¾ÍÀàÐÍ  
 | 
    DWORD        NeedCnt;    //ÐèÒªÊýÁ¿  
 | 
    list        Condition;    //¸¨ÖúÌõ¼þ  
 | 
    list        PreSuccess;    //ÐèÒª´ï³ÉǰÖÃ³É¾Í  
 | 
    dict        AwardItem;    //½±ÀøÎïÆ·ÁÐ±í  
 | 
    dict        AwardItem2;    //ͨÐÐÖ¤½±ÀøÎïÆ·ÁÐ±í  
 | 
    dict        Money;    //½ðÇ®  
 | 
    DWORD        Exp;    //¾Ñé  
 | 
    dict        AwardAttr;    //½±ÀøÊôÐÔ  
 | 
    DWORD        RedPacketID;    //ºì°üID  
 | 
    DWORD        MagicWeaponID;    //·¨±¦ID  
 | 
    DWORD        MagicWeaponExp;    //·¨±¦Éý¼¶¾Ñé  
 | 
};  
 | 
  
 | 
//ͨÌìÁîµÈ¼¶±í  
 | 
  
 | 
struct tagTongTianLV  
 | 
{  
 | 
    WORD        _TTLV;    //ͨÌìÁîµÈ¼¶  
 | 
    WORD        LVUPPoint;    //Éý¼¶ËùÐè»ý·Ö£¨0²»¿ÉÉý¼¶£©  
 | 
    list        CommAwardItemList;    //³£¹æ½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
    list        XianAwardItemList;    //ÏÉÆ·½±ÀøÎïÆ·Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
    list        NotifyItemIDList;    //ÐèÒª¹ã²¥µÄÎïÆ·IDÁÐ±í  
 | 
};  
 | 
  
 | 
//ͨÌìÁîÈÎÎñ±í  
 | 
  
 | 
struct tagTongTianTask  
 | 
{  
 | 
    WORD        _TTTaskID;    //ͨÌìÈÎÎñID£¨È·¶¨ºó²»¿ÉÐ޸ģ©  
 | 
    BYTE        TTTaskType;    //ͨÌìÈÎÎñÀàÐÍ  
 | 
    BYTE        IsDailyTask;    //ÊÇ·ñÿÈÕÈÎÎñ  
 | 
    DWORD        FinishNeedValue;    //ÈÎÎñÍê³ÉËùÐèÖµ  
 | 
    DWORD        TaskPoint;    //ÈÎÎñ»ý·Öµã½±Àø  
 | 
};  
 | 
  
 | 
//·¨±¦±í  
 | 
  
 | 
struct tagTreasure  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    BYTE        TreasureType;    //·¨±¦ÀàÐÍ  
 | 
    DWORD        PreTreasure;    //ǰÖ÷¨±¦  
 | 
    DWORD        FBMapID;    //¸±±¾ID  
 | 
    DWORD        FBLineID;    //¸±±¾Ïß·ID  
 | 
    DWORD        NeedLV;    //ÐèÒªµÈ¼¶  
 | 
    dict        NeedItem;    //ÐèÒªÏûºÄÎïÆ·  
 | 
};  
 | 
  
 | 
//·¨±¦Éý¼¶±í  
 | 
  
 | 
struct tagTreasureUp  
 | 
{  
 | 
    DWORD        _MWID;    //·¨±¦ID  
 | 
    BYTE        _LV;    //·¨±¦µÈ¼¶  
 | 
    DWORD        NeedExp;    //ÐèÒª¾Ñé  
 | 
    dict        AddAttr;    //ÊôÐÔ  
 | 
    list        UnLockSkill;    //½âËøµÄ¼¼ÄÜ  
 | 
    DWORD        PowerEx;    //¶îÍâ¹Ì¶¨Õ½Á¦  
 | 
};  
 | 
  
 | 
  
 | 
//Á¬ÐøÇ©µ½½±Àø±í  
 | 
  
 | 
struct tagContineSignAward  
 | 
{  
 | 
    BYTE        _ContineDay;    //Á¬ÐøÇ©µ½ÌìÊý  
 | 
    list        ItemID;    //½±ÀøÎïÆ·ID   
 | 
    BYTE        IsBind;    //ÎïÆ·ÊÇ·ñ°ó¶¨      
 | 
    list        ItemNum;    //ÎïÆ·½±Àø×îСֵ  
 | 
    list        JobItemList;    //Ö°ÒµÎïÆ·ÁÐ±í  
 | 
};  
 | 
  
 | 
//Ç©µ½½±Àø±í  
 | 
  
 | 
struct tagSignAward  
 | 
{  
 | 
    BYTE        _RewardID;    //½±ÀøID  
 | 
    list        ItemID;    //½±ÀøÎïÆ·ID  
 | 
    BYTE        IsBind;    //ÎïÆ·ÊÇ·ñ°ó¶¨   
 | 
    BYTE        VipLv;    //vipµÈ¼¶  
 | 
    list        OrdinaryNum;    //½±ÀøÎïÆ·ÊýÁ¿  
 | 
    BYTE        VipMultiple;   //½±Àø±¶ÂÊ      
 | 
};  
 | 
  
 | 
//VIPÀñ°ü±í  
 | 
  
 | 
struct tagVIPAward  
 | 
{  
 | 
    BYTE        _VIPLV;    //VIPµÈ¼¶  
 | 
    dict        ItemID;    //½±ÀøÎïÆ·ÐÅÏ¢  
 | 
    WORD        Price;    //Àñ°üÏÖ¼Û   
 | 
    WORD        OldPrice;    //Àñ°üÔ¼Û  
 | 
};  
 | 
  
 | 
//¶¨ÖÆÎïÆ·±í  
 | 
  
 | 
struct tagAppointItem  
 | 
{  
 | 
    DWORD        _ID;    //¶¨ÖÆÎïÆ·ID  
 | 
    BYTE        CancelUseLimit;    //´©´÷ÏÞÖÆ(³ýÖ°Òµ)  
 | 
    list        LegendAttrID;    //´«ÆæÊôÐÔID  
 | 
    list        LegendAttrValue;    //´«ÆæÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
//ÅÄÂôÎïÆ·±í  
 | 
  
 | 
struct tagAuctionItem  
 | 
{  
 | 
    DWORD        _AuctionItemID;  
 | 
};  
 | 
  
 | 
//VIPÌØÈ¨±í  
 | 
  
 | 
struct tagVipPrivilege  
 | 
{  
 | 
    DWORD   _VIPPriID;  //ÌØÈ¨ID  
 | 
    DWORD   VIP0;   //VIP0¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP1;   //VIP1¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP2;   //VIP2¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP3;   //VIP3¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP4;   //VIP4¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP5;   //VIP5¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP6;    //VIP6¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP7;    //VIP7¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP8;    //VIP8¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP9;    //VIP9¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP10;   //VIP10¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP11;   //VIP11¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP12;   //VIP12¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP13;   //VIP13¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP14;   //VIP14¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP15;   //VIP15¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
};  
 | 
  
 | 
//ÉÌ³Ç±í  
 | 
  
 | 
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 tagActivityPlaceReward  
 | 
{  
 | 
    BYTE        _ID;    //ID  
 | 
    BYTE        PlaceCount;    //·ÅÖö¨ÖÆ´ÎÊý  
 | 
    WORD        PlaceMaxLV;    //×î´óµÈ¼¶  
 | 
    list        FixedItemRewardList;    //¹Ì¶¨½±Àø [[ÎïÆ·ID, ¸öÊý], ...]  
 | 
    BYTE        RandItemCountA;    //±ýͼ½±Àø´ÎÊýA  
 | 
    list        RandItemRewardListA;    //±ýͼ½±Àø¿âA [[±ýͼ¸ÅÂÊ,ÎïÆ·ID], ...]  ÎïÆ·IDÖ§³Ö0  
 | 
    BYTE        RandItemCountB;    //±ýͼ½±Àø´ÎÊýB  
 | 
    list        RandItemRewardListB;    //±ýͼ½±Àø¿âB [[±ýͼ¸ÅÂÊ,ÎïÆ·ID], ...]  ÎïÆ·IDÖ§³Ö0  
 | 
};  
 | 
  
 | 
//Á¶µ¤Â¯µÈ¼¶±í  
 | 
  
 | 
struct tagRefineStove  
 | 
{  
 | 
    BYTE    _StoveLV;    //Á¶µ¤Â¯µÈ¼¶  
 | 
    DWORD    UpNeedExp;    //ÉýÏÂÒ»¼¶ËùÐè¾Ñé  
 | 
};  
 | 
  
 | 
//Á¶µ¤±í  
 | 
  
 | 
struct tagAlchemy  
 | 
{  
 | 
    DWORD   _ID;    //ÃØ·½Î¨Ò»ID²»¿É±ä¸ü  
 | 
    DWORD   AlchemItemID;    //µ¤Ò©ÎïÆ·ID  
 | 
    BYTE    AlchemType;    //ÃØ·½ÀàÐÍ1-Á鵤 2-Ïɵ¤  
 | 
    BYTE    AlchemyQuality;    //ÃØ·½Æ·¼¶  
 | 
    DWORD   LearnNeedItemID;    //µ¤·½ÎïÆ·ID  
 | 
    BYTE    LearnNeedAlchemLV;    //µ¤·½ÐèÒªÁ¶µ¤µÈ¼¶  
 | 
    WORD    LearnNeedLingGenPoint;    //µ¤·½ÐèÒª×ÜÁé¸ùµãÊý  
 | 
    WORD    NeedTime;    //Á¶µ¤Ê±¼ä(Ãë)  
 | 
    WORD    AlchemyExp; //Á¶µ¤»ñµÃ¾ÑéÖµ  
 | 
    dict    Material;    //Á¶µ¤²ÄÁÏ  
 | 
};  
 | 
  
 | 
//Á¶µ¤ÊýÁ¿±í  
 | 
  
 | 
struct tagAlchemyResult  
 | 
{  
 | 
    BYTE    _AlchemyQuality;    //µ¤·½µÈ¼¶  
 | 
    DWORD    LuckValue;    //»Û¸ù  
 | 
    list    CntRateList;    //ÊýÁ¿±ýͼ      
 | 
};  
 | 
  
 | 
  
 | 
//BOSSÐÅÏ¢±í  
 | 
  
 | 
struct tagBOSSInfo  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    DWORD        MapID;    //µØÍ¼ID  
 | 
    BYTE        RefreshLine;    //Ë¢ÐÂÏß·  
 | 
    BYTE        RefreshMark;    //ˢбêʶµã  
 | 
    BYTE        IsNeedShunt;    //ÊÇ·ñÐèÒª·ÖÁ÷  
 | 
    BYTE        RelatedType;    //Ë¢¹Ö¹ØÁªÀàÐÍ  
 | 
    char        RelatedID;    //¹ØÁªID ÈÕ³£»î¶¯ID »ò ÔËÓª»î¶¯Ãû  
 | 
    DWORD        StoneNPCID;    //ű®NPCID  
 | 
    BYTE        CanAssist;    //ÊÇ·ñ¿ÉÐÖú  
 | 
    BYTE        SkillResist;    //ÊÇ·ñ¼¼Äֿܵ¹  
 | 
};  
 | 
  
 | 
//BossÊ×ɱ  
 | 
  
 | 
struct tagBOSSFirstKill  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    WORD        PerPlayerMoneyAward;    // Ê×ɱȫ·þÍæ¼Ò½±ÀøÁéʯ¶î¶È/ÈË  
 | 
    list        PersonFirstKillAward;    // ¸öÈËÊ״λ÷ɱ½±Àø [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//¹ÅÉñ½ûµØ±í  
 | 
  
 | 
struct tagElderGodArea  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    BYTE        MonsterAnger;    //¹ÖÎïÅÆøÖµ  
 | 
};  
 | 
  
 | 
//¸öÈËBOSS±í  
 | 
  
 | 
struct tagPersonalBoss  
 | 
{  
 | 
    DWORD        NPCID;    //ID  
 | 
    DWORD        _FuncLineID;    //¿ÉÌôÕ½µÈ¼¶  
 | 
};  
 | 
  
 | 
//ÏÉÃË»îÔ¾±í  
 | 
  
 | 
struct tagFamilyActivity  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    WORD        UnLockFuncID;    //½âËø¹¦ÄÜID  
 | 
    BYTE        TotalActivityTime;    //×Ü´ÎÊý  
 | 
    WORD        SingleTimes;    //Ôö¼Ó»îÔ¾ÐèÒª´ÎÊý  
 | 
    WORD        SingleActiveValue;    //ÿÂÖÔö¼Ó»îÔ¾»ý·Ö  
 | 
};  
 | 
  
 | 
//ÏÉÃ˺ì°ü±í  
 | 
  
 | 
struct tagFamilyRedPack  
 | 
{  
 | 
    WORD        _ID;    //ID  
 | 
    WORD        GetType;    //»ñµÃ;¾¶  
 | 
    WORD        MoneyNum;    //ºì°ü¶î¶È  
 | 
    BYTE        MoneyType;    //½ðÇ®ÀàÐÍ  
 | 
    BYTE        PacketCnt;    //ºì°ü¸öÊý  
 | 
};  
 | 
  
 | 
//½ÚÈÕºì°üÿÈÕ³É¾Í±í  
 | 
  
 | 
struct tagActFeastRedPacketSucc  
 | 
{  
 | 
    BYTE        _FeastDay;    //½ÚÈÕµÚ¼¸Ìì  
 | 
    list        FeastSuccIDList;    //½ÚÈճɾÍIDÁÐ±í  
 | 
};  
 | 
  
 | 
//NPCÐã±í  
 | 
  
 | 
struct tagNPCShow  
 | 
{  
 | 
    DWORD        _NPCID;  
 | 
    DWORD        _MapID;  
 | 
    BYTE        LineID;  
 | 
    DWORD        ProtectTime; //±£»¤Ê±¼ä, ºÁÃë  
 | 
    DWORD        BindMissionID;    //°ó¶¨µÄÈÎÎñID  
 | 
    BYTE        ShowType;    //0-·þÎñ¶Ë֪ͨ,>0ǰ¶Ë´¦Àí  
 | 
};  
 | 
  
 | 
  
 | 
//·âħ̳BOSS±í  
 | 
  
 | 
struct tagSealDemon  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    BYTE        LineID;  
 | 
    list        OwnerAwardItemEx;    //µÚÒ»Ãû¶îÍâ½±ÀøÎïÆ·[[itemID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//¸±±¾¹ÄÎè±í  
 | 
  
 | 
struct tagFbEncourage  
 | 
{  
 | 
    DWORD        _DataMapID;    //µØÍ¼ID  
 | 
    BYTE        _InspireType; //¹ÄÎèÀàÐÍ  
 | 
    WORD        InspireMaxLV;    //¹ÄÎèµÈ¼¶ÏÞÖÆ  
 | 
    char        MoneyCount;    //µ¥´ÎÏûºÄ½ðÇ®ÊýÁ¿  
 | 
};  
 | 
  
 | 
//µØÍ¼±êÊÔµãNPCˢР 
 | 
  
 | 
struct tagMapRefreshNPC  
 | 
{  
 | 
    DWORD        _MapID;    //µØÍ¼ID  
 | 
    BYTE        RefreshNum; //Ë¢¹Ö¹æÔò±àºÅ  
 | 
    list        NPCIDList;    //NPCIDÁÐ±í  
 | 
    list        RefreshMarkList;    //±êÊÔµãÁÐ±í  
 | 
    BYTE        PointMaxCount;    //µ¥¸öµã×î´ó´æÔÚ¹ÖÎïÊý  
 | 
    BYTE        TotalMaxCount;    //ËùÓеã×ܹÖÎïÊý  
 | 
    BYTE        RefreshSeconds;    //Ë¢¹Ö¼ä¸ôÃë  
 | 
    BYTE        RefreshPerMinutes;    //ÿÕûX·ÖË¢¹Ö  
 | 
};  
 | 
  
 | 
//·ûÓ¡ºÏ³É±í  
 | 
  
 | 
struct tagRuneCompound  
 | 
{  
 | 
    DWORD        _TagItemID;    //ºÏ³ÉµÄ·ûÓ¡ÎïÆ·ID  
 | 
    list        NeedItem; //ÐèÒªµÄÎïÆ·ID  
 | 
    WORD        NeedMJ;    //ÐèÒªµÄħ¾«ÊýÁ¿  
 | 
};  
 | 
  
 | 
//×ÊÔ´ÕÒ»Ø±í  
 | 
  
 | 
struct tagResourcesBack  
 | 
{  
 | 
    BYTE        _ID;    //ID  
 | 
    DWORD        RelatedID; //¹ØÁªÈÕ³£ÈÎÎñ±íID  
 | 
    BYTE        CanBackTimes;    //ÄÜ·ñÕһشÎÊý  
 | 
    BYTE        NormalCostJade; //°óÓñÕÒ»ØÆÕͨ´ÎÊý¼Û¸ñ  
 | 
    WORD        VipCostJade; //°óÓñÕÒ»ØVIP´ÎÊýÕһؼ۸ñ  
 | 
    dict        JadeReward; //°óÓñÕһؽ±Àø  
 | 
    DWORD        CostCopper; //ÍÇ®ÕÒ»ØÍÇ®ÏûºÄ  
 | 
    dict        CopperReward; //ÍÇ®Õһؽ±Àø  
 | 
    list        JobItemList; //Ö°ÒµÎïÆ·ÁÐ±í  
 | 
};  
 | 
  
 | 
//²É¼¯Îï±í  
 | 
  
 | 
struct tagCollectNPC  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    BYTE        IsMissionCollectNPC;    //ÊÇ·ñÈÎÎñ²É¼¯Îï  
 | 
    BYTE        PrepareTime;    //²É¼¯ºÄʱ£¬Ãë  
 | 
    list        LostHPPer;    //²É¼¯µôѪ£¬[ÿXÃë,µôѪ°Ù·Ö±È]  
 | 
    BYTE        MaxCollectCount;    //¿É²É¼¯´ÎÊý£¬0ÎÞÏÞÖÆ  
 | 
    BYTE        CollectResetType;    //²É¼¯´ÎÊýÖØÖÃÀàÐÍ£¬0-²»ÖØÖã¬1-ÿÈÕ5µãÖØÖà  
 | 
    char        CollectCountLimitNotify;    //Î޲ɼ¯´ÎÊý²É¼¯Ìáʾ  
 | 
    list        CollectAward;    //²É¼¯½±ÀøÎïÆ·£¬È¨ÖØÁбí [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...]  
 | 
    dict        CollectAppointAward;    //²É¼¯´ÎÊý¶¨ÖƲú³ö {´ÎÊý:[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...}  
 | 
    BYTE        AlchemyDiffLV;    //¹ýÂËÁ¶µ¤µÈ¼¶²î£¬0-²»¹ýÂË£¬>0¹ýÂË´óÓÚ×ÔÉíÁ¶µ¤µÈ¼¶X¼¶µÄÎïÆ·  
 | 
    BYTE        NotifyCollectResult;    //ÊÇ·ñ֪ͨ²É¼¯½á¹û  
 | 
    BYTE        CanBreakCollect;    //±»¹¥»÷ÊÇ·ñ´ò¶Ï²É¼¯  
 | 
};  
 | 
  
 | 
//±¦Ïä¹Ö±í  
 | 
  
 | 
struct tagTreasureNPC  
 | 
{  
 | 
    DWORD        _NPCID;    //±¦Ïä¹ÖNPCID  
 | 
    dict        AttackCountDropWeightInfo;    //¹¥»÷´ÎÊý¶ÔÓ¦µôÂäÈ¨ÖØ±ýͼ {´ÎÊý:[[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...], ...}  
 | 
    list        AttackDropWeightList;    //³£¹æ¹¥»÷È¨ÖØ±ýͼ [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...]  
 | 
    list        AttackDropWeightListEx;    //¶îÍâµôÂäÈ¨ÖØ±ýͼ¿â£¬Ã¿´Î¹¥»÷¶¼»áµôÂä  [[È¨ÖØ, [ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...]  
 | 
    BYTE        DropCountEx;    //¶îÍâ¿âÖ´ÐдÎÊý  
 | 
    BYTE        AlchemyDiffLV;    //¹ýÂËÁ¶µ¤µÈ¼¶²î£¬0-²»¹ýÂË£¬>0¹ýÂË´óÓÚ×ÔÉíÁ¶µ¤µÈ¼¶X¼¶µÄÎïÆ·  
 | 
    char        NotDropNotify;    //ûÓеôÂäʱÌáʾÐÅÏ¢  
 | 
};  
 | 
  
 | 
//±¦Ïä±í¿ªÆô  
 | 
  
 | 
struct tagChests  
 | 
{  
 | 
    DWORD        _ChestsItemID;    //±¦ÏäÎïÆ·ID  
 | 
    DWORD        CostItemID;        //ÏûºÄÎïÆ·ID  
 | 
    BYTE        CostItemCount;    //ÏûºÄÎïÆ·¸öÊý  
 | 
    WORD        CostGold;        //ÏûºÄÏÉÓñ  
 | 
    BYTE        ShowType;        //ǰ¶Ë±íÏÖÀàÐÍ0-ÎÞ±íÏÖ, >0ÓбíÏÖÐèͬ²½½á¹û£¬¾ßÌåÀàÐÍǰ¶Ë×Ô¶¨Òå  
 | 
    BYTE        IsBind;            //¿ª³öÎïÆ·ÊÇ·ñ°ó¶¨  
 | 
    BYTE        AucionItemCanSell;    //¿ª³öÅÄÆ·¿É·ñÉϼܼ¯ÊÐ  
 | 
    list        AucionItemDiffSellIDList;    //¿É·ñÉϼܲîÒìÅÄÆ·IDÁÐ±í£¬¼´¿ÉÉϼܴú±í²»¿ÉÉϼܵÄÅÄÆ·IDÁÐ±í£¬²»¿ÉÉϼܴú±í¿ÉÉϼܵÄÅÄÆ·IDÁÐ±í  
 | 
};  
 | 
  
 | 
//±¦Ïä±í²ú³ö±í  
 | 
  
 | 
struct tagChestsAward  
 | 
{  
 | 
    DWORD        _ChestsItemID;    //±¦ÏäÎïÆ·ID  
 | 
    WORD        RealmLV;        //¾³½çµÈ¼¶  
 | 
    WORD        AwardLV;        //±¦Ïä½±ÀøµÈ¼¶  
 | 
    dict        SelectItemDict; //Ñ¡ÔñÎïÆ·ID¶ÔÓ¦¸öÊý×ֵ䣬¹æ¶¨Ö»ÄÜѡһ¸ö  
 | 
    dict        FixedItemDict; //¹Ì¶¨²ú³öÎïÆ·ID¶ÔÓ¦¸öÊý×Öµä  
 | 
    list        RandItemList1; //Ëæ»úÎïÆ·±ýͼÁбí1  
 | 
    list        RandTimeList1; //Ëæ»ú´ÎÊý±ýͼÁбí1  
 | 
    list        RandItemList2; //Ëæ»úÎïÆ·±ýͼÁбí2  
 | 
    list        RandTimeList2; //Ëæ»ú´ÎÊý±ýͼÁбí2  
 | 
    dict        RandItemByUseCount; //±¦Ï俪ÆôX´Î¶ÔÓ¦ÌØÊâ²ú³ö£¬Óë±ýͼÁбí2»¥³â  
 | 
    list        JobItemList; //Ö°ÒµÎïÆ·ÁÐ±í  
 | 
    BYTE        MoneyType;    //»õ±ÒÀàÐÍ  
 | 
    DWORD        MoneyCount;    //»õ±ÒÊýÁ¿  
 | 
    list        NeedNotifyItemList;    //ÐèÒª¹ã²¥µÄÎïÆ·IDÁÐ±í  
 | 
    BYTE        IsDropJobSelf;    //ÊÇ·ñÖ»µôÂä±¾Ö°Òµ  
 | 
    list        PieRateDrop;    //±ýͼ¸ÅÂʵôÂäÐÅÏ¢ [(¸ÅÂÊ,0),(¸ÅÂÊ,(½×,ÑÕÉ«)),...]  
 | 
    BYTE        PieRateDoCnt;    //±ýͼ¸ÅÂÊÖ´ÐдÎÊý  
 | 
    dict        IndepRateDrop;    //¶ÀÁ¢¸ÅÂʵôÂäÐÅÏ¢ {(½×,ÑÕÉ«):¸ÅÂÊ,...}  
 | 
    dict        EquipColorSuitInfo;    //×°±¸ÑÕÉ«¶ÔÓ¦Ì××°¸ÅÂÊ {ÑÕÉ«:Ì××°¸ÅÂÊ, ...}  
 | 
    dict        EquipPartKeyRateInfo;    //×°±¸²¿Î»¼¯ºÏÐÅÏ¢ {(ÑÕÉ«,ÊÇ·ñÌ××°):²¿Î»¼¯ºÏkey, ...}  
 | 
};  
 | 
  
 | 
//VIPɱ¹Ö¼Ó¹¥»÷±í  
 | 
  
 | 
struct tagVIPKillNPC  
 | 
{  
 | 
    WORD        _KillLV;    //ɱ¹Ö³É³¤µÈ¼¶  
 | 
    DWORD        LVExpPoint;    //Éý¼¶ËùÐè¾Ñéµã,ÿ¸ö¾Ñéµã´ú±íµÄ¾ÑéÓÉÏîÄ¿¾ö¶¨  
 | 
    DWORD        LVExp;        //³ý¾Ñéµã×ܾÑéÍâÉý¼¶»¹ÐèµÄ¾Ñé  
 | 
    DWORD        AddMinAtk;    //Ôö¼Ó×îС¹¥»÷  
 | 
    DWORD        AddMaxAtk;    //Ôö¼Ó×î´ó¹¥»÷  
 | 
};  
 | 
  
 | 
  
 | 
//È«Ãñ³å°ñÅÅÐн±Àø±í  
 | 
  
 | 
struct tagOSCBillRankAward  
 | 
{  
 | 
    BYTE        _OSCBillType;    //³å°ñÀàÐÍ  
 | 
    BYTE        RankA;    //ÅÅÃûA  
 | 
    BYTE        RankB;    //ÖÁÅÅÃûB  
 | 
    dict        RankAward; //ÅÅÃû½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
};  
 | 
  
 | 
  
 | 
//È«Ãñ³å°ñ´ï³É½±Àø±í  
 | 
  
 | 
struct tagOSCBillTagAward  
 | 
{  
 | 
    BYTE        _OSCBillType;    //³å°ñÀàÐÍ  
 | 
    WORD        TagCondition;    //Ä¿±êÌõ¼þÖµ  
 | 
    dict        TagAward; //Ä¿±ê½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
};  
 | 
  
 | 
//ÆßÌìµÇ¼½±Àø±í  
 | 
  
 | 
struct tagLoginDayAward  
 | 
{  
 | 
    BYTE        _DayID;    //ÌìÊý  
 | 
    dict        Reward;    //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
};  
 | 
  
 | 
//ÆßÌìÔÚÏß½±Àø±íР 
 | 
  
 | 
struct tagOnlineAwardNew  
 | 
{  
 | 
    BYTE        _DayID;    //ÌìÊý  
 | 
    list        StageTime;    //½×¶ÎËùÐèʱ¼ä(·ÖÖÓ)  
 | 
    dict        Reward;    //½±Àø {"Ë÷Òý":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
};  
 | 
  
 | 
//ÆßÌìÏÞÊ±ÌØ»Ý±í  
 | 
  
 | 
struct tagSpringSale  
 | 
{  
 | 
    BYTE        _GiftID;    //Àñ°üID  
 | 
    BYTE        SellDay;    //´´½ÇµÚ¼¸ÌìÉÏ¼Ü  
 | 
    BYTE        BuyNumLimit;    //ÿÈËÏÞ¹ºÊýÁ¿  
 | 
    WORD        GiftPrice;    //Àñ°ü¼Û¸ñ£¬ÏÉÓñ  
 | 
    list        GiftItemList;    //Àñ°üÎïÆ·ÐÅÏ¢Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...]  
 | 
};  
 | 
  
 | 
//³äÖµÉÌÆ·±àºÅ±í  
 | 
  
 | 
struct tagOrderInfo  
 | 
{  
 | 
    char        _OrderInfo;    //ÉÌÆ·±àºÅ  
 | 
    char        _AppID;    //appID  
 | 
    float        PayRMBNum;    //¸¶·Ñ¶î¶È£¬Ôª  
 | 
    DWORD        CTGID;    //¶ÔÓ¦³äÖµID  
 | 
    DWORD        GiftbagID;    //¶ÔÓ¦ÏÞʱÀñ°ü±àºÅ  
 | 
    DWORD        CoinExp;    //¶ÔӦת»¯¾Ñé  
 | 
};  
 | 
  
 | 
//³äÖµ±í  
 | 
  
 | 
struct tagCTG  
 | 
{  
 | 
    BYTE        _RecordID;        //¼Ç¼ID  
 | 
    BYTE        CanResetBuyCount;    //ÊÇ·ñÔÊÐíÖØÖôÎÊý  
 | 
    BYTE        TotalBuyCount;    //×ÜÏÞ¹º´ÎÊý  
 | 
    BYTE        DailyBuyCount;    //ÿÈÕÏÞ¹º´ÎÊý  
 | 
    BYTE        WeekBuyCount;    //ÿÖÜÏÞ¹º´ÎÊý  
 | 
    BYTE        MonthBuyCount;    //ÿÔÂÏÞ¹º´ÎÊý  
 | 
    WORD        GainGold;    //»ñµÃÏÉÓñÊý  
 | 
    WORD        GainGoldPrize;    //ÔùËÍÏÉÓñÊý  
 | 
    WORD        FirstGoldPrize;    //Ê״γäÖµ¸ÃµµÎ»ÔùËÍÏÉÓñ  
 | 
    list        GainItemList;    //»ñµÃÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...]  
 | 
    dict        ActWorldLVGainItemInfo;    //¸ù¾Ý»î¶¯ÊÀ½çµÈ¼¶»ñµÃÎïÆ·ÐÅÏ¢£¬»î¶¯×¨Óà{"ÊÀ½çµÈ¼¶":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...], ...}  
 | 
    char        NotifyMark;    //¹ã²¥Ìáʾ  
 | 
    BYTE        PayType;    //³äÖµÀàÐÍ  
 | 
};  
 | 
  
 | 
//Ê׳ä±í  
 | 
  
 | 
struct tagFirstGold  
 | 
{  
 | 
    BYTE        _Day;        //Ê׳äµÚ¼¸Ìì  
 | 
    dict        JobItemInfo;    //Ö°ÒµÎïÆ·½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý], ...], ...}  
 | 
    list        CommItemList;    //ͨÓÃÎïÆ·½±Àø [[ÎïÆ·ID,¸öÊý], ...]  
 | 
};  
 | 
  
 | 
//µÈ¼¶½±Àø±í  
 | 
  
 | 
struct tagLVAward  
 | 
{  
 | 
    BYTE        _AwardID;    //½±ÀøID  
 | 
    WORD        LV;    //µÈ¼¶  
 | 
    WORD        LimitCnt;    //È«·þÏÞÖÆÊýÁ¿  
 | 
    dict        Reward;    //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
    BYTE        VIPLimit;    //ÐèÒªVIP¼¸  
 | 
    list        VIPAward;    //vip½±Àø[[ÎïÆ·ID,¸öÊý],...]  
 | 
};  
 | 
  
 | 
//Ͷ×汒  
 | 
  
 | 
struct tagInvest  
 | 
{  
 | 
    WORD        _ID;    //ID  
 | 
    BYTE        Type;    //Ͷ×ÊÀàÐÍ  
 | 
    BYTE        NeedDay;    //ÐèÒªÌìÊý  
 | 
    WORD        NeedLV;    //ÐèÒªµÈ¼¶  
 | 
    DWORD        NeedNPCID;    //ÐèÒªNPCID  
 | 
    dict        Reward;    //½±Àø {"key":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...}  
 | 
};  
 | 
  
 | 
//Ïɱ¦Ñ°Ö÷±í  
 | 
  
 | 
struct tagXBXZ  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    BYTE        Type;    //ÀàÐÍ  
 | 
    DWORD        NeedCnt;    //ÐèÒªÊýÁ¿  
 | 
    list        Condition;    //Ìõ¼þ  
 | 
    WORD        MWID;    //·¨±¦ID  
 | 
    list        AwardItem;    //½±ÀøÎïÆ·ÁÐ±í  
 | 
    list        Money;    //½ðÇ®  
 | 
};  
 | 
  
 | 
//Ѱ±¦²ú³ö¿â±í  
 | 
  
 | 
struct 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        ReturnDays;    //·µ»¹ËùÐèÌì  
 | 
};  
 | 
  
 | 
//ÏÞʱÀñ°ü»î¶¯±í  
 | 
  
 | 
struct tagActFlashGiftbag  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        IsJueban;    //ÊÇ·ñ¾ø°æÀñ°ü  
 | 
    dict        GiftbagTypeList;    //Àñ°üÀàÐÍÁÐ±í  
 | 
    char        MailKey;        //»î¶¯¸üÐÂʱ·¢ËÍÓʼþkey  
 | 
    list        MailItemPrize;        //»î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ·  
 | 
};  
 | 
  
 | 
//ÏÞʱÀñ°üÄ£°å±í  
 | 
  
 | 
struct tagFlashGiftbag  
 | 
{  
 | 
    DWORD        _GiftbagID;    //Àñ°ü±àºÅ  
 | 
    WORD        GiftbagType;    //Àñ°üÀàÐÍ  
 | 
    float        OriginalRMB;    //Ô¼Û£¨RMB£©  
 | 
    WORD        BuyCountLimit;        //ÏÞ¹º´ÎÊý,0²»ÏÞ¹º  
 | 
    list        GiftItemList;    //Àñ°üÎïÆ·ÐÅÏ¢Áбí [(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...]  
 | 
    DWORD        MainItemID;    //±êµÄÎïÆ·ID  
 | 
    char        NotifyKey;        //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È)  
 | 
};  
 | 
  
 | 
//ÿÈÕÀñ°ü»î¶¯±í  
 | 
  
 | 
struct tagActDailyGiftbag  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    WORD        GiftbagType;    //Àñ°üÄ£°åÀàÐÍ  
 | 
};  
 | 
  
 | 
//ÿÈÕÀñ°üÄ£°å±í  
 | 
  
 | 
struct tagDailyGiftbag  
 | 
{  
 | 
    WORD        _GiftbagType;    //Àñ°üÄ£°åÀàÐÍ  
 | 
    DWORD        _GiftbagID;    //Àñ°ü±àºÅ  
 | 
    WORD        BuyCountLimit;        //ÏÞ¹º´ÎÊý,0²»ÏÞ¹º  
 | 
    list        GiftItemList;    //Àñ°üÎïÆ·ÐÅÏ¢Áбí [(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...]  
 | 
};  
 | 
  
 | 
//Ë«±¶¾Ñé»î¶¯±í  
 | 
  
 | 
struct tagActExpRate  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    DWORD        AddExpRate;    //¾Ñé±¶Âʼӳɣ¬Íò·ÖÂÊ  
 | 
};  
 | 
  
 | 
//Ïû·Ñ·µÀû»î¶¯±í  
 | 
  
 | 
struct tagActCostRebate  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    list        TemplateIDList;    //Ä£°åIDÁÐ±í  
 | 
};  
 | 
  
 | 
//Ïû·Ñ·µÀûÄ£°å±í  
 | 
  
 | 
struct tagCostRebateTemplate  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    DWORD        NeedCostGold;    //ÐèÒªÏû·ÑÏÉÓñÊý  
 | 
    BYTE        AwardIndex;        //·µÀû½±ÀøË÷Òý0~31,ͬ¸öÄ£°åÖв»Öظ´  
 | 
    dict        AwardItemList;    //·µÀûÎïÆ·ÐÅÏ¢Áбí {ÊÀ½çµÈ¼¶·¶Î§:[({Ö°Òµ:ÎïÆ·ID,..},¸öÊý,ÊÇ·ñ°ó¶¨), ...]}  
 | 
    char        NotifyKey;        //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È)  
 | 
};  
 | 
  
 | 
//ÂòÒ»ËͶà»î¶¯±í  
 | 
  
 | 
struct tagActBuyOne  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    list        TemplateIDList;    //Ä£°åIDÁÐ±í  
 | 
};  
 | 
  
 | 
//ÂòÒ»ËͶàÄ£°å±í  
 | 
  
 | 
struct tagActBuyOneTemplate  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    DWORD        NeedCTGID;    //ÐèÒª³äÖµID  
 | 
    BYTE        RecordIndex;    //¼Ç¼Ë÷Òý  
 | 
    dict        FreeItemInfo;    //Ãâ·ÑÁìÈ¡µÄÎïÆ·ÐÅÏ¢Áбí{ÁìÈ¡¼Ç¼Ë÷Òý:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·]], ...}  
 | 
};  
 | 
  
 | 
//¼¯×ֻʱ¼ä±í  
 | 
  
 | 
struct tagActCollectWords  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        LastDayOnlyExchange;    //×îºóÒ»ÌìÊÇ·ñ½ö¶Ò»»  
 | 
    WORD        TemplateID;    //¶Ò»»Ä£°å±àºÅ  
 | 
    WORD        DropDiffLVLimit;    //µôÂäµÈ¼¶²îÖµÏÞÖÆ  
 | 
    list        DropItemRateList;    //С¹ÖµôÂä±ýͼ¸ÅÂÊ  
 | 
    list        DropItemRateListBoss;    //BossµôÂä±ýͼ¸ÅÂÊ  
 | 
};  
 | 
  
 | 
//¼¯×ֻ¶Ò»»Ä£°å±í  
 | 
  
 | 
struct tagCollectWordsExchange  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    BYTE        ExchangeNum;    //¶Ò»»±àºÅ£¨Í¬¸öÄ£°åÖÐÐèΨһ²»¿É±ä£©  
 | 
    list        ExchangeItemInfo;    //¶Ò»»Ä¿±êÎïÆ·[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨]  
 | 
    BYTE        ExchangeCountMax;        //×î´ó¶Ò»»´ÎÊý(0²»ÏÞÖÆ)  
 | 
    list        NeedItemList;    //ËùÐèÎïÆ·ÐÅÏ¢Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...]  
 | 
    BYTE        NeedNotify;        //ÊÇ·ñÐèÒª¹ã²¥  
 | 
};  
 | 
  
 | 
//À¬»ø·ÖÀà»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActGarbageSorting  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        CTGTypeEffValue;    //³äÖµÓÐЧÀàÐÍÖµ  
 | 
};  
 | 
  
 | 
//À¬»ø·ÖÀàÈÎÎñ²ú³ö±í  
 | 
  
 | 
struct tagActGarbageTask  
 | 
{  
 | 
    DWORD        _GarbageTasklD;    //À¬»øÈÎÎñID  
 | 
    DWORD        FinishNeedValue;    //Íê³ÉËùÐè½ø¶ÈÖµ  
 | 
    DWORD        FinishTimeMax;    //×Ü¿ÉÍê³É´ÎÊý£¬0²»ÏÞ  
 | 
    BYTE        AutoProduce;        //×Ô¶¯²úÉúÀ¬»ø  
 | 
    list        ProduceGarbageRateList;    //Ëæ»ú²úÉúÀ¬»ø¸ÅÂʱýͼ  
 | 
};  
 | 
  
 | 
//BossÀúÁ·»î¶¯±í  
 | 
  
 | 
struct tagActBossTrial  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        SubmitItemAwardInfo;    //Ìύƾ֤¸öÊý¶ÔÓ¦½±Àø  
 | 
    list        TemplateIDList;    //°ñµ¥Ä£°å±àºÅÁÐ±í  
 | 
};  
 | 
  
 | 
//BossÀúÁ·°ñµ¥Ä£°æ±í  
 | 
  
 | 
struct tagActBossTrialTemplate  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°å±àºÅ  
 | 
    BYTE        Rank;    //Ãû´Î  
 | 
    list        AwardItemList;    //½±ÀøÎïÆ·ÐÅÏ¢Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//ÏÉÏ»ÃØ¾³»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActXianXiaMJ  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    list        UseMoneyInfo;    //ÏûºÄ»õ±ÒÐÅÏ¢  
 | 
    BYTE        TemplateID;    //Ä£°åID  
 | 
};  
 | 
  
 | 
//ÏÉÏ»ÃØ¾³½±³Ø±í  
 | 
  
 | 
struct tagActXianXiaMJAward  
 | 
{  
 | 
    DWORD        _TemplateID;    //½±³ØÄ£°å±àºÅ  
 | 
    BYTE        AwardLibType;    //½±Àø¿âÀàÐÍ  
 | 
    BYTE        AwardItemCount;    //Ñ¡Ôñ¸öÊý  
 | 
    BYTE        UnlockAwardLimitTimes;    //³éX´Îºó¿É²ú³ö£¨±¾²ã£©  
 | 
    BYTE        AwardLibWeight;    //²ú³ö¸Ã¿âÍâÈ¨ÖØ  
 | 
    dict        LibItemInfo;    //±¾¿âÎïÆ·Ëæ»ú¿âÄÚÈ¨ÖØ£¨ÏÈËæ»ú¿âÍâÈ¨ÖØ£¬Èô²ú³öÔÙËæ»ú¿âÄÚÈ¨ÖØ£©  
 | 
    dict        ItemLayerLimitInfo;    //ÎïÆ·²ú³ö½±³Ø²ãÏÞÖÆ {ÎïÆ·ID:´óÓÚµÈÓÚX²ã¿É²ú³ö, ...}  
 | 
    dict        ItemAwardTimesTotalInfo;    //ÎïÆ·²ú³ö´ÎÊýÏÞÖÆ£¨ËùÓв㣩{ÎïÆ·ID:×ܲú³ö´ÎÊý, ...}  
 | 
};  
 | 
  
 | 
//ÌìµÛÀñ°ü»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActGodGift  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        UseMoneyType;    //ÏûºÄ»õ±ÒÀàÐÍ  
 | 
    list        UseGoldList;    //³é½±ÏûºÄ»õ±ÒÁÐ±í  
 | 
    BYTE        PrizeMoneyType;    //½±Àø»õ±ÒÀàÐÍ  
 | 
    list        PrizeMoneyList;    //½±Àø»õ±ÒÁÐ±í  
 | 
    BYTE        ResetLimitTimes;    //ÖÁÉٳ鼸´Î¿ÉÖØÖà  
 | 
    BYTE        ResetCountMax;    //¿ÉÖØÖôÎÊý  
 | 
    dict        TemplateIDInfo;    //½±³ØÄ£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):[Ä£°å±àºÅÁбí, ...], ...}  
 | 
};  
 | 
  
 | 
//ÌìµÛÀñ°ü½±³Ø±í  
 | 
  
 | 
struct tagActGodGiftAward  
 | 
{  
 | 
    DWORD        _TemplateID;    //½±³ØÄ£°å±àºÅ  
 | 
    BYTE        AwardLibType;    //½±Àø¿âÀàÐÍ  
 | 
    BYTE        UnlockAwardLimitTimes;    //³éX´Îºó¿É²ú³ö±¾¿â  
 | 
    BYTE        ChooseItemCount;    //Ñ¡Ôñ¸öÊý  
 | 
    dict        LibItemInfo;    //ÎïÆ·±àºÅ¶ÔÓ¦ÎïÆ·ÐÅÏ¢ {ÎïÆ·±àºÅ:[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·,¿ÉÑ¡´ÎÊý], ...}  0²»ÏÞ´ÎÊý  
 | 
    list        NotifyItemNumList;    //ÐèÒª¹ã²¥µÄ±àºÅÁÐ±í  
 | 
};  
 | 
  
 | 
//Æï³èÊ¢Ñç»î¶¯  
 | 
  
 | 
struct tagActHorsePetFeast  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
};  
 | 
  
 | 
//BOSS¸´»î»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActBossReborn  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        TemplateID;    //Ä£°å±àºÅ  
 | 
};  
 | 
  
 | 
//BOSS¸´»î±í  
 | 
  
 | 
struct tagBossReborn  
 | 
{  
 | 
    BYTE        _TemplateID;    //Ä£°åID  
 | 
    BYTE        _ID;    //»î¶¯ÌõÄ¿ID  
 | 
    DWORD        TotalTimes;    //¿ÉÍê³ÉµÄ×Ü´ÎÊý£¬0±íʾ²»ÏÞ´ÎÊý  
 | 
    WORD        SingleTimes;    //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý  
 | 
    dict        Reward;    //½±ÀøÎïÆ·ID1  
 | 
};  
 | 
  
 | 
//¶à±¶ÐÞÐеã»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActRealmPoint  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    WORD        Multiple;    //±¶Êý  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    DWORD        PointLimit;    //ÏÞÖÆ¶îÍâÐÞÐÐµã  
 | 
};  
 | 
  
 | 
//×ÚÃÅÊÔÁ¶¶Ò»»±í  
 | 
  
 | 
struct tagTrialExchange  
 | 
{  
 | 
    DWORD        _ID;    //¶Ò»»ID  
 | 
    list        ExchangeItemIDList;    //¶Ò»»ÎïÆ·ID  
 | 
    DWORD        ExchangeItemCount;    //¶Ò»»ÎïÆ·¸öÊý  
 | 
    DWORD        ExchangeItemIsBind;    //¶Ò»»ÎïÆ·ÊÇ·ñ°ó¶¨  
 | 
    DWORD        CostItemID;    //ÏûºÄÎïÆ·ID  
 | 
    DWORD        CostItemCount;    //ÏûºÄÎïÆ·¸öÊý  
 | 
};  
 | 
  
 | 
//ÏɽçÊ¢µä-È«ÃñÀ´à豒  
 | 
  
 | 
struct tagAllPeopleParty  
 | 
{  
 | 
    BYTE        _ID;    //ID  
 | 
    WORD        TotalTimes;    //×Ü´ÎÊý  
 | 
    WORD        AddPoint;    //ÿÍê³É´ÎÊý»ñµÃà赋  
 | 
};  
 | 
  
 | 
//ÏɽçÊ¢µä-È«ÃñÀ´à˽±Àø±í  
 | 
  
 | 
struct tagAllPeoplePartyAward  
 | 
{  
 | 
    BYTE        _WorldLvNum;    //ÊÀ½çµÈ¼¶µµ  
 | 
    DWORD        _Index;    //Ë÷Òý  
 | 
    DWORD        NeedPoint;    //ÐèÒªµãÊý  
 | 
    dict        Award;    //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...}  
 | 
};  
 | 
  
 | 
//µØÍ¼NPCÅäÖñí-¹Ò»úµã  
 | 
  
 | 
struct tagMapEventPoint  
 | 
{  
 | 
    DWORD    _MapID;  
 | 
    DWORD    _NPCID;  
 | 
    WORD    LowLV;    // ÍƼö×îµÍµÈ¼¶  
 | 
    WORD    HighestLV;    // ÍƼö×î¸ßµÈ¼¶  
 | 
    DWORD    Defense;    // ÍƼö·ÀÓù  
 | 
};  
 | 
  
 | 
//Ì츳¼¼ÄÜ±í  
 | 
  
 | 
struct tagTalentSkill  
 | 
{  
 | 
    DWORD        _SkillID;    //¼¼ÄÜID  
 | 
    BYTE        TalentType;    //Ì츳ÀàÐÍ  
 | 
    BYTE        Series;    //Ì츳ϵ±ð  
 | 
};  
 | 
  
 | 
//ÏÞʱÇÀ¹º±í  
 | 
  
 | 
struct tagActFlashSale  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    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 tagActRechargePrize  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    list        TemplateIDList;    //Ä£°åIDÁÐ±í  
 | 
};  
 | 
  
 | 
//³äÖµ·µÀûÄ£°å±í  
 | 
  
 | 
struct tagRechargePrizeTemplate  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    WORD        CTGID;    //³äÖµ±í³äÖµID  
 | 
    DWORD        GoldPrize;        //·µÀûÏÉÓñÊý  
 | 
    BYTE        PrizeCountLimit;    //×î´óÔùËÍ´ÎÊý  
 | 
};  
 | 
  
 | 
//ÀۼƳäÖµ»î¶¯±í  
 | 
  
 | 
struct tagActTotalRecharge  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        CTGTypeEffValue;    //³äÖµÓÐЧÀàÐÍÖµ  
 | 
    BYTE        IsOfflineAct;    //ÊÇ·ñÏßÏ»  
 | 
    list        TemplateIDList;    //Ä£°åIDÁÐ±í  
 | 
};  
 | 
  
 | 
//ÀۼƳäֵģ°å±í  
 | 
  
 | 
struct tagTotalRechargeTemplate  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    float        NeedGold;    //ÐèÒª³äÖµRMB£¬Ôª  
 | 
    BYTE        AwardIndex;        //·µÀû½±ÀøË÷Òý0~31,ͬ¸öÄ£°åÖв»Öظ´  
 | 
    dict        AwardItem;    //·µÀûÎïÆ·ÐÅÏ¢Áбí {Ö°Òµ:[(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...]}  
 | 
    char        NotifyKey;        //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È)  
 | 
};  
 | 
  
 | 
//ÀۼƳäÖµ·µÀûÏÉÓñ»î¶¯±í  
 | 
  
 | 
struct tagActRechargeRebateGold  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    list        TemplateIDList;    //Ä£°åIDÁÐ±í  
 | 
};  
 | 
  
 | 
//ÀۼƳäÖµ·µÀûÏÉÓñÄ£°å±í  
 | 
  
 | 
struct tagRechargeRebateGoldTemplate  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    DWORD        RMBMin;    //³äÖµRMB×îСֵ  
 | 
    DWORD        RMBMax;    //³äÖµRMB×î´óÖµ  
 | 
    WORD        RebateRate;    //·µÀûÏÉÓñ±ÈÀý°Ù·Ö±È  
 | 
};  
 | 
  
 | 
//³É³¤±ØÂò»î¶¯±í  
 | 
  
 | 
struct tagActGrowupBuy  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    list        CTGIDGroupList;    //³äÖµ±àºÅ×éÁбí [[ctgID, ...], ...]  
 | 
};  
 | 
  
 | 
//¶àÈÕÁ¬³ä»î¶¯±í  
 | 
  
 | 
struct tagActManyDayRecharge  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    WORD        TemplateID;    //Ä£°å±àºÅ  
 | 
};  
 | 
  
 | 
//¶àÈÕÁ¬³äÄ£°å±í  
 | 
  
 | 
struct tagActManyDayRechargeAward  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    float        NeedRMB;    //ËùÐè³äÖµ¶î¶È  
 | 
    BYTE        NeedDays;    //ËùÐè³äÖµÌìÊý  
 | 
    BYTE        AwardIndex;    //½±ÀøË÷Òý  
 | 
    dict        AwardItemInfo;    //½±ÀøÎïÆ·ÐÅÏ¢  {ÊÀ½çµÈ¼¶·¶Î§:[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]}  
 | 
    char         NotifyKey;    //¹ã²¥  
 | 
};  
 | 
  
 | 
//תÅ̻±í  
 | 
  
 | 
struct tagActTurntable  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        CTGTypeEffValue;    //³äÖµÓÐЧÀàÐÍÖµ  
 | 
    list        CTGPrizeList;    //ÀۼƳäÖµ½±Àø´ÎÊý  
 | 
    BYTE        UseMoneyType;    //ÀÛ¼ÆÏû·Ñ»õ±ÒÀàÐÍ  
 | 
    list        UseMoneyPrizeList;    //ÀÛ¼ÆÏû·ÑX»õ±Ò½±Àø´ÎÊý  
 | 
    list        LibChooseCountList;    //¸÷µÀ¾ß¿âÑ¡Ôñ¸öÊý  
 | 
    list        SuperItemLimitRule;    //ÖÕ¼«¿â²ú³öÍò·ÖÂÊ|ÖÁÉÙX´Îºó¿É²ú³ö  
 | 
    dict        CommItemLib;    //ÆÕͨµÀ¾ß¿â {(ÊÀ½çµÈ¼¶A,ÊÀ½çµÈ¼¶B):[[¿ÉÑ¡ÎïÆ·ID, ¸öÊý, ÊÇ·ñÅÄÆ·], ...], ...}  
 | 
    dict        GoodItemLib;    //¼«Æ·µÀ¾ß¿â {(ÊÀ½çµÈ¼¶A,ÊÀ½çµÈ¼¶B):[[¿ÉÑ¡ÎïÆ·ID, ¸öÊý, ÊÇ·ñÅÄÆ·], ...], ...}  
 | 
    dict        SuperItemLib;    //³¬¼¶µÀ¾ß¿â {(ÊÀ½çµÈ¼¶A,ÊÀ½çµÈ¼¶B):[[¿ÉÑ¡ÎïÆ·ID, ¸öÊý, ÊÇ·ñÅÄÆ·], ...], ...}  
 | 
    char        WorldNotifyKey;    //ºÃÎïÆ·È«·þ¹ã²¥mark£¬¼«Æ·¼°³¬¼¶µÀ¾ßĬÈÏÈ«·þ¹ã²¥  
 | 
};  
 | 
  
 | 
//µ¥±ÊÀÛ³ä»î¶¯±í  
 | 
  
 | 
struct tagActSingleRecharge  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        CTGTypeEffValue;    //³äÖµÓÐЧÀàÐÍÖµ  
 | 
    BYTE        IsOfflineAct;    //ÊÇ·ñÏßÏ»  
 | 
    BYTE        AwardRuleType;    //Áì½±¹æÔòÀàÐÍ 0-ÏòϼæÈÝ£»1-Æ¥Åä×î¸ßµµ£»2-¾«È·Æ¥Åä¶ÔÓ¦µµ´Î  
 | 
    list        TemplateIDList;    //Ä£°åIDÁÐ±í  
 | 
};  
 | 
  
 | 
//µ¥±ÊÀÛ³äÄ£°å±í  
 | 
  
 | 
struct tagActSingleRechargeAward  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    float        SingleRechargeValue;    //µ¥±Ê³äÖµ¶î¶È  
 | 
    BYTE        AwardIndex;        //·µÀû½±ÀøË÷Òý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  
 | 
};  
 | 
  
 | 
//¿ç·þBossħ»¯Ö®µØ·ÖÇøµØÍ¼±í  
 | 
  
 | 
struct tagCrossDemonLandZoneMap  
 | 
{  
 | 
    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;    //ʱװ±àºÅ  
 | 
    BYTE        CostQuality;    //ʱװƷÖÊ 0-ÆÕͨ£»1-Ï¡ÓУ»2-´«Ëµ  
 | 
    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 tagActFeastLogin  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    dict        TemplateIDInfo;    //Ä£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):½±ÀøÄ£°å±àºÅ, ...}  
 | 
};  
 | 
  
 | 
//½ÚÈյǼ½±ÀøÄ£°å±í  
 | 
  
 | 
struct tagActFeastLoginAward  
 | 
{  
 | 
    BYTE        _TemplateID;    //Ä£°åID  
 | 
    BYTE        DayNum;    //µÚXÌì´Ó1¿ªÊ¼  
 | 
    list        LoginAwardItemList;    //½±ÀøÁбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//½ÚÈÕ×£¸£Ê±¼ä±í  
 | 
  
 | 
struct tagActFeastWish  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        TemplateIDInfo;    //Ä£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):Ä£°å±àºÅ, ...}  
 | 
};  
 | 
  
 | 
//½ÚÈÕ×£¸£Æ¿Ä£°å±í  
 | 
  
 | 
struct tagActFeastWishBottle  
 | 
{  
 | 
    BYTE        _TemplateID;    //Ä£°åID  
 | 
    BYTE        WishBottleNum;    //×£¸£Æ¿±àºÅ  
 | 
    WORD        NeedWishValue;    //µ¥´ÎÁì½±ËùÐè×£¸£Öµ  
 | 
    BYTE        ChooseTimeMax;    //×î´ó¿ÉÁì½±´ÎÊý  
 | 
    dict        ChoosePrizeItem;    //Ñ¡Ôñ½±ÀøÎïÆ·ÐÅÏ¢£¬Ñ¡ÍêΪֹ {¼Ç¼Ë÷Òý:[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...}  
 | 
    list        GoodItemIDList;    //ÐèÒª¹ã²¥µÄÎïÆ·IDÁбí [ÎïÆ·ID, ...]  
 | 
    char        WorldNotifyKey;    //È«·þ¹ã²¥key£¬²ÎÊý(Íæ¼ÒÃû, ÎïÆ·ID, ÎïÆ·Êý¾Ý, ¸öÊý,)  
 | 
};  
 | 
  
 | 
//½ÚÈÕ×£¸£³ØÄ£°å±í  
 | 
  
 | 
struct tagActFeastWishPool  
 | 
{  
 | 
    BYTE        _TemplateID;    //Ä£°åID  
 | 
    list        WishPoolItemWeightInfo;    //×£¸£³Ø²ú³öÎïÆ·È¨ÖØ [[È¨ÖØ, [ÎïÆ·ID,¸öÊý]], ..]  
 | 
    list        WishPoolClientItemShow;    //ǰ¶ËչʾÎïÆ·Áбí [ÎïÆ·ID, ...]  
 | 
    list        GoodItemIDList;    //ÐèÒª¹ã²¥µÄÎïÆ·IDÁбí [ÎïÆ·ID, ...]  
 | 
    char        WorldNotifyKey;    //È«·þ¹ã²¥key£¬²ÎÊý(Íæ¼ÒÃû, ÎïÆ·ID, ÎïÆ·Êý¾Ý, ¸öÊý,)  
 | 
};  
 | 
  
 | 
//½ÚÈÕÓÎÀúʱ¼ä±í  
 | 
  
 | 
struct tagActFeastTravel  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        TemplateIDInfo;    //Ä£°åÐÅÏ¢ {(ÊÀ½çµÈ¼¶A,B):Ä£°å±àºÅ, ...}  
 | 
};  
 | 
  
 | 
//½ÚÈÕÓÎÀúÈÎÎñ±í  
 | 
  
 | 
struct tagActFeastTravelTask  
 | 
{  
 | 
    BYTE        _TraveTasklD;    //ÓÎÀúID  
 | 
    WORD        FinishNeedValue;    //Íê³ÉËùÐè½ø¶ÈÖµ  
 | 
    WORD        FinishTimeMax;    //×Ü¿ÉÍê³É´ÎÊý£¬0²»ÏÞ  
 | 
    BYTE        AddTravelPoint;    //Íê³É´ÎÊý»ñµÃÓÎÀúÖµ  
 | 
};  
 | 
  
 | 
//½ÚÈÕÓÎÀú½±Àø±í  
 | 
  
 | 
struct tagActFeastTravelAward  
 | 
{  
 | 
    BYTE        _TemplatelD;    //½±ÀøÄ£°åID  
 | 
    BYTE        RecordIndex;    //½±Àø¼Ç¼Ë÷Òý  
 | 
    WORD        NeedTravelPoint;    //Áì½±ËùÐèÓÎÀúÖµ  
 | 
    BYTE        AwardCountMax;    //¿ÉÁìÈ¡´ÎÊý£¬0´ú±í²»ÏÞ  
 | 
    list        TravelAwardInfo;    //ÓÎÀú½±Àø [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//ÖïÏÉBOSS±í  
 | 
  
 | 
struct tagZhuXianBoss  
 | 
{  
 | 
    DWORD        NPCID;    //ID  
 | 
    BYTE        _LineID;  
 | 
    WORD        RealmLV;    //ÐèÒª¾³½ç  
 | 
    DWORD        ZhuXianScore;    //ÐèÒªÖïÏÉ×ÜÆÀ·Ö  
 | 
};  
 | 
  
 | 
//½ÚÈÕѲÀñ»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActFeastWeekParty  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    list        TemplateID;    //Ä£°å±àºÅ  
 | 
    dict        PointAward;    //×Ü»ý·Ö½±Àø  
 | 
};  
 | 
  
 | 
//½ÚÈÕѲÀñÄ£°å±í  
 | 
  
 | 
struct tagFeastWeekParty  
 | 
{  
 | 
    BYTE        _TemplateID;    //Ä£°åID  
 | 
    BYTE        ActionType;    //»î¶¯ÌõÄ¿ID  
 | 
    DWORD        TotalTimes;    //¿ÉÍê³ÉµÄ×Ü´ÎÊý£¬0±íʾ²»ÏÞ´ÎÊý  
 | 
    WORD        SingleTimes;    //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý  
 | 
    list        Reward;    //½±ÀøÎïÆ·  
 | 
    WORD        Point;    //»ý·Ö  
 | 
};  
 | 
  
 | 
//ÐÂÏɽçÊ¢µä-È«ÃñÀ´à豒  
 | 
  
 | 
struct tagNewAllPeopleParty  
 | 
{  
 | 
    BYTE        _ID;    //ID  
 | 
    WORD        TotalTimes;    //×Ü´ÎÊý  
 | 
    WORD        AddPoint;    //ÿÍê³É´ÎÊý»ñµÃà赋  
 | 
};  
 | 
  
 | 
//ÐÂÏɽçÊ¢µä-È«ÃñÀ´à˽±Àø±í  
 | 
  
 | 
struct tagNewAllPeoplePartyAward  
 | 
{  
 | 
    BYTE        _WorldLvNum;    //ÊÀ½çµÈ¼¶µµ  
 | 
    DWORD        _Index;    //Ë÷Òý  
 | 
    DWORD        NeedPoint;    //ÐèÒªµãÊý  
 | 
    dict        Award;    //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...}  
 | 
};  
 | 
  
 | 
//ÐÒÔ˼ø±¦»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActLuckyTreasure  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        TemplateID;    //Ä£°å±àºÅ  
 | 
    WORD        LuckyPoint;    //×ÜÐÒÔËÖµ  
 | 
};  
 | 
  
 | 
//ÐÒÔ˼ø±¦¿âÄ£°å±í  
 | 
  
 | 
struct tagLuckyTreasureTemplate  
 | 
{  
 | 
    BYTE        _TemplateID;    //Ä£°åID  
 | 
    list        WorldLVLimit;    //ÊÀ½çµÈ¼¶·¶Î§  
 | 
    DWORD        ItemID;    //ÎïÆ·ID  
 | 
    WORD        ItemCnt;    //ÎïÆ·ÊýÁ¿  
 | 
    BYTE        IsBind;    //ÊÇ·ñ°ó¶¨  
 | 
    DWORD        Weight;    //È¨ÖØ  
 | 
};  
 | 
  
 | 
//¿ç·þ³äÖµÅÅÐÐÄ£°å´ï±ê½±Àø±í  
 | 
  
 | 
struct tagCrossActCTGBillboardDabiao  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    float        CTGNeed;    //Ðè³äÖµRMB  
 | 
    BYTE        AwardIndex;    //½±Àø¼Ç¼Ë÷Òý£¬´Ó0¿ªÊ¼£¬Í¬¸öÄ£°å²»¿ÉÖØ¸´£¬²»¿É±ä¸ü  
 | 
    list        AwardItemList;    //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//¿ç·þ³äÖµÅÅÐÐÄ£°åÃû´Î½±Àø±í  
 | 
  
 | 
struct tagCrossActCTGBillboardOrder  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    WORD        OrderA;    //Ãû´ÎA  
 | 
    WORD        OrderB;    //ÖÁÃû´ÎB  
 | 
    float        CTGAtleast;    //ÖÁÉÙ³äÖµRMB  
 | 
    list        AwardItemList;    //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//ÉñÃØÉ̵ê±í  
 | 
  
 | 
struct tagMysteryShop  
 | 
{  
 | 
    list        LVRange;    //µÈ¼¶·¶Î§  
 | 
    DWORD        GoodsID;    //É̳DZíID  
 | 
};  
 | 
  
 | 
//×°±¸Î»±³°üË÷ÒýÓ³Éä±í  
 | 
  
 | 
struct tagEquipPlaceIndexMap  
 | 
{  
 | 
    DWORD        GridIndex;    //±³°ü¸ñ×ÓË÷Òý  
 | 
    DWORD        _ClassLV;    //½×¼¶(ÎïÆ·±íLV×Ö¶Î)  
 | 
    DWORD        _EquipPlace;    //×°±¸Î»(ÎïÆ·±íEquipPlace×Ö¶Î)  
 | 
};  
 | 
  
 | 
//×°±¸Éñ×°±í  
 | 
  
 | 
struct tagEquipShenAttr  
 | 
{  
 | 
    DWORD        _EquipItemID;    //×°±¸ID  
 | 
    list        ShenAttrIDList;    //ÉñÆ·´«ÆæÊôÐÔIDÁÐ±í  
 | 
    list        ShenAttrValueList;    //ÉñÆ·´«ÆæÊôÐÔÖµÁÐ±í  
 | 
    list        XianAttrIDList;    //ÏÉÆ·´«ÆæÊôÐÔIDÁÐ±í  
 | 
    list        XianAttrValueList;    //ÏÉÆ·´«ÆæÊôÐÔÖµÁÐ±í  
 | 
    list        JiAttrIDList;    //¼«Æ·´«ÆæÊôÐÔIDÁÐ±í  
 | 
    list        JiAttrValueList;    //¼«Æ·´«ÆæÊôÐÔÖµÁÐ±í  
 | 
    list        LegendAttrIDList;    //ÆÕͨ´«ÆæÊôÐÔIDÁÐ±í  
 | 
    list        LegendAttrValueList;    //ÆÕͨ´«ÆæÊôÐÔÖµÁÐ±í  
 | 
};  
 | 
  
 | 
//×°±¸Éñ×°½ø½×±í  
 | 
  
 | 
struct tagEquipShenEvolve  
 | 
{  
 | 
    DWORD        _EquipItemID;    //×°±¸ID  
 | 
    DWORD        EvolveEquipID;        //¿É½ø½×Ä¿±ê×°±¸ID  
 | 
    list        EvolveNeedItemIDInfo;    //½ø½×ËùÐ踽¼Ó²ÄÁϼ°¸öÊý  
 | 
};  
 | 
  
 | 
//×°±¸ÉýÐÇ±í  
 | 
  
 | 
struct tagEquipStarUp  
 | 
{  
 | 
    BYTE        _ClassLV;    //½×¼¶  
 | 
    BYTE        _EquipPlace;    //×°±¸Î»  
 | 
    BYTE        _Star;    //ÐÇÊý  
 | 
    list        CostEquipPlace;    //¿ÉÓÃ×°±¸²¿Î»  
 | 
    BYTE        IsJobLimit;    //ÊÇ·ñÖ»Óñ¾Ö°Òµ×°±¸²ÄÁÏ  
 | 
    list        CostEquipColor;    //¿ÉÓÃ×°±¸Æ·ÖÊ  
 | 
    BYTE        CostEquipCnt;    //×°±¸ÊýÁ¿  
 | 
    BYTE        UnSuitRate;    //µ¥¼þ·ÇÌ××°¼Ó³É¸ÅÂÊ  
 | 
    BYTE        SuitRate;    //µ¥¼þÌ××°¼Ó³É¸ÅÂÊ  
 | 
    dict        CostItemDict;    //ÌØÊâ²ÄÁÏ  
 | 
    dict        StarAttrInfo;    //ÐǼ¶ÊôÐÔ  
 | 
    dict        BaseAttrInfo;    //»ù´¡ÊôÐÔÔö¼Ó  
 | 
};  
 | 
  
 | 
//×°±¸Ç¿»¯½ø»¯±í  
 | 
  
 | 
struct tagEquipPlusEvolve  
 | 
{  
 | 
    BYTE        _EquipPlace;    //×°±¸Î»  
 | 
    BYTE        _EvolveLV;    //½ø»¯µÈ¼¶  
 | 
    WORD        NeedPlusLV;    //ÐèҪǿ»¯µÈ¼¶  
 | 
    dict        CostItem;    //ÏûºÄ²ÄÁÏ  
 | 
    dict        Attr;    //ÊôÐÔ  
 | 
};  
 | 
  
 | 
//ÏÉÃËBoss½±Àø±í  
 | 
  
 | 
struct tagFamilyBossAward  
 | 
{  
 | 
    DWORD        _BossID;    //BossID  
 | 
    list        WorldLV;    //ÊÀ½çµÈ¼¶  
 | 
    list        Rank;    //ÅÅÃû  
 | 
    list        Award1;    //½±Àø [[¶ÀÁ¢¸ÅÂÊÍò·ÖÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]],..]  
 | 
    dict        Award2;    //±ýͼ½±Àø{Ëæ»ú´ÎÊý:[(¸ÅÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..]}  
 | 
};  
 | 
  
 | 
//ÏÉÃËÊÔÁ¶ÉËѪ½±Àø±í  
 | 
  
 | 
struct tagFamilyBossHurtAward  
 | 
{  
 | 
    BYTE        _AwardType;    //½±ÀøÀàÐÍ 1-¸öÈË£»2-ÏÉÃË  
 | 
    BYTE        _RecordIndex;    //½±Àø¼Ç¼Ë÷Òý£¬Í¬½±ÀøÀàÐÍʱ¼Ç¼Ë÷Òý²»¿ÉÖØ¸´  
 | 
    DWORD        NeedHurtTotal;    //ËùÐè×ÜÉËѪ  
 | 
    list        AwardItemList;    //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//ÏÉÃËÕó·¨±í  
 | 
  
 | 
struct tagFamilyZhenfa  
 | 
{  
 | 
    BYTE        _ZhenfaType;    // Õó·¨ÀàÐÍ  
 | 
    WORD        _ZhenfaLV;    // Õ󷨵ȼ¶  
 | 
    DWORD        LVUpNeedExp;    //ÉýÏÂÒ»¼¶ËùÐè¾Ñé  
 | 
    list        LVAttrType;    //ÀÛ¼Æ×ÜÊôÐÔÀàÐÍ  
 | 
    list        LVAttrValue;    //ÀÛ¼Æ×ÜÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
//×°±¸Ï´Á·µÈ¼¶ÉÏÏÞ  
 | 
  
 | 
struct tagItemWashMax  
 | 
{  
 | 
    BYTE        _Type;        //°´×°±¸Î»¶ÔÓ¦ÀàÐͲéÕÒ  
 | 
    BYTE        _Star;    // ×°±¸ÐÇÊý  
 | 
    WORD        LevelMax;    //Ï´Á·µÈ¼¶ÉÏÏÞ  
 | 
};  
 | 
  
 | 
//Æï³èBoss½±Àø±í  
 | 
  
 | 
struct tagHorsePetBossAward  
 | 
{  
 | 
    BYTE        _LineID;    // Ïß·ID  
 | 
    list        WorldLV;    //ÊÀ½çµÈ¼¶  
 | 
    list        Rank;    //ÅÅÃû  
 | 
    list        Award1;    //½±Àø [[¶ÀÁ¢¸ÅÂÊÍò·ÖÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]],..]  
 | 
    list        Award2;    //±ýͼ½±Àø  [[(¸ÅÂÊ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..]]  
 | 
};  
 | 
  
 | 
//çÎç¿ÏÉÓò±í  
 | 
  
 | 
struct tagFairyDomain  
 | 
{  
 | 
    WORD        _ID;    //ʼþ±àºÅ  
 | 
    BYTE        EventType;    //ʼþÀàÐÍ  
 | 
    DWORD        MapID;    //¸±±¾id  
 | 
    BYTE        LineID;    //¸±±¾Ïß·id  
 | 
    DWORD        BossID;    //¸±±¾BossID  
 | 
    BYTE        EventFBType;    //ʼþ¸±±¾ÀàÐÍ£¬0-ǰ¶Ë£¬1-±¾·þ£¬2-¿ç·þ  
 | 
    BYTE        CostEnergy;    //ÏûºÄÌåÁ¦  
 | 
    BYTE        NeedAlchemyLV;    //³öÏÖµÄÁ¶µ¤µÈ¼¶ÒªÇó  
 | 
    list        NeedLV;    //³öÏÖµÄÍæ¼ÒµÈ¼¶ÒªÇó  
 | 
    DWORD        Weight;    //È¨ÖØ  
 | 
    DWORD        HourCntPriLimit;    //¸öÈËÿСʱ´ÎÊýÏÞÖÆ  
 | 
    DWORD        DayCntPriLimit;    //¸öÈËÿÌì´ÎÊýÏÞÖÆ  
 | 
};  
 | 
  
 | 
//çÎç¿ÆæÓö±í  
 | 
  
 | 
struct tagFairyAdventures  
 | 
{  
 | 
    WORD        _ID;    //ΨһID  
 | 
    DWORD        OpenServerDay;    //¿ª·þÌì  
 | 
    BYTE        EventID;    //ʼþ±àºÅ  
 | 
    list        Condition;    //Ìõ¼þ  
 | 
    list        GearAward;    //µµÎ»½±Àø  
 | 
    list        BasicAward;    //±£µ×½±Àø  
 | 
};  
 | 
  
 | 
//çÎç¿ÏÉÓò¶¨ÖÆ±í  
 | 
  
 | 
struct tagFairyDomainAppoint  
 | 
{  
 | 
    WORD        _Cnt;    //´ÎÊý  
 | 
    DWORD        EventID;    //ʼþ±àºÅ  
 | 
    list        Award;    //¶¨Öƽ±Àø£¨Ã»Åä×ßÕý³£½±Àø¹æÔò£©[[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·],..]  
 | 
    list        RandomAward;    //Ëæ»ú½±Àø [[(È¨ÖØ,[ÎïÆ·ID,ÊýÁ¿,ÊÇ·ñÅÄÆ·]),..],..]  
 | 
};  
 | 
  
 | 
//¸±±¾Buff±í  
 | 
  
 | 
struct tagFBBuyBuff  
 | 
{  
 | 
    DWORD        _MapId;    //  
 | 
    WORD        _MoneyCnt;    //ÏÉÓñÊýÁ¿  
 | 
    DWORD        BuffID;    //BuffID  
 | 
    WORD        BuffCD;    //¼ä¸ôʱ¼äs  
 | 
};  
 | 
  
 | 
//¼¼ÄÜÉý¼¶±í  
 | 
  
 | 
struct tagSkillElement  
 | 
{  
 | 
    DWORD        _ElementSkillID;    //ר¾«¼¼ÄÜID  
 | 
    BYTE        ElementSkillNum;    //ר¾«¼¼ÄܱàºÅ  
 | 
    DWORD        MainSkillID;    //Ö÷¼¼ÄÜID  
 | 
    DWORD        NeedLV;    //Ñ¡ÔñÐèÒªµÈ¼¶  
 | 
};  
 | 
  
 | 
//ÌìÐÇËþ±í  
 | 
  
 | 
struct tagSkyTower  
 | 
{  
 | 
    DWORD        _FloorID;    //²ã  
 | 
    DWORD        BossID;    //bossID  
 | 
    dict        Reward;    //½±Àø  
 | 
    WORD        NeedLV;    //ÒªÇóµÈ¼¶  
 | 
    DWORD        FightPower;    //ÍÆ¼öÕ½Á¦  
 | 
    BYTE        IsNotify;    //ÊÇ·ñ¹ã²¥  
 | 
};  
 | 
  
 | 
//ÌìÐÇËþÈ«·þÌôÕ½±í  
 | 
  
 | 
struct tagSkyTowerServerChallenge  
 | 
{  
 | 
    DWORD        _FloorID;    //²ã  
 | 
    dict        PassRankRewardInfo;    //ͨ¹ØÅÅÃû½±Àø {"Ãû´Î":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...], ...}  
 | 
    dict        ServerRewardInfo;    //ͨ¹ØÅÅÃû½±Àø {"ËùÐè¹ý¹ØÈËÊý":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·],...], ...}  
 | 
};  
 | 
  
 | 
//Áé¸ùÌØÐ§±í  
 | 
  
 | 
struct tagLingGenEffect  
 | 
{  
 | 
    DWORD        ID;    //ΨһID  
 | 
    DWORD        _PointID;    //Áé¸ùID  
 | 
    BYTE        _QualityLV;    //Æ·¼¶  
 | 
};  
 | 
  
 | 
//ÇéÔµÀñÎï±í  
 | 
  
 | 
struct tagLoveGift  
 | 
{  
 | 
    BYTE        _GiftNum;    //ƸÀñID  
 | 
    DWORD        GiftItemID;    //ÎïÆ·ID  
 | 
    BYTE        AllowBatch;    //ÊÇ·ñÔÊÐíÅúÁ¿ÔùËÍ  
 | 
};  
 | 
  
 | 
//ÇéÔµÌáÇ×±í  
 | 
  
 | 
struct tagMarry  
 | 
{  
 | 
    BYTE        _BridePriceID;    //ƸÀñID  
 | 
    list        CostMoneyInfo;    //ÏûºÄ»õ±ÒÀàÐÍ|ÊýÖµ  
 | 
};  
 | 
  
 | 
//ÇéÔµÇé½ä±í  
 | 
  
 | 
struct tagLoveRing  
 | 
{  
 | 
    BYTE        _RingClassLV;    //Çé½ä½×¼¶  
 | 
    BYTE        _RingStarLV;    //Çé½äÐǼ¶  
 | 
    list        CoupleAttrType;    //ÏÉÂÂÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£©  
 | 
    list        CoupleAttrValue;    //ÏÉÂÂÊôÐÔÖµ£¨·ÇÀÛ»ý£©  
 | 
    list        StarAttrType;    //ÐǼ¶¶îÍâÊôÐÔÀàÐÍ£¨·ÇÀÛ»ý£©  
 | 
    list        StarAttrValue;    //ÐǼ¶¶îÍâÊôÐÔÖµ£¨·ÇÀÛ»ý£©  
 | 
    list        UpItemAttrType;    //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÀàÐÍ£¬x=UpEatItemPerCount  
 | 
    list        UpItemAttrValue;    //ÿx¸öÅàÑøµ¤Ôö¼ÓÊôÐÔÖµ£¬x=UpEatItemPerCount  
 | 
    DWORD        NeedEatCount;    //Éý¼¶ËùÐè¸öÊý£¨·ÇÀۼƣ©  
 | 
    DWORD        UpEatItemPerCount;    //ÿ´ÎÅàÑøÏûºÄx¸ö  
 | 
};  
 | 
  
 | 
//ÇéÔµ÷ÈÁ¦ÊôÐﱒ  
 | 
  
 | 
struct tagLoveCharm  
 | 
{  
 | 
    BYTE        _CharmLV;    //÷ÈÁ¦µÈ¼¶  
 | 
    DWORD        UpNeedCharm;    //Éýϼ¶ËùÐè×Ü÷ÈÁ¦  
 | 
    list        LVAttrType;    //ÊôÐÔÀàÐÍ  
 | 
    list        LVAttrValue;    //×ÜÊôÐÔÖµ  
 | 
    list        LVAwardItemInfo;    //µÈ¼¶ÎïÆ·½±Àø[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//Æï³è¾õÐÑ±í  
 | 
  
 | 
struct tagHorsePetSkin  
 | 
{  
 | 
    BYTE        _Type;    //1×øÆï2Áé³è  
 | 
    DWORD        _ID;    //¹ØÁªID(×øÆï±íºÍÁé³è±íID)  
 | 
    BYTE        _SkinLV;    //»Ã»¯µÈ¼¶  
 | 
    DWORD        NeedExp;    //Éý¼¶ÐèÒª¾Ñé  
 | 
    dict        AttrInfo;    //ÊôÐÔ  
 | 
    BYTE        SkinIndex;    //Íâ¹Û  
 | 
};  
 | 
  
 | 
//ÐÖú¸ÐлÀñºÐ±í  
 | 
  
 | 
struct tagAssistThanksGift  
 | 
{  
 | 
    DWORD        _GiftID;    //ÀñºÐÎïÆ·ID  
 | 
    list        RequestPlayerAward;    // ·¢²¼½±ÀøÎïÆ· ÎïÆ·ID|¸öÊý  
 | 
    list        AssistPlayerAward;    // ÐÖú½±ÀøÎïÆ· ÎïÆ·ID|¸öÊý  
 | 
};  
 | 
  
 | 
//¹¦ÄÜÌØÈ¨½±Àø±í  
 | 
  
 | 
struct tagFuncSysPrivilege  
 | 
{  
 | 
    BYTE        _FuncSysID;    //¹¦ÄÜϵͳID  
 | 
    BYTE        DayNum;        //µÚXÌì  
 | 
    list        DayAwardItemInfo;    // ½±ÀøÎïÆ·ÐÅÏ¢ [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//ÀۼƳäÖµ½±Àø±í  
 | 
  
 | 
struct tagHistoryRechargeAward  
 | 
{  
 | 
    BYTE        _ID;    //id  
 | 
    float        NeedRMB;    //ËùÐè³äÖµÔª  
 | 
    dict        Reward;    //Ö°Òµ¶ÔÓ¦µÄ½±ÀøÄÚÈÝ,ÿ¸öÖ°Òµ4×éÊý¾Ý£¬ÎïÆ·IDºÍÎïÆ·ÊýÁ¿(1.ǹºÀ2.µÀʦ3.½£ÐÞ)  
 | 
};  
 | 
  
 | 
//½±Àø±í  
 | 
  
 | 
struct tagCustomAward  
 | 
{  
 | 
    BYTE        _AwardID;    //½±ÀøID 1~n  
 | 
    list        AwardItemList;    //ÎïÆ·½±Àø[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 |