//³ÆºÅ±í #tagDienstgrad  
 | 
  
 | 
struct    tagDienstgrad  
 | 
{  
 | 
    DWORD        _ID;    //Í·ÏÎid  
 | 
    WORD        Type;    //Í·ÏÎÀàÐÍ  
 | 
    DWORD        ExpireTime;    //ÓÐЧʱ¼ä  
 | 
    list        LightType;    //µãÁÁÊôÐÔÀàÐÍ  
 | 
    list        LightAttribute;    //µãÁÁÊôÐÔÖµ  
 | 
    list        Skills;        //±»¶¯¼¼ÄÜ  
 | 
};  
 | 
  
 | 
//¾³½ç±í #tagRealm  
 | 
  
 | 
struct    tagRealm  
 | 
{  
 | 
    WORD        _Lv;    //¾³½çµÈ¼¶  
 | 
    BYTE        IsBigRealm;    //ÊÇ·ñ´ó¾³½ç  
 | 
    DWORD        NeedPoint;    //¿ªÆô¶É½ÙÐèÒªÐÞÁ¶µã  
 | 
    DWORD        NeedItemID;    //¿ªÆô¶É½ÙÐèÒªµÀ¾ßID  
 | 
    WORD        NeedItemCnt;    //¿ªÆô¶É½ÙÏûºÄµÄµÀ¾ßÊýÁ¿  
 | 
    dict        NeedActiveTreasure;    //¿ªÆô¶É½ÙÐèÒª¼¤»î·¨±¦Ìõ¼þ  
 | 
    list        AddAttrType;    //¾³½ç¼Ó³ÉÊôÐÔÀàÐÍ      
 | 
    list        AddAttrNum;    //¾³½ç¼Ó³ÉÊôÐÔÖµ  
 | 
    DWORD        BossID;    //¶É½Ùbossid  
 | 
    dict        SitTime;    //´ò×øÊ±¼ä  
 | 
    dict        TeamAward;    //×é¶Ó°ï´òµÄÈ˵Ľ±Àø  
 | 
};  
 | 
  
 | 
//Éñ±ø±í #tagGodWeapon  
 | 
  
 | 
struct    tagGodWeapon  
 | 
{  
 | 
    WORD        _Type;    //Éñ±øÀàÐÍ  
 | 
    WORD        _LV;    //µÈ¼¶  
 | 
    DWORD        Exp;  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    list        AttrNum;    //ÊôÐÔÖµ  
 | 
    DWORD        SkillID;    //¼¤»î¼¼ÄÜID  
 | 
    char        SysMark;    //ϵͳÌáʾ  
 | 
};  
 | 
  
 | 
//¹¦ÄÜÅäÖñí¸ñ #tagFuncConfig  
 | 
  
 | 
struct    tagFuncConfig  
 | 
{  
 | 
    char        _Key;    //±êʶ  
 | 
    char        Numerical1;    //Êý¾Ý1  
 | 
    char        Numerical2;    //Êý¾Ý2  
 | 
    char        Numerical3;    //Êý¾Ý3  
 | 
    char        Numerical4;    //Êý¾Ý4  
 | 
    char        Numerical5;    //Êý¾Ý5  
 | 
};  
 | 
  
 | 
//µÈ¼¶¿ªÆô¹¦ÄÜ #tagFuncOpenLV  
 | 
  
 | 
struct    tagFuncOpenLV  
 | 
{  
 | 
    DWORD        _FuncId;    //¹¦Äܱêʶ  
 | 
    DWORD        LimitLV;    //¿ªÆôµÈ¼¶  
 | 
    DWORD        LimitMagicWeapon;    //ÐèÒª½âËø·¨±¦ID  
 | 
    WORD        LimiRealmLV;    //ÐèÒª¾³½çµÈ¼¶  
 | 
    DWORD        LimitMissionID;    //ÐèÒªÍê³ÉµÄÈÎÎñID  
 | 
    BYTE        LimitVIPLV;    //ÐèÒªVIPµÈ¼¶  
 | 
};  
 | 
  
 | 
  
 | 
//ºÏ³É±í #tagItemCompound  
 | 
  
 | 
struct    tagItemCompound  
 | 
{  
 | 
    WORD        _ID;    //ºÏ³ÉÅäÖñàºÅID  
 | 
    BYTE        ComposeGroup;    //ºÏ³É¹é×éÀàÐÍ  
 | 
    list        MakeID;    //¿ÉºÏ³ÉµÄµÀ¾ßID£¬¶à¸öÔòËæ»úÒ»¸ö  
 | 
    BYTE        IsFirstSuccMakeJobItem;    //Ê״γɹ¦ÊÇ·ñ±Ø³ö±¾Ö°Òµ  
 | 
    list        UnfixedItemID;    //²»¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱÔòÈÎÒâÒ»ÖÖ¾ù¿É  
 | 
    BYTE        UnfixedItemCount;    //²»¹Ì¶¨µÀ¾ßÏûºÄÊýÁ¿  
 | 
    list        FixedItemID;    //ÏûºÄ¹Ì¶¨µÀ¾ßID, ¶à¸öIDʱ´ú±íÿ¸öID¾ùÐèÏûºÄ  
 | 
    list        FixedItemCount;    //ÏûºÄ¹Ì¶¨µÀ¾ßÊýÁ¿£¬Ã¿¸öID¶ÔÓ¦ÊýÁ¿  
 | 
    DWORD        NeedMoney;    // ÏûºÄÍÇ®  
 | 
    WORD        SuccessRate;    // ³É¹¦ÂÊÍò·ÖÂÊ  
 | 
    WORD        SuccessRateMax;    // ×î´ó³É¹¦ÂÊÍò·ÖÂÊ  
 | 
    list        SuccessRateIncrease;    //Ìá¸ß³É¹¦ÂʵÀ¾ß, µÀ¾ßID|¸öÊý|Ìá¸ßµÄ¸ÅÂÊ  
 | 
    BYTE        AddonsCountMax;    //×î´ó¿É¸½¼Ó²ÄÁÏÊý, Ôö¼Ó¸ÅÂÊÓÃ, ·Ç±ØÐë, 0´ú±í²»¿É¸½¼Ó²ÄÁÏ  
 | 
    char        SysMark;    //Ìáʾmark  
 | 
    BYTE        SysMarkParamType;    //ϵͳÌáʾ²ÎÊý×éºÏÀàÐÍ  
 | 
};  
 | 
  
 | 
  
 | 
//ÎïÆ·Ç¿»¯Ð§¹û±í  
 | 
  
 | 
struct tagItemPlus  
 | 
{  
 | 
    BYTE        _Type;    //Ç¿»¯ÀàÐÍ  
 | 
    WORD        _LV;    //Ç¿»¯µÈ¼¶  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    list        AttrValue;    //ÊôÐÔÖµ  
 | 
    DWORD        CostCount;    //ÏûºÄÍÇ®  
 | 
    DWORD        AddExp;    //ÌáÉýÊìÁ·¶ÈÖµ  
 | 
    DWORD        TotalExp;    //Éý¼¶ËùÐèÊìÁ·¶È×ÜÖµ  
 | 
};  
 | 
  
 | 
  
 | 
//×°±¸Ç¿»¯µÈ¼¶ÉÏÏÞ  
 | 
  
 | 
struct tagItemPlusMax  
 | 
{  
 | 
    BYTE        _Type;        //°´×°±¸Î»¶ÔÓ¦ÀàÐͲéÕÒ  
 | 
    BYTE        _ItemRank;    // ×°±¸½×Êý  
 | 
    BYTE        _ItemColor;    //×°±¸ÑÕÉ« Èç³È×°  
 | 
    WORD        LevelMax;    //Ç¿»¯µÈ¼¶ÉÏÏÞ  
 | 
};  
 | 
  
 | 
  
 | 
//×°±¸È«ÉíÇ¿»¯ÊôÐÔ  
 | 
  
 | 
