Ich habe ein Problem mit der Log.
Mein Wunsch wäre es, alle Befehle, die eingegeben werden in einer .ini zu speichern, bei mir ergibt sich folgendes Problem:
Es wird immer nur ein Befehl gespeichert, das heißt, dass der zuletz eingegebe Befehl den vorigen überschreibt.
Könntet ihr mir bitte sagen, was ich falsche mache?
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[128];
new idx;
cmd = strtok(cmdtext,idx);
for(new i = 0; i < GetMaxPlayers(); i++)
{
if (IsPlayerConnected(i))
{
if(AccountInfo[playerid][Logged] == 1)
{
new name[MAX_PLAYER_NAME], str[128];
GetPlayerName(playerid, name, sizeof name);
format(str, sizeof str, "cmdlog.ini");
new File:cmdfile = fopen(str, io_write);
if(cmdfile)
{
new file[128];
{
new hour,minute,second;
gettime(hour,minute,second);
format(file, sizeof file, "[%s%d:%s%d:%s%d]%s: %s ", (hour < 10) ? ("0") : (""), hour, (minute < 10) ? ("0") : (""), minute, (second < 10) ? ("0") : (""), second, name, cmdtext);
{ fwrite(cmdfile, file); }
fclose(cmdfile);
}
}
}
}
}
}