//RACE playercheck[playerid] = playercheck[playerid] + 1; if (playercheck[playerid] >= 1 && playercheck[playerid] <=MAXCP-2) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,racecheckpoints[playercheck[playerid]][0],racecheckpoints[playercheck[playerid]][1],racecheckpoints[playercheck[playerid]][2],7.0); PlayerPlaySound(playerid,1053,racecheckpoints[playercheck[playerid]][0],racecheckpoints[playercheck[playerid]][1],racecheckpoints[playercheck[playerid]][2]); format(msg,sizeof(msg),"cp %d of %d",playercheck[playerid],MAXCP-1); GameTextForPlayer(playerid,msg,2000,6); if (playercp[playercheck[playerid]] == 999) { playercp[playercheck[playerid]] = playerid; } } if (playercheck[playerid] == MAXCP-1) { DisablePlayerCheckpoint(playerid); timeend[playerid] = tickcount(); timetotal[playerid] = timeend[playerid] - timestart[playerid]; timeconvert(playerid); PlayerPlaySound(playerid,1132,racecheckpoints[playercheck[playerid]][0],racecheckpoints[playercheck[playerid]][1],racecheckpoints[playercheck[playerid]][2]); finished = finished + 1; playerposition[playerid] = finished; new pname[MAX_PLAYER_NAME]; GetPlayerName(playerid, pname, MAX_PLAYER_NAME); new pos[] = "th"; if (playerposition[playerid] == 1 || playerposition[playerid] == 21 || playerposition[playerid] == 31 || playerposition[playerid] == 41 || playerposition[playerid] == 51 || playerposition[playerid] == 61 || playerposition[playerid] == 71 || playerposition[playerid] == 81 || playerposition[playerid] == 91) { pos = "st"; } if (playerposition[playerid] == 2 || playerposition[playerid] == 22 || playerposition[playerid] == 32 || playerposition[playerid] == 42 || playerposition[playerid] == 52 || playerposition[playerid] == 62 || playerposition[playerid] == 72 || playerposition[playerid] == 82 || playerposition[playerid] == 92) { pos = "nd"; } if (playerposition[playerid] == 3 || playerposition[playerid] == 23 || playerposition[playerid] == 33 || playerposition[playerid] == 43 || playerposition[playerid] == 53 || playerposition[playerid] == 63 || playerposition[playerid] == 73 || playerposition[playerid] == 83 || playerposition[playerid] == 93) { pos = "rd"; } format(msg,sizeof(msg),"you finished %d%s in %dmin %d.%dsec",playerposition[playerid],pos,minutes[playerid],seconds[playerid],mseconds[playerid]); GameTextForPlayer(playerid,msg,3000,3); format(msg,sizeof(msg),"%s finished %d%s in %dmin %d.%dsec",pname,playerposition[playerid],pos,minutes[playerid],seconds[playerid],mseconds[playerid]); SendClientMessageToAll(0x00FF00FF,msg); if (fexist(RECORDFILE)) { new dataname[50]; new dataminutes[10]; new dataseconds[10]; new datamseconds[10]; fileh = fopen(RECORDFILE); new filedata[100]; new n[] = " "; new j; new k; fread(fileh,filedata,100); for (new i=0; i<100; i++) { j=i; if (filedata == n[0]) { break; } dataname = filedata; } k=j+1; for (new i=k; i<100; i++) { j=i; if (filedata == n[0]) { break; } dataminutes[i-k] = filedata; } k=j+1; for (new i=k; i<100; i++) { j=i; if (filedata == n[0]) { break; } dataseconds[i-k] = filedata; } k=j+1; for (new i=k; i<100; i++) { j=i; if (filedata == n[0]) { break; } datamseconds[i-k] = filedata; } fclose(fileh); new old = 1; if (minutes[playerid] < strval(dataminutes)) { old = 0; } else if (minutes[playerid] == strval(dataminutes) && seconds[playerid] < strval(dataseconds)) { old = 0; } else if (minutes[playerid] == strval(dataminutes) && seconds[playerid] == strval(dataseconds) && mseconds[playerid] < strval(datamseconds)) { old = 0; } if (old == 0) { fileh = fopen(RECORDFILE); format(msg,sizeof(msg),"%s %d %d %d ",pname,minutes[playerid],seconds[playerid],mseconds[playerid]); fwrite(fileh,msg); fclose(fileh); format(msg,sizeof(msg),"new best time"); SendClientMessageToAll(0x00FF00FF,msg); } else if (old == 1) { format(msg,sizeof(msg),"%s holds the best time of %smin and %s:%ssec ",dataname,dataminutes,dataseconds,datamseconds); SendClientMessageToAll(0x00FF00FF,msg); } } else { fileh = fopen(RECORDFILE); format(msg,sizeof(msg),"%s %d %d %d ",pname,minutes[playerid],seconds[playerid],mseconds[playerid]); fwrite(fileh,msg); fclose(fileh); format(msg,sizeof(msg),"new best time"); SendClientMessageToAll(0x00FF00FF,msg); } playerinrace[playerid] = 0; if (trigg == 0) { trigg = 1; // GameTextForAll("Race will begin in 20 seconds",3000,3); // SendClientMessageToAll(0x00FF00FF,"you have 20 seconds to get a car"); // SendClientMessageToAll(0x00FF00FF,"and type /joinrace"); SetTimer("WaitBeforeRaceEnd",20000,0); } // raceon = 0; // racers = 0; // rcount = 0; } xxx