struct tagItemPlusSumAttr  
 | 
{  
 | 
    WORD        _PlusCntNeed;    //È«ÉíÇ¿»¯µÈ¼¶  
 | 
    list        AttrType;    //È«ÉíÇ¿»¯¼¤»îÊôÐÔÀàÐÍ  
 | 
    list        AttrValue;    //È«ÉíÇ¿»¯¼¤»îÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
  
 | 
//×°±¸È«ÉíÐÇÊýÊôÐÔ  
 | 
  
 | 
struct tagRoleEquipStars  
 | 
{  
 | 
    BYTE        _StarsNeed;    //È«ÉíÐÇÊý  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    list        AttrValue;    //ÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
//ÉñÊÞ±í  
 | 
  
 | 
struct tagDogz  
 | 
{  
 | 
    BYTE        _DogzID;    //ÉñÊÞID  
 | 
    list        BaseAttrTypes;    //»ù´¡ÊôÐÔÀàÐÍÁÐ±í  
 | 
    list        BaseAttrValues;    //»ù´¡ÊôÐÔÖµÁÐ±í  
 | 
    list        HelpBattleSkills;    //ÖúÕ½¼¼ÄÜIDÁÐ±í  
 | 
    DWORD        FightPowerEx;    //ÖúÕ½¸½¼ÓÕ½Á¦  
 | 
    list        EquipPlaceColorList;    //´©´÷×°±¸ÑÕÉ«ÏÞÖÆ  
 | 
    list        HelpBattleNotify;    //ÖúÕ½¹ã²¥ ["¹ã²¥key",[²ÎÊý1,²ÎÊý2,...],¹ã²¥CD·ÖÖÓ]  
 | 
};  
 | 
  
 | 
//ÉñÊÞÇ¿»¯±í  
 | 
  
 | 
struct tagDogzEquipPlus  
 | 
{  
 | 
    BYTE        _EquipPlace;    //×°±¸Î»  
 | 
    BYTE        _PlusLV;    //Ç¿»¯µÈ¼¶  
 | 
    list        PlusAttrTypes;    //Ç¿»¯ÊôÐÔÀàÐÍÁÐ±í  
 | 
    list        PlusAttrValues;    //Ç¿»¯ÊôÐÔÖµÁÐ±í  
 | 
    DWORD        PlusLVUPTotalExp;    //Éý¼¶ËùÐèÀÛ¼ÆÊìÁ·¶È×ÜÖµ  
 | 
};  
 | 
  
 | 
//·ûÓ¡±í  
 | 
  
 | 
struct tagRune  
 | 
{  
 | 
    DWORD        _ID;    //±àºÅID  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    DWORD        TowerID;    //½âËø·ûÓ¡Ëþ±àºÅ  
 | 
};  
 | 
  
 | 
  
 | 
//Ï´Á·±í #tagEquipWash  
 | 
  
 | 
struct    tagEquipWash  
 | 
{  
 | 
    BYTE        _WashType;    // ×°±¸¹é×éÀàÐÍ  
 | 
    BYTE        _WashLV;    // Ï´Á·µÈ¼¶  
 | 
    BYTE        AttrType1;    // ÊôÐÔ1ÀàÐÍ  
 | 
    DWORD        AttrMax1;    // ÊôÐÔ1µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ  
 | 
    dict        AttrRandDict1;    // ÊôÐÔ1Ëæ»ú·¶Î§  
 | 
    DWORD        AttrCostGoldMin1;    // ÊôÐÔ1ÏÉÓñÏ´Á·ÏÂÏÞÖµ  
 | 
    DWORD        AttrCostGoldMax1;    // ÊôÐÔ1ÏÉÓñÏ´Á·ÉÏÏÞÖµ  
 | 
    BYTE        AttrType2;    // ÊôÐÔ2ÀàÐÍ  
 | 
    DWORD        AttrMax2;    // ÊôÐÔ2µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ  
 | 
    dict        AttrRandDict2;    // ÊôÐÔ2Ëæ»ú·¶Î§  
 | 
    DWORD        AttrCostGoldMin2;    // ÊôÐÔ2ÏÉÓñÏ´Á·ÏÂÏÞÖµ  
 | 
    DWORD        AttrCostGoldMax2;    // ÊôÐÔ2ÏÉÓñÏ´Á·ÉÏÏÞÖµ  
 | 
    BYTE        AttrType3;    // ÊôÐÔ3ÀàÐÍ  
 | 
    DWORD        AttrMax3;    // ÊôÐÔ3µ±Ç°µÈ¼¶Ï´Á·ÉÏÏÞ  
 | 
    dict        AttrRandDict3;    // ÊôÐÔ3Ëæ»ú·¶Î§  
 | 
    DWORD        AttrCostGoldMin3;    // ÊôÐÔ3ÏÉÓñÏ´Á·ÏÂÏÞÖµ  
 | 
    DWORD        AttrCostGoldMax3;    // ÊôÐÔ3ÏÉÓñÏ´Á·ÉÏÏÞÖµ  
 | 
    DWORD        CostItemID;        // ¹Ì¶¨ÏûºÄÎïÆ·ID  
 | 
    BYTE        CostItemCount;    // ¹Ì¶¨ÏûºÄÎïÆ·¸öÊý  
 | 
    list        GoldWashCostList;    // ÏÉÓñÏ´Á·ÌõÊý¶ÔÓ¦ÏûºÄ  
 | 
};  
 | 
  
 | 
  
 | 
//Ï´Á·ÌØÊâÊôÐÔ±í #tagEquipWashSpec  
 | 
  
 | 
struct    tagEquipWashSpec  
 | 
{  
 | 
    BYTE        _WashTypeNeed;    // ËùÐè×°±¸¹é×éÀàÐÍ  
 | 
    BYTE        _WashLVNeed;    // ËùÐèÏ´Á·µÈ¼¶  
 | 
    list        AddAttrType;    //¼¤»î¼Ó³ÉÊôÐÔÀàÐÍ  
 | 
    list        AddAttrValue;    //¼¤»î¼Ó³ÉÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
  
 | 
//ÊôÐÔ¹ûʵ±í  
 | 
  
 | 
struct tagAttrFruit  
 | 
{  
 | 
    DWORD        _ID;    //ÎïÆ·ID  
 | 
    BYTE        FuncID;    //ËùÊô¹¦ÄÜID  
 | 
    WORD        MaxUseCnt;    //×î´ó¿ÉʹÓÃÊýÁ¿  
 | 
    WORD        RecycleMoney;    //»ØÊÕ»õ±ÒÖµ  
 | 
    DWORD        FightPowerEx;    //¸½¼ÓÕ½¶·Á¦  
 | 
};  
 | 
  
 | 
  
 | 
//ÁéÊÞ±í  
 | 
  
 | 
struct tagPetInfo  
 | 
{  
 | 
    DWORD        _ID;    //ÁéÊÞNPCID  
 | 
    BYTE        Quality;    //Æ·ÖÊ  
 | 
    char        UnlockSys;    //½âËø¹ã²¥Ìáʾ  
 | 
    DWORD        UnLockNeedItemID;    //½âËøÁéÊÞÎïÆ·ID  
 | 
    BYTE        UnLockNeedItemCnt;    //½âËøËùÐèÎïÆ·ÊýÁ¿  
 | 
    DWORD        DecomposeExp;    //·Ö½âµ¥¸ö½âËøÎïÆ·¿É»ñµÃÉý½×¾Ñé  
 | 
    BYTE        InitRank;    //ÁéÊÞ³õʼ½×Êý  
 | 
    WORD        MaxRank;    //ÁéÊÞ×î¸ß½×Êý  
 | 
    WORD        UseNeedRank;    //¶àÉٽ׿ÉÇл»Íâ¹Û  
 | 
    list        SkillID;    //ÁéÊÞ¼¼ÄÜID  
 | 
    list        SkillUnLock;    //ÁéÊÞ¼¼ÄܽâËøÐèÒª½×Êý  
 | 
    list        SkillUnLockSys;    //ÁéÊÞ¼¼ÄܽâËøÌáʾ  
 | 
    DWORD        InitFightPower;    //³õʼսÁ¦  
 | 
};  
 | 
  
 | 
  
 | 
//×°±¸·Ö½âÊôÐﱒ  
 | 
  
 | 
struct tagEquipDecompose  
 | 
{  
 | 
    WORD        _LV;    //µÈ¼¶  
 | 
    DWORD        UpNeedExp;    //Éý¼¶ËùÐè¾ÑéÊý  
 | 
    dict        Attr;    //ÊôÐÔ¼Ó³É  
 | 
};  
 | 
  
 | 
  
 | 
//ÁéÊÞÉý½×ÏûºÄ±í  
 | 
  
 | 
struct tagPetClassCost  
 | 
{  
 | 
    DWORD        _PetID;    //ÁéÊÞNPCID  
 | 
    DWORD        _Class;    //ÁéÊÞ½×Êý  
 | 
    DWORD        UpNeedExp;    //ÁéÊÞÉý½×ËùÐè¾ÑéÊý  
 | 
    DWORD        AtkAdd;    //ÿ½×¹¥»÷Á¦¼Ó³É  
 | 
};  
 | 
  
 | 
  
 | 
//ÁéÊÞÎüÊÕ×°±¸±í  
 | 
  
 | 
struct tagPetEatEquip  
 | 
{  
 | 
    BYTE        _EquipColor;    //×°±¸Æ·ÖÊ  
 | 
    BYTE        _EquipClass;    //×°±¸½×Êý  
 | 
    DWORD        Exp;    //»ñµÃÁéÊÞÉý¼¶¾Ñé  
 | 
    DWORD        FamilyStoreItemScore;    //ÏÉÃ˱¦¿â»ý·Ö  
 | 
};  
 | 
  
 | 
  
 | 
//×øÆï±í  
 | 
  
 | 
struct tagHorse  
 | 
{  
 | 
    DWORD        _HorseID;    //×øÆï±àºÅID  
 | 
    DWORD        ItemID;    //×øÆïÎïÆ·ID  
 | 
    DWORD        UnlockItemID;    //½âËø×øÆïÎïÆ·±àºÅ  
 | 
    BYTE        UnlockItemCnt;    //½âËøËùÐèÎïÆ·ÊýÁ¿  
 | 
    BYTE        InitLV;    //×øÆï³õʼµÈ¼¶  
 | 
    BYTE        MaxLV;    //×øÆï×î¸ßµÈ¼¶  
 | 
    BYTE        UseNeedRank;    //¶àÉٽ׿ÉÇл»Íâ¹Û  
 | 
    BYTE        Quality;        //×øÆïÆ·ÖÊ  
 | 
    DWORD        InitFightPower;    //³õʼսÁ¦  
 | 
    char        UnlockSys;    //½âËø¹ã²¥Ìáʾ  
 | 
};  
 | 
  
 | 
  
 | 
//×øÆïÉý¼¶±í  
 | 
  
 | 
struct tagHorseUp  
 | 
{  
 | 
    DWORD        _HorseID;    //×øÆï±àºÅID  
 | 
    BYTE        _LV;    //×øÆïµÈ¼¶  
 | 
    DWORD        NeedExp;    //Éý¼¶ËùÐè¾Ñé  
 | 
    list        AttrType;    //¼¤»î¼Ó³ÉÊôÐÔÀàÐÍ  
 | 
    list        AttrValue;    //¼¤»î¼Ó³ÉÊôÐÔÖµ  
 | 
    list        SkillID;    //¿É»ñµÃµÄ¼¼ÄÜID  
 | 
    char        SysMark;    //¹ã²¥Ìáʾ  
 | 
};  
 | 
  
 | 
//Íæ¼ÒµÈ¼¶±í  
 | 
  
 | 
struct tagPlayerLV  
 | 
{  
 | 
    WORD        _LV;    //Íæ¼ÒµÈ¼¶  
 | 
    DWORD        ExpPoint;    //Éý¼¶ËùÐè¾Ñéµã,ÿ¸ö¾Ñéµã´ú±íµÄ¾ÑéÓÉÏîÄ¿¾ö¶¨  
 | 
    DWORD        Exp;    //³ý¾Ñéµã×ܾÑéÍâÉý¼¶»¹ÐèµÄ¾Ñé  
 | 
    BYTE        TalentPoint;    //µÈ¼¶»ñµÃµÄÌ츳µã  
 | 
    DWORD        ReExp;    //µÈ¼¶¾ÑéЧÂÊ(second)  
 | 
    DWORD        ReMaxHP;    //ÉúÃü  
 | 
    DWORD        ReAtk;    //¹¥»÷  
 | 
    DWORD        ReDef;    //·ÀÓù  
 | 
    DWORD        ReHit;    //ÃüÖÐ  
 | 
    DWORD        ReMiss;    //ÉÁ±Ü  
 | 
    DWORD        ReAtkSpeed;    //¹¥ËÙ  
 | 
    DWORD        ReSkillAtkRate;    //¼¼ÄÜÉ˺¦±ÈÀý  
 | 
    DWORD        ReDamagePer;    //Ôö¼ÓÉ˺¦  
 | 
    DWORD        ReDamReduce;    //¼õÉÙÉ˺¦  
 | 
    DWORD        ReIgnoreDefRate;    //ÎÞÊÓ·ÀÓù±ÈÀý  
 | 
    DWORD        ReLuckyHitRate;    //»áÐÄÒ»»÷ÂÊ  
 | 
    DWORD        ReLuckyHit;    //»áÐÄÒ»»÷É˺¦  
 | 
    DWORD        ReBleedDamage;    //Á÷ѪÉ˺¦Ôö¼Ó  
 | 
    DWORD        ReIceAtk;    //ÕæÊµÉ˺¦  
 | 
    DWORD        ReIceDef;    //ÕæÊµµÖÓù  
 | 
    DWORD        RePetAtk;    //Áé³è¹¥»÷  
 | 
    DWORD        RePetSkillAtkRate;    //Áé³è¼¼ÄÜ  
 | 
    DWORD        RePetDamPer;    //Áé³èÉ˺¦Ôö¼Ó  
 | 
    DWORD        ReFinalHurt;    //¹Ì¶¨É˺¦Ôö¼Ó  
 | 
    DWORD        ReFinalHurtReduce;    //¹Ì¶¨É˺¦¼õÉÙ  
 | 
    DWORD        RePotionReply;    //Ѫƿ»Ö¸´Á¿  
 | 
    DWORD        RePotionCD;    //ѪƿCD  
 | 
    DWORD        AttackEff;    //¹Ò»úЧÂÊ  
 | 
    DWORD        ReFightPower;    //Õ½¶·Á¦  
 | 
    DWORD        IceLodeFightPower;    //±ù¾§¿óÂöɨµ´Õ½¶·Á¦  
 | 
};  
 | 
  
 | 
//GM²âÊÔÊôÐﱒ  
 | 
  
 | 
struct tagGMAttr  
 | 
{  
 | 
    DWORD        _GMAttrID;    //Êý¾ÝID  
 | 
    BYTE        IsValid;    //ÊÇ·ñÓÐЧµÄ  
 | 
    char        GMAccID;    //GMÍæ¼ÒÕ˺Š 
 | 
    WORD        GMMaxLV;    //ÓÐЧµÄ×î´óµÈ¼¶  
 | 
    WORD        AttrLV;    //¶ÔÓ¦µÈ¼¶±íÖеÄÊôÐÔ  
 | 
    float        AttrPer;    //¶ÔÓ¦µÈ¼¶±íÖеıÈÀý  
 | 
    dict        AttrSpecDict;    //ÌØÊâÊôÐÔÖµ×Öµä {attrKey:value, ...}  
 | 
    dict        AttrExDict;    //ÌØÊâÊôÐÔÖµ×Öµä {attrKey:value, ...}  
 | 
};  
 | 
  
 | 
//³É³¤Ð͹ÖÎï²ÎÊý¹«Ê½±í  
 | 
  
 | 
struct tagNPCStrengthen  
 | 
{  
 | 
    DWORD        _NPCID;    //NPCID  
 | 
    BYTE        IsStrengthenByPlayerCount;//ÊÇ·ñ¸ù¾ÝÈËÊý³É³¤  
 | 
    BYTE        LVStrengthenMark;//µÈ¼¶³É³¤ÊôÐÔ¹«Ê½±ê¼Ç  
 | 
    BYTE        LVStrengthenType;//µÈ¼¶³É³¤ÀàÐÍ, 0-²»°´µÈ¼¶³É³¤£»1-°´Íæ¼Òƽ¾ùµÈ¼¶£»2-°´Íæ¼Ò×î´óµÈ¼¶£»3-°´ÊÀ½çµÈ¼¶£»  
 | 
    BYTE        CmpNPCBaseLV;//ÊÇ·ñ±È½ÏNPC±íµÈ¼¶, ÊǵĻ°È¡NPC±íÅäÖõȼ¶Óë³É³¤µÈ¼¶ÖнϴóµÈ¼¶  
 | 
    DWORD        HitTime;//ÊÜ»÷´ÎÊý  
 | 
    DWORD        DefCoefficient;//ÈËÎï·ÀÓùϵÊý  
 | 
    DWORD        AtkCoefficient;//ÈËÎï¹¥»÷ϵÊý  
 | 
    DWORD        AdjustCoefficient;//µ÷ÕûϵÊý±ÈÀý  
 | 
    DWORD        AtkInterval;//¹ÖÎï¹¥»÷¼ä¸ô  
 | 
    DWORD        HitRate;//¶ÔÈËÎïµÄÃüÖÐÂÊ  
 | 
    DWORD        MissRate;//¶ÔÈËÎïµÄÉÁ±ÜÂÊ  
 | 
    DWORD        MonterNum;//¹ÖÎïÊý  
 | 
    DWORD        IceAtkCoefficient;//ÔªËØ¹¥»÷±ÈÀý  
 | 
    DWORD        IceDefCoefficient;//ÔªËØ¿¹ÐÔ±ÈÀý  
 | 
    DWORD        MaxEnduranceTime;//Íæ¼Ò×î´ó³ÐÊÜÉ˺¦Ê±¼ä  
 | 
    DWORD        FightPowerCoefficient;//Ñ¹ÖÆÕ½¶·Á¦ÏµÊý  
 | 
};  
 | 
  
 | 
//×°±¸Ì××°ÊôÐﱒ  
 | 
  
 | 
struct tagEquipSuitAttr  
 | 
{  
 | 
    BYTE        _GroupType;    //Ì××°×éºÏÀàÐÍ  
 | 
    BYTE        _SuiteType;    //Ì××°ÀàÐÍ  
 | 
    WORD        _SuiteLV;    //Ì××°µÈ¼¶  
 | 
    BYTE        _Job;    //Ö°Òµ  
 | 
    BYTE        Count1;    //½×¶Î1ËùÐèÊýÁ¿  
 | 
    list        AttrType1;    //½×¶Î1ÊôÐÔÀàÐÍ  
 | 
    list        AttrValue1;    //½×¶Î1ÊôÐÔÖµ  
 | 
    BYTE        Count2;    //½×¶Î2ËùÐèÊýÁ¿  
 | 
    list        AttrType2;    //½×¶Î2ÊôÐÔÀàÐÍ  
 | 
    list        AttrValue2;    //½×¶Î2ÊôÐÔÖµ  
 | 
    BYTE        Count3;    //½×¶Î2ËùÐèÊýÁ¿  
 | 
    list        AttrType3;    //½×¶Î2ÊôÐÔÀàÐÍ  
 | 
    list        AttrValue3;    //½×¶Î2ÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
//Ì××°ºÏ³É±í  
 | 
  
 | 
struct tagEquipSuitCompound  
 | 
{  
 | 
    BYTE        _SuiteType;    //Ì××°ÀàÐÍ  
 | 
    BYTE        _EquipPlace;    //×°±¸²¿Î»  
 | 
    WORD        _SuiteLV;    //Ì××°µÈ¼¶  
 | 
    BYTE        _Job;    //Ö°Òµ  
 | 
    list        CostItemID;    //²ÄÁÏID  
 | 
    list        CostItemCnt;    //²ÄÁÏÊýÁ¿  
 | 
};  
 | 
  
 | 
//ÓðÒí¾«Á¶ÊôÐﱒ  
 | 
  
 | 
struct tagWingRefineAttr  
 | 
{  
 | 
    BYTE        _WingClassLV;    //³á°ò½×¼¶  
 | 
    dict        AttrInfo;    //¾«Á¶ÊôÐÔÐÅÏ¢  
 | 
    dict        ItemColorInfo;    //¾«Á¶¾Ñé¶ÔÓ¦ÑÕÉ«ÐÅÏ¢  
 | 
    DWORD        MaxRefineExp;    //±¾½××î´ó¾«Á¶Öµ  
 | 
};  
 | 
  
 | 
//ÓðÒí¾«Á¶¾Ñé±í  
 | 
  
 | 
struct tagWingRefineExp  
 | 
{  
 | 
    DWORD        _ItemID;    //¾«Á¶ÎïÆ·ID  
 | 
    DWORD        RandExpMin;    //×îÐ¡Ëæ»ú¾«Á¶Öµ  
 | 
    DWORD        RandExpMax;    //×î´óËæ»ú¾«Á¶Öµ  
 | 
    dict        ExpMaterial; //³á°ò´úÊý¶ÔÓ¦¾«Á¶Öµ  
 | 
};  
 | 
  
 | 
//ÏÉÃ˿Ƽ¼±í  
 | 
  
 | 
struct tagFamilyTech  
 | 
{  
 | 
    DWORD        _TechID;    //¿Æ¼¼ID*1000+µÈ¼¶  
 | 
    BYTE        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    DWORD        AttrValue;    //ÊôÐÔÖµ  
 | 
    DWORD        Contribution;    //ÐèÒª¹±Ï×¶È  
 | 
    DWORD        PowerEx;    //¶îÍâÕ½Á¦  
 | 
};  
 | 
  
 | 
//Õ½¶·Á¦²ÎÊýµÈ¼¶ÏµÊý±í  
 | 
  
 | 
struct tagFightPowerParam  
 | 
{  
 | 
    WORD        _LV;    //µÈ¼¶  
 | 
    DWORD        CftHit;    //ÃüÖÐϵÊý  
 | 
    DWORD        CftMiss;    //ÉÁ±ÜϵÊý  
 | 
    DWORD        CftDamagePer;    //Ôö¼ÓÉ˺¦ÏµÊý  
 | 
    DWORD        CftDamReduce;    //¼õÉÙÉ˺¦ÏµÊý  
 | 
    DWORD        CftIgnoreDefRate;    //ÎÞÊÓ·ÀÓùϵÊý  
 | 
    DWORD        CftDamChanceDef;    //µÖÓùϵÊý  
 | 
    DWORD        CftBleedDamage;    //Á÷ѪÉ˺¦ÏµÊý  
 | 
    DWORD        CftFaintRate;    //»÷ÔÎϵÊý  
 | 
    DWORD        CftSuperHitReduce;    //±©»÷¿¹ÐÔϵÊý  
 | 
    DWORD        CftLuckyHitRateReduce;    //»áÐÄÒ»»÷¿¹ÐÔϵÊý  
 | 
    DWORD        CftSkillAtkRate;    //¼¼ÄÜÉ˺¦ÏµÊý  
 | 
    DWORD        CftSkillAtkRateReduce;    //¼¼ÄܼõÉËϵÊý  
 | 
    DWORD        CftDamagePerPVP;    //PVPÉ˺¦Ôö¼¡ÏµÊý  
 | 
    DWORD        CftDamagePerPVPReduce;    //PVPÉ˺¦¼õÉÙϵÊý  
 | 
    DWORD        CftDamBackPer;    //É˺¦·´ÉäϵÊý  
 | 
    DWORD        CftIgnoreDefRateReduce;    //ÎÞÊÓ·ÀÓù¿¹ÐÔϵÊý  
 | 
    DWORD        CftFaintDefRate;    //¿ØÖƵֿ¹ÏµÊý  
 | 
    DWORD        CftAtkSpeed;    //¹¥ËÙϵÊý  
 | 
    DWORD        CftLuckyHit;    //»áÐÄÒ»»÷ϵÊý  
 | 
    DWORD        CftSpeedPer;    //ÒÆ¶¯ËٶȰٷֱÈϵÊý  
 | 
    DWORD        CftAtkPer;    //¹¥»÷°Ù·Ö±ÈϵÊý  
 | 
    DWORD        CftMaxHPPer;    //ÉúÃü°Ù·Ö±ÈϵÊý  
 | 
};  
 | 
  
 | 
//NPCµôÂä±í  
 | 
  
 | 
struct tagNPCDropItem  
 | 
{  
 | 
    DWORD        _NPCID;    //NPCID  
 | 
    WORD        MaxWorldLV;    //×î´óÊÀ½çµÈ¼¶£¬0Ϊ²»ÏÞÖÆ£¬²»ÊÜ×î´óµôÂäµÈ¼¶Ó°Ïì  
 | 
    WORD        MaxDropLV;    //×î´ó¿ÉµôÂäµÄÍæ¼ÒµÈ¼¶, ²»Ó°ÏìÊÀ½çµÈ¼¶  
 | 
    BYTE        CanDropRatePlus;    //¶îÍâÌáÉýµôÂʵÄÊÇ·ñÓÐЧ  
 | 
    BYTE        IsDropJobSelf;    //ÊÇ·ñÖ»µôÂä±¾Ö°Òµ  
 | 
    list        PieRateDrop;    //±ýͼ¸ÅÂʵôÂäÐÅÏ¢ [(¸ÅÂÊ,0),(¸ÅÂÊ,(½×,ÑÕÉ«,²¿Î»¼¯ºÏkey)),...]  
 | 
    BYTE        PieRateDoCnt;    //±ýͼ¸ÅÂÊÖ´ÐдÎÊý  
 | 
    dict        IndepRateDrop;    //¶ÀÁ¢¸ÅÂʵôÂäÐÅÏ¢ {(½×,ÑÕÉ«,²¿Î»¼¯ºÏkey):¸ÅÂÊ,...}  
 | 
    BYTE        IndepRateDoCnt;        //¶ÀÁ¢¸ÅÂÊÖ´ÐдÎÊý  
 | 
    dict        IndepRateMaxDropCount;    //¶ÀÁ¢¸ÅÂÊ×°±¸ÑÕÉ«×î´óµôÂäÎïÆ·Êý {ÑÕÉ«:ÉÏÏÞÊýÁ¿,...}  
 | 
    dict        EquipStarInfo;    //×°±¸ÑÕÉ«¶ÔÓ¦ÐǼ¶²ú³ö¹æÔò {ÑÕÉ«:[(¸ÅÂÊ, ÐǼ¶),...], ...}  
 | 
    list        KillCountDropEquipEx;    //µÚx´Î»÷ɱ¸½¼Ó±Øµô×°±¸ [´ÎÊý,½×,ÑÕÉ«,[(¸ÅÂÊ,ÐǼ¶),...],²¿Î»¼¯ºÏkey]  
 | 
    list        KillCountDropEquipEx2;    //ǰx´Î»÷ɱ¸½¼Ó±Øµô×°±¸ [´ÎÊý,½×,ÑÕÉ«,[(¸ÅÂÊ,ÐǼ¶),...],²¿Î»¼¯ºÏkey]  
 | 
    dict        ItemIDDropRate;    //Ö¸¶¨ÎïÆ·IDµôÂÊÐÅÏ¢ {ÎïÆ·ID:¸ÅÂÊ, ...}  
 | 
    dict        ItemIDMaxDropCount;    //Ö¸¶¨ÎïÆ·ID×î´óµôÂä¸öÊý,ûÅäĬÈÏ1´Î {ÎïÆ·ID:Ëæ»ú´ÎÊý,...}  
 | 
    dict        ItemKeyDropRate;    //ÎïÆ·ID¼¯ºÏKey¸ÅÂÊ, Ëæ»úÒ»¸ö, ÓÅÏȼ¶µÍ {ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...}   
 | 
    dict        ItemKeyDropRateJob;    //ÎïÆ·ID¼¯ºÏKey¸ÅÂÊ, ×ÔÉíÖ°Òµ, ÓÅÏȼ¶¸ß {ÎïÆ·ID¼¯ºÏkey:¸ÅÂÊ, ...}  
 | 
    dict        ItemKeyMaxDropCount;    //ÎïÆ·ID¼¯ºÏKeyËæ»ú´ÎÊý,ûÅäĬÈÏ1´Î {ÎïÆ·ID¼¯ºÏkey:Ëæ»ú´ÎÊý,...}  
 | 
    BYTE        DropMoneyDoCnt;        //µôÂä½ð±ÒÖ´ÐдÎÊý  
 | 
    WORD        DropMoneyRate;        //µôÂä½ð±Ò¸ÅÂÊ  
 | 
    WORD        DropMoneyMin;        //µôÂä½ð±Ò×îСֵ  
 | 
    WORD        DropMoneyMax;        //µôÂä½ð±Ò×î´óÖµ  
 | 
    list        KillCountDrop;        //»÷ɱ´ÎÊý±Øµô,·ÀÖ¹°æ±¾±ä¸üÖØ¸´µô,Ö»Ö§³ÖÒ»´Î»ú»á [»÷ɱ´ÎÊý,ÊÇ·ñÖ±½Ó·ÅÈë±³°ü,[ÎïÆ·ID,...]]  
 | 
    list        PriItemIDDrop;        //ËùÓйéÊôÕß˽ÓеôÂäÎïÆ·IDÁбí,ÿÈËÒ»·Ý,ĬÈϰó¶¨,ûÓÐÖ°ÒµÇø·Ö[ÎïÆ·ID, ...]  
 | 
};  
 | 
  
 | 
//·ûÓ¡Ëþ±í  
 | 
  
 | 
struct tagRuneTower  
 | 
{  
 | 
    DWORD        _ID;    //Ëþ±àºÅ  
 | 
    DWORD        RunePoint;    //¹ý¹Ø¸ø·ûÓ¡¾«»ª  
 | 
    DWORD        Ysog;    //¹ý¹Ø¸øÄ§¾«  
 | 
    DWORD        NPCID;    //npcid  
 | 
    BYTE        IsNotify;    //ÊÇ·ñ¹ã²¥  
 | 
    list        FixEndAward;    //¹Ì¶¨½áËã½±Àø  
 | 
    dict        GoodDrop;    //ÕäÏ¡·ûӡͨ¹ØµôÂä¸ÅÂÊ  
 | 
    DWORD        SweepRunePoint;    //ɨµ´·ûÓ¡¾«»ª  
 | 
    DWORD        SweepYsog;    //ɨµ´Ä§¾«  
 | 
    dict        SweepGoodDrop;    //ɨµ´ÕäÏ¡·ûÓ¡  
 | 
};  
 | 
  
 | 
//¸±±¾×Ü±í  
 | 
  
 | 
struct tagFBFunc  
 | 
{  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    BYTE        DayTimes;    //ÿÈÕ¿ÉÌôÕ½´ÎÊý, 0Ϊ²»ÏÞÖÆ  
 | 
    BYTE        DayResetType;    //ÿÈÕ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã  
 | 
    BYTE        WeekTimes;    //ÿÖÜ¿ÉÌôÕ½´ÎÊý, 0Ϊ²»ÏÞÖÆ  
 | 
    BYTE        WeekResetType;    //ÿÖÜ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã  
 | 
    list        RewardRate;    //ÆÀ¼¶½±Àø±ÈÀý  
 | 
    DWORD        BuyTimesVIPPriID;    //¹ºÂò´ÎÊýVIPȨÏÞID  
 | 
    DWORD        ExtraTimesVIPPriID;    //¶îÍâ´ÎÊýVIPȨÏÞID  
 | 
    DWORD        ExtraTimesMWPriID;    //¶îÍâ´ÎÊý·¨±¦È¨ÏÞID  
 | 
    BYTE        GuardPick;    //¸ÃµØÍ¼ÊØ»¤ÊÇ·ñÄÜʰȡ  
 | 
    WORD        OfflineTime;    //ÀëÏß¶à¾ÃÍ˳ö¸±±¾(Ãë)  
 | 
    WORD        FBPoint;    //¸±±¾¹ý¹ØÏÉÔµ±Ò  
 | 
    WORD        HelpPoint;    //ÖúÕ½ÏÉÔµ±Ò(0´ú±í²»¿ÉÖúÕ½)  
 | 
    BYTE        DayHelpCountMax;    //ÿÈÕÊÖ¶¯ÖúÕ½»ñµÃÏÉÔµ±Ò´ÎÊý£¨·Ç¾µÏñ£©  
 | 
};  
 | 
  
 | 
//¸±±¾¹¦ÄÜÏß·±í  
 | 
  
 | 
struct tagFBLine  
 | 
{  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    BYTE        _LineID;    //¹¦ÄÜÏß·ID  
 | 
    DWORD        MapID;    //³¡¾°µØÍ¼ID  
 | 
    WORD        LVLimitMin;    //×îµÍµÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ  
 | 
    WORD        LVLimitMax;    //×î¸ßµÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ  
 | 
    BYTE        JobRankLimit;    //ËùÐèÖ°Òµ½×  
 | 
    DWORD        TicketID;    //ÃÅÆ±ID  
 | 
    list        TicketCostCnt;    //ÃÅÆ±ÏûºÄÊýÐÅÏ¢  
 | 
    WORD        TicketPrice;    //ÃÅÆ±µ¥¼Û(²»ÄÜÓÃÇ®µÖµÄÅä0)  
 | 
    WORD        SweepLVLimit;    //ɨµ´µÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ  
 | 
    DWORD        SweepItemID;    //ɨµ´ËùÐèµÀ¾ßID  
 | 
    BYTE        SweepCostCnt;    //ɨµ´ËùÐèµÀ¾ß¸öÊý  
 | 
    eval        EnterPosInfo;    //½øÈë×ø±êÐÅÏ¢  
 | 
    eval        StepTime;    //½×¶Îʱ¼ä  
 | 
    eval        RefreshNPC;    //±êÊÔµãË¢¹ÖÅäÖà  
 | 
    eval        GradeInfo;    //ÆÀ¼¶¹æÔò  
 | 
    eval        RewardInfo;    //½±ÀøÐÅÏ¢  
 | 
};  
 | 
  
 | 
//¸±±¾ÖúÕ½±í  
 | 
  
 | 
struct tagFBHelpBattle  
 | 
{  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    BYTE        _LineID;    //¹¦ÄÜÏß·ID  
 | 
    DWORD        FightPowerMin;    //ÖúÕ½×îµÍÕ½Á¦£¬Ò²ÊǸ±±¾±£µ×Õ½Á¦  
 | 
    DWORD        RobotFightPower;    //ÖúÕ½NPCÕ½Á¦  
 | 
    WORD        RobotLV;    //ÖúÕ½NPCµÈ¼¶  
 | 
    DWORD        RobotBaseHurt;    //ÖúÕ½NPC±£µ×É˺¦  
 | 
    WORD        RobotHPCoefficient;    //ÖúÕ½NPCÉúÃüϵÊý  
 | 
    dict        RobotSkillsDict;    //ÖúÕ½NPC¼¼ÄÜ, {"Ö°Òµ":[¼¼ÄÜÁбí], ...}  
 | 
};  
 | 
  
 | 
//¸±±¾Ë¢¹Ö±êʶµã±í  
 | 
  
 | 
struct tagNPCCustomRefresh  
 | 
{  
 | 
    DWORD        _ID;    //Ë¢¹Ö¹æÔòID  
 | 
    list        RefreshMarkInfo;    //±êÊÔµã, µ±ÅäÖöà¸öÊ±ÎªËæ»ú±êÊÔµã, ²»Öظ´  
 | 
    DWORD        RefreshNPCID;    //Ö¸¶¨NPCID  
 | 
    list        RandNPCIDList;    //µ¥´ÎËæ»úË¢¹ÖNPCID  
 | 
    list        NPCIDCountList;    //µ¥´ÎÖ¸¶¨Ë¢¹ÖNPC  
 | 
    WORD        MaxCount;    //µ¥¸öµã×î´ó´æÔÚ¹ÖÎïÊý  
 | 
    WORD        TotalMaxCount;    //Ïàͬ±êÊÔµã×ÜË¢¹ÖÎïÊý  
 | 
    BYTE        IsLineOneOnly;    //ÊÇ·ñ½öÔÚ1ÏßË¢¹Ö  
 | 
    DWORD        RefreshTick;    //Ë¢¹Ö¼ä¸ôÃë  
 | 
    BYTE        IsRepeat;    //ÊÇ·ñÑ»·Ë¢¹Ö  
 | 
};  
 | 
  
 | 
//ÈÕ³£»î¶¯±í  
 | 
  
 | 
struct tagDailyAction  
 | 
{  
 | 
    DWORD        _DailyID;    //»î¶¯ID  
 | 
    DWORD        DayTimes;    //ÿÈÕ´ÎÊý, 0Ϊ²»ÏÞÖÆ  
 | 
    BYTE        DayResetType;    //ÿÈÕ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã  
 | 
    DWORD        WeekTimes;    //ÿÖÜ´ÎÊý, 0Ϊ²»ÏÞÖÆ  
 | 
    BYTE        WeekResetType;    //ÿÖÜ´ÎÊýÖØÖÃÀàÐÍ; 0-²»ÖØÖÃ,1-0µã,2-5µã  
 | 
};  
 | 
  
 | 
//×°±¸ÆÀ·ÖÊôÐÔϵÊý±í  
 | 
  
 | 
struct tagEquipGSParam  
 | 
{  
 | 
    BYTE        _ClassLV;        // ×°±¸½×¼¶  
 | 
    BYTE        _EquipColor;    // ×°±¸ÑÕÉ«  
 | 
    BYTE        _EquipQualityLV;    // ×°±¸ÐǼ¶  
 | 
    DWORD        AtkPerC;        // ¹¥»÷°Ù·Ö±ÈϵÊý  
 | 
    DWORD        DamagePerC;    // Ôö¼ÓÉ˺¦ÏµÊý  
 | 
    DWORD        SuperHitRateC;    // ±©»÷ÂÊϵÊý  
 | 
    DWORD        SuperHitPerC;    // ±©»÷Öµ°Ù·Ö±ÈϵÊý  
 | 
    DWORD        DamReducePerC;    // ¼õÉÙÉ˺¦ÏµÊý  
 | 
    DWORD        MaxHPPerC;    // ÉúÃüÉÏÏÞ°Ù·Ö±ÈϵÊý  
 | 
    DWORD        DefPerC;        // ·ÀÓùÁ¦°Ù·Ö±ÈϵÊý  
 | 
    DWORD        LuckyHitRateC;    // »áÐÄÒ»»÷ÂÊϵÊý  
 | 
    DWORD        PetDamPerC;    // Áé³èÉ˺¦Ôö¼Ó°Ù·Ö±ÈϵÊý  
 | 
    DWORD        PerLVAtkC;    // Ã¿¼¶Ôö¼Ó¹¥»÷Á¦ÏµÊý  
 | 
    DWORD        MissRateC;    // ÉÁ±ÜÖµ°Ù·Ö±ÈϵÊý  
 | 
    DWORD        HitRateC;        // ÃüÖÐÁ¦°Ù·Ö±ÈϵÊý  
 | 
    DWORD        DamBackPerC;    // É˺¦·´Éä°Ù·Ö±ÈϵÊý  
 | 
    DWORD        PerLVMaxHPC;    // Ã¿¼¶Ôö¼ÓÉúÃüֵϵÊý  
 | 
    DWORD        DropEquipPerC;    // Ôö¼Ó×°±¸µôÂ伸ÂÊϵÊý  
 | 
    DWORD        DropMoneyPerC;    // Ôö¼ÓµôÂä½ð±ÒÁ¿°Ù·Ö±ÈϵÊý  
 | 
    DWORD        IgnoreDefRateReduceC;    // ÎÞÊÓ·ÀÓù¿¹ÐÔ°Ù·Ö±ÈϵÊý  
 | 
    DWORD        DamChanceDefC;    // µÖÓù°Ù·Ö±ÈϵÊý  
 | 
    DWORD        SuperHitReduceC;    // ±©»÷¿¹ÐÔ°Ù·Ö±ÈϵÊý  
 | 
    DWORD        SkillAtkRateC;    // ¼¼ÄÜÉ˺¦°Ù·Ö±ÈϵÊý  
 | 
    DWORD        SpeedPerC;    // Òƶ¯ËٶȰٷֱÈϵÊý  
 | 
    DWORD        AtkSpeedC;    // ¹¥»÷ËÙ¶ÈϵÊý  
 | 
    DWORD        SkillAtkRateReduceC;    // ¼¼ÄܼõÉ˰ٷֱÈϵÊý  
 | 
    DWORD        HitC;    // ÃüÖÐϵÊý  
 | 
    DWORD        MissC;    // ÉÁ±ÜϵÊý  
 | 
};  
 | 
  
 | 
//³É¾Í±í  
 | 
  
 | 
struct tagSuccess  
 | 
{  
 | 
    DWORD        _ID;    //³É¾ÍID  
 | 
    WORD        Type;    //³É¾ÍÀàÐÍ  
 | 
    DWORD        NeedCnt;    //ÐèÒªÊýÁ¿  
 | 
    list        Condition;    //¸¨ÖúÌõ¼þ  
 | 
    list        PreSuccess;    //ÐèÒª´ï³ÉǰÖÃ³É¾Í  
 | 
    dict        AwardItem;    //½±ÀøÎïÆ·ÁÐ±í  
 | 
    dict        Money;    //½ðÇ®  
 | 
    DWORD        Exp;    //¾Ñé  
 | 
    dict        AwardAttr;    //½±ÀøÊôÐÔ  
 | 
    DWORD        RedPacketID;    //ºì°üID  
 | 
    DWORD        MagicWeaponID;    //·¨±¦ID  
 | 
    DWORD        MagicWeaponExp;    //·¨±¦Éý¼¶¾Ñé  
 | 
};  
 | 
  
 | 
//·¨±¦±í  
 | 
  
 | 
struct tagTreasure  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    BYTE        TreasureType;    //·¨±¦ÀàÐÍ  
 | 
    DWORD        PreTreasure;    //ǰÖ÷¨±¦  
 | 
    list        SuccID;    //³É¾ÍID  
 | 
    list        Potentials;    //¼¼ÄÜDZÁ¦Éý¼¶  
 | 
    list        SkillPower;    //¼¼ÄܽâËøÕ½Á¦  
 | 
    dict        NeedItem;    //ÐèÒªÏûºÄÎïÆ·  
 | 
};  
 | 
  
 | 
//·¨±¦Éý¼¶±í  
 | 
  
 | 
struct tagTreasureUp  
 | 
{  
 | 
    DWORD        _MWID;    //·¨±¦ID  
 | 
    BYTE        _LV;    //·¨±¦µÈ¼¶  
 | 
    DWORD        NeedExp;    //ÐèÒª¾Ñé  
 | 
    dict        AddAttr;    //ÊôÐÔ  
 | 
    list        UnLockSkill;    //½âËøµÄ¼¼ÄÜ  
 | 
    DWORD        ActiveMWID;    //¼¤»î·¨±¦ID  
 | 
    list        ItemAward;    //ÎïÆ·½±Àø[itemID,cnt,isbind]  
 | 
    DWORD        ActiveSoulID;    //¼¤»î»êID  
 | 
    DWORD        PowerEx;    //¶îÍâ¹Ì¶¨Õ½Á¦  
 | 
};  
 | 
  
 | 
//·¨±¦ÌØÈ¨±í  
 | 
  
 | 
struct tagTreasurePrivilege  
 | 
{  
 | 
    DWORD        _PrivilegeID;    //ÌØÈ¨ID  
 | 
    eval        EffectValue;    //ÌØÊâЧ¹û  
 | 
    DWORD        SingleValue;    //½ø¶È  
 | 
    DWORD        MaxValue;    //×î´ó½ø¶È  
 | 
    dict        AddAttr;    //ÊôÐÔ  
 | 
    list        ItemAward;    //ÎïÆ·½±Àø  
 | 
    list        SuccessList;    //ÐèÒªÍê³É³É¾Í  
 | 
};  
 | 
  
 | 
//·¨±¦¼¼ÄÜÉý¼¶±í  
 | 
  
 | 
struct tagTreasureSkill  
 | 
{  
 | 
    BYTE        _SkillUpType;    //¼¼ÄÜÉý¼¶ÀàÐÍ  
 | 
    BYTE        _SkillLV;    //¼¼Äܵȼ¶  
 | 
    DWORD        NeedPoint;    //Éýµ½µ±Ç°¼¶ÏûºÄÌìʯ¾«»ª  
 | 
    WORD        InitRate;    //³õʼ¸ÅÂÊ  
 | 
    list        NeedItemID;    //Éýµ½µ±Ç°¼¶ÈܲÊʯID  
 | 
    list        NeedItemCnt;    //Éýµ½µ±Ç°¼¶ÈܲÊʯÊýÁ¿  
 | 
    list        MaxRate;    //Éýµ½µ±Ç°¼¶¸ÅÂÊ  
 | 
};  
 | 
  
 | 
//Á¬ÐøÇ©µ½½±Àø±í  
 | 
  
 | 
struct tagContineSignAward  
 | 
{  
 | 
    BYTE        _ContineDay;    //Á¬ÐøÇ©µ½ÌìÊý  
 | 
    list        ItemID;    //½±ÀøÎïÆ·ID   
 | 
    BYTE        IsBind;    //ÎïÆ·ÊÇ·ñ°ó¶¨      
 | 
    list        ItemNum;    //ÎïÆ·½±Àø×îСֵ  
 | 
    list        JobItemList;    //Ö°ÒµÎïÆ·ÁÐ±í  
 | 
};  
 | 
  
 | 
//Ç©µ½½±Àø±í  
 | 
  
 | 
struct tagSignAward  
 | 
{  
 | 
    BYTE        _RewardID;    //½±ÀøID  
 | 
    list        ItemID;    //½±ÀøÎïÆ·ID  
 | 
    BYTE        IsBind;    //ÎïÆ·ÊÇ·ñ°ó¶¨   
 | 
    BYTE        VipLv;    //vipµÈ¼¶  
 | 
    list        OrdinaryNum;    //½±ÀøÎïÆ·ÊýÁ¿  
 | 
    BYTE        VipMultiple;   //½±Àø±¶ÂÊ      
 | 
};  
 | 
  
 | 
//VIPÀñ°ü±í  
 | 
  
 | 
struct tagVIPAward  
 | 
{  
 | 
    BYTE        _VIPLV;    //VIPµÈ¼¶  
 | 
    dict        ItemID;    //½±ÀøÎïÆ·ÐÅÏ¢  
 | 
    WORD        Price;    //Àñ°üÏÖ¼Û   
 | 
    WORD        OldPrice;    //Àñ°üÔ¼Û  
 | 
};  
 | 
  
 | 
//¶¨ÖÆÎïÆ·±í  
 | 
  
 | 
struct tagAppointItem  
 | 
{  
 | 
    DWORD        _ID;    //¶¨ÖÆÎïÆ·ID  
 | 
    BYTE        SuiteLV;    //Ì××°µÈ¼¶  
 | 
    BYTE        CancelUseLimit;    //´©´÷ÏÞÖÆ(³ýÖ°Òµ)  
 | 
    list        LegendAttrID;    //´«ÆæÊôÐÔID  
 | 
    list        LegendAttrValue;    //´«ÆæÊôÐÔÖµ  
 | 
    list        OutOfPrintAttr;        //¾ø°æÊôÐÔID  
 | 
    list        OutOfPrintAttrValue;        //¾ø°æÊôÐÔ×î´óÖµ  
 | 
};  
 | 
  
 | 
//VIPÌØÈ¨±í  
 | 
  
 | 
struct tagVipPrivilege  
 | 
{  
 | 
    DWORD   _VIPPriID;  //ÌØÈ¨ID  
 | 
    DWORD   VIP0;   //VIP0¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP1;   //VIP1¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP2;   //VIP2¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP3;   //VIP3¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP4;   //VIP4¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP5;   //VIP5¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP6;    //VIP6¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP7;    //VIP7¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP8;    //VIP8¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP9;    //VIP9¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP10;   //VIP10¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP11;   //VIP11¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP12;   //VIP12¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP13;   //VIP13¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP14;   //VIP14¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
    DWORD   VIP15;   //VIP15¶ÔÓ¦µÄÌØÈ¨Öµ  
 | 
};  
 | 
  
 | 
//ÉÌ³Ç±í  
 | 
  
 | 
struct tagStore  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    DWORD        ShopType;    //É̵êÀàÐÍ  
 | 
    BYTE        OperationActionShop;    //ÊÇ·ñÔËÓª»î¶¯ÉÌµê  
 | 
    DWORD        ItemID;    //ÎïÆ·ID  
 | 
    WORD        ItemCnt;    //ÎïÆ·ÊýÁ¿  
 | 
    BYTE        IsBind;    //ÊÇ·ñ°ó¶¨  
 | 
    list        ItemListEx;    //À©Õ¹ÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...]  
 | 
    DWORD        MainItemID;    //±êµÄÎïÆ·ID  
 | 
    list        JobItem;    //Ö°ÒµÌæ»»ÎïÆ·  
 | 
    BYTE        RefreshType;    //Ë¢ÐÂÀàÐÍ 0-²»ÖØÖÃ,1-onWeek0µã,2-onWeek5µã,3-OnDay0µã,4-OnDay5µã  
 | 
    list        LimitVIPLV;    //VIPÏÞÖÆ  
 | 
    DWORD        LimitLV;    //µÈ¼¶ÏÞÖÆ  
 | 
    list        LimitCnt;    //¸öÈËÏÞÖÆÊýÁ¿  
 | 
    DWORD        ServerLimitCnt;    //È«·þÏÞÖÆÊýÁ¿  
 | 
    BYTE        MoneyType;    //½ðÇ®ÀàÐÍ  
 | 
    DWORD        MoneyNum;    //½ðÇ®ÊýÁ¿  
 | 
    DWORD        MoneyOriginal;    //Ô¼Û  
 | 
    DWORD        LimitValue;    //ÏÞÖÆÌõ¼þ  
 | 
    char        NotifyMark;    //¹ã²¥Ìáʾ  
 | 
    char        MailKey;    //±³°ü²»×ãʱÓʼþKEY  
 | 
};  
 | 
  
 | 
//ÏÞÊ±ÌØ»Ý±í  
 | 
  
 | 
struct tagActSpringSale  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    list        ShopTypeList;    //É̵êÀàÐÍÁÐ±í  
 | 
    char        MailKey;        //»î¶¯¸üÐÂʱ·¢ËÍÓʼþkey  
 | 
    list        MailItemPrize;        //»î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ·  
 | 
};  
 | 
  
 | 
//ÈÕ³£ÈÎÎñ±í  
 | 
  
 | 
struct tagDailyQuest  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    BYTE        RelatedType;    //¹ØÁªÀàÐÍ  
 | 
    DWORD        RelatedID;    //¹ØÁªID  
 | 
    WORD        UnLockFuncID;    //½âËø¹¦ÄÜID  
 | 
    BYTE        OnceActivityTime;    //Ôö¼Ó»îÔ¾ËùÐè´ÎÊý  
 | 
    BYTE        OnceActivity;    //µ¥´Î»îÔ¾Öµ  
 | 
    WORD        TotalActiveValue;    //×Ü»îÔ¾  
 | 
};  
 | 
  
 | 
