//¹¦ÄÜÅäÖñí¸ñ #tagFuncConfig  
 | 
  
 | 
struct    tagFuncConfig  
 | 
{  
 | 
    char        _Key;    //±êʶ  
 | 
    char        Numerical1;    //Êý¾Ý1  
 | 
    char        Numerical2;    //Êý¾Ý2  
 | 
    char        Numerical3;    //Êý¾Ý3  
 | 
    char        Numerical4;    //Êý¾Ý4  
 | 
    char        Numerical5;    //Êý¾Ý5  
 | 
};  
 | 
  
 | 
//´´½ÇÏÞÖÆ·þÎñÆ÷ÅäÖñí #tagCreateRoleLimitServer  
 | 
  
 | 
struct    tagCreateRoleLimitServer  
 | 
{  
 | 
    list        LimitServerGroupIDRangeList;    //ÏÞÖÆ´´½ÇµÄ·þÎñÆ÷×éID·¶Î§ÁÐ±í  
 | 
    list        LimitServerGroupIDList;    //ÏÞÖÆ´´½ÇµÄ·þÎñÆ÷×éIDÁÐ±í  
 | 
};  
 | 
  
 | 
//ÊÀ½çµÈ¼¶±í¸ñ #tagWorldLV  
 | 
  
 | 
struct    tagWorldLV  
 | 
{  
 | 
    WORD        _WorldLV;    //ÊÀ½çµÈ¼¶  
 | 
    DWORD        OpenServerSecond;    //¿ª·þʱ¼äÃë  
 | 
};  
 | 
  
 | 
//ÏÉÃ˱í¸ñ #tagFamily  
 | 
  
 | 
struct    tagFamily  
 | 
{  
 | 
    BYTE        _FamilyLV;    //ÏÉÃ˵ȼ¶  
 | 
    WORD        MemberCnt;    //³ÉÔ±ÊýÁ¿  
 | 
    BYTE        DeputyLeaderCnt;    //¸±ÃËÖ÷ÊýÁ¿  
 | 
    BYTE        EliteCnt;    //¾«Ó¢ÊýÁ¿  
 | 
    DWORD        NeedMoney;    //Éý¼¶ÐèÒª×ʽð  
 | 
    DWORD        WeekMissionMoneyMax;    //ÿÖÜÈÎÎñ×î´ó¿É»ñµÃÏÉÃË×ʽð  
 | 
    BYTE        BossFBCnt;    //BOSS¸±±¾´ÎÊý  
 | 
};  
 | 
  
 | 
//ÏÉÃËÊÔÁ¶ÉËѪ½±Àø±í  
 | 
  
 | 
