Spieler File anlegen.

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
  • Guten Tag,


    in diesem Tutorial möchte ich euch zeigen wie ihr eine Spieler Datei
    anlegen könnt um dort Informationen zu Speichern.



    .Schritt 1
    Wir erstellen ersteinmal 2 neue Strings,

    new string[22]; // String für den Filename. (Mehr wie 22 Bits werden nicht benötigt) //bei bedarf erhöen.
    new string2[64]// String für den Speicher Inhalt der File

    .Schritt 2
    Nun erstellen wir eine neue Variable in der wir den Spielernamen Speichern können,
    und anschließend die GetPlayerName Funktion zum auslesen des Spieler Namens.

    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name, sizeof(name));

    .Zwischenstand
    So sollte euer Code jetzt aussehen:

    new string[22]; // String für den Filename. (Mehr wie 22 Bits werden nicht benötigt)
    new string2[64]// String für den Speicher Inhalt der File
    new name[MAX_PLAYER_NAME]; // Variable für den Spielernamen
    GetPlayerName(playerid,name, sizeof(name));


    .Schritt 3
    Wir möchten nun erst einmal die File erstellen, das geht so:

    format(string,sizeof(string),"%s.txt",name); // Der String wird nun benutzt um den Namen des Spielers auszulesen. (Beispiel: DaN.txt)
    fcreate(string); //Hier entsteht die File ! fcreate erstellt eine File. (Ohne string: fcreate("filename.txt"); )


    .Schritt 4
    Da wir nun die File erstellt haben kommen wir nun zum Speichern.
    Wir öffnen die File und speichern direkt den Spieler Namen in die File.

    new File:fl=fopen(string, io_append); // fl defeniert die file. string ist der file name. io_append bedeutet so viel wie anfügen.. dh, wir wollen etwas reinschreiben ! (Die File wird geöffnet)
    format(sstring,sizeof(sstring),"Name: %s ",name); //Name: Spielername wird nun in die File geschrieben.
    fwrite(fl, sstring); //fwrite = schreiben in die file. fl = file defenierung. sstring = Name:%s
    fclose(fl); // Hier wird die file geschlossen. Somit habt ihr die File erfolgreich erstellt und den Namen drinne gespeichert.

    Euer Code müsste nun so aussehen:
    new string[22]; // String für den Filename. (Mehr wie 22 Bits werden nicht benötigt)
    new string2[64]// String für den Speicher Inhalt der File
    new name[MAX_PLAYER_NAME]; // Variable für den Spielernamen
    GetPlayerName(playerid,name, sizeof(name));
    format(string,sizeof(string),"%s.txt",name); // Der String wird nun benutzt um den Namen des Spielers auszulesen. (Beispiel: DaN.txt)
    fcreate(string); //Hier entsteht die File ! fcreate erstellt eine File. (Ohne string: fcreate("filename.txt"); )
    new File:fl=fopen(string, io_append); // fl defeniert die file. string ist der file name. io_append bedeutet so viel wie anfügen.. dh, wir wollen etwas reinschreiben ! (Die File wird geöffnet)
    format(sstring,sizeof(sstring),"Name: %s ",name); //Name: Spielername wird nun in die File geschrieben.
    fwrite(fl, sstring); //fwrite = schreiben in die file. fl = file defenierung. sstring = Name:%s
    fclose(fl); // Hier wird die file geschlossen. Somit habt ihr die File erfolgreich erstellt und den Namen drinne

    Ihr habt es geschafft !
    Diesen Code könnt ihr nun unter OnPlayerConnect einfügen.
    Ihr habt eure 1. User File angelegt ;).
    Ps. Ganz wichtig ist unten ins Script einzufügen:
    stock fcreate(filename[]) // Die defenition von fcreate.
    {
    if (fexist(filename)){return false;}
    new File:fhandle = fopen(filename,io_write);
    fclose(fhandle);
    return true;
    }



    Ich hoffe ich konnte euch Helfen.
    Lg DaN

    2 Mal editiert, zuletzt von DaN ()

  • Ganz nett erklärt, allerdings solltest du wohl besser dazu schreiben wo man es einfügen soll, ein Anfänger wird das wohl kaum wissen.


    Außerdem muss string nicht unbedingt reichen, wenn man die Datei gerne noch in einem Unterordner speichert (wie ich zB.) um die Übersicht zu wahren.

  • Habs überarbeitet ;).
    Thx für Kritk & Feedback.

    4 Mal editiert, zuletzt von DaN ()