//ÈÕ³£»îÔ¾½±Àø±í  
 | 
  
 | 
struct tagDailyLivenessReward  
 | 
{  
 | 
    BYTE        _ID;    //ID  
 | 
    WORD        Liveness;    //ËùÐè»îÔ¾¶È  
 | 
    list        StageLV;    //½×¶ÎµÈ¼¶  
 | 
    list        ItemID;    //ÎïÆ·ID  
 | 
    list        ItemCount;    //ÎïÆ·ÊýÁ¿  
 | 
    list        ItemBind;    //ÊÇ·ñ°ó¶¨  
 | 
};  
 | 
  
 | 
//·¨±¦ÖýÁ¶±í  
 | 
  
 | 
struct tagTreasureRefine  
 | 
{  
 | 
    WORD    _TreasureID;    //·¨±¦id  
 | 
    BYTE    _TreasureLV;    //·¨±¦½×Êý   
 | 
    dict    TreasureAttr;    //ÊôÐÔ£¨×î¶à3Ìõ£©  
 | 
    dict    Material;    //ÖýÁ¶²ÄÁÏ  
 | 
    WORD    SuccessRate;   //³É¹¦ÂÊ      
 | 
    DWORD   OpenSkill;  //½âËø¼¼ÄÜ  
 | 
    BYTE    NeedAlchemyLV; //ËùÐèÁ¶µ¤µÈ¼¶  
 | 
    BYTE    NeedAllTreasureLV; //ËùÐèËùÓз¨±¦µÈ¼¶  
 | 
};  
 | 
  
 | 