struct tagFamilyBossHurtAward  
 | 
{  
 | 
    BYTE        _AwardType;    //½±ÀøÀàÐÍ 1-¸öÈË£»2-ÏÉÃË  
 | 
    BYTE        _RecordIndex;    //½±Àø¼Ç¼Ë÷Òý£¬Í¬½±ÀøÀàÐÍʱ¼Ç¼Ë÷Òý²»¿ÉÖØ¸´  
 | 
    DWORD        NeedHurtTotal;    //ËùÐè×ÜÉËѪ  
 | 
    list        AwardItemList;    //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//ÏÉÃËÕó·¨±í  
 | 
  
 | 
struct tagFamilyZhenfa  
 | 
{  
 | 
    BYTE        _ZhenfaType;    // Õó·¨ÀàÐÍ  
 | 
    WORD        _ZhenfaLV;    // Õ󷨵ȼ¶  
 | 
    DWORD        LVUpNeedExp;    //ÉýÏÂÒ»¼¶ËùÐè¾Ñé  
 | 
};  
 | 
  
 | 
//¼¯Êвéѯ±í  
 | 
  
 | 
struct tagMarketQuery  
 | 
{  
 | 
    WORD        _QueryType;    //²éѯÀàÐÍ  
 | 
    dict        LimitInfo;    //ÏÞÖÆÌõ¼þ  
 | 
};  
 | 
  
 | 
//ÅÄÂôÎïÆ·±í  
 | 
  
 | 
struct tagAuctionItem  
 | 
{  
 | 
    DWORD        _AuctionItemID;  
 | 
    BYTE        NoticeSaleMinutes;    //Ô¤¸æÅÄÂô·ÖÖÓ  
 | 
    WORD        FamilySaleMinutes;    //ÏÉÃËÅÄÂô·ÖÖÓ  
 | 
    WORD        WorldSaleMinutes;    //È«·þÅÄÂô·ÖÖÓ  
 | 
    WORD        BasePrice;    //ÆðÅÄ¼Û  
 | 
    WORD        BuyoutPrice;    //Ò»¿Ú¼Û  
 | 
    WORD        BiddingAdd;    //¾º¼ÛÔö¼Ó  
 | 
    BYTE        NeedWorldNotify;    //ÊÇ·ñÐèÒª¹ã²¥  
 | 
    BYTE        Sortpriority;    //ÅÅÐòÓÅÏȼ¶¹é×é  
 | 
};  
 | 
  
 | 
//ÅÄÂôÐÐϵͳÅÄÆ·±í  
 | 
  
 | 
struct tagAuctionSystemItem  
 | 
{  
 | 
    DWORD        _CfgID;  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    char        StartTime;    //¿ªÆôʱ¼ä  
 | 
    char        EndTime;    //½áÊøÊ±¼ä  
 | 
    list        WorldLVRange;    //ÊÀ½çµÈ¼¶·¶Î§ÏÞÖÆ  
 | 
    list        AddRandSecondRange;    //ÿ¼þÅÄÆ·Ëæ»ú¼ä¸ôÉϼÜÃëÊý ÉÏÏÞ|ÏÂÏÞ  
 | 
    WORD        ReplenishCDMinutes;    //¶¯Ì¬²¹³äÅÄÆ·¼ä¸ô·ÖÖÓ  
 | 
    BYTE        ReplenishAuctionCount;    //¶¯Ì¬²¹³äÅÄÆ·±£µ×Êý  
 | 
    DWORD        ReplenishItemID;    //¶¯Ì¬²¹³äÎïÆ·ID  
 | 
    list        ReplenishEquipInfo;    //¶¯Ì¬²¹³ä×°±¸ÐÅÏ¢ [½×,ÑÕÉ«,ÊÇ·ñÌ××°]  
 | 
    list        ReplenishEquipPlaces;    //¶¯Ì¬²¹³äÉϼÜ×°±¸Î»ÁÐ±í  
 | 
    BYTE        AuctionCount;    //Ö¸¶¨ÉϼܴÎÊý  
 | 
    list        RandMinuteRange;    //Ö¸¶¨ÉϼÜËæ»ú¼ä¸ô·ÖÖÓÏÂÏÞ|ÉÏÏÞ  
 | 
    list        ItemCountWeightList;    //Ö¸¶¨ÉϼÜËæ»ú¼þÊýÈ¨ÖØÁбí, [[È¨ÖØ, ¼þÊý], ...]  
 | 
    list        AuctionItemWeightList;    //Ö¸¶¨ÉϼÜÎïÆ·Ëæ»úÈ¨ÖØ, [[È¨ÖØ, ÎïÆ·ID],[È¨ÖØ, [½×,ÑÕÉ«,²¿Î»¼¯ºÏ,ÊÇ·ñÌ××°,ÐǼ¶]] ...]  
 | 
    list        RandMailKeyList;    //Ö¸¶¨ÉϼÜËæ»úÓʼþÁÐ±í£¬ÓÐÅäÖÃʱÉϼܵÄʱºòÔÚÏßÍæ¼Ò»áÊÕµ½Ò»·âÉϼÜÓʼþÌáÐÑ  
 | 
};  
 | 
  
 | 
//¿ç·þÈÕ³£»î¶¯±í  
 | 
  
 | 
struct tagCrossDailyAction  
 | 
{  
 | 
    DWORD        _DailyID;    //»î¶¯ID  
 | 
    dict        OpenTimeDict;    //¿ªÆôʱ¼ä  
 | 
    DWORD        Duration;    //³ÖÐøÊ±¼ä, 0Ϊ²»ÏÞÖÆ  
 | 
    dict        NotifyInfo;    //¹ã²¥ÌáʾÐÅÏ¢  
 | 
};  
 | 
  
 | 
//ÈÕ³£»î¶¯±í  
 | 
  
 | 
struct tagDailyAction  
 | 
{  
 | 
    DWORD        _DailyID;    //»î¶¯ID  
 | 
    dict        OpenTimeDict;    //¿ªÆôʱ¼ä  
 | 
    DWORD        Duration;    //³ÖÐøÊ±¼ä, 0Ϊ²»ÏÞÖÆ  
 | 
    dict        NotifyInfo;    //¹ã²¥ÌáʾÐÅÏ¢  
 | 
};  
 | 
  
 | 
//ÈÕ³£»î¶¯±í¶¨ÖÆ±í  
 | 
  
 | 
struct tagDailyActionCustom  
 | 
{  
 | 
    DWORD        ID;    //ID  
 | 
    BYTE        _OpenServerWeek;    //¿ª·þÊÇÖܼ¸  
 | 
    DWORD        OpenServerDay;    //¿ª·þµÚ¼¸Ìì  
 | 
    BYTE        DailyID;    //ÈÕ³£»î¶¯ID  
 | 
    list        OpenTimeList;    //¿ªÆôʱ¼äÁÐ±í  
 | 
    DWORD        Duration;    //³ÖÐøÊ±¼ä, 0Ϊ²»ÏÞÖÆ  
 | 
    dict        NotifyInfo;    //¹ã²¥ÌáʾÐÅÏ¢  
 | 
};  
 | 
  
 | 
//ÈÕ³£»î¶¯±í¶¨ÖƱíºÏ·þ  
 | 
  
 | 
struct tagDailyActionCustomMix  
 | 
{  
 | 
    DWORD        ID;    //ID  
 | 
    DWORD        _MixServerDay;    //ºÏ·þµÚ¼¸Ìì  
 | 
    BYTE        DailyID;    //ÈÕ³£»î¶¯ID  
 | 
    list        OpenTimeList;    //¿ªÆôʱ¼äÁÐ±í  
 | 
    DWORD        Duration;    //³ÖÐøÊ±¼ä, 0Ϊ²»ÏÞÖÆ  
 | 
    dict        NotifyInfo;    //¹ã²¥ÌáʾÐÅÏ¢  
 | 
};  
 | 
  
 | 
//¸±±¾×´Ì¬Ê±¼ä±í  
 | 
  
 | 
struct tagFBStateTime  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    DWORD        DataMapID;    //ËùÊôµÄÍæ·¨Êý¾ÝµØÍ¼ID  
 | 
    BYTE        StartWeekday;    //¿ªÊ¼ÐÇÆÚ  
 | 
    BYTE        StartHour;    //¿ªÊ¼Ê±  
 | 
    BYTE        StartMinute;    //¿ªÊ¼·Ö  
 | 
    BYTE        EndHour;    //½áÊøÊ±  
 | 
    BYTE        EndMinute;    //½áÊø·Ö  
 | 
    BYTE        CanEnter;    //ÊÇ·ñ¿É½øÈ븱±¾  
 | 
    BYTE        StateValue;    //״ֵ̬  
 | 
    dict        NotifyInfoDict;    //¹ã²¥ÌáʾÐÅÏ¢  
 | 
};  
 | 
  
 | 
//¸±±¾×´Ì¬Ê±¼ä¶¨ÖÆ±í  
 | 
  
 | 
struct tagFBStateTimeCustom  
 | 
{  
 | 
    DWORD        ID;        //ID  
 | 
    BYTE        _OpenServerWeek;    //¿ª·þÊÇÖܼ¸  
 | 
    DWORD        OpenServerDay;    //¿ª·þµÚ¼¸Ìì  
 | 
    DWORD        DataMapID;    //ËùÊôµÄÍæ·¨Êý¾ÝµØÍ¼ID  
 | 
    BYTE        StartHour;    //¿ªÊ¼Ê±  
 | 
    BYTE        StartMinute;    //¿ªÊ¼·Ö  
 | 
    BYTE        EndHour;    //½áÊøÊ±  
 | 
    BYTE        EndMinute;    //½áÊø·Ö  
 | 
    BYTE        CanEnter;    //ÊÇ·ñ¿É½øÈ븱±¾  
 | 
    BYTE        StateValue;    //״ֵ̬  
 | 
    dict        NotifyInfoDict;    //¹ã²¥ÌáʾÐÅÏ¢  
 | 
};  
 | 
  
 | 
//¸±±¾×´Ì¬Ê±¼ä¶¨ÖƱíºÏ·þ  
 | 
  
 | 
struct tagFBStateTimeCustomMix  
 | 
{  
 | 
    DWORD        ID;        //ID  
 | 
    DWORD        _MixServerDay;    //ºÏ·þµÚ¼¸Ìì  
 | 
    DWORD        DataMapID;    //ËùÊôµÄÍæ·¨Êý¾ÝµØÍ¼ID  
 | 
    BYTE        StartHour;    //¿ªÊ¼Ê±  
 | 
    BYTE        StartMinute;    //¿ªÊ¼·Ö  
 | 
    BYTE        EndHour;    //½áÊøÊ±  
 | 
    BYTE        EndMinute;    //½áÊø·Ö  
 | 
    BYTE        CanEnter;    //ÊÇ·ñ¿É½øÈ븱±¾  
 | 
    BYTE        StateValue;    //״ֵ̬  
 | 
    dict        NotifyInfoDict;    //¹ã²¥ÌáʾÐÅÏ¢  
 | 
};  
 | 
  
 | 
//¸±±¾×Ü±í  
 | 
  
 | 
struct tagFBFunc  
 | 
{  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    WORD        HelpPoint;    //ÖúÕ½ÏÉÔµ±Ò(0´ú±í²»¿ÉÖúÕ½)  
 | 
};  
 | 
  
 | 
//¸±±¾¹¦ÄÜÏß·±í  
 | 
  
 | 
struct tagFBLine  
 | 
{  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    BYTE        _LineID;    //¹¦ÄÜÏß·ID  
 | 
    DWORD        MapID;    //³¡¾°µØÍ¼ID  
 | 
};  
 | 
  
 | 
//¸±±¾ÖúÕ½±í  
 | 
  
 | 
struct tagFBHelpBattle  
 | 
{  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    BYTE        _LineID;    //¹¦ÄÜÏß·ID  
 | 
    DWORD        FightPowerMin;    //ÖúÕ½×îµÍÕ½Á¦£¬Ò²ÊǸ±±¾Õ½Á¦  
 | 
    DWORD        FightPowerMax;    //ÖúÕ½×î¸ßÕ½Á¦£¬0Ϊ²»ÏÞÖÆ  
 | 
    WORD        LVLimit;    //ÖúÕ½µÈ¼¶ÏÞÖÆ, 0Ϊ²»ÏÞÖÆ  
 | 
    list        DayFreeHelpCount;    //ÿÈÕÃâ·ÑÖúÕ½´ÎÊý£¬[ÿÈÕÃâ·ÑÖúÕ½´ÎÊý, ÊÇ·ñËùÓвãͨÓÃ]  
 | 
};  
 | 
  
 | 
//µØÍ¼±í  
 | 
  
 | 
struct tagChinMap  
 | 
{  
 | 
    DWORD        _MapID;    //µØÍ¼ID  
 | 
    char        MapName;    //µØÍ¼Ãû  
 | 
    BYTE        MapFBType;    // µØÍ¼ÀàÐÍ  
 | 
    BYTE        TeamLimit;    // ¶ÓÎéÏÞÖÆÀàÐÍ£»0²»ÏÞ£¬1-²»¿É±ä¸ü£¬2-²»¿É´æÔÚ¶ÓÎé  
 | 
};  
 | 
  
 | 
//BOSSÐÅÏ¢±í  
 | 
  
 | 
