📄 saacproto_serv.c
字号:
/* 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 + -