Problem mit Log

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 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);
    }
    }
    }
    }
    }
    }

    Recommended server:

  • Du hast "new File:cmdfile = fopen(str, io_write);".
    io_Write erstellt oder überschreibt. Verwende daher "io_append". Zudem empfehle ich \r\n damit dein Text nicht so aussieht:
    CMD1CMD2CMD3CMD4
    oder
    CMD1
    ____CMD2
    _________CMD3 (einrücken klappt anscheinend nicht)