Log-Ex funktion

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
  • So... Ich nochmal mit meinem log-Sytsem :D
    Also vorher sah es bei mir so aus (is jetzt nur ein beispiel):
    #define ADMWARN_LOG_FILE "M_Logs/AdmWarnLog.ini"


    #define AdmWarnLogEx(%0,%1) do{new _string[256]; format(_string,sizeof(_string),%0,%1); AdmWarnLog(_string);} while(FALSE)


    stock AdmWarnLog(Log[])
    {
    if(dini_Exists(ADMWARN_LOG_FILE))
    {
    new string[256];
    format(string, sizeof(string), "%s | %s | %s\r\n",M_ReturnDate(),M_ReturnTime(),Log);
    new File:f=fopen(ADMWARN_LOG_FILE,io_append);
    fwrite(f,string);
    return fclose(f);
    }
    else
    {
    printf("[M_LOG] - %s wurde nicht gefunden!",ADMWARN_LOG_FILE);
    printf("[M_LOG] - %s wurde erstellt!",ADMWARN_LOG_FILE);
    dini_Create(ADMWARN_LOG_FILE);
    return AdmWarnLog(Log);
    }
    }
    Das hatte/habe ich bei mir in der Include. Somit kann ich im Gamemode dann z.b halt da wo adm warnings entstehen entweder
    AdmWarnLog(string)
    //oder dierekt
    AdmWarnLogEx("%s war ganz dolle böse blabla^^",SpielerName);
    Benutzen...


    So jetzt mein problem xD


    Ich hab das ganze jetzt so gestaltet das ich keine vorher definierten Namen mehr benutzen muss.
    stock SaveIn(filename[],text[])
    {
    new File:Lfile;
    new filepath[256];
    new string[256];
    if(dini_Exists(filename))
    {
    format(filepath,sizeof(filepath),"Logs/%s.txt",filename);
    Lfile = fopen(filepath,io_append);
    format(string,sizeof(string),"[%s | %s] %s\r\n",M_ReturnDate(),M_ReturnTime(),text);
    fwrite(Lfile,string);
    fclose(Lfile);
    return 1;
    }
    else
    {
    printf("[LOG] - %s wurde nicht gefunden und deshalb erstellt!",filename);
    dini_Create(filename);
    return SaveIn(filename,text);
    }
    }
    Somit kann ich dierekt im GM z.b mit

    new string[128];
    format(string,sizeof(string),"%s war ganz dolle böse blabla^^",SpielerName);
    SaveIn("BeispielLogName",string);

    Die datei dierekt erstellen lassen(falls nicht vorhanden) und somit den String drin speichern.
    Soweit auch so gut. Nur wie mache ich es jetzt das ich die BlablablablaLogEx - Funktion wieder benutzen kann ohne vorher die datein im script zu definieren?


    Ich hoffe jemand versteht was ich meine und kann mir da helfen...^^


    Mfg.

    The fact is, I am right. And if you think I'm wrong, you are wrong.