📄 saacproto_serv.c
字号:
fmindex = saacproto_demkstr_int(saacproto.token_list[3]); charname = saacproto_wrapStringAddr(saacproto_stringwrapper[3], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[4])); charindex = saacproto_demkstr_int(saacproto.token_list[5]); index = saacproto_demkstr_int(saacproto.token_list[6]);#ifdef _FMVER21 meindex = saacproto_demkstr_int(saacproto.token_list[7]); charfdid = saacproto_demkstr_int(saacproto.token_list[8]); saacproto_ACMemberLeaveFM_recv(fd, fmname, fmindex, charname, charindex, index, meindex, charfdid);#else charfdid = saacproto_demkstr_int(saacproto.token_list[7]); saacproto_ACMemberLeaveFM_recv(fd, fmname, fmindex, charname, charindex, index, charfdid);#endif return 0; } // 列出家族据点 if ( strcmp( funcname, "ACFMPointList") == 0){ saacproto_ACFMPointList_recv(fd); return 0; } // 申请家族据点 if (strcmp( funcname, "ACSetFMPoint") == 0){ int fl, x, y, fmindex, index, fmpointindex, charfdid; char *fmname; fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2])); fmindex = saacproto_demkstr_int(saacproto.token_list[3]); index = saacproto_demkstr_int(saacproto.token_list[4]); fmpointindex = saacproto_demkstr_int(saacproto.token_list[5]); fl = saacproto_demkstr_int(saacproto.token_list[6]); x = saacproto_demkstr_int(saacproto.token_list[7]); y = saacproto_demkstr_int(saacproto.token_list[8]); charfdid = saacproto_demkstr_int(saacproto.token_list[9]); saacproto_ACSetFMPoint_recv(fd, fmname, fmindex, index, fmpointindex, fl, x, y, charfdid); return 0; } // 设定家族据点 if (strcmp( funcname, "ACFixFMPoint") == 0){ int winindex, winfmindex, loseindex, losefmindex, village; char *winfmname, *losefmname; winfmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2])); winfmindex = saacproto_demkstr_int(saacproto.token_list[3]); winindex = saacproto_demkstr_int(saacproto.token_list[4]); losefmname = saacproto_wrapStringAddr(saacproto_stringwrapper[4], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[5])); losefmindex = saacproto_demkstr_int(saacproto.token_list[6]); loseindex = saacproto_demkstr_int(saacproto.token_list[7]); village= saacproto_demkstr_int(saacproto.token_list[8]); saacproto_ACFixFMPoint_recv(fd, winfmname, winfmindex, winindex, losefmname, losefmindex, loseindex, village); return 0; } // 族长对全员广播 if (strcmp( funcname, "ACFMAnnounce") == 0){ int index, fmindex, color; char *fmname, *data; fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2])); fmindex = saacproto_demkstr_int(saacproto.token_list[3]); index = saacproto_demkstr_int(saacproto.token_list[4]); data = saacproto_wrapStringAddr(saacproto_stringwrapper[4], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[5])); color = saacproto_demkstr_int(saacproto.token_list[6]); saacproto_ACFMAnnounce_recv(fd, fmname, fmindex, index, data, color); return 0; } // 列出家族排行榜 if ( strcmp( funcname, "ACShowTopFMList") == 0){ int kindflag; char *tmpbuf; tmpbuf = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2])); kindflag = saacproto_demkstr_int(saacproto.token_list[3]); saacproto_ACShowTopFMList_recv(fd, kindflag); return 0; } // 修正家族资料 if (strcmp( funcname, "ACFixFMData") == 0){ int fmindex, charfdid, index, kindflag, charindex; char *fmname, *data1, *data2; fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2])); fmindex = saacproto_demkstr_int(saacproto.token_list[3]); index = saacproto_demkstr_int(saacproto.token_list[4]); kindflag = saacproto_demkstr_int(saacproto.token_list[5]); data1 = saacproto_wrapStringAddr(saacproto_stringwrapper[5], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[6])); data2 = saacproto_wrapStringAddr(saacproto_stringwrapper[6], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[7])); charindex = saacproto_demkstr_int(saacproto.token_list[8]); charfdid = saacproto_demkstr_int(saacproto.token_list[9]); saacproto_ACFixFMData_recv(fd, fmname, fmindex, index, kindflag, data1, data2, charindex, charfdid); return 0; } // 家族PK後修正声望 if (strcmp( funcname, "ACFixFMPK") == 0){ int winindex, winfmindex, loseindex, losefmindex; char *winfmname, *losefmname; winfmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2])); winfmindex = saacproto_demkstr_int(saacproto.token_list[3]); winindex = saacproto_demkstr_int(saacproto.token_list[4]); losefmname = saacproto_wrapStringAddr(saacproto_stringwrapper[4], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[5])); losefmindex = saacproto_demkstr_int(saacproto.token_list[6]); loseindex = saacproto_demkstr_int(saacproto.token_list[7]); saacproto_ACFixFMPK_recv(fd, winfmname, winfmindex, winindex, losefmname, losefmindex, loseindex); return 0; } // GM修正家族资料 if (strcmp( funcname, "ACGMFixFMData") == 0){ int index, charfdid; char *cmd, *data, *tmpbuf,*charid; tmpbuf = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2])); index = saacproto_demkstr_int(saacproto.token_list[3]); charid = saacproto_wrapStringAddr(saacproto_stringwrapper[3], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[4])); cmd = saacproto_wrapStringAddr(saacproto_stringwrapper[4], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[5])); data = saacproto_wrapStringAddr(saacproto_stringwrapper[5], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[6])); charfdid = saacproto_demkstr_int(saacproto.token_list[7]); saacproto_ACGMFixFMData_recv(fd, index, charid, cmd, data, charfdid); return 0; } // 取得家族资料 if (strcmp( funcname, "ACGetFMData") == 0){ int fmindex, charfdid, index, kindflag; char *fmname; fmname = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2])); fmindex = saacproto_demkstr_int(saacproto.token_list[3]); index = saacproto_demkstr_int(saacproto.token_list[4]); kindflag = saacproto_demkstr_int(saacproto.token_list[5]); charfdid = saacproto_demkstr_int(saacproto.token_list[6]); saacproto_ACGetFMData_recv(fd, fmname, fmindex, index, kindflag, charfdid); return 0; } // 广播踢馆人的资料 if (strcmp( funcname,"ACManorPKAck") == 0){ char *data; data = saacproto_wrapStringAddr(saacproto_stringwrapper[1], saacproto.workbufsize, saacproto_demkstr_string(saacproto.token_list[2])); saacproto_ACManorPKAck_recv(fd, data); return 0; } if (strcmp( funcname,"ACreLoadFmData") ==0){ int type, data; type = saacproto_demkstr_int(saacproto.token_list[2]); data = saacproto_demkstr_int(saacproto.token_list[3]); saacproto_ACreLoadFmData_recv( fd, type, data); return 0; }#ifdef _AC_SEND_FM_PK if (strcmp( funcname,"ACLoadFmPk") ==0) { int fmpks_pos; fmpks_pos = saacproto_demkstr_int(saacproto.token_list[2]); saacproto_ACLoadFmPk_recv(fd, fmpks_pos); return 0; }#ifdef _ACFMPK_LIST if (strcmp( funcname,"ACSendFmPk") ==0){ int fmpks_pos, userindex, flg; char *data; fmpks_pos = saacproto_demkstr_int(saacproto.token_list[2]); userindex = saacproto_demkstr_int(saacproto.token_list[3]); flg = saacproto_demkstr_int(saacproto.token_list[4]); data = saacproto_wrapStringAddr( saacproto_stringwrapper[4] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[5] )); saacproto_ACSendFmPk_recv( fd, fmpks_pos, userindex, flg, data); return 0; }#else if (strcmp( funcname,"ACSendFmPk") ==0){ int fmpks_pos; char *data; fmpks_pos = saacproto_demkstr_int(saacproto.token_list[2]); data = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] )); saacproto_ACSendFmPk_recv(fd, fmpks_pos, data); return 0; }#endif#endif if( strcmp( funcname , "ACCharLogin" ) == 0 ){ int clifd; char *id , *pas, *ip; clifd = saacproto_demkstr_int( saacproto.token_list[2] ); id = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] )); pas = saacproto_wrapStringAddr( saacproto_stringwrapper[3] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[4] )); ip = saacproto_wrapStringAddr( saacproto_stringwrapper[4] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[5] )); saacproto_ACCharLogin_recv( fd, clifd, id, pas, ip ); return 0; } if( strcmp( funcname , "LockLogin" ) == 0 ){ int flag; char *id , *ip; id = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] )); ip = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] )); flag = saacproto_demkstr_int( saacproto.token_list[4] ); saacproto_LockLogin_recv( fd, id, ip, flag ); return 0; } sprintf( debugfun, "%s", funcname); return -1; }void saacproto_ACServerLogin_send( int fd,char* result,char* data ){ saacproto_CreateHeader( saacproto.work , "ACServerLogin" ); saacproto_strcatsafe( saacproto.work , saacproto_mkstr_string( result ) ,saacproto.workbufsize ); saacproto_strcatsafe( saacproto.work , saacproto_mkstr_string( data ) ,saacproto.workbufsize ); saacproto_Send( fd , saacproto.work );}void saacproto_ACCharList_send( int fd,char* result,char* output,int id ){ saacproto_CreateHeader( saacproto.work , "ACCharList" ); saacproto_strcatsafe( saacproto.work , saacproto_mkstr_string( result ) ,saacproto.workbufsize ); saacproto_strcatsafe( saacproto.work , saacproto_mkstr_string( output ) ,saacproto.workbufsize ); saacproto_strcatsafe( saacproto.work , saacproto_mkstr_int( id ) ,saacproto.workbufsize ); saacproto_Send( fd , saacproto.work );}static int CharDataLens = 0;#ifdef _NewSavevoid saacproto_ACCharLoad_send( int fd,char* result,char* data,int id,int charindex )#elsevoid saacproto_ACCharLoad_send( int fd,char* result,char* data,int id )#endif{ if( strstr( result, "successful") != NULL && strlen( data) > CharDataLens ){ CharDataLens = strlen( data); //andy_log log("最大数据长度:%d\n", CharDataLens ); } saacproto_CreateHeader( saacproto.work , "ACCharLoad" ); saacproto_strcatsafe( saacproto.work , saacproto_mkstr_string( result ) ,saacproto.workbufsize ); saacproto_strcatsafe( saacproto.work , saacproto_mkstr_string( data ) ,saacproto.workbufsize ); saacproto_strcatsafe( saacproto.work , saacproto_mkstr_int( id ) ,saacproto.workbufsize );#ifdef _NewSave saacproto_strcatsafe( saacproto.work , saacproto_mkstr_int( charindex ) ,saacproto.workbufsize );#endif saacproto_Send( fd , saacproto.work );}/*214 : <li><a name="ACCharSaveS"><font color=blue>servertoclient ACCharSave( string result , string data,int id);<br></font></a>215 : ACCharSave卞覆允月忒蚕[216 : <br><br>217 : <dl>218 : <dt> string result219 : <dd>"successful" , "failed" 及中勿木井[220 : <dt> string data221 : <dd>"failed"及凛反 毛憎允谛棉及苇化坌月 侬 匹丐月[222 : <dt> int id223 : <dd> 娄醒及id毛公及引引戊疋□仄化忒允224 : </dl>225 : <br>226 : <br>227 : 228 : 229 : 230 : */void saacproto_ACCharSave_send( int fd,char* result,char* data,int id ){ saacproto_CreateHeader( saacproto.work , "ACCharSave" ); saacproto_strcatsafe( saacproto.work , saacproto_mkstr_string( result ) ,saacproto.workbufsize ); saacproto_strcatsafe( saacproto.work , saacproto_mkstr_string( data ) ,saacproto.workbufsize ); saacproto_strcatsafe( saacproto.work , saacproto_mkstr_int( id ) ,saacproto.workbufsize ); saacproto_Send( fd , saacproto.work );}/*256 : <li><a name="ACCharDeleteS"><font color=blue>servertoclient ACCharDelete(string result, string data,int id);<br></font></a>257 : ACCharDelete卞覆允月忒蚕[258 : <br><br>259 : <dl>260 : <dt> string result
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -