| //¹¦ÄÜÅäÖñí¸ñ #tagFuncConfig  | 
|   | 
| struct    tagFuncConfig  | 
| {  | 
|     char        _Key;    //±êʶ  | 
|     char        Numerical1;    //Êý¾Ý1  | 
|     char        Numerical2;    //Êý¾Ý2  | 
|     char        Numerical3;    //Êý¾Ý3  | 
|     char        Numerical4;    //Êý¾Ý4  | 
|     char        Numerical5;    //Êý¾Ý5  | 
| };  | 
|   | 
| //ÊÀ½çµÈ¼¶±í¸ñ #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 tagMarketQuery  | 
| {  | 
|     WORD        _QueryType;    //²éѯÀàÐÍ  | 
|     dict        LimitInfo;    //ÏÞÖÆÌõ¼þ  | 
| };  | 
|   | 
| //ÔËÓª»î¶¯±í  | 
|   | 
| struct tagActionControl  | 
| {  | 
|     WORD        _ID;    //»î¶¯ID  | 
|     char        Mark[20];    //»î¶¯ÀàÐͱê¼Ç  | 
|     char        Data[50];    //»î¶¯Êý¾Ý  | 
|     WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  | 
|     char        OpenDate[10];    //¿ªÆôÈÕÆÚ  | 
|     char        CloseDate[10];    //½áÊøÈÕÆÚ  | 
|     char        ValidOpenServerDay[10];    //ÓÐЧ¿ª·þÌì, ÓëºÏ·þÌì¡¢ÐÇÆÚ»¥³â  | 
|     char        ValidMixServerDay[10];    //ÓÐЧºÏ·þÌì, Ó뿪·þÌì¡¢ÐÇÆÚ»¥³â  | 
|     char        VaildWeek[10];    //ÓÐЧÐÇÆÚ, Ó뿪·þÌì¡¢ºÏ·þÌ컥³â  | 
|     char        OpenTime[5];    //¿ªÆôʱ¼ä  | 
|     char        CloseTime[5];    //½áÊøÊ±¼ä  | 
|     BYTE        TimeValidType;    //ʱ¼äÓÐЧÐÔ  | 
|     char        SpecTimeState[50];    //ÌØÊâ»î¶¯×´Ì¬Ê±¼ä¿ØÖÆÐÅÏ¢  | 
|     char        NotifyInfo[100];    //È«·þ¹ã²¥ÐÅÏ¢ÅäÖà  | 
| };  | 
|   | 
| //ÈÕ³£»î¶¯±í  | 
|   | 
| 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 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 tagFBLine  | 
| {  | 
|     DWORD        _DataMapID;    //Êý¾ÝµØÍ¼ID  | 
|     BYTE        _LineID;    //¹¦ÄÜÏß·ID  | 
|     DWORD        MapID;    //³¡¾°µØÍ¼ID  | 
| };  | 
|   | 
| //µØÍ¼±í  | 
|   | 
| 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À´Ô´  | 
| };  | 
|   | 
| //Ñç»áÌâ¿â±í  | 
|   | 
| struct tagQuestionBank  | 
| {  | 
|     DWORD        _ID;    //ID  | 
|     char        Answer;    //´ð°¸  | 
| };  | 
|   | 
| //ÏÉÃ˺ì°ü±í  | 
|   | 
| struct tagFamilyRedPack  | 
| {  | 
|     WORD        _ID;    //ID  | 
|     WORD        GetType;    //»ñµÃ;¾¶  | 
|     WORD        MoneyNum;    //ºì°ü¶î¶È  | 
|     BYTE        MoneyType;    //½ðÇ®ÀàÐÍ  | 
|     BYTE        PacketCnt;    //ºì°ü¸öÊý  | 
|     BYTE        LeaderOwn;    //ÊÇ·ñ¹éÊôÃËÖ÷  | 
| };  | 
|   | 
| //µÈ¼¶¿ªÆô¹¦ÄÜ #tagFuncOpenLV  | 
|   | 
| struct    tagFuncOpenLV  | 
| {  | 
|     DWORD        _FuncId;    //¹¦Äܱêʶ  | 
|     DWORD        LimitLV;    //¿ªÆôµÈ¼¶  | 
|     DWORD        LimitMagicWeapon;    //ÐèÒª½âËø·¨±¦ID  | 
|     WORD        LimiRealmLV;    //ÐèÒª¾³½çµÈ¼¶  | 
| };  | 
|   | 
| //NPC±í  | 
|   | 
| struct tagChinNPC  | 
| {  | 
|     DWORD    _NPCID;  | 
|     char    NPCName;  | 
|     WORD    LV;  | 
| };  | 
|   | 
|   | 
| //Íæ¼ÒµÈ¼¶±í  | 
|   | 
| struct tagPlayerLV  | 
| {  | 
|     WORD        _LV;    //Íæ¼ÒµÈ¼¶  | 
|     DWORD        ReFightPower;    //Õ½¶·Á¦  | 
| };  | 
|   | 
| //ÏÞÊ±ÌØ»Ý±í  | 
|   | 
| struct tagActSpringSale  | 
| {  | 
|     DWORD        _CfgID;    //ÅäÖÃID  | 
|     char        ActMark;    //»î¶¯×é±ê¼Ç  | 
|     list        ServerIDList;    //·þÎñÆ÷IDÁÐ±í  | 
|     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  | 
|     char        ActMark;    //»î¶¯×é±ê¼Ç  | 
|     list        ServerIDList;    //·þÎñÆ÷IDÁÐ±í  | 
|     char        StartDate;    //¿ªÆôÈÕÆÚ  | 
|     char        EndDate;    //½áÊøÈÕÆÚ  | 
|     list        StartTimeList;    //¿ªÆôʱ¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  | 
|     list        EndTimeList;    //½áÊøÊ±¼äÁбí, Ö§³Ö¶à¸öʱ¶Î  | 
|     WORD        AdvanceMinutes;    //ǰ¶ËÌáǰX·ÖÖÓչʾ»î¶¯  | 
|     dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  | 
|     dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  | 
|     list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  | 
|     WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  | 
|     BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  | 
| };  | 
|   | 
| //Ë«±¶¾Ñé»î¶¯±í  | 
|   | 
| struct tagActExpRate  | 
| {  | 
|     DWORD        _CfgID;    //ÅäÖÃID  | 
|     char        ActMark;    //»î¶¯×é±ê¼Ç  | 
|     list        ServerIDList;    //·þÎñÆ÷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  | 
|     char        ActMark;    //»î¶¯×é±ê¼Ç  | 
|     list        ServerIDList;    //·þÎñÆ÷IDÁÐ±í  | 
|     char        StartDate;    //¿ªÆôÈÕÆÚ  | 
|     char        EndDate;    //½áÊøÈÕÆÚ  | 
|     dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  | 
|     dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  | 
|     list        NotifyInfoLoop;    //È«·þÌáʾÐÅÏ¢ - Ñ»·¹ã²¥[¼ä¸ô·ÖÖÓ, ¹ã²¥key]  | 
|     BYTE        IsDayReset;    //ÊÇ·ñÿÌìÖØÖà  | 
| };  | 
|   | 
| //BOSS¸´»î»î¶¯Ê±¼ä±í  | 
|   | 
| struct tagActBossReborn  | 
| {  | 
|     DWORD        _CfgID;    //ÅäÖÃID  | 
|     char        ActMark;    //»î¶¯×é±ê¼Ç  | 
|     list        ServerIDList;    //·þÎñÆ÷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        ServerIDList;    //·þÎñÆ÷IDÁÐ±í  | 
|     char        StartDate;    //¿ªÆôÈÕÆÚ  | 
|     char        EndDate;    //½áÊøÈÕÆÚ  | 
|     BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  | 
|     dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  | 
|     dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  | 
|     WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  | 
| };  | 
|   | 
| //ÏɽçÊ¢µä-¾ø°æ½µÁÙ±í  | 
|   | 
| struct tagUniquenessArrive  | 
| {  | 
|     BYTE        _WorldLvNum;    //ÊÀ½çµÈ¼¶µµ  | 
|     DWORD        _Rank;    //ÅÅÃû  | 
|     dict        Award;    //½±Àø {"Ö°Òµ":[[ÎïÆ·ID,¸öÊý,ÊÇ·ñ°ó¶¨],...], ...}  | 
| };  | 
|   | 
| //¶à±¶ÐÞÐеã»î¶¯Ê±¼ä±í  | 
|   | 
| struct tagActRealmPoint  | 
| {  | 
|     DWORD        _CfgID;    //ÅäÖÃID  | 
|     char        ActMark;    //»î¶¯×é±ê¼Ç  | 
|     list        ServerIDList;    //·þÎñÆ÷IDÁÐ±í  | 
|     char        StartDate;    //¿ªÆôÈÕÆÚ  | 
|     char        EndDate;    //½áÊøÈÕÆÚ  | 
|     BYTE        ResetType;    //ÖØÖÃÀàÐÍ£¬0-0µãÖØÖã»1-5µãÖØÖà  | 
|     dict        NotifyInfoStart;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô¿ªÊ¼Ê±¼ä  | 
|     dict        NotifyInfoEnd;    //È«·þÌáʾÐÅÏ¢ - Ïà¶Ô½áÊøÊ±¼ä  | 
|     WORD        Multiple;    //±¶Êý  | 
|     WORD        LVLimit;    //ÏÞÖÆµÈ¼¶  | 
| };  |