File Functions richtig nutzen.

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 Leute..
    Ich habe ein Problem undzwar:
    Ich habe mir ein SavePlayerPosition Teil geschrieben, der so aussieht:
    new Float:X, Float:Z, Float:Y, Float:Rotation; // Floats to save the pos in
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, Rotation);
    new File:pos=fopen("position.txt", io_append);
    format(string, 256, "AddPlayerClass(0, %f, %f, %f, %f, 0,0,0,0,0,0);", X, Y, Z,Rotation);
    fwrite(pos, string);
    fclose(pos);


    (ich habe es mir im Wiki angeschaut und selber probiert.
    Nun weiss ich aber nicht wie ich diese Sachen wieder auslese...??
    Kann mir jemand Helfen.
    Es solll eig so funzen:
    -Spieler X betritt den Server.
    -Script lädt seine Position und Teleportiert ihn dorthin.
    -Spieler X verlässt den Server.
    -Script speichert seine Position in der Datei "postition.txt"
    Ich habe den o.g. Teil unter OnPlayerDisconnect() gesetzt.
    Und den Read Teil wollte ich unter OnPlayerConnect setzen.
    Geht das überhaupt??
    MfG
    Maxx

  • 1. Die Funktion
    public split(const strsrc[], strdest[][], delimiter)
    {
    new i, li;
    new aNum;
    new len;
    while(i <= strlen(strsrc)){
    if(strsrc[i]==delimiter || i==strlen(strsrc)){
    len = strmid(strdest[aNum], strsrc, li, i, 128);
    strdest[aNum][len] = 0;
    li = i+1;
    aNum++;
    }
    i++;
    }
    return 1;
    }


    2.


    Definieren für den Split Vorgang:


    new Splits[10][128];


    dann


    Split(Der_Zu_Verarbeitende_wert,Splits,',');


    also 1. Der wert der Gesplittet werden soll dann die Variable wo es Zwischengespeichert wird,
    denne der Trenner also ein Zeichen das die Werte Trennt wir z.b. ein Komma oder Leerzeichen etc.


    Hoffe du hast alles verstanden


    EDIT:


    Hab ja nochwas vergessen 1. die Definition Splits[10][128] heisst oder bedeutet , ein Index von 10 und Länge der enthaltenen Texte max. 128


    2. zu fread:


    fread(Datei, Var wo es rein soll);


    die Variable wo es rein soll ist halt eine Textvar wie z.b. new MeinWert[256];


    fclose(Datei);


    So Fertig

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    Einmal editiert, zuletzt von BlackFoX ()

  • naja, nicht so ganz...^^
    aber trotzdem mal danke ich versteh eig nur das 2. nicht..
    könntest du mir bitte ein beispiel geben was auf meine anfrage passt und anhand des beispiels erklären??
    wäre sehr nett von dir!
    MfG
    Maxx

  • Also die Funktion machste einfach ins Script und machst oben unter die Includes die Split forward


    forward split(const strsrc[], strdest[][], delimiter);


    wer dir gleich nochn Beispiel drannhängen ^^


    //EDIT Beispiel angehängt

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    Einmal editiert, zuletzt von BlackFoX ()