//Á¶µ¤Â¯µÈ¼¶±í  
 | 
  
 | 
struct tagRefineStove  
 | 
{  
 | 
    BYTE    _StoveLV;    //Á¶µ¤Â¯µÈ¼¶  
 | 
    DWORD    UpNeedExp;    //ÉýÏÂÒ»¼¶ËùÐè¾Ñé  
 | 
    list    AddAttrType;    //µÈ¼¶¼Ó³ÉÊôÐÔÀàÐÍ      
 | 
    list    AddAttrNum;    //µÈ¼¶¼Ó³ÉÊôÐÔÖµ  
 | 
};  
 | 
  
 | 
//Á¶µ¤±í  
 | 
  
 | 
struct tagAlchemy  
 | 
{  
 | 
    WORD    _AlchemyID;    //Á¶µ¤±àºÅ  
 | 
    dict    Material;    //ËùÐèËùÓвÄÁϺÍÊýÁ¿  
 | 
    WORD    AlchemyExp; //Á¶µ¤»ñµÃ¾ÑéÖµ  
 | 
    list    AlchemyItem;    //²ú³öÎïÆ·¼°ÊýÁ¿¼°È¨ÖØ  
 | 
    list    SpecAlchemyID;    //ÌØÊâÁ¶µ¤ID×é  
 | 
    list    AlchemyUp;    //²ú³ö°üº¬µÄ½ø½×µ¤Ò©  
 | 
    BYTE    NeedAlchemyLV;    //ËùÐèÁ¶µ¤µÈ¼¶  
 | 
};  
 | 
  
 | 
