Hallo zusammen,
ich bin gerade dabei in mein Anti-Scorehack-System eine Logfunktion einzubauen, welche jedes mal wenn ein Spieler Punkte bekommt dies im Log vermerkt. Dabei wird im Script überall nur dieses bestimmte Callback benutzt. Die Datei wird zwar erstellt und bleibt bestehen (bereits beim Login mit der fcreate(filename[])-Funktion aus der SAMP-Wiki), allerdings wird keine neue Zeile erstellt, sondern einfach die erste ersetzt, sodass stehts das neuste dasteht. Ich hoffe ihr findet das Problem.
stock SetPlayerScoreEx(playerid, score)
{
new Year, Month, Day, Hour, Minute, Second, Name[MAX_PLAYER_NAME], logtext[128], logtxt[256];
getdate(Year, Month, Day);
gettime(Hour, Minute, Second);
GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
format(logtext,128,"/%s-Log.txt",Name);
new File:log = fopen(logtext, io_readwrite);
format(logtxt,128,"[%02d.%02d.][%02d:%02d:%02d]: %i Punkte\r\n",Day,Month,Hour,Minute,Second,score);
fwrite(log, logtxt);
fclose(log);
SetPVarInt(playerid,"points",score); // PVar für Anti-Scorehack - Wird bei Timer abgefragt und wenn Score anders ist: Kick/Ban
SetPlayerScore(playerid,score);
return 1;
}
Mit freundlichen Grüßen
Padarom