📄 lssproto_serv.c
字号:
lssproto_CharDelete_recv(fd, charname); util_DiscardMessage(); return 0; } if (func==LSSPROTO_CHARLOGIN_RECV) { int checksum=0, checksumrecv; char charname[65500]; checksum += util_destring(2, charname); util_deint(3, &checksumrecv); if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_CharLogin_recv(fd, charname); util_DiscardMessage(); return 0; } if (func==LSSPROTO_CHARLIST_RECV) { int checksum=0, checksumrecv;#ifdef _PKSEVER_VER int star = 0; util_deint(2, &checksumrecv); util_deint(3, &star);#else util_deint(2, &checksumrecv);#endif if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; }//#ifdef _PKSEVER_VER// lssproto_CharList_recv( fd, star);//#else lssproto_CharList_recv( fd);//#endif util_DiscardMessage(); return 0; } if (func==LSSPROTO_CHARLOGOUT_RECV) { int checksum=0, checksumrecv; int Flg=1;#ifdef _CHAR_NEWLOGOUT checksum += util_deint(2, &Flg); util_deint(3, &checksumrecv);#else util_deint(2, &checksumrecv);#endif if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_CharLogout_recv(fd, Flg); util_DiscardMessage(); return 0; } if (func==LSSPROTO_PROCGET_RECV) { int checksum=0, checksumrecv; strcpy( PersonalKey, _DEFAULT_PKEY); util_deint(2, &checksumrecv); if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_ProcGet_recv(fd); util_DiscardMessage(); return 0; } if (func==LSSPROTO_PLAYERNUMGET_RECV) { int checksum=0, checksumrecv; util_deint(2, &checksumrecv); if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_PlayerNumGet_recv(fd); util_DiscardMessage(); return 0; } if (func==LSSPROTO_ECHO_RECV) { int checksum=0, checksumrecv; char test[65500]; checksum += util_destring(2, test); util_deint(3, &checksumrecv); if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_Echo_recv(fd, test); util_DiscardMessage(); return 0; } if (func==LSSPROTO_SHUTDOWN_RECV) { int checksum=0, checksumrecv; char passwd[65500]; int min; checksum += util_destring(2, passwd); checksum += util_deint(3, &min); util_deint(4, &checksumrecv); if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_Shutdown_recv(fd, passwd, min); util_DiscardMessage(); return 0; } if (func==LSSPROTO_TD_RECV) { int checksum=0, checksumrecv; char message[65500]; checksum += util_destring(2, message); util_deint(3, &checksumrecv); if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_TD_recv(fd, message); util_DiscardMessage(); return 0; } if (func==LSSPROTO_FM_RECV) { int checksum=0, checksumrecv; char message[65500]; checksum += util_destring(2, message); util_deint(3, &checksumrecv); if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_FM_recv(fd, message); util_DiscardMessage(); return 0; } if (func==LSSPROTO_PETST_RECV) { int checksum=0, checksumrecv; int nPet; int sPet; checksum += util_deint(2, &nPet); checksum += util_deint(3, &sPet); util_deint(4, &checksumrecv); if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_PETST_recv(fd, nPet, sPet); util_DiscardMessage(); return 0; } // _BLACK_MARKET if (func==LSSPROTO_BM_RECV) { int checksum=0, checksumrecv; int iindex; checksum += util_deint(2, &iindex); util_deint(3, &checksumrecv); if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_BM_recv(fd, iindex); util_DiscardMessage(); return 0; }#ifdef _FIX_DEL_MAP // WON ADD 玩家抽地图送监狱 if (func==LSSPROTO_DM_RECV) { char buffer[2]; buffer[0] = '\0'; lssproto_DM_recv( fd ); util_DiscardMessage(); return 0; }#endif#ifdef _CHECK_GAMESPEED if (func==LSSPROTO_CS_RECV) { char buffer[2]; buffer[0] = '\0'; lssproto_CS_recv( fd ); util_DiscardMessage(); return 0; }#endif#ifdef _TEAM_KICKPARTY if ( func == LSSPROTO_KTEAM_RECV ) { int checksum = 0, checksumrecv; int sindex; checksum += util_deint( 2, &sindex); util_deint( 3, &checksumrecv); if(checksum!=checksumrecv){ util_DiscardMessage(); logHack( fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_KTEAM_recv( fd, sindex); util_DiscardMessage(); return 0; }#endif#ifdef _MIND_ICON if(func==LSSPROTO_MA_RECV){ int checksum = 0, checksumrecv; int nMind; int x, y; checksum += util_deint( 2, &nMind); checksum += util_deint( 3, &x); checksum += util_deint( 4, &y); util_deint( 5, &checksumrecv); if(checksum!=checksumrecv){ util_DiscardMessage(); logHack( fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_MA_recv(fd, x, y, nMind); util_DiscardMessage(); return 0; }#endif#ifdef _CHATROOMPROTOCOL // (不可开) Syu ADD 聊天室频道 if (func==LSSPROTO_CHATROOM_RECV) { int checksum=0, checksumrecv; char test[65500]; checksum += util_destring(2, test); util_deint(3, &checksumrecv); if (checksum!=checksumrecv) { util_DiscardMessage(); logHack(fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_CHATROOM_recv(fd, test); util_DiscardMessage(); return 0; }#endif#ifdef _NEWREQUESTPROTOCOL // (不可开) Syu ADD 新增Protocol要求细项 if ( func==LSSPROTO_RESIST_RECV ) { char buffer[2]; buffer[0] = '\0'; lssproto_RESIST_recv( fd ); util_DiscardMessage(); return 0; }#endif#ifdef _OUTOFBATTLESKILL // (不可开) Syu ADD 非战斗时技能Protocol if(func==LSSPROTO_BATTLESKILL_RECV){ int checksum = 0, checksumrecv; int iNum; checksum += util_deint( 2, &iNum); util_deint( 3, &checksumrecv); if(checksum!=checksumrecv){ util_DiscardMessage(); logHack( fd, HACK_CHECKSUMERROR); DME(); return -1; } lssproto_BATTLESKILL_recv(fd, iNum); util_DiscardMessage(); return 0; }#endif#ifdef _STREET_VENDOR if(func == LSSPROTO_STREET_VENDOR_RECV){ int checksum = 0,checksumrecv; char message[65500]; checksum += util_destring(2,message); util_deint(3,&checksumrecv); if(checksum != checksumrecv){ util_DiscardMessage(); logHack(fd,HACK_CHECKSUMERROR); DME(); return -1; } lssproto_STREET_VENDOR_recv(fd,message); util_DiscardMessage(); return 0; }#endif#ifdef _JOBDAILY if(func == LSSPROTO_JOBDAILY_RECV){ int checksum = 0,checksumrecv; char buffer[16384]; buffer[0] = '\0'; memset(buffer,0,16384); //kkkkkkkkk checksum += util_destring(2,buffer); util_deint(3,&checksumrecv); if(checksum != checksumrecv){ util_DiscardMessage(); logHack(fd,HACK_CHECKSUMERROR); DME(); return -1; } print("\njobdaily:%s ",buffer); lssproto_JOBDAILY_recv(fd,buffer); util_DiscardMessage(); return 0; }#endif#ifdef _TEACHER_SYSTEM if(func == LSSPROTO_TEACHER_SYSTEM_RECV){ int checksum = 0,checksumrecv; char message[65500]; checksum += util_destring(2,message); util_deint(3,&checksumrecv); if(checksum != checksumrecv){ util_DiscardMessage(); logHack(fd,HACK_CHECKSUMERROR); DME(); return -1; } lssproto_TEACHER_SYSTEM_recv(fd,message); util_DiscardMessage(); return 0; }#endif#ifdef _ADD_STATUS_2 if(func == LSSPROTO_S2_RECV){ return 0; }#endif util_DiscardMessage(); logHack(fd,HACK_NOTDISPATCHED); DME(); return -1;}/* servertoclient XYD( int x, int y, int dir ); 潜卞爵 蔽 卞皿伊奶乩□及匏 毛 譬帮允月凶户卞银丹[*/void lssproto_XYD_send(int fd,int x,int y,int dir){ char buffer[65500]; int checksum=0; strcpy(buffer,""); CONNECT_getCdkey( fd, PersonalKey, 4096); strcat(PersonalKey, _RUNNING_KEY); checksum += util_mkint(buffer, x); checksum += util_mkint(buffer, y); checksum += util_mkint(buffer, dir); util_mkint(buffer, checksum); util_SendMesg(fd, LSSPROTO_XYD_SEND, buffer);}void lssproto_EV_send(int fd,int seqno,int result){ char buffer[65500]; int checksum=0; strcpy(buffer,""); CONNECT_getCdkey( fd, PersonalKey, 4096); strcat(PersonalKey, _RUNNING_KEY); checksum += util_mkint(buffer, seqno); checksum += util_mkint(buffer, result); util_mkint(buffer, checksum); util_SendMesg(fd, LSSPROTO_EV_SEND, buffer);}void lssproto_EN_send(int fd,int result,int field){ char buffer[65500]; int checksum=0; //print(" EN_send "); strcpy(buffer,""); CONNECT_getCdkey( fd, PersonalKey, 4096); strcat(PersonalKey, _RUNNING_KEY); checksum += util_mkint(buffer, result); checksum += util_mkint(buffer, field); util_mkint(buffer, checksum); util_SendMesg(fd, LSSPROTO_EN_SEND, buffer);}void lssproto_RS_send(int fd,char* data){ char buffer[65500]; int checksum=0; strcpy(buffer,""); CONNECT_getCdkey( fd, PersonalKey, 4096); strcat(PersonalKey, _RUNNING_KEY); checksum += util_mkstring(buffer, data); util_mkint(buffer, checksum); util_SendMesg(fd, LSSPROTO_RS_SEND, buffer);}void lssproto_RD_send(int fd,char* data){ char buffer[65500]; int checksum=0; strcpy(buffer,""); CONNECT_getCdkey( fd, PersonalKey, 4096); strcat(PersonalKey, _RUNNING_KEY); checksum += util_mkstring(buffer, data); util_mkint(buffer, checksum); util_SendMesg(fd, LSSPROTO_RD_SEND, buffer);}void lssproto_B_send(int fd,char* command){ char buffer[65500]; int checksum=0; strcpy(buffer,""); CONNECT_getCdkey( fd, PersonalKey, 4096); strcat(PersonalKey, _RUNNING_KEY); checksum += util_mkstring(buffer, command); util_mkint(buffer, checksum); util_SendMesg(fd, LSSPROTO_B_SEND, buffer);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -