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; }