//Á¶µ¤ÌØÊâ²ú³ö±í  
 | 
  
 | 
struct tagAlchemySpec  
 | 
{  
 | 
    WORD    _SpecAlchemyID;    //ÌØÊâÁ¶µ¤ID  
 | 
    DWORD    MaterialID;    //ÌØÊâ²ÄÁÏID  
 | 
    BYTE    MaterialCnt;    //ÌØÊâ²ÄÁÏIDÏûºÄ¸öÊý  
 | 
    WORD    AlchemyExp; //ÌØÊâ²ÄÁϾÑé  
 | 
    list    AlchemyItem;    //²ú³öÎïÆ·¼°ÊýÁ¿¼°È¨ÖØ  
 | 
    BYTE    NeedAlchemyLV;    //ËùÐèÁ¶µ¤µÈ¼¶  
 | 
};  
 | 
  
 | 
//BOSSÐÅÏ¢±í  
 | 
  
 | 
struct tagBOSSInfo  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    DWORD        MapID;    //µØÍ¼ID  
 | 
    BYTE        RefreshMark;    //ˢбêʶµã  
 | 
    BYTE        IsNeedShunt;    //ÊÇ·ñÐèÒª·ÖÁ÷  
 | 
    BYTE        RelatedType;    //Ë¢¹Ö¹ØÁªÀàÐÍ  
 | 
    WORD        RelatedID;    //¹ØÁªID  
 | 
    DWORD        StoneNPCID;    //ű®NPCID  
 | 
};  
 | 
  
 | 
