📄 recv.c
字号:
receiveMail( id_from, charname_from, id_to, charname_to, message, option ,0,0);}void saacproto_MessageAck_recv( int fd, char* id, char* charname, char* result, int mesgid ){ int a; if( strcmp( result, SUCCESSFUL ) )a=0; else a =-1; receiveMailAck( id, charname, a , mesgid );}void saacproto_MessageFlush_recv( int fd, char* id, char* charname ){ flushMail( fd, id , charname );}/******************************************************* * CoolFish: Family 2001/5/18 ******************************************************/#ifdef _PERSONAL_FAMEvoid saacproto_ACAddFM_recv( int fd, char *fmname, char *fmleadername, char *fmleaderid, int fmleaderlv, char *petname, char *petattr, char *fmrule, int fmsprite, int fmleadergrano, int fame, int charfdid)#elsevoid saacproto_ACAddFM_recv( int fd, char *fmname, char *fmleadername, char *fmleaderid, int fmleaderlv, char *petname, char *petattr, char *fmrule, int fmsprite, int fmleadergrano, int charfdid)#endif{#ifdef _FAMILY int r = 0, index = 0;#ifdef _PERSONAL_FAME r = ACAddFM(fd, &index, fmname, fmleadername, fmleaderid, fmleaderlv, petname, petattr, fmrule, fmsprite, fmleadergrano, fame, charfdid);#else r = ACAddFM(fd, &index, fmname, fmleadername, fmleaderid, fmleaderlv, petname, petattr, fmrule, fmsprite, fmleadergrano, charfdid);#endif if (r < 0){ saacproto_ACAddFM_send(fd, FAILED, r, index, charfdid); }else{ saacproto_ACAddFM_send(fd, SUCCESSFUL, r, index, charfdid); }#endif}void saacproto_ACJoinFM_recv(int fd, char *fmname, int fmindex,#ifdef _PERSONAL_FAME // Arminius: 家族个人声望 char *charname, char *charid, int charlv, int index, int fame, int charfdid)#else char *charname, char *charid, int charlv, int index, int charfdid)#endif{#ifdef _FAMILY int r = 0;#ifdef _PERSONAL_FAME // Arminius: 家族个人声望 r = ACJoinFM(fd, index, fmname, fmindex, charname, charid, charlv, fame, charfdid);#else r = ACJoinFM(fd, index, fmname, fmindex, charname, charid, charlv, charfdid);#endif if (r < 0){ saacproto_ACJoinFM_send(fd, FAILED, r, charfdid); }else{ saacproto_ACJoinFM_send(fd, SUCCESSFUL, r, charfdid); }#endif}void saacproto_ACLeaveFM_recv(int fd, char *fmname, int fmindex, char *charname, char *charid, int index, int charfdid){#ifdef _FAMILY int r = 0; r = ACLeaveFM(index, fmname, fmindex, charname, charid); if (r < 0){ saacproto_ACLeaveFM_send(fd, FAILED, r, charfdid); }else{ saacproto_ACLeaveFM_send(fd, SUCCESSFUL, r, charfdid); }#endif}#ifdef _LEADERFUNCHECKvoid saacproto_ACDelFM_recv(int fd, char *fmname, int fmindex, int index, char *charname, char *charid, int charfdid){ int r = 0, result = 0; result = CheckLeaderQ(index, fmname, fmindex, charname, charid); if(result < 0) { saacproto_ACDelFM_send(fd, FAILED, charfdid); return; } // shan modify begin // original /*if (ChangeFMLeader(index, fmname, fmindex) < 0) r = ACDelFM(index, fmname, fmindex); else r = -1; // shan 1 -> -1 if (r < 0) saacproto_ACDelFM_send(fd, FAILED, charfdid); else saacproto_ACDelFM_send(fd, SUCCESSFUL, charfdid); */ r = ACDelFM(index, fmname, fmindex); if (r < 0) saacproto_ACDelFM_send(fd, FAILED, charfdid); else saacproto_ACDelFM_send(fd, SUCCESSFUL, charfdid); // shan end}#elsevoid saacproto_ACDelFM_recv(int fd, char *fmname, int fmindex, int index, int charfdid){#ifdef _FAMILY int r = 0;#ifdef _FMVER21 if (ChangeFMLeader(index, fmname, fmindex) >= 0) r = ACDelFM(index, fmname, fmindex); else r = 1;#else r = ACDelFM(index, fmname, fmindex);#endif if (r < 0){ saacproto_ACDelFM_send(fd, FAILED, charfdid); }#ifdef _FMVER21 else if (r == 1){ }#endif else{ saacproto_ACDelFM_send(fd, SUCCESSFUL, charfdid); }#endif}#endifvoid saacproto_ACShowFMList_recv(int fd){#ifdef _FAMILY int r = 0; char data[150 * MAX_FAMILY]; r = ACShowFMList(data); if (r < 0){// saacproto_ACShowFMList_send(fd, FAILED, r, "Nothing"); }else{ saacproto_ACShowFMList_send(fd, SUCCESSFUL, r, data); }#endif}void saacproto_ACShowMemberList_recv(int fd, int index){#ifdef _FAMILY int r = 0, fmacceptflag = 0, fmjoinnum = 0; char data[150 * MAX_MEMBERNUM]; r = ACShowFMMemberList(index, &fmacceptflag, &fmjoinnum, data); if (r < 0){// saacproto_ACShowMemberList_send(fd, FAILED, index, r,// fmacceptflag, fmjoinnum, "Nothing"); }else{ saacproto_ACShowMemberList_send(fd, SUCCESSFUL, index, r, fmacceptflag, fmjoinnum, data); }#endif}void saacproto_ACFMDetail_recv(int fd, char *fmname, int fmindex, int index, int charfdid){#ifdef _FAMILY int r = 0; char data[15000]; r = ACFMDetail(index, fmname, fmindex, data); if (r < 0){// saacproto_ACFMDetail_send(fd, FAILED, "Nothing", charfdid); }else{ saacproto_ACFMDetail_send(fd, SUCCESSFUL, data, charfdid); }#endif}#ifdef _FMVER21void saacproto_ACMemberJoinFM_recv(int fd, char *fmname, int fmindex, char *charname, int charindex, int index, int result, int meindex, int charfdid)#elsevoid saacproto_ACMemberJoinFM_recv(int fd, char *fmname, int fmindex, char *charname, int charindex, int index, int result, int charfdid)#endif{ int r = 0;#ifdef _FMVER21 r = ACMemberJoinFM(index, fmname, fmindex, charname, charindex, result, meindex);#else r = ACMemberJoinFM(index, fmname, fmindex, charname, charindex);#endif if (r < 0){ saacproto_ACMemberJoinFM_send(fd, FAILED, charfdid); }else{ saacproto_ACMemberJoinFM_send(fd, SUCCESSFUL, charfdid); }}#ifdef _FMVER21void saacproto_ACMemberLeaveFM_recv(int fd, char *fmname, int fmindex, char *charname, int charindex, int index, int meindex, int charfdid)#elsevoid saacproto_ACMemberLeaveFM_recv(int fd, char *fmname, int fmindex, char *charname, int charindex, int index, int charfdid)#endif{#ifdef _FAMILY int r = 0; int flag = 1; // 主动离开家族#ifdef _FMVER21 r = ACMemberLeaveFM(index, fmname, fmindex, charname, flag, charindex, meindex);#else r = ACMemberLeaveFM(index, fmname, fmindex, charname, flag, charindex);#endif if (r < 0){ saacproto_ACMemberLeaveFM_send(fd, FAILED, charfdid); }else{ saacproto_ACMemberLeaveFM_send(fd, SUCCESSFUL, charfdid); }#endif}#ifdef _FMVER21void saacproto_ACFMCharLogin_recv(int fd, char *fmname, int fmindex, char *charname, char *charid, int charlv, int eventflag, int charfdid)#elsevoid saacproto_ACFMCharLogin_recv(int fd, char *fmname, int fmindex, char *charname, char *charid, int charlv, int charfdid)#endif{#ifdef _FAMILY int r = 0, floor = 0, fmpopular = 0, joinflag = 0, fmsetupflag = 0; int flag = 0, charindex = 0;#ifdef _PERSONAL_FAME // Arminius: 家族个人声望 int charfame = 0;#endif#ifdef _PERSONAL_FAME // Arminius: 家族个人声望 r = ACFMCharLogin(fd, -1, fmname, fmindex, charname, charid, charlv, &floor, &fmpopular, &joinflag, &fmsetupflag, &charindex, charfdid, &charfame, eventflag);#else r = ACFMCharLogin(fd, -1, fmname, fmindex, charname, charid, charlv, &floor, &fmpopular, &joinflag, &fmsetupflag, &charindex, charfdid);#endif#endif#ifdef _PERSONAL_FAME // Arminius: 家族个人声望 if (r < 0){ saacproto_ACFMCharLogin_send(fd, FAILED, r, floor, fmpopular, joinflag, fmsetupflag, flag, charindex, charfame, charfdid ); }else{ saacproto_ACFMCharLogin_send(fd, SUCCESSFUL, r, floor, fmpopular, joinflag, fmsetupflag, flag, charindex, charfame, charfdid ); }#else if (r < 0){ saacproto_ACFMCharLogin_send(fd, FAILED, r, floor, fmpopular, joinflag, fmsetupflag, flag, charindex, charfdid); }else{ saacproto_ACFMCharLogin_send(fd, SUCCESSFUL, r, floor, fmpopular, joinflag, fmsetupflag, flag, charindex, charfdid); }#endif}void saacproto_ACFMCharLogout_recv(int fd, char *fmname, int fmindex, char *charname, char *charid, int charlv, int index,int charfdid){#ifdef _FAMILY int r = 0; r = ACFMCharLogout(index, fmname, fmindex, charname, charid, charlv, charfdid); if (r < 0){ saacproto_ACFMCharLogout_send(fd, FAILED, charfdid); }else{ saacproto_ACFMCharLogout_send(fd, SUCCESSFUL, charfdid); }#endif}void saacproto_ACFMReadMemo_recv(int fd, int index){#ifdef _FAMILY int r = 0, dataindex; char data[15000]; r = ACFMReadMemo(index, &dataindex, data); if (r < 0){// saacproto_ACFMReadMemo_send(fd, FAILED, index, r, dataindex, "Nothing"); }else{ saacproto_ACFMReadMemo_send(fd, SUCCESSFUL, index, r, dataindex, data); }#endif} void saacproto_ACFMWriteMemo_recv(int fd, char *fmname, int fmindex, char *data, int index){#ifdef _FAMILY int r = 0; r = ACFMWriteMemo(index, fmname, fmindex, data); if (r < 0){ saacproto_ACFMWriteMemo_send(fd, FAILED, index); }else{ saacproto_ACFMWriteMemo_send(fd, SUCCESSFUL, index); }#endif}void saacproto_ACFMPointList_recv(int fd){#ifdef _FAMILY int r = 0; char data[15000]; r = ACFMPointList(data); if (r < 0) {// saacproto_ACFMPointList_send(fd, FAILED, "nothing"); }else{ saacproto_ACFMPointList_send(fd, SUCCESSFUL, data); }#endif}void saacproto_ACSetFMPoint_recv(int fd, char *fmname, int fmindex, int index, int fmpointindex, int fl, int x, int y, int charfdid){#ifdef _FAMILY int r = 0; r = ACSetFMPoint(index, fmname, fmindex, fmpointindex, fl, x, y); if (r < 0){ saacproto_ACSetFMPoint_send(fd, FAILED, r, charfdid); }else{ saacproto_ACSetFMPoint_send(fd, SUCCESSFUL, r, charfdid); }#endif}void saacproto_ACFixFMPoint_recv(int fd, char *winfmname, int winfmindex, int winindex, char *losefmname, int losefmindex, int loseindex, int village){#ifdef _FAMILY int r = 0; r = ACFixFMPoint(winindex, winfmname, winfmindex, loseindex, losefmname, losefmindex, village); if (r < 0){ saacproto_ACFixFMPoint_send(fd, FAILED, r); }else{ saacproto_ACFixFMPoint_send(fd, SUCCESSFUL, r); }#endif}void saacproto_ACFMAnnounce_recv(int fd, char *fmname, int fmindex, int index, char *data, int color){#ifdef _FAMILY int r = 0, i = 0; r = ACFMAnnounce(fmname, fmindex, index, data, color); if (r < 0){ saacproto_ACFMAnnounce_send(fd, FAILED, fmname, fmindex, index, 1, data, color); }else{ extern gmsv gs[MAXCONNECTION]; for (i = 0; i < MAXCONNECTION; i ++) { if (gs[i].use && gs[i].name[0]) { saacproto_ACFMAnnounce_send(i, SUCCESSFUL, fmname, fmindex, index, 1, data, color); } } } #endif}void saacproto_ACShowTopFMList_recv(int fd, int kindflag){#ifdef _FAMILY int r = 0; char data[150 * MAX_FAMILY]; strcpy(data, ""); r = ACShowTopFMList(data, sizeof(data), kindflag); if (r < 0) {// saacproto_ACShowTopFMList_send(fd, FAILED, kindflag, r, "Nothing"); }else { saacproto_ACShowTopFMList_send(fd, SUCCESSFUL, kindflag, r, data); }#endif}void saacproto_ACFixFMData_recv(int fd, char *fmname, int fmindex, int index, int kindflag, char *data1, char *data2, int charindex, int charfdid){#ifdef _FAMILY int r = 0; r = ACFixFMData(index, fmname, fmindex, kindflag, charindex, data1, data2); if (r < 0){ saacproto_ACFixFMData_send(fd, FAILED, kindflag, data1, data2, charfdid); }else{ saacproto_ACFixFMData_send(fd, SUCCESSFUL, kindflag, data1, data2, charfdid); }#endif}void saacproto_ACFixFMPK_recv(int fd, char *winfmname, int winfmindex, int winindex, char *losefmname, int losefmindex, int loseindex){#ifdef _FAMILY int r = 0; r = ACFixFMPK(winindex, winfmname, winfmindex, loseindex, losefmname, losefmindex); if (r < 0){ saacproto_ACFixFMPK_send(fd, FAILED, r, winindex, loseindex); }else{ saacproto_ACFixFMPK_send(fd, SUCCESSFUL, r, winindex, loseindex); }#endif}void saacproto_ACGMFixFMData_recv(int fd, int index, char *charid, char *cmd, char *data, int charfdid){#ifdef _FAMILY int r = 0; char fmname[256]; r = ACGMFixFMData(index, fmname, charid, cmd, data); if (r < 0){ saacproto_ACGMFixFMData_send(fd, FAILED, fmname, charfdid); } else{ saacproto_ACGMFixFMData_send(fd, SUCCESSFUL, fmname, charfdid); }#endif}void saacproto_ACGetFMData_recv(int fd, char *fmname, int fmindex, int index, int kindflag, int charfdid){#ifdef _FAMILY int r = 0, data = 0; r = ACGetFMData(index, fmname, fmindex, kindflag, &data); if (r < 0){ saacproto_ACGetFMData_send(fd, FAILED, kindflag, data, charfdid); }else{ saacproto_ACGetFMData_send(fd, SUCCESSFUL, kindflag, data, charfdid); }#endif}void saacproto_ACreLoadFmData_recv(int fd, int type, int data){ int i=0;extern gmsv gs[MAXCONNECTION]; switch( type){ case 1: log( "reload FM_DATA:%d !\n", data); readOneFamilyFromTi( data); break; case 2: { char data[15000]; readFMPoint( fmpointdir); if( ACFMPointList( data) >= 0 ){ log( "reload FM_POINT !\n" ); for (i=0; i<MAXCONNECTION; i++){ if( gs[i].use && gs[i].name[0] ) saacproto_ACFMPointList_send( i, SUCCESSFUL, data); } } } break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -