Hiho Leute,
Ich hab ein Problem unzwar: Ich hab eine CheckBestRace(playerid, racetime) Funktion
Doch da kann man selbst(gleicher Nick) 5 Rekorde machen. Jetzt müsste ich das irgendwie umbauen, dass pro NIckname nur ein Rekord gemacht werden kann. Wenn sein jetziger Rekord auf Platz 3 liegt, und er besser ist als Platz 2, dann sollte sich alles verschieben, also der Platz 2 soll sich auf Platz 3 verschieben und den Platz 3 so überschreiben....
Hoffe ihr versteht was ich meine..
public CheckBestRace(playerid,racetime)
{
if(TopRacerTimes[4]<racetime && TopRacerTimes[4] != 0) return 0;
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
for(new i;i<5;i++)
{
if(TopRacerTimes[i] == 0)
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
TopRacers[i]=playername;
TopRacerTimes[i]=racetime;
ScoreChange=1;
return i+1;
}
else if(TopRacerTimes[i] > racetime)
{
for(new j=4;j>=i;j--)
{
TopRacerTimes[j+1]=TopRacerTimes[j];
TopRacers[j+1]=TopRacers[j];
}
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
TopRacerTimes[i]=racetime;
TopRacers[i]=playername;
ScoreChange=1;
return i+1;
}
}
return -1; //Shouldn't get here.
}