Logs schreiben, nur wie?

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
  • Hallo,
    ich würde gerne in meinem derzeitigen Script Logs für verschiedene Dinge anlegen, bspw. den Support/Adminchat, Ban&Kicklog und so weiter.
    Nun bin ich generell ein mittelmäßig guter Scripter, aber da ich sowas noch nie gemacht habe, habe ich keine Ahnung, wie ich das angehen soll.


    Meine erste Überlegung war dini, jedoch bin ich da zu keiner zufriedenstellenden Lösung gekommen.
    Bietet SAMP hierfür Möglickeiten, Logs (Zeilen) in Dateien zu schreiben (Wie dini, allerdings nur im Format "xyz" und nicht "x=y")?
    Oder gibt es dafür Includes?


    Über eine Antwort würde ich mich freuen.
    MfG,
    xerox

  • Ja das müsste mit einem String gehen wie aber es geht weiss ich nicht


    Sag mal willst du hier Posts farmen oder was?
    Müsste mit einem STRING gehen ?
    Was ist das für eine bescheuerte Antwort ?!!

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • Hey du könntest evtll so machen mal ein Beispiel:
    #define LOGVZ "Logs/Log-"
    stock Log(art[],text[])
    {
    new logart[26];format(logart,46,""#LOGVZ"%s.txt",art);
    new File:log = fopen(logart, io_append);
    fwrite(log, text);fwrite(log, "\n");fclose(log);return 1;
    }


    Verwendung:
    new txt[84];
    format(txt,84,"Admin BlaBla hat Blabla mit den Grund : Test und so gekickt");
    Log("Kick",txt);

    Beispiel 2:
    new txt[84];
    format(txt,84,"Admin BlaBla hat Blabla mit den Grund : Test und so gebannt");
    Log("Ban",txt);


    Log(art[],text[])
    -art ist halt sozusagen der LogName zb Kick (Log-Kick.txt)


    Wie gesagt ist halt ein von vielen möglichkeiten etwas zu Loggen.

  • Du kannst es mit einer Simplen Datei Funktion in eine Datei schreiben lassen
    Beispiel :




    stock loginLog(string[])
    {
    new entry[200];
    new yea,month,day,hour,minute,second;
    getdate(yea,month,day);
    gettime(hour,minute,second);
    format(entry, sizeof(entry), "(%d.%d.%d | %d:%d:%d) %s\n",day,month,yea,hour,minute,second, string);
    new File:hFile;
    hFile = fopen("logs/login.log", io_append);
    fwrite(hFile, entry);
    fclose(hFile);
    }


    Und mit :
    format(string, sizeof(string), "blablabla");
    loginLog(string);


    Einfügen ...

  • Totengräber,


    wie macht man das eigentlich das die Logs so aussehen:


    (DATUM-UHRZEIT)asdasdsad
    (DATUM-UHRZEIT)asdasdsad

    (DATUM-UHRZEIT)asdasdsad

    (DATUM-UHRZEIT)asdasdsad

    (DATUM-UHRZEIT)asdasdsad





    und nicht so:


    (DATUM-UHRZEIT)asdasdsad(DATUM-UHRZEIT)asdasdsad(DATUM-UHRZEIT)asdasdsad(DATUM-UHRZEIT)asdasdsad(DATUM-UHRZEIT)asdasdsad(DATUM-UHRZEIT)asdasdsad

  • Das liegt daran, dass du sie mit Notepad öffnest, welches ein zweites Steuerzeichen für Zeilenumbrüche benötigt (sollte eig jeder Windows-Editor).
    Dazu einfach das "\n" am Ende durch "\r\n" ersetzen, dann erkennen alle Editoren das als Zeilenumbrüche.