[Pedido] Converter salvamento nativo do samp para dof2
#1

Queria que alguйm de bom coraзгo convertesse esse salvamento nativo para dof2 eu jб tentei varias e varias vezes sу que nгo consegui );

Код:
LoadRaceList()
{
	new File:f;
	new line[256];
	if(fexist("racenames.txt"))
	{
		f = fopen("racenames.txt", io_read);
		while(fread(f,line,sizeof(line),false))
		{
     		new iidx;
			gRaceNames[gRaces] = strtok(line,iidx);
			new msg[256];
			format(msg,256,"%s.race",gRaceNames[gRaces]);
            if(fexist(msg))
			{
			} else {
				printf("Linha%d - 404 %s",gRaces,gRaceNames[gRaces]);
			}
			gRaces++;
		}
		fclose(f);
	}
}

SaveRace(playerid)
{
	new msg[256];
	new trackname2[256];
	format(trackname2,256,"%s.txt",xRaceName[playerid]);
	new File:f2;
	f2 = fopen(trackname2, io_write);
	fclose(f2);

	new File:f3;
	f3 = fopen("buildlog.txt", io_append);
	new hour,mins,year,month,day;
	gettime(hour,mins);
	getdate(year,month,day);
	format(msg,256, "%d/%d/%d %d:%d - %s by %s\n",day,month,year,hour,mins,xRaceName[playerid],xCreatorName[playerid]);
	fwrite(f3,msg);
	fclose(f3);
	new trackname[256];
	format(trackname,256,"%s.race",xRaceName[playerid]);
	new File:f;
	f = fopen(trackname, io_write);
	format(msg,256, "15 %d %d %d %d %d %s\n",xTrackTime[playerid],xWorldTime[playerid],xWeatherID[playerid],xRaceType[playerid],xColisao[playerid],xCreatorName[playerid]);
	fwrite(f,msg);
	if (xCarIds[playerid][0]<300)xCarIds[playerid][0]=565;
	format(msg,256, "%d\n",xCarIds[playerid][0]);
	fwrite(f,msg);
	format(msg,256, "%f %f %f %f\n",xRaceCheckpoints[playerid][0][0],xRaceCheckpoints[playerid][0][1],xRaceCheckpoints[playerid][0][2], xFacing[playerid]);
	fwrite(f,msg);
	format(msg,256, "%f %f %f %f\n",xRaceCheckpoints[playerid][1][0],xRaceCheckpoints[playerid][1][1],xRaceCheckpoints[playerid][1][2], xFacing[playerid]);
	fwrite(f,msg);
	new i=2;
	while (xRaceCheckpoints[playerid][i][2]>0)
	{
	    new msg2[256];
		format(msg2,256, "%f %f %f\n",xRaceCheckpoints[playerid][i][0],xRaceCheckpoints[playerid][i][1],xRaceCheckpoints[playerid][i][2]);
	    fwrite(f,msg2);
		i++;
	}

	fclose(f);
	new msgx[256];
	format(msgx,256,"Sucesso! %s Criada. Digite /carregarcorrida para alterar para %s",xRaceName[playerid], xRaceName[playerid]);
	SendClientMessage(playerid,COLOR_TEMP,msgx);
	printf("SAVED %s",xRaceName[playerid]);
	return 1;
}