struct tagBOSSInfo  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    DWORD        MapID;    //µØÍ¼ID  
 | 
    char        RefreshTime;    //Ë¢ÐÂʱ¼ä ²ÎÊý onlineCnt  
 | 
    list        LVLimit;    //ÔÚÏßÈËÎïµÈ¼¶·¶Î§  
 | 
    BYTE        DiffPer;    //°Ù·Ö±ÈÓë֮ǰµÄÎó²îСÓÚX%,Ôò¸üÐÂʵʱÔÚÏßÊýÁ¿  
 | 
    BYTE        NoUpdataCnt;    //¶àÉÙ´Îδ¸üÐÂʵʱÔÚÏßÊýÁ¿×Ö¶ÎÊ±Ç¿ÖÆ¸üР 
 | 
    DWORD        StoneNPCID;    //ű®NPCID  
 | 
    WORD        RebornPreNotifyTime;    //¸´»îǰXÃë֪ͨ  
 | 
    char        SourceName;    //BOSSÀ´Ô´  
 | 
    BYTE        CanAssist;    //ÊÇ·ñ¿ÉÐÖú  
 | 
};  
 | 
  
 | 
//BossÊ×ɱ  
 | 
  
 | 
struct tagBOSSFirstKill  
 | 
{  
 | 
    DWORD        _NPCID;    //ID  
 | 
    list        ServerFirstKillPlayerAward;    // È«·þÊ×É±Íæ¼Ò½±Àø [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//È«Ãñ³å°ñÅÅÐн±Àø±í  
 | 
  
 | 
struct tagOSCBillRankAward  
 | 
{  
 | 
    BYTE        _OSCBillType;    //³å°ñÀàÐÍ  
 | 
    BYTE        RankA;    //ÅÅÃûA  
 | 
    BYTE        RankB;    //ÖÁÅÅÃûB  
 | 
    dict        RankAward; //ÅÅÃû½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý],...], ...}  
 | 
};  
 | 
  
 | 
//Ñç»áÌâ¿â±í  
 | 
  
 | 
struct tagQuestionBank  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    char        Answer;    //´ð°¸  
 | 
};  
 | 
  
 | 
//ÏÉÃ˺ì°ü±í  
 | 
  
 | 
struct tagFamilyRedPack  
 | 
{  
 | 
    WORD        _ID;    //ID  
 | 
    WORD        GetType;    //»ñµÃ;¾¶  
 | 
    WORD        MoneyNum;    //ºì°ü¶î¶È  
 | 
    BYTE        MoneyType;    //½ðÇ®ÀàÐÍ  
 | 
    BYTE        PacketCnt;    //ºì°ü¸öÊý  
 | 
    BYTE        LeaderOwn;    //ÊÇ·ñ¹éÊôÃËÖ÷  
 | 
    char        PacketOpenTime;    //·¢·Åºì°üʱ¼äyyyy-MM-dd hh:mm  
 | 
    BYTE        ValidMinutes;    //ºì°üÓÐЧʱ³¤£¨·Ö£©  
 | 
};  
 | 
  
 | 
//½ÚÈÕºì°üʱ¼ä±í  
 | 
  
 | 
struct tagActFeastRedPacket  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    list        RedPacketIDList;    //ÿÈÕ¶ÔÓ¦ºì°üIDÁбí[[µÚÒ»Ììºì°üIDÁбí], ...]  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
};  
 | 
  
 | 
//½ÚÈյǼ½±ÀøÊ±¼ä±í  
 | 
  
 | 
struct tagActFeastLogin  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
};  
 | 
  
 | 
//½ÚÈÕ×£¸£Ê±¼ä±í  
 | 
  
 | 
struct tagActFeastWish  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
};  
 | 
  
 | 
//½ÚÈÕÓÎÀúʱ¼ä±í  
 | 
  
 | 
struct tagActFeastTravel  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
};  
 | 
  
 | 
//µÈ¼¶¿ªÆô¹¦ÄÜ #tagFuncOpenLV  
 | 
  
 | 
struct    tagFuncOpenLV  
 | 
{  
 | 
    DWORD        _FuncId;    //¹¦Äܱêʶ  
 | 
    DWORD        LimitLV;    //¿ªÆôµÈ¼¶  
 | 
    DWORD        LimitMagicWeapon;    //ÐèÒª½âËø·¨±¦ID  
 | 
    WORD        LimiRealmLV;    //ÐèÒª¾³½çµÈ¼¶  
 | 
    BYTE        LimitVIPLV;    //ÐèÒªVIPµÈ¼¶  
 | 
};  
 | 
  
 | 
//NPC±í  
 | 
  
 | 
struct tagChinNPC  
 | 
{  
 | 
    DWORD    _NPCID;  
 | 
    char    NPCName;  
 | 
    WORD    LV;  
 | 
};  
 | 
  
 | 
  
 | 
//Íæ¼ÒµÈ¼¶±í  
 | 
  
 | 
struct tagPlayerLV  
 | 
{  
 | 
    WORD        _LV;    //Íæ¼ÒµÈ¼¶  
 | 
    DWORD        ReFightPower;    //Õ½¶·Á¦  
 | 
};  
 | 
  
 | 
//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 tagActSpringSale  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
};  
 | 
  
 | 
//ÏÞʱÀñ°ü±í  
 | 
  
 | 
struct tagActFlashGiftbag  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    WORD        LimitWorldLV;    //ÏÞÖÆ¿ªÆôµÄ×îµÍÊÀ½çµÈ¼¶  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
};  
 | 
  
 | 
