Speichern der DINI Datei Fehler

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 habe einige Probleme, ich möchte ein System erstellen, jedoch speichern die Variablen und strings nicht richtig.


    Hier wird alles richtig abgespeichert, jedoch wird die .txt Datei 100000 mal erstellt und überall steht das glecihe drinnen.


    ocmd:cwette(playerid,params[])
    {
    new string[100],string2[100],einsquote,xquote,zweiquote;
    if(sscanf(params, "ssiii", string,string2,einsquote,xquote,zweiquote))return SendClientMessage(playerid,0xFFE4E1FF, "FAIL!");
    CreateWette(string,string2,einsquote,xquote,zweiquote);
    return 1;
    }


    Dann hier wird gar nichts angezeigt, einfach garnichts!


    if(listitem == 1)
    {
    new string[100];
    for(new i = 0; i < 10; i++)
    {
    format(string, sizeof(string), "%s - %s | Quote 1: %i | Quote X: %i | Quote 2: %i", Wettinfo[i][Team1], Wettinfo[i][Team2],Wettinfo[i][Quote1],Wettinfo[i][QuoteX],Wettinfo[i][Quote2]);
    ShowPlayerDialog(playerid,3, DIALOG_STYLE_LIST, "Spiel löschen:", string, "Löschen", "Abbrechen");
    }
    return 1;
    }


    Und so wird es gespeichert & gelöscht:


    stock CreateWette(string[],string2[],Quote11,QuoteXX,Quote22)
    {
    new pfad[50];
    for(new wette=1;wette<MAX_WETTINFOS;wette++)
    {
    format(pfad,50,"/sportwetten/%i.txt",wette); //nun ist der Pfad der Datei im String "pfad".
    if(!fexist(pfad)) // wenn diese Datei noch nicht existiert
    {
    dini_Create(pfad); // dann erstellen wir sie
    dini_Set(pfad,"Team1", string); // und füllen sie mit unseren Werten.
    dini_Set(pfad, "Team2", string2);
    dini_IntSet(pfad,"Quote1",Quote11);
    dini_IntSet(pfad,"QuoteX",QuoteXX);
    dini_IntSet(pfad,"Quote2",Quote22);
    }
    }
    return 1;
    }


    stock LoadWette(id)
    {
    new pfad[50];
    format(pfad,50,"/sportwetten/%d.txt",id);
    if(!fexist(pfad))return 0; //überprüft ob die Datei existiert, wenn nicht wird 0 zurückgegeben


    Wettinfo[id][Spiel] = dini_Get(pfad,"Spiel"); // hier laden wir die Werte
    Wettinfo[id][Quote1] = dini_Int(pfad,"Quote1");
    Wettinfo[id][QuoteX] = dini_Int(pfad,"QuoteX");
    Wettinfo[id][Quote2] = dini_Int(pfad,"Quote2");


    Pls HELP!! :(


    MFG
    hubby

  • Willkommen auf Breadfish!


    stock CreateWette(string[],string2[],Quote11,QuoteXX,Quote22)
    {
    new pfad[50];
    for(new wette=1;wette<MAX_WETTINFOS;wette++)
    {
    format(pfad,50,"/sportwetten/%i.txt",wette); //nun ist der Pfad der Datei im String "pfad".
    if(!fexist(pfad)) // wenn diese Datei noch nicht existiert
    {
    dini_Create(pfad); // dann erstellen wir sie
    dini_Set(pfad,"Team1", string); // und füllen sie mit unseren Werten.
    dini_Set(pfad, "Team2", string2);
    dini_IntSet(pfad,"Quote1",Quote11);
    dini_IntSet(pfad,"QuoteX",QuoteXX);
    dini_IntSet(pfad,"Quote2",Quote22);
    return 1; //Hat gefehlt - Jeffry
    }
    }
    return 1;
    }


    Das markierte return 1 hat gefehlt.

  • Ok danke dafür, aber wie kann ich das Problem beseitigen Jeffry:


    Dann hier wird nur " - | Quote 1: | QuoteX: | Quote 2: " angezeigt, ohne die Werte


    if(listitem == 1)
    {
    new string[100];
    for(new i = 0; i < 10; i++)
    {
    format(string, sizeof(string), "%s - %s | Quote 1: %i | Quote X: %i | Quote 2: %i", Wettinfo[i][Team1], Wettinfo[i][Team2],Wettinfo[i][Quote1],Wettinfo[i][QuoteX],Wettinfo[i][Quote2]);
    ShowPlayerDialog(playerid,3, DIALOG_STYLE_LIST, "Spiel löschen:", string, "Löschen", "Abbrechen");
    }
    return 1;
    }


    & wenn ich irgendwo LoadWette(i) eingebe klappt es einfach nicht, es kommt was mit array fehler


    stock LoadWette(id)
    {
    new pfad[50];
    format(pfad,50,"/sportwetten/%d.txt",id);
    if(!fexist(pfad))return 0; //überprüft ob die Datei existiert, wenn nicht wird 0 zurückgegeben


    Wettinfo[id][Team1] = dini_Get(pfad,"Team1");
    Wettinfo[id][Team2] = dini_Get(pfad, "Team2");
    Wettinfo[id][Quote1] = dini_Int(pfad,"Quote1");
    Wettinfo[id][QuoteX] = dini_Int(pfad,"QuoteX");
    Wettinfo[id][Quote2] = dini_Int(pfad,"Quote2");


    return print("Die Wette wurde erfolgreich geladen");
    }


    lg

  • stock CreateWette(string[],string2[],Quote11,QuoteXX,Quote22)
    {
    new pfad[50];
    for(new wette=1;wette<MAX_WETTINFOS;wette++)
    {
    format(pfad,50,"/sportwetten/%i.txt",wette); //nun ist der Pfad der Datei im String "pfad".
    if(!fexist(pfad)) // wenn diese Datei noch nicht existiert
    {
    dini_Create(pfad); // dann erstellen wir sie
    dini_Set(pfad,"Team1", string); // und füllen sie mit unseren Werten.
    dini_Set(pfad, "Team2", string2);
    dini_IntSet(pfad,"Quote1",Quote11);
    dini_IntSet(pfad,"QuoteX",QuoteXX);
    dini_IntSet(pfad,"Quote2",Quote22);
    format(Wettinfo[wette][Team1], 32, string);
    format(Wettinfo[wette][Team2], 32, string2);
    Wettinfo[wette][Quote1] = einsquote;
    Wettinfo[wette][QuoteX] = xquote;
    Wettinfo[wette][Quote2] = zweiquote;
    return 1;
    }
    }
    return 1;
    }


    Wettinfo[id][Team1] = dini_Get(pfad,"Team1");
    Wettinfo[id][Team2] = dini_Get(pfad, "Team2");
    zu:
    format(Wettinfo[i][Team1], 32, dini_Get(pfad,"Team1"));
    format(Wettinfo[i][Team2], 32, dini_Get(pfad, "Team2"));

  • Beitrag von XeroX ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • ^jeffrey danke schonmal es werden nichtmehr unendlich viele datein erstellt sondern nur mehr eine, das ist perfekt danke.


    ABER:


    if(listitem == 1)
    {
    new string[100];
    for(new i = 0; i < 10; i++)
    {
    format(string, sizeof(string), "%s - %s | Quote 1: %i | Quote X: %i | Quote 2: %i", Wettinfo[i][Team1], Wettinfo[i][Team2],Wettinfo[i][Quote1],Wettinfo[i][QuoteX],Wettinfo[i][Quote2]);
    ShowPlayerDialog(playerid,3, DIALOG_STYLE_LIST, "Spiel löschen:", string, "Löschen", "Abbrechen");
    }
    return 1;
    }


    Das wird im Dialog leider noch immer nicht richtig ausgelesen.

  • if(listitem == 1)
    {
    new string[512];
    for(new i = 0; i < 10; i++)
    {
    format(string, sizeof(string), "%s%s - %s | Quote 1: %i | Quote X: %i | Quote 2: %i\n", string, Wettinfo[i][Team1], Wettinfo[i][Team2],Wettinfo[i][Quote1],Wettinfo[i][QuoteX],Wettinfo[i][Quote2]);
    }
    ShowPlayerDialog(playerid,3, DIALOG_STYLE_LIST, "Spiel löschen:", string, "Löschen", "Abbrechen");
    return 1;
    }


    Dann dürfte es alle anzeigen, ich denke das ist was du willst.





    EDIT: (Post unten)
    hubby: Da dein Problem behoben ist, wäre es gut, wenn du den Thread auf erledigt setzt. Danke! :)

    3HZXdYd.png

    2 Mal editiert, zuletzt von Jeffry ()