LoadRace(racename[],playerid)
{
	printf("Carregando a corrida%s",racename);
	new trackname[256];
	format (trackname,256,"%s.race",racename);
	if(!fexist(trackname))
	{
	    printf("| ERRO | A corrida %s nгo existe",trackname);
	    LoadRace(gRaceNames[random(gRaces)],playerid);
	    return 0;
	}
	format (gTrackName,256,"%s",racename);

	for(new i;i<MAX_RACECHECKPOINTS;i++)
	{
		RaceCheckpoints[i][0]=0.0;
		RaceCheckpoints[i][1]=0.0;
		RaceCheckpoints[i][2]=0.0;
		RaceCheckpoints[i][3]=0.0;
	}
	gMaxCheckpoints=0;
	new File:f;
	new line[256];
	f = fopen(trackname, io_read);
	fread(f,line,sizeof(line),false);
	new idx;
	gCountdown = strval(strtok(line,idx));
	gTrackTime = strval(strtok(line,idx));
	gWorldTime = strval(strtok(line,idx));
	gWeather = strval(strtok(line,idx));
	gRaceType = strval(strtok(line,idx));
	xColisao[playerid] = strval(strtok(line,idx));
	gRaceMaker = strtok(line,idx);

	fread(f,line,sizeof(line),false);
	new iiddxx;
	new gCars[5],j;
	gCars[0]=strval(strtok(line,iiddxx));
	gCars[1]=strval(strtok(line,iiddxx));
	gCars[2]=strval(strtok(line,iiddxx));
	gCars[3]=strval(strtok(line,iiddxx));
	gCars[4]=strval(strtok(line,iiddxx));

	for(new i=0;i<5;i++)
	{
	    if(gCars[i])
		{
			j=i;
		}
	}
	new rand;
	if (j) rand = random(j);
	else rand = j;
	gCarModelID=gCars[rand];

	fread(f,line,sizeof(line),false);
	iiddxx=0;
	gGrid[0]=floatstr(strtok(line,iiddxx));
	gGrid[1]=floatstr(strtok(line,iiddxx));
	gGrid[2]=floatstr(strtok(line,iiddxx));
	gGrid[3]=floatstr(strtok(line,iiddxx));
	gGrid2[0]=gGrid[0];
	gGrid2[1]=gGrid[1];
	gGrid2[2]=gGrid[2];
	gGrid2[3]=gGrid[3];

	fread(f,line,sizeof(line),false);
	iiddxx=0;
	gGrid[4]=floatstr(strtok(line,iiddxx));
	gGrid[5]=floatstr(strtok(line,iiddxx));
	gGrid[6]=floatstr(strtok(line,iiddxx));
	gGrid[7]=floatstr(strtok(line,iiddxx));
	gGrid2[4]=gGrid[4];
	gGrid2[5]=gGrid[5];
	gGrid2[6]=gGrid[6];

	while(fread(f,line,sizeof(line),false))
	{
		new idxx;
		RaceCheckpoints[gMaxCheckpoints][0] = floatstr(strtok(line,idxx));
		RaceCheckpoints[gMaxCheckpoints][1] = floatstr(strtok(line,idxx));
		RaceCheckpoints[gMaxCheckpoints][2] = floatstr(strtok(line,idxx));
		gMaxCheckpoints++;
	}
	fclose(f);

	for(new i;i<MAX_PLAYERS;i++)
	{
		gPlayerProgress[i]=0;
		PlaySoundForPlayer(i, 1186);
		if (i<100)RaceCheckpoints[i][3]=0;
		new Menu:Current;
		if (IsPlayerConnected(i) && GetPlayerMenu(i) == Current)
		{
			HideMenuForPlayer(voteMenu,i);
		}
	}
	gFinishOrder=0;
	gGridCount=0;
	gGrid2Count=0;
	KillTimer(gCountdowntimer);
	gCountdowntimer = SetTimer("Countdowntimer",1000,1);
	SetWorldTime(gWorldTime);
	SetWeather(gWeather);
	foreach(Player, i)
	{
	DisableRemoteVehicleCollisions(i, xColisao[i]);
 	}
	gRaceStart=0;
	gRaceStarted=0;
	gFinished=0;
	createVote();
 	new tempTime[256];
	tempTime = HighScore(0);
	format(gBestTime,sizeof(gBestTime),"| CORRIDA | %s por %s | %s\n",gTrackName,gRaceMaker, tempTime);
	SendClientMessageToAll(Azul,gBestTime);

	return 1;
}
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)