rendered paste body//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;
}