//ÿÈÕÀñ°ü±í  
 | 
  
 | 
struct tagActDailyGiftbag  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
};  
 | 
  
 | 
//Ë«±¶¾Ñé»î¶¯±í  
 | 
  
 | 
struct tagActExpRate  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷×éIDÁÐ±í  
 | 
    list        ServerGroupIDListExcept;    //ÅųýµÄ·þÎñÆ÷×éIDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key, [¿ÉÑ¡²ÎÊý1, ...]]  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    DWORD        AddExpRate;    //¾Ñé±¶Âʼӳɣ¬Íò·ÖÂÊ  
 | 
};  
 | 
  
 | 
//Ïû·Ñ·µÀû»î¶¯±í  
 | 
  
 | 
struct tagActCostRebate  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
};  
 | 
  
 | 
//ÂòÒ»ËͶà»î¶¯±í  
 | 
  
 | 
struct tagActBuyOne  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
};  
 | 
  
 | 
//¼¯×ֻʱ¼ä±í  
 | 
  
 | 
struct tagActCollectWords  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
};  
 | 
  
 | 
//À¬»ø·ÖÀà»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActGarbageSorting  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
};  
 | 
  
 | 
//BossÀúÁ·»î¶¯±í  
 | 
  
 | 
struct tagActBossTrial  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    list        TemplateIDList;    //°ñµ¥Ä£°å±àºÅÁÐ±í  
 | 
};  
 | 
  
 | 
//BossÀúÁ·°ñµ¥Ä£°æ±í  
 | 
  
 | 
struct tagActBossTrialTemplate  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°å±àºÅ  
 | 
    BYTE        Rank;    //Ãû´Î  
 | 
    list        AwardItemList;    //½±ÀøÎïÆ·ÐÅÏ¢Áбí [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//ÏÉÏ»ÃØ¾³»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActXianXiaMJ  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
};  
 | 
  
 | 
//ÌìµÛÀñ°ü»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActGodGift  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
};  
 | 
  
 | 
//Æï³èÊ¢Ñç»î¶¯  
 | 
  
 | 
struct tagActHorsePetFeast  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
};  
 | 
  
 | 
//BOSS¸´»î»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActBossReborn  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷×éIDÁÐ±í  
 | 
    list        ServerGroupIDListExcept;    //ÅųýµÄ·þÎñÆ÷×éIDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        TemplateID;    //Ä£°å±àºÅ  
 | 
};  
 | 
  
 | 
//ÏɽçÊ¢µä»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActFairyCeremony  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖã»2-5µã¿ªÊ¼0µã½áÊø  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
};  
 | 
  
 | 
//ÏɽçÊ¢µä-¾ø°æ½µÁÙ±í  
 | 
  
 | 
struct tagUniquenessArrive  
 | 
{  
 | 
    BYTE        _WorldLvNum;    //ÊÀ½çµÈ¼¶µµ  
 | 
    DWORD        _Rank;    //ÅÅÃû  
 | 
    dict        Award;    //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...}  
 | 
};  
 | 
  
 | 
//¶à±¶ÐÞÐеã»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActRealmPoint  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    WORD        Multiple;    //±¶Êý  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    DWORD        PointLimit;    //ÏÞÖÆ¶îÍâÐÞÐÐµã  
 | 
};  
 | 
  
 | 
//ÏÞʱÇÀ¹º±í  
 | 
  
 | 
struct tagActFlashSale  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    list        ShopTypeList;    //É̵êÀàÐÍÁÐ±í  
 | 
};  
 | 
  
 | 
  
 | 
//ÉÌ³Ç±í  
 | 
  
 | 
struct tagStore  
 | 
{  
 | 
    DWORD        _ID;    //ID  
 | 
    DWORD        ShopType;    //É̵êÀàÐÍ  
 | 
    BYTE        RefreshType;    //Ë¢ÐÂÀàÐÍ 0-²»ÖØÖÃ,1-onWeek0µã,2-onWeek5µã,3-OnDay0µã,4-OnDay5µã  
 | 
    DWORD        ServerLimitCnt;    //È«·þÏÞÖÆÊýÁ¿  
 | 
};  
 | 
  
 | 
//ÐíÔ¸³Ø»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActWishingWell  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷×éIDÁÐ±í  
 | 
    list        ServerGroupIDListExcept;    //ÅųýµÄ·þÎñÆ÷×éIDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
};  
 | 
  
 | 
//³äÖµ·µÀû»î¶¯±í  
 | 
  
 | 
struct tagActRechargePrize  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
};  
 | 
  
 | 
//ÀۼƳäÖµ·µÀûÏÉÓñ»î¶¯±í  
 | 
  
 | 
struct tagActRechargeRebateGold  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
};  
 | 
  
 | 
//³É³¤±ØÂò»î¶¯±í  
 | 
  
 | 
struct tagActGrowupBuy  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
};  
 | 
  
 | 
//µ¥±ÊÀÛ³ä»î¶¯±í  
 | 
  
 | 
struct tagActSingleRecharge  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
};  
 | 
  
 | 
//תÅ̻±í  
 | 
  
 | 
struct tagActTurntable  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
};  
 | 
  
 | 
//¶àÈÕÁ¬³ä»î¶¯±í  
 | 
  
 | 
struct tagActManyDayRecharge  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
};  
 | 
  
 | 
//ÀۼƳäÖµ»î¶¯±í  
 | 
  
 | 
