03.11.2017, 23:40
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;
}

