aus .log auslesen.

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
  • Wollte fragen wie ich das mache das ich etwas aus der log auslesen kann.
    habe mich bissher noch nicht damit beschäftigt doch nun bracuhe ich es.


    ich muss aber alles auslesen können was da drin steht.


    z.b.


    Bocky1337 hat Fanboy erschossen
    Bocky1337 hat Blubber erschossen
    Ralf hat Killer6077 erschossen
    Bocky1337 hat Killer6077 erschossen


    das will ich jetzt alles auslesen lassen (zumindest die kills von Bocky1337)


    bitte um Hilfe

    Einmal editiert, zuletzt von Bocky1337 ()

  • Am, besten du loggst die Kills ebenfalls in einer anderen Datei, da die log ziemlich schnell viele MB erreicht und dann die Suche noch länger dauert.
    Also mach es entweder in einer kill.log oder gleich über mysql.


    EDIT: Ansonst öffnen und dann mit strfind den String suchen.

  • Habe das jetzt so aber es geht nicht, er zeigt mir immer an das der Spieler nicht gefunden wurde


    if(IsPlayerConnected(giveplayerid))
    {
    new File:log=fopen("UserAkten.log", io_read);
    while(fread(log, string))
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    if(strcmp(string, giveplayer, true, 5)==0)
    {
    format(string, sizeof(string), "%s", string);
    SendClientMessage(playerid,COLOR_LIGHTBLUE, string);
    }
    else
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Kein solcher Spieler gefunden !");
    return 1;
    }
    }
    }

  • geht leider auch nicht.


    kp was das ist aber es wird immernoch angezeigt das der spieler nicht da ist

  • Aber wenn ich das return weg mache dann kommt der text ja tausendmal oder nicht ?


    sprich wenn ich in der log habe


    Bocky killt kalle
    Bocky killt molle
    Molle killt Ralf
    Bocky killt torsten


    den würde ich das doch so emfangen oder nicht.


    Bocky killt kalle
    Bocky killt molle
    Spieler nicht gefunden
    Bocky killt torsten

  • So müsste es passen:



    if(IsPlayerConnected(giveplayerid))
    {
    new File:log=fopen("UserAkten.log", io_read);
    while(fread(log, string))
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    if(strcmp(string, giveplayer, true, 5))
    {
    format(string, sizeof(string), "%s", string);
    SendClientMessage(playerid,COLOR_LIGHTBLUE, string);
    return 1;
    }
    }
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Kein solcher Spieler gefunden !");
    return 1;
    }


    EDIT: Die Struktur verändert sich von selbst immer, nicht glauben ich schreib so komisch.

  • Wenn ich das richtig verstehe:
    Wenn man jmd. gekillt hat, sollen alle angezeigt werden, und wenn man niemanden gekillt hat soll da stehen "Spieler nicht gefunden" ?


    if(IsPlayerConnected(giveplayerid))
    {
    new Killed = false;
    new giveplayer[MAX_PLAYER_NAME];
    new File:log = fopen("UserAkten.log", io_read);

    GetPlayerName(giveplayerid, giveplayer, MAX_PLAYER_NAME);

    while(fread(log, string))
    {
    if(strcmp(string, giveplayer, true, 5)==0)
    {
    format(string, sizeof(string), "%s", string);
    SendClientMessage(playerid,COLOR_LIGHTBLUE, string);
    Killed = true;
    }
    }

    if(!Killed) {
    SendClientMessage(playerid, COLOR_ERRORTEXT, "Kein solcher Spieler gefunden!");
    }
    }

  • nein eigendlich will ich es für mein Userakten system nutzen womit ein Admin nachgucken kann was für Vergehen der User schon hat.


    z.B. Olgen wird ins Prison gespert....
    wird geloggt
    das steht dann so drin.


    Zitat

    Olgen, Zeit: 30 Min, Von: Bocky1337, Grund: An/Überfahren von Usern. [DATUM]
    Matze, Zeit: 15 Min, Von: Bocky1337, Grund: Blödsin. [DATUM]
    Olgen, Zeit: 120 Min, Von: KillerBoy, Grund:Sinnlos Dm. [DATUM]


    So überall wo jetzt Olgen steht will ich das er es ausliest und dem Admin zu sendet.