struct tagActTotalRecharge  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    BYTE        ActNum;    //»î¶¯·Ö×é±àºÅ, »î¶¯ÀàÐÍ * 10 + ²»Í¬½çÃæ±àºÅ  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
};  
 | 
  
 | 
//¿ç·þ·ÖÇø±íͨÓà  
 | 
  
 | 
struct tagCrossZoneComm  
 | 
{  
 | 
    char        _CrossZoneName;    //¿ç·þ·ÖÇøÃû  
 | 
    BYTE        _ZoneID;    //ÈüÇøID  
 | 
    list        ServerGroupIDList;    //ÈüÇø·þÎñÆ÷×éIDÁÐ±í  
 | 
};  
 | 
  
 | 
//¿ç·þ·ÖÇø±í¾º¼¼³¡  
 | 
  
 | 
struct tagCrossZonePK  
 | 
{  
 | 
    char        _CrossZoneName;    //¿ç·þ·ÖÇøÃû  
 | 
    BYTE        _ZoneID;    //ÈüÇøID  
 | 
    char        ZoneName;    //ÈüÇøÃû×Ö  
 | 
    list        ServerGroupIDList;    //ÈüÇø·þÎñÆ÷×éIDÁÐ±í  
 | 
};  
 | 
  
 | 
//¿ç·þÅÅλÈüÁ÷³Ì±í  
 | 
  
 | 
struct tagChampionshipTime  
 | 
{  
 | 
    DWORD        _ID;  
 | 
    BYTE        StartDay;    //¿ªÊ¼Ìì  
 | 
    BYTE        StartHour;    //¿ªÊ¼Ê±  
 | 
    BYTE        StartMinute;    //¿ªÊ¼·Ö  
 | 
    BYTE        EndDay;    //½áÊøÌì  
 | 
    BYTE        EndHour;    //½áÊøÊ±  
 | 
    BYTE        EndMinute;    //½áÊø·Ö  
 | 
    WORD        StateValue;    //״ֵ̬  
 | 
    dict        NotifyInfo;    //¹ã²¥ÌáʾÐÅÏ¢  
 | 
};  
 | 
  
 | 
//¿ç·þÅÅλ½±Àø±í  
 | 
  
 | 
struct tagChampionshipRank  
 | 
{  
 | 
    BYTE        _Rank;    // Ãû´Î  
 | 
    list        RankAwardItemList;    //Ãû´Î½±ÀøÎïÆ·ÁÐ±í  
 | 
    WORD        MainOfficialID;    //Ö÷¹ÙÖ°ID  
 | 
};  
 | 
  
 | 
//¿ç·þÅÅλ¹ÙÖ°±í  
 | 
  
 | 
struct tagChampionshipOfficial  
 | 
{  
 | 
    WORD        _OfficialID;    // ¹ÙÖ°ID  
 | 
    list        JuniorOfficialIDList;    //ϼ¶¹ÙÖ°IDÁÐ±í  
 | 
    list        DailyAwardItemList;    //¹ÙְÿÈÕÓʼþ½±ÀøÎïÆ·ÁÐ±í  
 | 
    BYTE        CanBeReplace;    //ÊÇ·ñ¿É±»ÌôÕ½Ìæ»»  
 | 
};  
 | 
  
 | 
//¿ç·þ¾º¼¼³¡Èü¼¾±í  
 | 
  
 | 
struct tagCrossRealmPKSeason  
 | 
{  
 | 
    char        _CrossZoneName;    //¿ç·þ·ÖÇøÃû  
 | 
    BYTE        _ZoneID;    //ÈüÇøID  
 | 
    WORD        SeasonID;    //Èü¼¾ID  
 | 
    char        StartDate;    //¿ªÊ¼ÈÕÆÚ    yyyy-MM-dd  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ    yyyy-MM-dd  
 | 
    char        EndTime;    //½áËãʱ¼ä    hh:mm  
 | 
};  
 | 
  
 | 
//¿ç·þ¾º¼¼³¡¶Îλ±í  
 | 
  
 | 
struct tagCrossRealmPKDan  
 | 
{  
 | 
    BYTE        _DanLV;    //¶ÎλµÈ¼¶  
 | 
    WORD        LVUpScore;    //Éý¶ÎλËùÐè»ý·Ö  
 | 
    BYTE        MatchRobotRate;    //Æ¥Åä»úÆ÷ÈË»ù´¡¸ÅÂÊ£¬°Ù·ÖÂÊ  
 | 
    BYTE        MatchRobotRateEx;    //Æ¥Åä»úÆ÷ÈËʧ°Ü´ÎÊý¸½¼Ó¸ÅÂÊ£¬°Ù·ÖÂÊ  
 | 
};  
 | 
  
 | 
//¿ç·þBossÅîÀ³Ïɾ³·ÖÇøµØÍ¼±í  
 | 
  
 | 
struct tagCrossPenglaiZoneMap  
 | 
{  
 | 
    BYTE        ZoneID;    //·ÖÇøID  
 | 
    DWORD        _MapID;    //³¡¾°µØÍ¼ID  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    BYTE        _CopyMapID;    //ÐéÄâÏß·ID  
 | 
};  
 | 
  
 | 
//¿ç·þBossħ»¯Ö®µØ·ÖÇøµØÍ¼±í  
 | 
  
 | 
