⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 saacproto_serv.c

📁 石器时代3.0源代码 2008.08.27最新版 完全可编译开服!
💻 C
📖 第 1 页 / 共 5 页
字号:
		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 + -