acfamily.h
上传用户:qys8201
上传日期:2021-12-11
资源大小:978k
文件大小:7k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #ifndef _FAMILY_H_
  2. #define _FAMILY_H_
  3. #include "version.h"
  4. #define MAX_FAMILY              1000            // 1000
  5. #define TEXT_MAX                1024
  6. #define MAX_MEMBERNUM           200
  7. #define MIN_MEMBERNUM           10              // 10
  8. #ifdef _FIX_10_FMPOINT // WON ADD 九大庄园
  9. #define MAX_FMPOINT             10 
  10. #else
  11. #define MAX_FMPOINT             4               // 4
  12. #endif
  13. #define PREDEL_TIME             60*60*24*7      // 七天 60*60*24*3
  14. #define PREDELMEMBER_TIME       60*60*24*30     // 30天 60*60*24*30
  15. #define FAMILY_MEMONUM          35              // 家族留言板最大留言数量
  16. #define FAMILY_MEMOLEN          256
  17. #define FMSMEMOINDEX            10000           // 家族之间留言板 index
  18. #define FMSMEMONUM              140
  19. #define TOPFMLISTNUM            10              // 家族排行榜数量
  20. #define MINFMPOPNUM             -20000000
  21. // shan 20011207
  22. #define MAXFMPOPNUM             100000000
  23. //#define MAXFMPOPNUM           5000000
  24. #define MINAPPLYPNUM            30              // 申请家族最低人数
  25. #define FMMEMBERINDEX           "fmmember"
  26. #define FMMEMOLIST              "memo"
  27. #define FMELDERNUM 5 // 长老数量
  28. #define FMMAXGOLD 100000000 // 家族基金上限
  29. // shan 20011207
  30. #define MAXRECVPOP 5000000 // 家族声望转移上限
  31. // CoolFish: 2001/11/26
  32. //#define MAXRECVPOP 2500000 // 家族声望转移上限
  33.                 
  34. typedef enum
  35. {
  36. fmindex,
  37. fmleadergrano,
  38. fmnum,
  39. fmjoinnum,
  40. fmacceptflag,
  41. fmsetupflag,
  42. fmsprite,
  43. fmpointindex,
  44. fmpopular,
  45. fmgold,
  46. fmmemberindexmaxnum,
  47. apply_time,
  48. setup_time,
  49. predel_time,
  50. memonowwritenum,
  51. memonum,
  52. fmadv,
  53. fmfeed,
  54. fmsynthesize,
  55. fmdealfood,
  56. fmpk,
  57. #ifdef _NEW_MANOR_LAW
  58. fmmomentum,
  59. #endif
  60. familymaxint,
  61. } FAMILY_DATAINT;
  62. typedef enum
  63. {
  64. fmname,
  65. fmleadername,
  66. fmleaderid,
  67. petname,
  68. petattr,
  69. fmrule,
  70. familymaxchar,
  71. } FAMILY_DATACHAR;
  72. typedef enum
  73. {
  74. charlv,
  75. charflag,
  76. onlineflag,
  77. charfdid,
  78. predeltime,
  79. popular,
  80. #ifdef _FMVER21
  81. eventflag,
  82. #endif
  83. #ifdef _NEW_MANOR_LAW
  84. momentum,
  85. #endif
  86. memberdatamaxint,
  87. } MEMBER_DATAINT;
  88. typedef enum
  89. {
  90. charname,
  91. charid,
  92. memberdatamaxchar,
  93. } MEMBER_DATACHAR;
  94. typedef enum
  95. {
  96. FMMEMBER_NONE = -1,
  97. FMMEMBER_MEMBER = 1,
  98. FMMEMBER_APPLY,
  99. FMMEMBER_LEADER,
  100. FMMEMBER_ELDER,
  101. FMMEMBER_KINDNUM,
  102. } MEMBER_KIND;
  103. // #define MEMBERMEM memberdatamaxint * sizeof(int) + 50
  104. // #define FAMILYMEM familymaxint * sizeof(int) + 1000 + MAX_MEMBERNUM * MEMBERMEM
  105. #ifdef _ACFMPK_LIST
  106. void FMPK_InitList( void);
  107. #endif
  108. void sortFamily(void); // Arminius: sort family
  109. int getFMsortedlist(char *buf, int bufsize, int bp, int ep);
  110. int readFamily(char *dir);
  111. int readOneFamilyFromTi( int ti);
  112. int readOneFamily( char *filename, int i);
  113. int writeFamily(char *dir);
  114. int readFMPoint(char *dir);
  115. int writeFMPoint(char *dir);
  116. int readFMSMemo(char *dir);
  117. int writeFMSMemo(char *dir);
  118. void delovertimeFMMem(int time);
  119. #ifdef _PERSONAL_FAME
  120. int ACAddFM(int fd, int *workindex, char *fmname, char *fmleadername,
  121. char *fmleaderid, int fmleaderlv, char *petname, char *petattr,
  122. char *fmrule, int fmsprite, int fmleadergrano, int fame, int charfdid);
  123. #else
  124. int ACAddFM(int fd, int *workindex, char *fmname, char *fmleadername,
  125. char *fmleaderid, int fmleaderlv, char *petname, char *petattr,
  126. char *fmrule, int fmsprite, int fmleadergrano, int charfdid);
  127. #endif
  128. #ifdef _PERSONAL_FAME // Arminius: 家族个人声望
  129. int ACJoinFM(int fd, int index, char *fmname, int fmindex,
  130.         char *charname, char *charid, int charlv, int fame, int charfdid);
  131. #else
  132. int ACJoinFM(int fd, int index, char *fmname, int fmindex,
  133.         char *charname, char *charid, int charlv, int charfdid);
  134. #endif
  135. int ACLeaveFM(int index, char *fmname, int fmindex,
  136.         char *charname, char* charid);
  137. int ACDelFM(int index, char *fmname, int fmindex);
  138. int ACShowFMList(char *data);
  139. int ACShowFMMemberList(int index, int *acceptflag, int *fmjoinnum, char *data);
  140. int ACFMDetail(int index, char *fmname, int fmindex, char *data);
  141. #ifdef _FMVER21
  142. int ACMemberJoinFM(int index, char *fmname, int fmindex,
  143.         char *charname, int charindex, int result, int meindex);
  144. #else
  145. int ACMemberJoinFM(int index, char *fmname, int fmindex,
  146.         char *charname, int charindex, int result);
  147. #endif
  148. #ifdef _FMVER21
  149. int ACMemberLeaveFM(int index, char *fmname, int fmindex,
  150.         char *charname, int flag, int charindex, int meindex);
  151. #else
  152. int ACMemberLeaveFM(int index, char *fmname, int fmindex,
  153.         char *charname, int flag, int charindex);
  154. #endif
  155. int ACFMAssignOcp(int index, char *fmname, int fmindex,
  156.         char *charname, int charindex, int result);
  157. #ifdef _FM_MODIFY
  158. int ACFMCharLogin(int fd, int index, char *fmname, int fmindex,
  159. char *charname, char *charid, int charlv, int *floor, int *fmpopular, 
  160. int *joinflag, int *fmsetupflag, int *charindex, int charfdid,
  161. int *charfame, int eventflag,int gsnum
  162. #ifdef _NEW_MANOR_LAW
  163. ,int *momentum
  164. #endif
  165. );
  166. #else
  167. #ifdef _PERSONAL_FAME   // Arminius: 家族个人声望
  168. int ACFMCharLogin(int fd, int index, char *fmname, int fmindex,
  169. char *charname, char *charid, int charlv, int *floor, int *fmpopular,
  170. int *joinflag, int *fmsetupflag, int *charindex, int charfdid,
  171. int *charfame, int eventflag);
  172. #else
  173. int ACFMCharLogin(int fd, int index, char *fmname, int fmindex,
  174. char *charname, char *charid, int charlv, int *floor, int *fmpopular,
  175. int *joinflag, int *fmsetupflag, int *charindex, int charfdid);
  176. #endif
  177. #endif
  178. int ACFMCharLogout(int index, char *fmname, int fmindex, char *charname,
  179.         char  *charid, int charlv, int charfdid);
  180. int delfmpointindex(int fmindex);
  181. int ACgetFMFloor(int fmindex);
  182. int ACgetFMInfoFromChar(char *fmname, int *fmindex,
  183. char *charname, char *charid, int *charindex);
  184. int ACFMReadMemo(int index, int *dataindex, char *data);
  185. int ACFMWriteMemo(int index, char *fmname, int fmindex, char *data);
  186. int ACFMPointList(char *data);
  187. int ACSetFMPoint(int index, char *fmanme, int fmindex, int fmpointindex,
  188. int fl, int x, int y);
  189. int ACFixFMPoint(int winindex, char *winfmname, int winfmindex, int loseindex,
  190. char *losefmname, int losefmindex, int village);
  191. int ACShowTopFMList(char *data, int datasize, int kindflag);
  192. int ACFMAnnounce(char *fmname, int fmindex, int index, char *data, int color);
  193. int ACFixFMData(int index, char *fmname, int fmindex, int kindflag, int charindex,
  194. char *data1, char *data2);
  195. int ACGetFMData(int index, char *fmname, int fmindex, int kindflag, int *data);
  196. int ACFixFMPK(int winindex, char *winfmname, int winfmindex, int loseindex,
  197. char *losefmname, int losefmindex);
  198. int ACGMFixFMData(int index, char *fmname, char *charid, char *cmd, char *data);
  199. int ChangeFMLeader(int index, char *fmname, int fmindex);
  200. #ifdef _LEADERFUNCHECK
  201. int CheckLeaderQ(int index, char *fmname, int fmindex, char *charname, char *charid);
  202. #endif
  203. #ifdef _ACFMPK_LIST
  204. #define FMPKLIST_MAXNUM 10
  205. typedef struct tagFamilyPKSchedule {
  206. int pkflg;
  207. char Data[256];
  208. } FamilyPKSchedule;
  209. void FMPK_LoadList();
  210. void FMPK_BackUpList();
  211. int FMPK_GetTypeFlg( int ti);
  212. char *FMPK_GetData( int ti);
  213. int FMPK_SetData( int ti, int Pkflg, char *Data, int sizes);
  214. #endif
  215. #endif