struct tagCrossDemonLandZoneMap  
 | 
{  
 | 
    BYTE        ZoneID;    //·ÖÇøID  
 | 
    DWORD        _MapID;    //³¡¾°µØÍ¼ID  
 | 
    DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  
 | 
    BYTE        _CopyMapID;    //ÐéÄâÏß·ID  
 | 
};  
 | 
  
 | 
//ÖÜ¿ñ»¶»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActWeekParty  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
};  
 | 
  
 | 
//µÇ¼½±ÀøÊ±¼ä±í  
 | 
  
 | 
struct tagActLoginAward  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
};  
 | 
  
 | 
//½ÚÈÕѲÀñ»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActFeastWeekParty  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
};  
 | 
  
 | 
//ÐÂÏɽçÊ¢µä»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActNewFairyCeremony  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖã»2-5µã¿ªÊ¼0µã½áÊø  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
};  
 | 
  
 | 
//ÐÂÏɽçÊ¢µä-¾ø°æ½µÁÙ±í  
 | 
  
 | 
struct tagNewUniquenessArrive  
 | 
{  
 | 
    BYTE        _WorldLvNum;    //ÊÀ½çµÈ¼¶µµ  
 | 
    DWORD        _Rank;    //ÅÅÃû  
 | 
    dict        Award;    //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...}  
 | 
};  
 | 
  
 | 
//ÇéÔµÀñÎï±í  
 | 
  
 | 
struct tagLoveGift  
 | 
{  
 | 
    BYTE        _GiftNum;    //ƸÀñID  
 | 
    float        AddCharmSelf;    //µ¥¸öÔö¼Ó×ÔÉí÷ÈÁ¦  
 | 
    float        AddCharmTag;    //µ¥¸öÔö¼Ó¶Ô·½÷ÈÁ¦  
 | 
    DWORD        AddIntimacy;    //µ¥¸öÔö¼ÓË«·½Ç×ÃÜ¶È  
 | 
    char        WorldNotifyKey;    //¹ã²¥key  
 | 
};  
 | 
  
 | 
//ÇéÔµÌáÇ×±í  
 | 
  
 | 
struct tagMarry  
 | 
{  
 | 
    BYTE        _BridePriceID;    //ƸÀñID  
 | 
    BYTE        CanBuyCount;    //¿É¹ºÂò´ÎÊý  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÈÕÖØÖà  
 | 
    DWORD        Prosperity;    //³õʼ·±ÈÙ¶È  
 | 
    WORD        CandyTimes;    //ϲÌdzÖÐøÊ±¼äÃë  
 | 
    list        CandyItemWeightInfo;    //ϲÌÇÎïÆ·¿âÈ¨ÖØÁбí[[È¨ÖØ, ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
    list        CandyNotifyItemInfo;    //ϲÌÇÐèÒª¹ã²¥µÄÎïÆ·IDÁÐ±í  
 | 
    list        BrideGiftItemInfo;    //ƸÀñÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
    char        WorldNotifyKey;    //¹ã²¥key  
 | 
};  
 | 
  
 | 
//ÐÒÔ˼ø±¦»î¶¯Ê±¼ä±í  
 | 
  
 | 
struct tagActLuckyTreasure  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActMark;    //»î¶¯×é±ê¼Ç  
 | 
    list        PlatformList;    //»î¶¯Æ½Ì¨Áбí["ƽ̨A", "ƽ̨A", ...],Åä[]´ú±íËùÓÐ  
 | 
    list        ServerGroupIDList;    //·þÎñÆ÷IDÁÐ±í  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
};  
 | 
  
 | 
//¿ç·þÐÒÔËÔÆ¹º±í  
 | 
  
 | 
struct tagCrossActLuckyCloudBuy  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActGroupName;    //»î¶¯×éÃû£¨Í¬×é»î¶¯µÄÃû×ÖÐèÏàͬ£©  
 | 
    BYTE        ZoneID;        //×éÄÚ·Ö×é±àºÅ  
 | 
    list        ServerIDRangeList;    //»î¶¯µÄÕ˺ŷþÎñÆ÷ID·¶Î§Áбí [[serverIDA, serverIDB], ...]  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  
 | 
    list        RoundMaxList;    //¿ªÆôÂÖ´ÎÁÐ±í  
 | 
    WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  
 | 
    list        TemplateIDList;    //Ä£°åIDÁÐ±í  
 | 
};  
 | 
  
 | 
//¿ç·þÐÒÔËÔÆ¹ºÄ£°å±í  
 | 
  
 | 
struct tagCrossActLuckyCloudBuyTemplate  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    list        BaseAwardInfo;    //ÿ´Î¹ºÂò¹Ì¶¨½±Àø [[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
    list        RandAwardWeightInfo;    //ÿ´Î¹ºÂòËæ»ú½±ÀøÈ¨ÖØÐÅÏ¢ [[È¨ÖØ,ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
    list        SuperItemWeightInfo;    //´ó½±Ëæ»úÈ¨ÖØÐÅÏ¢  [[È¨ÖØ,ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·,¼ÛÖµ»õ±ÒÀàÐÍ,»õ±ÒÖµ], ...]  
 | 
};  
 | 
  
 | 
//¿ç·þÈ«Ãñ³äֵʱ¼ä±í  
 | 
  
 | 