//¹ÅÉñ½ûµØ±í  
 | 
  
 | 
struct tagElderGodArea  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    BYTE        MonsterAnger;    //¹ÖÎïÅÆøÖµ  
 | 
};  
 | 
  
 | 
//¸öÈËBOSS±í  
 | 
  
 | 
struct tagPersonalBoss  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    DWORD        ChanllengeLv;    //¿ÉÌôÕ½µÈ¼¶  
 | 
};  
 | 
  
 | 
//ÏÉÃË»îÔ¾±í  
 | 
  
 | 
struct tagFamilyActivity  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    WORD        UnLockFuncID;    //½âËø¹¦ÄÜID  
 | 
    BYTE        TotalActivityTime;    //×Ü´ÎÊý  
 | 
    WORD        SingleTimes;    //Ôö¼Ó»îÔ¾ÐèÒª´ÎÊý  
 | 
    WORD        SingleActiveValue;    //ÿÂÖÔö¼Ó»îÔ¾»ý·Ö  
 | 
};  
 | 
  
 | 
//ÏÉÃ˺ì°ü±í  
 | 
  
 | 
struct tagFamilyRedPack  
 | 
{  
 | 
    WORD        _ID;    //ID  
 | 
    WORD        GetType;    //»ñµÃ;¾¶  
 | 
    WORD        MoneyNum;    //ºì°ü¶î¶È  
 | 
    BYTE        MoneyType;    //½ðÇ®ÀàÐÍ  
 | 
    BYTE        PacketCnt;    //ºì°ü¸öÊý  
 | 
};  
 | 
  
 | 
//NPCÐã±í  
 | 
  
 | 
struct tagNPCShow  
 | 
{  
 | 
    DWORD        _NPCID;  
 | 
    DWORD        _MapID;  
 | 
    BYTE        LineID;  
 | 
    DWORD        ProtectTime; //±£»¤Ê±¼ä, ºÁÃë  
 | 
    DWORD        BindMissionID;    //°ó¶¨µÄÈÎÎñID  
 | 
    BYTE        ShowType;    //0-·þÎñ¶Ë֪ͨ,>0ǰ¶Ë´¦Àí  
 | 
};  
 | 
  
 | 
  
 | 
//·âħ̳BOSS±í  
 | 
  
 | 
struct tagSealDemon  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    BYTE        LineID;  
 | 
    WORD        KillTime;    //»÷ɱ×Üʱ¼äÃë  
 | 
};  
 | 
  
 | 
//¸±±¾¹ÄÎè±í  
 | 
  
 | 
struct tagFbEncourage  
 | 
{  
 | 
    DWORD        _DataMapID;    //µØÍ¼ID  
 | 
    BYTE        _InspireType; //¹ÄÎèÀàÐÍ  
 | 
    WORD        InspireMaxLV;    //¹ÄÎèµÈ¼¶ÏÞÖÆ  
 | 
    char        MoneyCount;    //µ¥´ÎÏûºÄ½ðÇ®ÊýÁ¿  
 | 
};  
 | 
  
 | 
//·ûÓ¡ºÏ³É±í  
 | 
  
 | 
struct tagRuneCompound  
 | 
{  
 | 
    DWORD        _TagItemID;    //ºÏ³ÉµÄ·ûÓ¡ÎïÆ·ID  
 | 
    list        NeedItem; //ÐèÒªµÄÎïÆ·ID  
 | 
    WORD        NeedMJ;    //ÐèÒªµÄħ¾«ÊýÁ¿  
 | 
};  
 | 
  
 | 
//×ÊÔ´ÕÒ»Ø±í  
 | 
  
 | 
struct tagResourcesBack  
 | 
{  
 | 
    BYTE        _ID;    //ID  
 | 
    DWORD        RelatedID; //¹ØÁªÈÕ³£ÈÎÎñ±íID  
 | 
    BYTE        CanBackTimes;    //ÄÜ·ñÕһشÎÊý  
 | 
    BYTE        NormalCostJade; //°óÓñÕÒ»ØÆÕͨ´ÎÊý¼Û¸ñ  
 | 
    WORD        VipCostJade; //°óÓñÕÒ»ØVIP´ÎÊýÕһؼ۸ñ  
 | 
    dict        JadeReward; //°óÓñÕһؽ±Àø  
 | 
    DWORD        CostCopper; //ÍÇ®ÕÒ»ØÍÇ®ÏûºÄ  
 | 
    dict        CopperReward; //ÍÇ®Õһؽ±Àø  
 | 
    list        JobItemList; //Ö°ÒµÎïÆ·ÁÐ±í  
 | 
};  
 | 
  
 | 
//²É¼¯Îï±í  
 | 
  
 | 
struct tagCollectNPC  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    BYTE        PrepareTime;    //²É¼¯ºÄʱ£¬Ãë  
 | 
    list        LostHPPer;    //²É¼¯µôѪ£¬[ÿXÃë,µôѪ°Ù·Ö±È]  
 | 
    BYTE        MaxCollectCount;    //ÿÈտɲɼ¯´ÎÊý£¬0ÏÞÖÆ  
 | 
    char        CollectCountLimitNotify;    //Î޲ɼ¯´ÎÊý²É¼¯Ìáʾ  
 | 
    list        CollectAward;    //²É¼¯½±ÀøÎïÆ·£¬ [ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨]  
 | 
};  
 | 
  
 | 
//±¦Ïä±í¿ªÆô  
 | 
  
 | 
struct tagChests  
 | 
{  
 | 
    DWORD        _ChestsItemID;    //±¦ÏäÎïÆ·ID  
 | 
    DWORD        CostItemID;        //ÏûºÄÎïÆ·ID  
 | 
    BYTE        CostItemCount;    //ÏûºÄÎïÆ·¸öÊý  
 | 
    WORD        CostGold;        //ÏûºÄÏÉÓñ  
 | 
    BYTE        ShowType;        //ǰ¶Ë±íÏÖÀàÐÍ0-ÎÞ±íÏÖ, >0ÓбíÏÖÐèͬ²½½á¹û£¬¾ßÌåÀàÐÍǰ¶Ë×Ô¶¨Òå  
 | 
    BYTE        IsBind;            //¿ª³öÎïÆ·ÊÇ·ñ°ó¶¨  
 | 
};  
 | 
  
 | 
//±¦Ïä±í²ú³ö±í  
 | 
  
 | 
struct tagChestsAward  
 | 
{  
 | 
    DWORD        _ChestsItemID;    //±¦ÏäÎïÆ·ID  
 | 
    WORD        AwardLV;        //±¦Ïä½±ÀøµÈ¼¶  
 | 
    dict        SelectItemDict; //Ñ¡ÔñÎïÆ·ID¶ÔÓ¦¸öÊý×ֵ䣬¹æ¶¨Ö»ÄÜѡһ¸ö  
 | 
    dict        FixedItemDict; //¹Ì¶¨²ú³öÎïÆ·ID¶ÔÓ¦¸öÊý×Öµä  
 | 
    list        RandItemList1; //Ëæ»úÎïÆ·±ýͼÁбí1  
 | 
    list        RandTimeList1; //Ëæ»ú´ÎÊý±ýͼÁбí1  
 | 
    list        RandItemList2; //Ëæ»úÎïÆ·±ýͼÁбí2  
 | 
    list        RandTimeList2; //Ëæ»ú´ÎÊý±ýͼÁбí2  
 | 
    dict        RandItemByUseCount; //±¦Ï俪ÆôX´Î¶ÔÓ¦ÌØÊâ²ú³ö£¬Óë±ýͼÁбí2»¥³â  
 | 
    list        JobItemList; //Ö°ÒµÎïÆ·ÁÐ±í  
 | 
    BYTE        MoneyType;    //»õ±ÒÀàÐÍ  
 | 
    DWORD        MoneyCount;    //»õ±ÒÊýÁ¿  
 | 
    list        NeedNotifyItemList;    //ÐèÒª¹ã²¥µÄÎïÆ·IDÁÐ±í  
 | 
};  
 | 
  
 | 
//VIPɱ¹Ö¼Ó¹¥»÷±í  
 | 
  
 | 
struct tagVIPKillNPC  
 | 
{  
 | 
    WORD        _KillLV;    //ɱ¹Ö³É³¤µÈ¼¶  
 | 
    DWORD        LVExpPoint;    //Éý¼¶ËùÐè¾Ñéµã,ÿ¸ö¾Ñéµã´ú±íµÄ¾ÑéÓÉÏîÄ¿¾ö¶¨  
 | 
    DWORD        LVExp;        //³ý¾Ñéµã×ܾÑéÍâÉý¼¶»¹ÐèµÄ¾Ñé  
 | 
    DWORD        AddMinAtk;    //Ôö¼Ó×îС¹¥»÷  
 | 
    DWORD        AddMaxAtk;    //Ôö¼Ó×î´ó¹¥»÷  
 | 
};  
 | 
  
 | 
  
 | 
