Hey ho
ich hab mir ein system erstellt, wo in einer datei die rundenzeit eingetragen wird.
dort steht z.b. drin.
ZitatName: Rocky Zeit: 0:43
das ganze wird so ausgelesen und gespeichert.
SpielerInfo[playerid][Score1] += 1;
new zeitstring[64];
SpielerInfo[playerid][rennen] = 3;
GameTextForPlayer(playerid, "~r~Finish", 2000, 1);
new rtime,minutes,sek;
rtime = GetTickCount() - rzeit[playerid];
minutes=rtime/60000;
rtime-=(60000*minutes);
sek=rtime/1000;//sekunden
rtime-=(sek*1000);
format(zeitstring,128,"Deine zeit: %02d:%02d",minutes,sek);
GameTextForPlayer(playerid,zeitstring,3000, 1);
new entry[256];
new pName1[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName1,sizeof(pName1));
format(entry, sizeof(entry), "Name: %s Zeit: %d:%d\n",pName1,minutes,sek);
new File:hFile;
hFile = fopen("Topscore.txt", io_append);
fwrite(hFile, entry);
fclose(hFile);
SpawnPlayer(playerid);
So meine frage ist nun, wie ich das machen kann, dass wenn ein user die zeit von 43 sek. überboten hat, diese dann in die datei eingetragen wird und der alte wert, Name: Rocky Zeit: 0:43, gelöscht wird und durch den neuen ersetzt wird.
auslesen tu ich die datei so:
new string[64];
new read[128];
new File:hFile = fopen("Topscore.txt", io_read);
fread(hFile, string);
while(fread(hFile,read))
{
format(string,sizeof (string), "%s\n%s",string,read);
TextDrawSetString(Textdraw2, string);
}
fclose(hFile);
ich hoffe ihr könnt mir anhand eines beispiels erklären wie das funktioniert. ich hänge da schon seit tagen dran. alles was ich gefunden habe hat mir bisher nicht geholfen. deswegen hoffe ich auf ein brauchbares beispiel von euch.
wäre sehr dankbar für jede hilfe.
mfg rocky