struct tagCrossActAllRecharge  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActGroupName;    //»î¶¯×éÃû£¨Í¬×é»î¶¯µÄÃû×ÖÐèÏàͬ£©  
 | 
    BYTE        ZoneID;        //×éÄÚ·Ö×é±àºÅ  
 | 
    list        ServerIDRangeList;    //»î¶¯µÄÕ˺ŷþÎñÆ÷ID·¶Î§Áбí [[serverIDA, serverIDB], ...]  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[Ñ»··ÖÖÓ, ¹ã²¥key, [¹ã²¥²ÎÊýÁбí¿ÉÑ¡]]  
 | 
    list        TemplateIDList;    //Ä£°åIDÁÐ±í  
 | 
};  
 | 
  
 | 
//¿ç·þÈ«Ãñ³äֵģ°å±í  
 | 
  
 | 
struct tagCrossActAllRechargeTemplate  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    DWORD        CTGNeed;    //È«Ãñ³äÖµRMB  
 | 
    WORD        NeedPlayerCount;    //ËùÐè³äÖµ´ïµ½¸ÃµµÍæ¼ÒÊý  
 | 
    BYTE        AwardIndex;    //½±Àø¼Ç¼Ë÷Òý£¬´Ó0¿ªÊ¼£¬Í¬¸öÄ£°å²»¿ÉÖØ¸´£¬²»¿É±ä¸ü  
 | 
    list        AwardItemList;    //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//¿ç·þ³äÖµÅÅÐлʱ¼ä±í  
 | 
  
 | 
struct tagCrossActCTGBillboard  
 | 
{  
 | 
    DWORD        _CfgID;    //ÅäÖÃID  
 | 
    char        ActGroupName;    //»î¶¯×éÃû£¨Í¬×é»î¶¯µÄÃû×ÖÐèÏàͬ£©  
 | 
    BYTE        ZoneID;        //×éÄÚ·Ö×é±àºÅ  
 | 
    list        ServerIDRangeList;    //»î¶¯µÄÕ˺ŷþÎñÆ÷ID·¶Î§Áбí [[serverIDA, serverIDB], ...]  
 | 
    char        StartDate;    //¿ªÆôÈÕÆÚ  
 | 
    char        EndDate;    //½áÊøÈÕÆÚ  
 | 
    dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  
 | 
    dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  
 | 
    list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[Ñ»··ÖÖÓ, ¹ã²¥key, [¹ã²¥²ÎÊýÁбí¿ÉÑ¡]]  
 | 
    BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  
 | 
    list        TemplateIDList;    //Ä£°åIDÁÐ±í  
 | 
};  
 | 
  
 | 
//¿ç·þ³äÖµÅÅÐÐÄ£°åÃû´Î½±Àø±í  
 | 
  
 | 
struct tagCrossActCTGBillboardOrder  
 | 
{  
 | 
    DWORD        _TemplateID;    //Ä£°åID  
 | 
    WORD        OrderA;    //Ãû´ÎA  
 | 
    WORD        OrderB;    //ÖÁÃû´ÎB  
 | 
    float        CTGAtleast;    //ÖÁÉÙ³äÖµRMB  
 | 
    list        AwardItemList;    //½±ÀøÎïÆ·Áбí[[ÎïÆ·ID,¸öÊý,ÊÇ·ñÅÄÆ·], ...]  
 | 
};  
 | 
  
 | 
//×°±¸ÉýÐÇ±í  
 | 
  
 | 
struct tagEquipStarUp  
 | 
{  
 | 
    BYTE        _ClassLV;    //½×¼¶  
 | 
    BYTE        _EquipPlace;    //×°±¸Î»  
 | 
    BYTE        _Star;    //ÐÇÊý  
 | 
    list        CostEquipPlace;    //¿ÉÓÃ×°±¸²¿Î»  
 | 
    BYTE        IsJobLimit;    //ÊÇ·ñÖ»Óñ¾Ö°Òµ×°±¸²ÄÁÏ  
 | 
    list        CostEquipColor;    //¿ÉÓÃ×°±¸Æ·ÖÊ  
 | 
    BYTE        UnSuitRate;    //µ¥¼þ·ÇÌ××°¼Ó³É¸ÅÂÊ  
 | 
};  
 | 
  
 | 
//ÏÉÃËÁªÈüÅÅÃû½±Àø±í  
 | 
  
 | 
struct tagFamilyWarRankAward  
 | 
{  
 | 
    WORD        _WarWorldLV;    //ÁªÈüÊÀ½çµÈ¼¶  
 | 
    BYTE        WarRank;    //ÁªÈüÅÅÃû  
 | 
    list        RankAuctionItem;    //ÅÄÆ·½±Àø[[ÅÄÆ·ID,¸öÊý], ...]  
 | 
};  
 | 
  
 | 
//ÐÖú¸ÐлÀñºÐ±í  
 | 
  
 | 
struct tagAssistThanksGift  
 | 
{  
 | 
    DWORD        _GiftID;    //ÀñºÐÎïÆ·ID  
 | 
    BYTE        AssistAwardCount;    // ÐÖú½±ÀøÃ¿ÈÕ´ÎÊý  
 | 
};  
 | 
  
 | 
//çÎç¿ÏÉÓò±í  
 | 
  
 | 
struct tagFairyDomain  
 | 
{  
 | 
    WORD        _ID;    //ʼþ±àºÅ  
 | 
    DWORD        HourCntPubLimit;    //È«·þÿСʱ´ÎÊýÏÞÖÆ  
 | 
    DWORD        DayCntPubLimit;    //È«·þÿÌì´ÎÊýÏÞÖÆ  
 | 
}; 
 |