Frage zum Speichern, Lesen und Abfragen in, aus, mit .cfg-Dateien

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
  • Also ich bin gerade total verwirrt.
    Ich arbeitere bereits bei 2 andere Sachen mit cfg-Dateien und da klappt alles prima.


    Nun bau ich ein weiteres AddOn und da will mich das echt auf die Palme bringen...


    Ich habe 2 Werte (ID des Fahrzeugs und eine 6 stellige Zahl).
    Diese sollen mit einem Komma getrennt in die cfg-geschrieben werden.


    Insgesamt sind ist diese Kombi ca. 2000mal vorhanden aber halt immer in einer anderen Zusammensetzung


    Bei ServerStart lese ich die Datei aus und auf GamemodeExit wirds gespeichert.


    Aber wenn ich dann den Inhalt abfragen will, bekomm ich immer nur leere Rückgaben...


    Was mach ich da falsch, ist wahrscheinlich ein banaler Fehler aber vor soviel Code übersieht man die kleinen Fehlerchen fix ^^


    Inhalte ausgeben:

    Spoiler anzeigen
    new tmpVergeben = 0;
    new iddx;
    while(iddx < sizeof(allKombos))
    {
    new Checken[128];
    format(Checken, sizeof(Checken), "%s",allKombos[iddx][pZahl]);

    Spoiler anzeigen
    SendClientMessage(playerid, COLOR_GREEN, Checken);

    Spoiler anzeigen
    iddx++;
    }


    Speichern:

    Spoiler anzeigen
    new idx;
    new File: file2;
    while(idx < sizeof(allKombos))
    {
    new coordsstring[256];
    format(coordsstring, sizeof(coordsstring), "%s|%s\n", allKombos[idx][pID], allKombos[idx][pZahl]);
    if(idx == 0)
    {
    file2 = fopen("cfg/akombo.cfg", io_write);
    }
    else
    {
    file2 = fopen("cfg/akombo.cfg", io_append);
    }
    fwrite(file2, coordsstring);
    idx++;
    fclose(file2);
    }


    Auslesen:

    Spoiler anzeigen
    new arrCoords[11][64], strFromFile2[256];
    new File: file = fopen("cfg/akombo.cfg", io_read);
    if(file)
    {
    new idx;
    while(idx < sizeof(allKombos))
    {
    fread(file, strFromFile2);
    split(strFromFile2, arrCoords, '|');
    allKombos[idx][pID] = strval(arrCoords[0]);
    strmid(allKombos[idx][pZahl], arrCoords[1], 0, strlen(arrCoords[1]), 255);
    idx++;
    }
    fclose(file);
    }
    return 1;

  • Zitat

    Diese sollen mit einem Komma getrennt in die cfg-geschrieben werden.


    Zitat

    split(strFromFile2, arrCoords, '|');


    Ist mMn schon ein widerspruch.


    Falls das nicht das Problem ist,so lass dir doch mal beim auslesen die Variablen strFromFile2,arrCoords[0] und arrCoords[1] via print/printf ausgeben.