//È«Ãñ³å°ñÅÅÐн±Àø±í  
 | 
  
 | 
struct tagOSCBillRankAward  
 | 
{  
 | 
    BYTE        _OSCBillType;    //³å°ñÀàÐÍ  
 | 
    BYTE        RankA;    //ÅÅÃûA  
 | 
    BYTE        RankB;    //ÖÁÅÅÃûB  
 | 
    dict        RankAward; //ÅÅÃû½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
};  
 | 
  
 | 
  
 | 
//È«Ãñ³å°ñ´ï³É½±Àø±í  
 | 
  
 | 
struct tagOSCBillTagAward  
 | 
{  
 | 
    BYTE        _OSCBillType;    //³å°ñÀàÐÍ  
 | 
    WORD        TagCondition;    //Ä¿±êÌõ¼þÖµ  
 | 
    dict        TagAward; //Ä¿±ê½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
};  
 | 
  
 | 
//ÆßÌìµÇ¼½±Àø±í  
 | 
  
 | 
struct tagLoginDayAward  
 | 
{  
 | 
    BYTE        _DayID;    //ÌìÊý  
 | 
    dict        Reward;    //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
};  
 | 
  
 | 
//ÆßÌìÔÚÏß½±Àø±í  
 | 
  
 | 
struct tagOnlineAward  
 | 
{  
 | 
    BYTE        _DayID;    //ÌìÊý  
 | 
    list        StageTime;    //½×¶ÎËùÐèʱ¼ä(·ÖÖÓ)  
 | 
    dict        Reward;    //½±Àø {"Ë÷Òý":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
};  
 | 
  
 | 
//ÆßÌìÏÞÊ±ÌØ»Ý±í  
 | 
  
 | 
struct tagSpringSale  
 | 
{  
 | 
    BYTE        _GiftID;    //Àñ°üID  
 | 
    BYTE        SellDay;    //´´½ÇµÚ¼¸ÌìÉÏ¼Ü  
 | 
    BYTE        BuyNumLimit;    //ÿÈËÏÞ¹ºÊýÁ¿  
 | 
    WORD        GiftPrice;    //Àñ°ü¼Û¸ñ£¬ÏÉÓñ  
 | 
    list        GiftItemList;    //Àñ°üÎïÆ·ÐÅÏ¢Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...]  
 | 
};  
 | 
  
 | 
//³äÖµÉÌÆ·±àºÅ±í  
 | 
  
 | 
struct tagOrderInfo  
 | 
{  
 | 
    char        _OrderInfo;    //ÉÌÆ·±àºÅ  
 | 
    char        _AppID;    //appID  
 | 
    float        PayRMBNum;    //¸¶·Ñ¶î¶È£¬Ôª  
 | 
    DWORD        CTGID;    //¶ÔÓ¦³äÖµID  
 | 
    DWORD        GiftbagID;    //¶ÔÓ¦ÏÞʱÀñ°ü±àºÅ  
 | 
};  
 | 
  
 | 
//³äÖµ±í  
 | 
  
 | 
struct tagCTG  
 | 
{  
 | 
    BYTE        _RecordID;        //¼Ç¼ID  
 | 
    BYTE        DailyBuyCount;    //ÿÈÕÏÞ¹º´ÎÊý  
 | 
    WORD        GainGold;    //»ñµÃÏÉÓñÊý  
 | 
    WORD        GainGoldPrize;    //ÔùËÍÏÉÓñÊý  
 | 
    WORD        FirstGoldPrize;    //Ê״γäÖµ¸ÃµµÎ»ÔùËÍÏÉÓñ  
 | 
    list        GainItemList;    //»ñµÃÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨], ...]  
 | 
    char        NotifyMark;    //¹ã²¥Ìáʾ  
 | 
};  
 | 
  
 | 
//µÈ¼¶½±Àø±í  
 | 
  
 | 
struct tagLVAward  
 | 
{  
 | 
    BYTE        _AwardID;    //½±ÀøID  
 | 
    WORD        LV;    //µÈ¼¶  
 | 
    WORD        LimitCnt;    //È«·þÏÞÖÆÊýÁ¿  
 | 
    dict        Reward;    //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
    BYTE        VIPLimit;    //ÐèÒªVIP¼¸  
 | 
    list        VIPAward;    //vip½±Àø[[ÎïÆ·ID,¸öÊý],...]  
 | 
};  
 | 
  
 | 
//Ͷ×汒  
 | 
  
 | 
struct tagInvest  
 | 
{  
 | 
    WORD        _ID;    //ID  
 | 
    BYTE        Type;    //Ͷ×ÊÀàÐÍ  
 | 
    BYTE        NeedDay;    //ÐèÒªÌìÊý  
 | 
    WORD        NeedLV;    //ÐèÒªµÈ¼¶  
 | 
    dict        Reward;    //½±Àø {"key":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...}  
 | 
};  
 | 
  
 | 
//Ïɱ¦Ñ°Ö÷±í  
 | 
  
 | 
struct tagXBXZ  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    BYTE        Type;    //ÀàÐÍ  
 | 
    DWORD        NeedCnt;    //ÐèÒªÊýÁ¿  
 | 
    list        Condition;    //Ìõ¼þ  
 | 
    WORD        MWID;    //·¨±¦ID  
 | 
    list        AwardItem;    //½±ÀøÎïÆ·ÁÐ±í  
 | 
    list        Money;    //½ðÇ®  
 | 
};  
 | 
  
 | 
//Ѱ±¦²ú³ö¿â±í  
 | 
  
 | 
struct tagTreasureHouse  
 | 
{  
 | 
    BYTE        _TreasureType;    //Ѱ±¦ÀàÐÍ  
 | 
    WORD        MinLV;    //×îСµÈ¼¶  
 | 
    dict        GridItemInfo;    //¸ñ×Ó±àºÅ¶ÔÓ¦ÎïÆ·ÐÅÏ¢ {"±àºÅ":[ÎïÆ·ID, ¸öÊý], ...}  
 | 
    list        JobItemList;    //Ö°ÒµÎïÆ·×éÁбí [[Ö°Òµ1ÎïÆ·, Ö°Òµ2ÎïÆ·, ...], ...]  
 | 
    list        GridItemRateListFree;    //Ãâ·Ñ²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...]  
 | 
    list        FreeGridItemRateList2;    //Ãâ·ÑÿÂúx´Î±£µ×²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...]  
 | 
    dict        FreeGridItemRateList3;    //Ãâ·ÑµÚx´Î±Ø³ö²ú³ö¸ñ×Ó±àºÅ±ýͼ {´ÎÊý:[[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...], ...}  
 | 
    list        GridItemRateList1;    //³£¹æ²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...]  
 | 
    list        GridItemRateList2;    //ÿÂúx´Î±£µ×²ú³ö¸ñ×Ó±àºÅ±ýͼ [[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...]  
 | 
    dict        GridItemRateList3;    //µÚx´Î±Ø³ö²ú³ö¸ñ×Ó±àºÅ±ýͼ {´ÎÊý:[[¸ÅÂÊ, ¸ñ×Ó±àºÅ], ...], ...}  
 | 
    BYTE        LuckyGridNum;    //ÐÒÔ˼ӳɸñ×Ó±àºÅ  
 | 
};  
 | 
  
 | 
//¼«Æ·°×ÄÃ±í  
 | 
  
 | 
struct tagFreeGoods  
 | 
{  
 | 
    BYTE        _ID;    //ID  
 | 
    dict        AwardItem;    //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
    WORD        NeedMoney;    //ÐèÒªÏÉÓñ  
 | 
    DWORD        ReturnTime;    //·µ»¹Ê±¼ä(s)  
 | 
};  
 | 
  
 | 
//ÏÞʱÀñ°ü»î¶¯±í  
 | 
  
 | 
struct tagActFlashGiftbag  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    list        GiftbagTypeList;    //Àñ°üÀàÐÍÁÐ±í  
 | 
    char        MailKey;        //»î¶¯¸üÐÂʱ·¢ËÍÓʼþkey  
 | 
    list        MailItemPrize;        //»î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ·  
 | 
};  
 | 
  
 | 
//ÏÞʱÀñ°üÄ£°å±í  
 | 
  
 | 
struct tagFlashGiftbag  
 | 
{  
 | 
    DWORD        _GiftbagID;    //Àñ°ü±àºÅ  
 | 
    WORD        GiftbagType;    //Àñ°üÀàÐÍ  
 | 
    DWORD        OriginalRMB;    //Ô¼Û£¨RMB£©  
 | 
    WORD        BuyCountLimit;        //ÏÞ¹º´ÎÊý,0²»ÏÞ¹º  
 | 
    list        GiftItemList;    //Àñ°üÎïÆ·ÐÅÏ¢Áбí [(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...]  
 | 
    DWORD        MainItemID;    //±êµÄÎïÆ·ID  
 | 
    char        NotifyKey;        //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È)  
 | 
};  
 | 
  
 | 
//Ë«±¶¾Ñé»î¶¯±í  
 | 
  
 | 
struct tagActExpRate  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    DWORD        AddExpRate;    //¾Ñé±¶Âʼӳɣ¬Íò·ÖÂÊ  
 | 
};  
 | 
  
 | 
//Ïû·Ñ·µÀû»î¶¯±í  
 | 
  
 | 
struct tagActCostRebate  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    list        TemplateIDList;    //Ä£°åIDÁÐ±í  
 | 
};  
 | 
  
 | 
//Ïû·Ñ·µÀûÄ£°å±í  
 | 
  
 | 
struct tagCostRebateTemplate  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    DWORD        NeedCostGold;    //ÐèÒªÏû·ÑÏÉÓñÊý  
 | 
    BYTE        AwardIndex;        //·µÀû½±ÀøË÷Òý0~31,ͬ¸öÄ£°åÖв»Öظ´  
 | 
    list        AwardItemList;    //·µÀûÎïÆ·ÐÅÏ¢Áбí [(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...]  
 | 
    char        NotifyKey;        //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È)  
 | 
};  
 | 
  
 | 
//BOSS¸´»î»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActBossReborn  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        TemplateID;    //Ä£°å±àºÅ  
 | 
};  
 | 
  
 | 
//BOSS¸´»î±í  
 | 
  
 | 
struct tagBossReborn  
 | 
{  
 | 
    BYTE        _TemplateID;    //Ä£°åID  
 | 
    BYTE        _ID;    //»î¶¯ÌõÄ¿ID  
 | 
    DWORD        TotalTimes;    //¿ÉÍê³ÉµÄ×Ü´ÎÊý£¬0±íʾ²»ÏÞ´ÎÊý  
 | 
    WORD        SingleTimes;    //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý  
 | 
    list        Reward;    //½±ÀøÎïÆ·ID1  
 | 
};  
 | 
  
 | 
//¶à±¶ÐÞÐеã»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActRealmPoint  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    WORD        Multiple;    //±¶Êý  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    DWORD        PointLimit;    //ÏÞÖÆ¶îÍâÐÞÐÐµã  
 | 
};  
 | 
  
 | 
//×ÚÃÅÊÔÁ¶¶Ò»»±í  
 | 
  
 | 
struct tagTrialExchange  
 | 
{  
 | 
    DWORD        _ID;    //¶Ò»»ID  
 | 
    list        ExchangeItemIDList;    //¶Ò»»ÎïÆ·ID  
 | 
    DWORD        ExchangeItemCount;    //¶Ò»»ÎïÆ·¸öÊý  
 | 
    DWORD        ExchangeItemIsBind;    //¶Ò»»ÎïÆ·ÊÇ·ñ°ó¶¨  
 | 
    DWORD        CostItemID;    //ÏûºÄÎïÆ·ID  
 | 
    DWORD        CostItemCount;    //ÏûºÄÎïÆ·¸öÊý  
 | 
};  
 | 
  
 | 
