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

📄 saacproto_serv.c

📁 石器时代3.0源代码 2008.08.27最新版 完全可编译开服!
💻 C
📖 第 1 页 / 共 5 页
字号:
/* output by ../../bin/lsgen.perl 0.41 ( 1998 May) * made Thu Feb 17 17:30:27 2000 * user ringo * host indy * file /opt/ringo/chsa/src/saac/./saacproto_serv.c * util ./saacproto_util.c , ./saacproto_util.h * src  /opt/ringo/chsa/src/saac/../../doc/saacproto.html */#define _SAACPROTOSERV_C_#include "version.h"#include "saacproto_serv.h"#include "main.h"// Nuke : This 'fd' is not a socket, it's the index of structure connectint saacproto_ServerDispatchMessage( int fd , char *encoded, char *debugfun){	unsigned int msgid;	char funcname[1024];	saacproto_splitString( encoded );	saacproto_GetMessageInfo(&msgid , funcname ,sizeof(funcname), saacproto.token_list );	if( strcmp( funcname , "ACServerLogin" ) == 0 ){		char* servername;		char* serverpas;#ifdef _VIP		int checkvip;#endif		servername = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		serverpas = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));#ifdef _VIP		checkvip = saacproto_demkstr_int( saacproto.token_list[4] );		saacproto_ACServerLogin_recv( fd,servername,serverpas,checkvip);#else	saacproto_ACServerLogin_recv( fd,servername,serverpas);#endif		return 0;	}	if( strcmp( funcname , "ACServerLogout" ) == 0 ){		saacproto_ACServerLogout_recv( fd);		return 0;	}	if( strcmp( funcname , "ACCharList" ) == 0 ){		char* id;		char* pas;		int mesgid;		id = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		pas = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		mesgid = saacproto_demkstr_int( saacproto.token_list[4] );		saacproto_ACCharList_recv( fd,id,pas,mesgid);		return 0;	}	if( strcmp( funcname , "ACCharLoad" ) == 0 ){		char* id;		char* pas;		char* charname;		int lock;		char* opt;		int mesgid;		id = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		pas = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		charname = saacproto_wrapStringAddr( saacproto_stringwrapper[3] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[4] ));		lock = saacproto_demkstr_int( saacproto.token_list[5] );		opt = saacproto_wrapStringAddr( saacproto_stringwrapper[5] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[6] ));		mesgid = saacproto_demkstr_int( saacproto.token_list[7] );		saacproto_ACCharLoad_recv( fd,id,pas,charname,lock,opt,mesgid);		return 0;	}	if( strcmp( funcname , "ACCharSave" ) == 0 ){		char* id;		char* charname;		char* opt;		char* charinfo;		int unlock;		int mesgid;#ifdef _NewSave		int charindex;#endif				id = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		charname = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		opt = saacproto_wrapStringAddr( saacproto_stringwrapper[3] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[4] ));		charinfo = saacproto_wrapStringAddr( saacproto_stringwrapper[4] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[5] ));		unlock = saacproto_demkstr_int( saacproto.token_list[6] );		mesgid = saacproto_demkstr_int( saacproto.token_list[7] );#ifdef _NewSave		charindex = saacproto_demkstr_int( saacproto.token_list[8] );		saacproto_ACCharSave_recv( fd,id,charname,opt,charinfo,unlock,mesgid,charindex);#else		saacproto_ACCharSave_recv( fd,id,charname,opt,charinfo,unlock,mesgid);#endif		return 0;	}	if( strcmp( funcname , "ACCharDelete" ) == 0 ){		char* id;		char* passwd;		char* charname;		char* option;		int mesgid;		id = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		passwd = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		charname = saacproto_wrapStringAddr( saacproto_stringwrapper[3] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[4] ));		option = saacproto_wrapStringAddr( saacproto_stringwrapper[4] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[5] ));		mesgid = saacproto_demkstr_int( saacproto.token_list[6] );		saacproto_ACCharDelete_recv( fd,id,passwd,charname,option,mesgid);		return 0;	}	if( strcmp( funcname , "ACLock" ) == 0 ){		char* id;		int lock;		int mesgid;		id = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		lock = saacproto_demkstr_int( saacproto.token_list[3] );		mesgid = saacproto_demkstr_int( saacproto.token_list[4] );		saacproto_ACLock_recv( fd,id,lock,mesgid);		return 0;	}#ifdef _WAEI_KICK	if( strcmp( funcname , "ACKick" ) == 0 ){		char* id;	//欲踢的帐号		int flg;	//事件flg		int clifd;	//GM		id = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		clifd = saacproto_demkstr_int( saacproto.token_list[3] );		flg = saacproto_demkstr_int( saacproto.token_list[4] );		saacproto_ACKick_recv( fd, id, flg, clifd);		return 0;	}#endif	if( strcmp( funcname , "ACUCheck" ) == 0 ){		char* mem_id;		int status;		mem_id = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		status = saacproto_demkstr_int( saacproto.token_list[3] );		saacproto_ACUCheck_recv( fd,mem_id,status);		return 0;	}	if( strcmp( funcname , "DBUpdateEntryString" ) == 0 ){		char* table;		char* key;		char* value;		int msgid;		int msgid2;		table = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		key = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		value = saacproto_wrapStringAddr( saacproto_stringwrapper[3] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[4] ));		msgid = saacproto_demkstr_int( saacproto.token_list[5] );		msgid2 = saacproto_demkstr_int( saacproto.token_list[6] );		saacproto_DBUpdateEntryString_recv( fd,table,key,value,msgid,msgid2);		return 0;	}	if( strcmp( funcname , "DBDeleteEntryString" ) == 0 ){		char* table;		char* key;		int msgid;		int msgid2;		table = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		key = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		msgid = saacproto_demkstr_int( saacproto.token_list[4] );		msgid2 = saacproto_demkstr_int( saacproto.token_list[5] );		saacproto_DBDeleteEntryString_recv( fd,table,key,msgid,msgid2);		return 0;	}	if( strcmp( funcname , "DBGetEntryString" ) == 0 ){		char* table;		char* key;		int msgid;		int msgid2;		table = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		key = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		msgid = saacproto_demkstr_int( saacproto.token_list[4] );		msgid2 = saacproto_demkstr_int( saacproto.token_list[5] );		saacproto_DBGetEntryString_recv( fd,table,key,msgid,msgid2);		return 0;	}	if( strcmp( funcname , "DBUpdateEntryInt" ) == 0 ){		char* table;		char* key;		int value;		char* info;		int msgid;		int msgid2;		table = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		key = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		value = saacproto_demkstr_int( saacproto.token_list[4] );		info = saacproto_wrapStringAddr( saacproto_stringwrapper[4] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[5] ));		msgid = saacproto_demkstr_int( saacproto.token_list[6] );		msgid2 = saacproto_demkstr_int( saacproto.token_list[7] );		saacproto_DBUpdateEntryInt_recv( fd,table,key,value,info,msgid,msgid2);		return 0;	}	if( strcmp( funcname , "DBGetEntryRank" ) == 0 ){		char* table;		char* key;		int msgid;		int msgid2;		table = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		key = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		msgid = saacproto_demkstr_int( saacproto.token_list[4] );		msgid2 = saacproto_demkstr_int( saacproto.token_list[5] );		saacproto_DBGetEntryRank_recv( fd,table,key,msgid,msgid2);		return 0;	}#ifdef _ALLDOMAN					// Syu ADD 排行榜NPC	if ( strcmp( funcname , "UpdataStele" ) == 0 ) {		char *cdkey;		char *name;		char *title;		int level;		int trns;		int time;		int floor;		cdkey = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		name = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		title = saacproto_wrapStringAddr( saacproto_stringwrapper[3] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[4] ));				level = saacproto_demkstr_int( saacproto.token_list[5] );		trns = saacproto_demkstr_int( saacproto.token_list[6] );		time = saacproto_demkstr_int( saacproto.token_list[7] );		floor = saacproto_demkstr_int( saacproto.token_list[8] );		saacproto_UpdataStele_recv ( fd , cdkey , name , title , level , trns , time , floor) ; 		return 0;	}#endif	if( strcmp( funcname , "DBDeleteEntryInt" ) == 0 ){		char* table;		char* key;		int msgid;		int msgid2;		table = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		key = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		msgid = saacproto_demkstr_int( saacproto.token_list[4] );		msgid2 = saacproto_demkstr_int( saacproto.token_list[5] );		saacproto_DBDeleteEntryInt_recv( fd,table,key,msgid,msgid2);		return 0;	}	if( strcmp( funcname , "DBGetEntryInt" ) == 0 ){		char* table;		char* key;		int msgid;		int msgid2;		table = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		key = saacproto_wrapStringAddr( saacproto_stringwrapper[2] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[3] ));		msgid = saacproto_demkstr_int( saacproto.token_list[4] );		msgid2 = saacproto_demkstr_int( saacproto.token_list[5] );		saacproto_DBGetEntryInt_recv( fd,table,key,msgid,msgid2);		return 0;	}	if( strcmp( funcname , "DBGetEntryByRank" ) == 0 ){		char* table;		int rank_start;		int rank_end;		int msgid;		int msgid2;		table = saacproto_wrapStringAddr( saacproto_stringwrapper[1] , saacproto.workbufsize , saacproto_demkstr_string( saacproto.token_list[2] ));		rank_start = saacproto_demkstr_int( saacproto.token_list[3] );		rank_end = saacproto_demkstr_int( saacproto.token_list[4] );		msgid = saacproto_demkstr_int( saacproto.token_list[5] );		msgid2 = saacproto_demkstr_int( saacproto.token_list[6] );		saacproto_DBGetEntryByRank_recv( fd,table,rank_start,rank_end,msgid,msgid2);		return 0;	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -