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

📄 deathcontend.c

📁 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
💻 C
📖 第 1 页 / 共 3 页
字号:
		return -1;	}	while( fgets( line, sizeof( line), fp) ) {		if( strlen( line) <= 0 || line[0] == '#' ) continue;		if( count >= maxteam )break;		del_rn( line);		log( "#");		easyGetTokenFromBuf( line, '|', 1, buf1, sizeof( buf1 ));		if( strlen( buf1) <= 0 ){			fprintf( efp,"TEAMNUM err:%s", line);			continue;		}		PkTeamList[count].teamnum = atoi(buf1);		if( PkTeamList[count].teamnum < 0 ) continue;		easyGetTokenFromBuf( line, '|', 2, buf1, sizeof( buf1 ));		if( strlen( buf1) <= 0 ) continue;		sprintf( PkTeamList[count].pathdir, "%s", buf1);		easyGetTokenFromBuf( line, '|', 3, buf1, sizeof( buf1 ));		if( strlen( buf1) <= 0 ){			if( strlen( buf1) <= 0 ){				fprintf( efp,"TEAMNAME err:%s", line);				continue;			}			continue;		}		sprintf( PkTeamList[count].teamname, "%s", buf1);		easyGetTokenFromBuf( line, '|', 4, buf1, sizeof( buf1 ));		if( strlen( buf1) <= 0 ){			if( strlen( buf1) <= 0 ){				fprintf( efp,"MASTER err:%s", line);				continue;			}			continue;		}		sprintf( PkTeamList[count].leadercdkey, "%s", buf1);		easyGetTokenFromBuf( line, '|', 5, buf1, sizeof( buf1 ));		if( strlen( buf1) <= 0 ) continue;		PkTeamList[count].win = atoi(buf1);		easyGetTokenFromBuf( line, '|', 6, buf1, sizeof( buf1 ));		if( strlen( buf1) <= 0 ) continue;		PkTeamList[count].lost = atoi(buf1);		easyGetTokenFromBuf( line, '|', 7, buf1, sizeof( buf1 ));		if( strlen( buf1) <= 0 ) continue;		PkTeamList[count].battleplay = atoi(buf1);		easyGetTokenFromBuf( line, '|', 8, buf1, sizeof( buf1 ));		if( strlen( buf1) <= 0 ) continue;		PkTeamList[count].score = atoi(buf1);		easyGetTokenFromBuf( line, '|', 9, buf1, sizeof( buf1 ));		if( strlen( buf1) <= 0 ) continue;		PkTeamList[count].inside = atoi(buf1);		easyGetTokenFromBuf( line, '|', 10, buf1, sizeof( buf1 ));		if( strlen( buf1) <= 0 ) continue;		PkTeamList[count].updata = atoi(buf1);		{			FILE *ffp=NULL;			char teamfilename[256], bufarg[256], buf2[256];			int readfirst = 1, k, bnum=0;			sprintf( teamfilename, "%s/%s/team_%d.txt", "pklist",				PkTeamList[count].pathdir, PkTeamList[count].teamnum );			if( (ffp=fopen( teamfilename, "r") ) == NULL ) continue;			while( fgets( bufarg, sizeof( bufarg), ffp) ) {				if( strlen( bufarg) <= 0 || bufarg[0] == '#' ) continue;				del_rn( bufarg);				if( readfirst == 1 ){					for( k=0; k<MAXTEAMMANNUM; k++){						easyGetTokenFromBuf( bufarg, '|', k+1, buf1, sizeof( buf1 ));						if( strlen( buf1) <= 0 ) continue;						easyGetTokenFromBuf( buf1, ',', 1, buf2, sizeof( buf2 ));						if( strlen( buf2) <= 0 ){							if( strlen( buf1) <= 0 ){								fprintf( efp,"TEAMMAN err:%s", line);								continue;							}							continue;						}						sprintf( PkTeamList[count].MyTeamMans[k].cdkey, "%s", buf2);						easyGetTokenFromBuf( buf1, ',', 2, buf2, sizeof( buf2 ));						if( strlen( buf2) <= 0 ){							if( strlen( buf1) <= 0 ){								fprintf( efp,"TEAMMAN err:%s", line);								continue;							}							continue;						}						sprintf( PkTeamList[count].MyTeamMans[k].name, "%s", buf2);						PkTeamList[count].MyTeamMans[k].use = 1;					}					readfirst = 0;					continue;				}				if( bnum >= MAXBATTLENUM )break;//超过战斗场次				for( k=0; k<10; k++){					easyGetTokenFromBuf( bufarg, '|', k+1, buf1, sizeof( buf1 ));					if( strlen( buf1) <= 0 ) continue;					easyGetTokenFromBuf( buf1, ',', 1, buf2, sizeof( buf2 ));					if( strlen( buf2) <= 0 ) continue;					PkTeamList[count].BHistory[bnum].teamnum = atoi( buf2);					easyGetTokenFromBuf( buf1, ',', 2, buf2, sizeof( buf2 ));					if( strlen( buf2) <= 0 ) continue;					PkTeamList[count].BHistory[bnum].flg = atoi( buf2);					PkTeamList[count].BHistory[bnum].use = 1;					bnum++;				}							}									fclose( ffp);		}		PkTeamList[count].use = 1;		count++;	}	fclose( efp);	fclose( fp);	{		int k;		log( "\n");		for( i=0; i<maxteam; i++ ){			if( PkTeamList[i].use != 1 ) continue;			log("PkTeamList[%d] [%d|%d|%s|%s|%s|%d|%d|%d|%d|%d] \n", i,				PkTeamList[i].use,				PkTeamList[i].teamnum,				PkTeamList[i].teamname,				PkTeamList[i].pathdir,				PkTeamList[i].leadercdkey,				PkTeamList[i].win,				PkTeamList[i].lost,				PkTeamList[i].battleplay,				PkTeamList[i].score,				PkTeamList[i].inside			);			log( "\n");			for( k=0; k<MAXTEAMMANNUM; k++){				if( PkTeamList[i].MyTeamMans[k].use == 0 ) continue;				log( "[%s,%s]," , PkTeamList[i].MyTeamMans[k].cdkey,						PkTeamList[i].MyTeamMans[k].name );			}			log( "\n");			for( k=0; k<MAXBATTLENUM; k++){				if( PkTeamList[i].BHistory[k].use == 0 ) continue;				if( k!=0 && k%10 == 0 ) log( "\n");				log( "%d,%d|" , PkTeamList[i].BHistory[k].teamnum,						PkTeamList[i].BHistory[k].flg );			}			log( "\n");		}		log( "\n");	}	return 1;}//Backup档int PKLIST_BackupPkTeamListfromFile( char *dirpath, char *listfilename ){	char filename[256];	FILE *fp = NULL;	int i;	if( PkTeamList == NULL ) return -1;	sprintf( filename, "%s/%s", dirpath, listfilename);	log( "BackupPkTeamListfromFile( file:%s) \n", filename);	remove( filename);	if( (fp = fopen( filename, "w+" )) == NULL ){		log( "can't Backup file:%s !\n", filename);		return -1;	}	for( i=0; i<maxteam; i++ ){		if( PkTeamList[i].use != 1 ) continue;		fprintf( fp, "%d|%s|%s|%s|%d|%d|%d|%d|%d|%d\n",			PkTeamList[i].teamnum, PkTeamList[i].pathdir,			PkTeamList[i].teamname, PkTeamList[i].leadercdkey,			PkTeamList[i].win, PkTeamList[i].lost,			PkTeamList[i].battleplay, PkTeamList[i].score,			PkTeamList[i].inside, PkTeamList[i].updata );		{			FILE *ffp=NULL;			char teamfilename[256], bufarg[512], buf2[256];			int k;			sprintf( teamfilename, "%s/%s/team_%d.txt", "pklist",				PkTeamList[i].pathdir, PkTeamList[i].teamnum );			remove( teamfilename);			if( (ffp=fopen( teamfilename, "w+") ) == NULL ){				log( "can't Backup file:%s !\n", filename);				continue;			}			memset( bufarg, 0, sizeof( bufarg));			for( k=0; k<MAXTEAMMANNUM; k++){				if( PkTeamList[i].MyTeamMans[k].use == 0 ) continue;//				fprintf( ffp, "%s,%s\n",//					PkTeamList[i].MyTeamMans[k].cdkey, PkTeamList[i].MyTeamMans[k].name);				if( k!=0 ) strcat( bufarg, "|");				sprintf( buf2, "%s,%s",					PkTeamList[i].MyTeamMans[k].cdkey, PkTeamList[i].MyTeamMans[k].name);				strcat( bufarg, buf2);			}			fprintf( ffp, "%s\n", bufarg);			memset( bufarg, 0, sizeof( bufarg));			for( k=0; k<MAXBATTLENUM; k++){				if( PkTeamList[i].BHistory[k].use == 0 ) continue;				if( k!=0 ){					if( k%10 == 0 ){						fprintf( ffp, "%s\n", bufarg);						memset( bufarg, 0, sizeof( bufarg));					}else{						strcat( bufarg, "|");					}				}				sprintf( buf2, "%d,%d" , PkTeamList[i].BHistory[k].teamnum,						PkTeamList[i].BHistory[k].flg );				strcat( bufarg, buf2); // <-- check overflow!!!			}			if( strlen(bufarg) > 0 )				fprintf( ffp, "%s\n", bufarg);			fclose( ffp);		}	}	fclose( fp);	return 1;}//PKListSort[1000]void PKLIST_SortTheCharts( int ti) //排行榜处理{extern gmsv gs[MAXCONNECTION];	int i, k, last=-1;	if( PkTeamList[ti].use != 1 ) return;	if( PkTeamList[ti].battleplay < 3 ) return;	for( k=0; k<550; k++){		if( PKListSort[k] == -1 )continue;		if( PKListSort[k] == ti ){			PKListSort[k] = -1;		}	}	for( k=549; k>=0; k-- ){		if( PKListSort[k] == -1 ){			last = k;			continue;		}		if(	PkTeamList[ti].score > PkTeamList[PKListSort[k]].score ){			last = k;			continue;		}		break;	}	if( last == -1 ) return;	for( i=548; i>=last; i-- ){		PKListSort[i+1] = PKListSort[i];	}	log( "\nPKListSort[%d]=%d \n", PKListSort[last], ti);	PKListSort[last]=ti;	//更新所有伺服器	for (i=0; i<MAXCONNECTION; i++) {		if (gs[i].use && gs[i].name[0]) {			PKLIST_TheCharts( i, 2, 1);		}	}	{		char filename[256];		FILE *fp=NULL;		sprintf( filename, "%s/%s", "pklist", "Charts.txt" );		remove( filename);		if( (fp=fopen( filename, "w+")) == NULL ) return;		for( i=0; i<550; i++ ){			if( PKListSort[i] == -1 ) continue;		fprintf( fp, "%d|%s|%s|%s|%d|%d|%d|%d|%d|%d\n",			PkTeamList[PKListSort[i]].teamnum, PkTeamList[PKListSort[i]].pathdir,			PkTeamList[PKListSort[i]].teamname, PkTeamList[PKListSort[i]].leadercdkey,			PkTeamList[PKListSort[i]].win, PkTeamList[PKListSort[i]].lost,			PkTeamList[PKListSort[i]].battleplay, PkTeamList[PKListSort[i]].score,			PkTeamList[PKListSort[i]].inside, PkTeamList[PKListSort[i]].updata );/*			fprintf( fp, "%dth 队伍:%-32s 胜:%-4d 负:%-4d 场数:%-4d 积分:%-4d\n",				i, PkTeamList[PKListSort[i]].teamname,				PkTeamList[PKListSort[i]].win, PkTeamList[PKListSort[i]].lost,				PkTeamList[PKListSort[i]].battleplay, PkTeamList[PKListSort[i]].score );*/		}		fclose( fp);	}}void PKLIST_TheCharts( int fd, int type, int flg){	int i, first=1;	char data[65535*3], buf[512];extern gmsv gs[MAXCONNECTION];	//andy_log	log("PKLIST_TheCharts( %d, %d) \n", type, flg);	switch( type){	case 1:		for( i=0 ; i < MAXCONNECTION ; i ++ ) { //送del到game server			if ( gs[i].use && gs[i].name[0] ) {				PKLIST_GetPkTeamListDataOne( i, flg);			}		}		break;	case 2: //排行榜		memset( data, 0, sizeof(data));		for( i=0; i<550; i++){			if( PKListSort[i] == -1 ) continue;			sprintf( buf, "%s|%d|%d|%d|%d",				PkTeamList[PKListSort[i]].teamname,				PkTeamList[PKListSort[i]].win, PkTeamList[PKListSort[i]].lost,				PkTeamList[PKListSort[i]].battleplay, PkTeamList[PKListSort[i]].score );			if( first == 0 ) strcat( data, " ");			first = 0;			strcat( data, buf);		}		if( strlen(data) > 0 )			saacproto_PKLISTCHARTS_send( fd, data, type, flg );		break;	case 3:		{			char filename[256];			FILE *fp=NULL;			PKLIST_Sort_PKListSort();			sprintf( filename, "%s/%s", "pklist", "hero.txt" );			remove( filename);			if( (fp=fopen( filename, "w+")) == NULL ) return;			for( i=0; i<550; i++ ){				if( PKListSort[i] == -1 ) continue;				fprintf( fp, "%d|%s|%s|%s|%d|%d|%d|%d|%d|%d\n",					PkTeamList[PKListSort[i]].teamnum, PkTeamList[PKListSort[i]].pathdir,					PkTeamList[PKListSort[i]].teamname, PkTeamList[PKListSort[i]].leadercdkey,					PkTeamList[PKListSort[i]].win, PkTeamList[PKListSort[i]].lost,					PkTeamList[PKListSort[i]].battleplay, PkTeamList[PKListSort[i]].score,					PkTeamList[PKListSort[i]].inside, PkTeamList[PKListSort[i]].updata );				}			fclose( fp);		}		break;	}}//备份存档//load档int PKLIST_LoadUserfromFile( char *dirpath, char *listfilename ){	char line[512], filename[256], buf1[64];	FILE *fp = NULL, *tfp=NULL, *bfp=NULL;	int i, count=0, teamn = 1;	if( PkTeamList == NULL ) return -1;	sprintf( filename, "%s/%s", dirpath, listfilename);	log( "PKLIST_LoadUserfromFile( file:%s) \n", filename);	if( (fp = fopen( filename, "r" )) == NULL ){		log( "can't load file:%s !\n", filename);		return -1;	}	sprintf( filename, "%s/%s", dirpath, "d.txt");	if( (tfp = fopen( filename, "a+" )) == NULL ){

⌨️ 快捷键说明

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