//ÏɽçÊ¢µä-È«ÃñÀ´à豒  
 | 
  
 | 
struct tagAllPeopleParty  
 | 
{  
 | 
    BYTE        _ID;    //ID  
 | 
    WORD        TotalTimes;    //×Ü´ÎÊý  
 | 
    WORD        AddPoint;    //ÿÍê³É´ÎÊý»ñµÃà赋  
 | 
};  
 | 
  
 | 
//ÏɽçÊ¢µä-È«ÃñÀ´à˽±Àø±í  
 | 
  
 | 
struct tagAllPeoplePartyAward  
 | 
{  
 | 
    BYTE        _WorldLvNum;    //ÊÀ½çµÈ¼¶µµ  
 | 
    DWORD        _Index;    //Ë÷Òý  
 | 
    DWORD        NeedPoint;    //ÐèÒªµãÊý  
 | 
    dict        Award;    //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...}  
 | 
};  
 | 
  
 | 
//µØÍ¼NPCÅäÖñí-¹Ò»úµã  
 | 
  
 | 
struct tagMapEventPoint  
 | 
{  
 | 
    DWORD    _MapID;  
 | 
    DWORD    _NPCID;  
 | 
    WORD    LowLV;    // ÍƼö×îµÍµÈ¼¶  
 | 
    WORD    HighestLV;    // ÍƼö×î¸ßµÈ¼¶  
 | 
    DWORD    Defense;    // ÍƼö·ÀÓù  
 | 
};  
 | 
  
 | 
//Ì츳¼¼ÄÜ±í  
 | 
  
 | 
struct tagTalentSkill  
 | 
{  
 | 
    DWORD        _SkillID;    //¼¼ÄÜID  
 | 
    BYTE        TalentType;    //Ì츳ÀàÐÍ  
 | 
    BYTE        Series;    //Ì츳ϵ±ð  
 | 
};  
 | 
  
 | 
//ÏÞʱÇÀ¹º±í  
 | 
  
 | 
struct tagActFlashSale  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    list        ShopTypeList;    //É̵êÀàÐÍÁÐ±í  
 | 
    char        MailKey;        //»î¶¯¸üÐÂʱ·¢ËÍÓʼþkey  
 | 
    list        MailItemPrize;        //»î¶¯¸üÐÂʱ·¢ËÍÓʼþ½±ÀøÎïÆ·  
 | 
};  
 | 
  
 | 
//ÐíÔ¸³Ø»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActWishingWell  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        TemplateID;    //Ä£°å±àºÅ  
 | 
};  
 | 
  
 | 
//ÐíÔ¸³Ø¿âÄ£°å±í  
 | 
  
 | 
struct tagWishingWell  
 | 
{  
 | 
    BYTE        _TemplateID;    //Ä£°åID  
 | 
    BYTE        IsFree;    //ÊÇ·ñÃâ·Ñ¿â  
 | 
    list        WorldLVLimit;    //ÊÀ½çµÈ¼¶·¶Î§  
 | 
    DWORD        ItemID;    //ÎïÆ·ID  
 | 
    WORD        ItemCnt;    //ÎïÆ·ÊýÁ¿  
 | 
    BYTE        IsBind;    //ÊÇ·ñ°ó¶¨  
 | 
    DWORD        Weight;    //È¨ÖØ  
 | 
    DWORD        Mark;    //ÅÅÐòÓñêʶ  
 | 
    BYTE        Rare;    //Õäϡֵ  
 | 
};  
 | 
  
 | 
//¹¦ÄÜÔ¤¸æ±í  
 | 
  
 | 
struct tagFunctionForecast  
 | 
{  
 | 
    DWORD        _FuncID;    //¹¦ÄÜID  
 | 
    dict        Award;    //ÊôÐÔÀàÐÍ  
 | 
};  
 | 
  
 | 
//ÁÄÌìÆøÅÝ±í  
 | 
  
 | 
struct tagChatBubbleBox  
 | 
{  
 | 
    BYTE        _BoxID;    //ÆøÅÝ¿òID  
 | 
    WORD        NeedLV;    //ËùÐèµÈ¼¶  
 | 
    BYTE        NeedVIPLVGift;    //ËùÐ蹺ÂòVIPµÈ¼¶Àñ°ü  
 | 
};  
 | 
  
 | 
  
 | 
//ÀۼƳäÖµ»î¶¯±í  
 | 
  
 | 
struct tagActTotalRecharge  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    list        TemplateIDList;    //Ä£°åIDÁÐ±í  
 | 
};  
 | 
  
 | 
//ÀۼƳäֵģ°å±í  
 | 
  
 | 
struct tagTotalRechargeTemplate  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    DWORD        NeedGold;    //ÐèÒª³äÖµÏÉÓñÊý  
 | 
    BYTE        AwardIndex;        //·µÀû½±ÀøË÷Òý0~31,ͬ¸öÄ£°åÖв»Öظ´  
 | 
    dict        AwardItem;    //·µÀûÎïÆ·ÐÅÏ¢Áбí {Ö°Òµ:[(ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨),...]}  
 | 
    char        NotifyKey;        //È«·þ¹ã²¥key£¬Ä¬ÈÏÁ½¸ö²ÎÊý(Íæ¼ÒÃû, µµÎ»¶î¶È)  
 | 
};  
 | 
  
 | 
//·¨±¦¸±±¾±í  
 | 
  
 | 
struct tagMagicWeaponFB  
 | 
{  
 | 
    DWORD        _MWID;    //·¨±¦ID  
 | 
    BYTE        LineID;    //¸±±¾¹¦ÄÜÏß·ID  
 | 
    BYTE        _Level;    //¹Ø¿¨  
 | 
    list        RefreshNPC;    //Ë¢¹ÖÅäÖÃ  
 | 
    dict        AttrDict;    //ÊôÐÔ  
 | 
};  
 | 
  
 | 
//±ù¾§¿óÂöÐǼ¶½±Àø±í  
 | 
  
 | 
struct tagIceLodeStarAward  
 | 
{  
 | 
    BYTE        _Index;    //½±ÀøË÷Òý  
 | 
    BYTE        Star;    //ÐÇÊý  
 | 
    list        LVLimit;    //µÈ¼¶·¶Î§  
 | 
    list        ItemList;    //½±Àø  
 | 
};  
 | 
  
 | 
  
 | 
//Éñ±øÌØÐ§±í  
 | 
  
 | 
struct tagGodWeaponEffect  
 | 
{  
 | 
    BYTE        GWType;    //Éñ±øÀàÐÍ  
 | 
    WORD        Level;    //Éñ±øµÈ¼¶  
 | 
    char        NotifyCode;    //¹ã²¥  
 | 
    DWORD        FightPower;    //Ôö¼ÓÕ½Á¦  
 | 
    dict        Attr;    //ÊôÐÔ¼Ó³É  
 | 
};  
 | 
  
 | 
//¿ç·þ¾º¼¼³¡¶Îλ±í  
 | 
  
 | 
struct tagCrossRealmPKDan  
 | 
{  
 | 
    BYTE        _DanLV;    //¶ÎλµÈ¼¶  
 | 
    list        DanLVAwardList;    //¶Îλ´ï±ê½±ÀøÎïÆ·ÁÐ±í  
 | 
    list        SeasonDanLVAwardList;    //Èü¼¾¶Îλ½±ÀøÎïÆ·ÁÐ±í  
 | 
};  
 | 
  
 | 
//¿ç·þBossÅîÀ³Ïɾ³·ÖÇø±í  
 | 
  
 | 
struct tagCrossPenglaiZone  
 | 
{  
 | 
    BYTE        ZoneID;    //·ÖÇøID  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷×éIDÁÐ±í  
 | 
    DWORD        _MapID;    //³¡¾°µØÍ¼ID  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    BYTE        _CopyMapID;    //ÐéÄâÏß·ID  
 | 
    WORD        PosX;    //×ø±êX  
 | 
    WORD        PosY;    //×ø±êY  
 | 
};  
 | 
  
 | 
//¾Û»ê±í  
 | 
  
 | 
struct tagGatherSoul  
 | 
{  
 | 
    DWORD        _ItemID;    //ÎïÆ·ID  
 | 
    list        AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    BYTE        SoulGrade;    //»ê½×¶Î  
 | 
};  
 | 
  
 | 
//¾Û»êºÏ³É±í  
 | 
  
 | 
struct tagGatherSoulCompound  
 | 
{  
 | 
    DWORD        _TagItemID;    //ºÏ³ÉµÄÎïÆ·ID  
 | 
    WORD        NeedLV;    //ÐèÒªµÄÍæ¼ÒµÈ¼¶  
 | 
    list        NeedItem; //ÐèÒªµÄÎïÆ·ID  
 | 
    WORD        NeedSoulSplinters;    //ÐèÒªµÄ¾Û»êË鯬  
 | 
    WORD        NeedSoulCore;    //ÐèÒªµÄºËÐÄ»·  
 | 
};  
 | 
  
 | 
//¾Û»êÊôÐﱒ  
 | 
  
 | 
struct tagGatherSoulAttr  
 | 
{  
 | 
    WORD        _AttrType;    //ÊôÐÔÀàÐÍ  
 | 
    char        AttrInfo1;    //»ù´¡ÊôÐÔ-²ÎÊý¾Û»êµÈ¼¶level  
 | 
    dict        AttrInfo2;    //Æ·ÖÊϵÊý(Æ·ÖÊ_ϵÊý|¡)  
 | 
    dict        AttrInfo3;    //¶àÊôÐÔϵÊý  
 | 
    dict        AttrInfo4;    //³õʼÊôÐÔ(Æ·ÖÊ_ÊôÐÔÖµ|¡)  
 | 
    dict        AttrInfo5;    //½×¶ÎϵÊý  
 | 
};  
 | 
  
 | 
//ÍõÕß·¨±¦±í  
 | 
  
 | 
struct tagMagicWeaponOfKing  
 | 
{  
 | 
    DWORD        _MWID;    //·¨±¦ID  
 | 
    BYTE        _AwardMark;    //Èü¼¾½±ÀøµÈ¼¶  
 | 
    dict        AddAttr;    //ÊôÐÔ  
 | 
};  
 | 
  
 | 
//ʱװ±í  
 | 
  
 | 
struct tagCoat  
 | 
{  
 | 
    DWORD        _CoatID;    //ʱװ±àºÅ  
 | 
    list        EquipItemID;    //×°±¸ÎïÆ·ID(°´Ö°ÒµË³Ðò)  
 | 
    DWORD        UnlockItemID;    //²ÄÁÏÎïÆ·ID  
 | 
    DWORD        MaxLV;    //×î´óÐǼ¶  
 | 
    list        CostItemCnt;    //²ÄÁÏÊýÁ¿  
 | 
    dict        StarAttr;    //ÊôÐÔ  
 | 
};  
 | 
  
 | 
//ʱװ¹ñÉý¼¶±í  
 | 
  
 | 
struct tagCoatChestUp  
 | 
{  
 | 
    DWORD        _LV;    //µÈ¼¶  
 | 
    BYTE        NeedExp;    //Éý¼¶ËùÐè¾Ñé  
 | 
    dict        AddAttr;    //ÊôÐÔ  
 | 
};  
 | 
  
 | 
//ÖÜ¿ñ»¶»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActWeekParty  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    list        TemplateID;    //Ä£°å±àºÅ  
 | 
    dict        PointAward;    //×Ü»ý·Ö½±Àø  
 | 
};  
 | 
  
 | 
//ÖÜ¿ñ»¶±í  
 | 
  
 | 
struct tagWeekParty  
 | 
{  
 | 
    BYTE        _TemplateID;    //Ä£°åID  
 | 
    BYTE        ActionType;    //»î¶¯ÌõÄ¿ID  
 | 
    DWORD        TotalTimes;    //¿ÉÍê³ÉµÄ×Ü´ÎÊý£¬0±íʾ²»ÏÞ´ÎÊý  
 | 
    WORD        SingleTimes;    //µ¥´ÎÁì½±ÐèÒªµÄ´ÎÊý  
 | 
    list        Reward;    //½±ÀøÎïÆ·  
 | 
    WORD        Point;    //»ý·Ö  
 | 
}; 
 |