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

📄 recv.c

📁 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
💻 C
📖 第 1 页 / 共 5 页
字号:
        return;    }        if( dbUpdateEntryInt( table , key , value, info ) == 0 ){        saacproto_DBUpdateEntryInt_send(            fd , SUCCESSFUL ,table,key, msgid, msgid2 );    } else {        saacproto_DBUpdateEntryInt_send( fd , FAILED , table,key, msgid, msgid2 );            }}#ifdef _ALLDOMAN					// (不可开) Syu ADD 排行榜NPCvoid saacproto_UpdataStele_recv( int fd , char *cdkey , char *name , char *title ,								int level , int trns , int time , int floor ){#ifdef _FIX_ALLDOMAN	int i, j;	if( !strcmp( cdkey , "FirstLoad") ){		Send_A_herolist( fd );	}else{		for( i=0; i<MAX_HERO_LIST; i++){			if( Herolist[i].use == 0 )continue;			if( !strcmp( Herolist[i].strings[0], cdkey) &&				!strcmp( Herolist[i].strings[1], name) ){				Herolist[i].use = 0;			}		}		for( i=0; i<MAX_HERO_LIST; i++){			if( Herolist[i].use == 0 )continue;			if( floor <= Herolist[i].intdata[3] ) continue;			for( j=MAX_HERO_LIST-1; j>i; j--){ //20031001bug (原j++)				sprintf( Herolist[j].strings[0], "%s", Herolist[j-1].strings[0] );				sprintf( Herolist[j].strings[1], "%s", Herolist[j-1].strings[1] );				sprintf( Herolist[j].strings[2], "%s", Herolist[j-1].strings[2] );				Herolist[j].intdata[0] = Herolist[j-1].intdata[0];				Herolist[j].intdata[1] = Herolist[j-1].intdata[1];				Herolist[j].intdata[2] = Herolist[j-1].intdata[2];				Herolist[j].intdata[3] = Herolist[j-1].intdata[3];				Herolist[j].use = Herolist[j-1].use;				Herolist[j-1].use = 0;			}			sprintf( Herolist[i].strings[0], "%s", cdkey );			sprintf( Herolist[i].strings[1], "%s", name );			sprintf( Herolist[i].strings[2], "%s", title );			Herolist[i].intdata[0] = level;			Herolist[i].intdata[1] = trns;			Herolist[i].intdata[2] = time;			Herolist[i].intdata[3] = floor;			Herolist[i].use = 1;			Send_S_herolist( i);			break;		}		SAVE_herolist( fd);	}#else	int i, min=140, minnum=-1, nameflag=-1;	for ( i=0; i<MAX_HERO_LIST; i ++ ) {		if( atoi( Herolist[i][6] ) <  min ) {			min = atoi (Herolist[i][6]) ; 			minnum=i;		}		if ( strcmp ( Herolist[i][0] , cdkey ) == 0 && strcmp ( Herolist[i][1] , name ) == 0 )			nameflag = i ; 	}	if( strcmp ( cdkey , "FirstLoad") == 0 &&		strcmp ( name , "LoadHerolist") == 0 &&		floor == 999 )		Send_A_herolist( fd );	else if ( nameflag != -1 && floor > atoi(Herolist[nameflag][6]) ) {		Send_S_herolist ( Herolist[nameflag][0] , Herolist[nameflag][1] , 			cdkey , name , title , level , trns , floor ) ; 		sprintf ( Herolist[nameflag][2] , "%s" , title ) ; 		sprintf ( Herolist[nameflag][3] , "%d" , level ) ; 		sprintf ( Herolist[nameflag][4] , "%d" , trns ) ; 		sprintf ( Herolist[nameflag][5] , "%d" , time ) ; 		sprintf ( Herolist[nameflag][6] , "%d" , floor ) ; 		SAVE_herolist( fd );	}else if ( nameflag == -1 && floor > min ) {		Send_S_herolist ( Herolist[minnum][0] , Herolist[minnum][1] , 			cdkey , name , title , level , trns , floor ) ; 		sprintf ( Herolist[minnum][0] , "%s" , cdkey ) ; 		sprintf ( Herolist[minnum][1] , "%s" , name  ) ; 		sprintf ( Herolist[minnum][2] , "%s" , title ) ; 		sprintf ( Herolist[minnum][3] , "%d" , level ) ; 		sprintf ( Herolist[minnum][4] , "%d" , trns ) ; 		sprintf ( Herolist[minnum][5] , "%d" , time ) ; 		sprintf ( Herolist[minnum][6] , "%d" , floor ) ; 		SAVE_herolist( fd );	}#endif}#endifvoid saacproto_DBGetEntryRank_recv( int fd,                                    char* table,                                    char* key,                                    int msgid,                                    int msgid2){    int rk,c;    if( !is_game_server_login(fd) ){        saacproto_DBGetEntryRank_send( fd, FAILED, 0,0,"","",msgid, msgid2 );        return;    }        dbGetEntryRank( table, key , &rk, &c );    if( rk <0 ){        saacproto_DBGetEntryRank_send(            fd, FAILED, -1, -1, table, key, msgid, msgid2 );    } else {        saacproto_DBGetEntryRank_send( fd, SUCCESSFUL,                                       rk, c, table, key, msgid, msgid2 );    }}void saacproto_DBDeleteEntryInt_recv( int fd,                                   char* table,                                   char* key,                                   int msgid,                                   int msgid2){    if( !is_game_server_login(fd) ){        saacproto_DBDeleteEntryInt_send( fd, FAILED,"","",msgid, msgid2 );        return;    }        if( dbDeleteEntryInt( table, key ) < 0 ){        saacproto_DBDeleteEntryInt_send(            fd, FAILED, table, key, msgid, msgid2 );    } else {        saacproto_DBDeleteEntryInt_send(            fd, SUCCESSFUL, table, key, msgid, msgid2 );    }}    void saacproto_DBGetEntryInt_recv( int fd,                                char* table,                                char* key,                                int msgid,                                int msgid2){    int r ;    int output;    if( !is_game_server_login(fd) ){        saacproto_DBGetEntryInt_send( fd, FAILED,-1,"","",msgid, msgid2 );        return;    }        r = dbGetEntryInt( table, key, &output );        if( r < 0 ){        saacproto_DBGetEntryInt_send( fd,                                      FAILED, -1, table, key, msgid, msgid2);    } else {        saacproto_DBGetEntryInt_send(            fd, SUCCESSFUL, output, table, key, msgid, msgid2 );    }}void saacproto_DBGetEntryByRank_recv( int fd,                                char* table,                                int start, int end,                                int msgid ,                                int msgid2){    char output[16384];    int r;    if( !is_game_server_login(fd) ){        saacproto_DBGetEntryByRank_send( fd, FAILED,"","",msgid, msgid2 );        return;    }        r = dbGetEntryRankRange( table, start, end, output, sizeof( output ));    if( r < 0 ){        saacproto_DBGetEntryByRank_send(            fd, FAILED, "", table, msgid, msgid2 );    } else {        saacproto_DBGetEntryByRank_send(            fd, SUCCESSFUL, output,table, msgid, msgid2 );    }}void saacproto_DBGetEntryByCount_recv( int fd,                                       char* table,                                       int count_start,                                       int num,                                       int msgid ,                                       int msgid2){    char output[16384];    int r;    if( !is_game_server_login(fd) ){        saacproto_DBGetEntryByCount_send(            fd, FAILED,"",table,count_start,msgid, msgid2 );        return;    }        r = dbGetEntryCountRange( table, count_start, num, output, sizeof(output));    if( r < 0 ){        saacproto_DBGetEntryByCount_send( fd, FAILED, "", table,                                          count_start, msgid, msgid2 );    } else {        saacproto_DBGetEntryByCount_send( fd, SUCCESSFUL, output, table,                                          count_start,  msgid, msgid2 );           }}void saacproto_Broadcast_recv( int fd, char* id, char* charname, char* message, int flag){    if( !is_game_server_login( fd) ){        log( "Broadcast: no login. id:%s charname:%s message:%s flag:%d\n",             id, charname, message , flag );        return;    }    gmsvBroadcast( fd, id, charname, message , flag );}void saacproto_Message_recv( int fd,                             char* id_from,                             char* charname_from,                             char* id_to,                             char* charname_to,                             char* message,                             int option ){    receiveMail( id_from, charname_from,                       id_to, charname_to, message, option ,0,0);}void saacproto_MessageAck_recv( int fd,                                char* id,                                char* charname,                                char* result,                                int mesgid ){    int a;    if( strcmp( result, SUCCESSFUL ) )a=0; else a =-1;    receiveMailAck( id, charname, a , mesgid );}void saacproto_MessageFlush_recv( int fd,                                  char* id,                                  char* charname ){    flushMail( fd, id , charname );}/******************************************************* * CoolFish: Family 2001/5/18 ******************************************************/#ifdef _PERSONAL_FAMEvoid saacproto_ACAddFM_recv( int fd, char *fmname, char *fmleadername,	char *fmleaderid, int fmleaderlv, char *petname, char *petattr,	char *fmrule, int fmsprite, int fmleadergrano, int fame, int charfdid)#elsevoid saacproto_ACAddFM_recv( int fd, char *fmname, char *fmleadername,	char *fmleaderid, int fmleaderlv, char *petname, char *petattr,	char *fmrule, int fmsprite, int fmleadergrano, int charfdid)#endif{#ifdef __FAMILY	int r = 0, index = 0;#ifdef _PERSONAL_FAME	r = ACAddFM(fd, &index, fmname, fmleadername, fmleaderid, fmleaderlv,	   petname, petattr, fmrule, fmsprite, fmleadergrano, fame, charfdid);#else	r = ACAddFM(fd, &index, fmname, fmleadername, fmleaderid, fmleaderlv,	   petname, petattr, fmrule, fmsprite, fmleadergrano, charfdid);#endif	if (r < 0){		saacproto_ACAddFM_send(fd, FAILED, r, index, charfdid);	}else{		saacproto_ACAddFM_send(fd, SUCCESSFUL, r, index, charfdid);	}#endif}void saacproto_ACJoinFM_recv(int fd, char *fmname, int fmindex,#ifdef _PERSONAL_FAME	// Arminius: 家族个人声望	char *charname, char *charid, int charlv, int index, int fame, int charfdid)#else	char *charname, char *charid, int charlv, int index, int charfdid)#endif{#ifdef __FAMILY	int r = 0;#ifdef _PERSONAL_FAME	// Arminius: 家族个人声望	r =  ACJoinFM(fd, index, fmname, fmindex, charname, charid, charlv, fame, charfdid);#else	r =  ACJoinFM(fd, index, fmname, fmindex, charname, charid, charlv, charfdid);#endif	if (r < 0){		saacproto_ACJoinFM_send(fd, FAILED, r, charfdid);	}else{		saacproto_ACJoinFM_send(fd, SUCCESSFUL, r, charfdid);	}#endif}void saacproto_ACLeaveFM_recv(int fd, char *fmname, int fmindex,	char *charname, char *charid, int index, int charfdid){#ifdef __FAMILY	int r = 0;	r =  ACLeaveFM(index, fmname, fmindex, charname, charid);	if (r < 0){		saacproto_ACLeaveFM_send(fd, FAILED, r, charfdid);	}else{		saacproto_ACLeaveFM_send(fd, SUCCESSFUL, r, charfdid);	}#endif}#ifdef _LEADERFUNCHECKvoid saacproto_ACDelFM_recv(int fd, char *fmname, int fmindex,	int index, char *charname, char *charid, int charfdid){	int r = 0, result = 0;	result = CheckLeaderQ(index, fmname, fmindex, charname, charid);	if(result < 0)	{		saacproto_ACDelFM_send(fd, FAILED, charfdid);		return;	}	// shan modify begin	// original	/*if (ChangeFMLeader(index, fmname, fmindex) < 0)    		r = ACDelFM(index, fmname, fmindex); 	else 		r = -1;  // shan  1 -> -1	if (r < 0)		saacproto_ACDelFM_send(fd, FAILED, charfdid);	else		saacproto_ACDelFM_send(fd, SUCCESSFUL, charfdid);	*/   	r = ACDelFM(index, fmname, fmindex); 		if (r < 0)		saacproto_ACDelFM_send(fd, FAILED, charfdid);	else		saacproto_ACDelFM_send(fd, SUCCESSFUL, charfdid);	// shan end}#elsevoid saacproto_ACDelFM_recv(int fd, char *fmname, int fmindex,	int index, int charfdid){#ifdef __FAMILY	int r = 0;#ifdef _FMVER21	if (ChangeFMLeader(index, fmname, fmindex) >= 0)		r = ACDelFM(index, fmname, fmindex);	else r = 1;#else	r =  ACDelFM(index, fmname, fmindex);#endif		if (r < 0){		saacproto_ACDelFM_send(fd, FAILED, charfdid);	}#ifdef _FMVER21	else if (r == 1){	}#endif	else{		saacproto_ACDelFM_send(fd, SUCCESSFUL, charfdid);	}#endif}#endifvoid saacproto_ACShowFMList_recv(int fd){#ifdef __FAMILY	int r = 0;	char data[150 * MAX_FAMILY];	r =  ACShowFMList(data);	if (r < 0){		saacproto_ACShowFMList_send(fd, FAILED, r, "Nothing");	}else{		saacproto_ACShowFMList_send(fd, SUCCESSFUL, r, data);	}#endif}#ifdef _DEATH_FAMILY_GM_COMMAND	// WON ADD 家族战GM指令void saacproto_ACShowMemberList_2_recv( int fd, int charindex, int fm1, int fm2, int time, int id ){	char *fm1_name, *fm2_name;		log("\n won test 7.2 ==> fm1(%d) fm2(%d) time(%d) id(%d)", fm1, fm2, time, id );	fm1_name = get_fm_leader_index( fm1 );	fm2_name = get_fm_leader_index( fm2 );	log("\n won test 7.3 ==> fm1_name(%s) fm2_name(%s)", fm1_name, fm2_name );	saacproto_ACSHOWMEMBERLIST_2_send( fd, charindex, fm1, fm1_name, fm2, fm2_name, time, id );}#endifvoid saacproto_ACShowMemberList_recv(int fd, int index){#ifdef __FAMILY	int r = 0, fmacceptflag = 0, fmjoinnum = 0;	char data[150 * MAX_MEMBERNUM];	r =  ACShowFMMemberList(index, &fmacceptflag, &fmjoinnum, data);	if (r < 0){		saacproto_ACShowMemberList_send(fd, FAILED, index, r,			fmacceptflag, fmjoinnum, "Nothing");	}else{		saacproto_ACShowMemberList_send(fd, SUCCESSFUL, index, r,			fmacceptflag, fmjoinnum, data);	}#endif}void saacproto_ACFMDetail_recv(int fd, char *fmname,	int fmindex, int index, int charfdid){#ifdef __FAMILY	int r = 0;	char data[15000];	r =  ACFMDetail(index, fmname, fmindex, data);	if (r < 0){		saacproto_ACFMDetail_send(fd, FAILED, "Nothing", charfdid);	}else{		saacproto_ACFMDetail_send(fd, SUCCESSFUL, data, charfdid);	}#endif}#ifdef _FMVER21void saacproto_ACMemberJoinFM_recv(int fd, char *fmname, int fmindex,	char *charname, int charindex, int index, int result, int meindex,	int charfdid)#elsevoid saacproto_ACMemberJoinFM_recv(int fd, char *fmname, int fmindex,	char *charname, int charindex, int index, int result, int charfdid)#endif{	int r = 0;#ifdef _FMVER21   	r =  ACMemberJoinFM(index, fmname, fmindex, charname, charindex, result, meindex);#else	r =  ACMemberJoinFM(index, fmname, fmindex, charname, charindex);#endif			if (r < 0){		saacproto_ACMemberJoinFM_send(fd, FAILED, charfdid);	}else{		saacproto_ACMemberJoinFM_send(fd, SUCCESSFUL, charfdid);	}}#ifdef _FMVER21void saacproto_ACMemberLeaveFM_recv(int fd, char *fmname, int fmindex,	char *charname, int charindex, int index, int meindex, int charfdid)#elsevoid saacproto_ACMemberLeaveFM_recv(int fd, char *fmname, int fmindex,	char *charname, int charindex, int index, int charfdid)#endif{#ifdef __FAMILY	int r = 0;	int flag = 1; // 主动离开家族#ifdef _FMVER21	r =  ACMemberLeaveFM(index, fmname, fmindex, charname, flag,		charindex, meindex);#else	r =  ACMemberLeaveFM(index, fmname, fmindex, charname, flag, charindex);#endif

⌨️ 快捷键说明

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