Mehrere Dialoge auf einmal in Datei einfügen?!

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
  • Ich habe mit einem InputDialog eine Gang in die "Gangs/Gangs.cfg" hinzugefügt und mit der Variable s% den Namen hinzugefügt.
    Meine Frage ist die, kann ich erst mal mehrere InputDialoge durchlaufen lassen und dann auf einmal mehrere Informationen auf einmal einfügen anstatt erst denn Namen, dann Rank1, dann Rank2 usw.... Das kostet unnötige Zeit & Zeilen... Also das sieht kurz gefasst so aus:

    if(dialogid == Gangerstellen2)
    {
    if(response == 0)
    {
    ShowPlayerDialog(playerid, Gangerstellen1, DIALOG_STYLE_MSGBOX, "Gangmenü: Erstellen", "Bedingungen:\nLevel 10\n100.000€\n\nGang erstellen?", "Ja", "Zurück");
    }
    if(response == 1)
    {
    new passw[128];
    strmid(passw,inputtext,0,strlen(inputtext),128);
    Gangerstellen(playerid,passw);
    }
    }


    public Gangerstellen(playerid,namen[])
    {
    new idx;
    new File: Gangdatei;
    while (idx < sizeof(GangInfo))
    {
    new coordsstring2[512];
    format(coordsstring2, sizeof(coordsstring2), "%s|0.000000|0.000000|0.000000|0|0|0|Rank1|Rank2|Rank3|Rank4|Rank5|Rank6|Rank7|Rank8|Rank9|Rank10|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0xFFFFFFFF|0\r\n",namen);
    if(idx == 0)
    {
    Gangdatei = fopen("Gangs/Gangs.cfg", io_write);
    }
    else
    {
    Gangdatei = fopen("Gangs/Gangs.cfg", io_append);
    }
    fwrite(Gangdatei, coordsstring2);
    idx++;
    fclose(Gangdatei);
    }
    return 1;
    }


    Wenn ja? Wie?
    Dankeschön schonmal im vorraus.

    5 Mal editiert, zuletzt von Chaos.KiD ()

  • Du kannst per fread & einer schleife jede Linie durchgehen & sie zerlegen , danach einfach die Werte herausfischen


    new File:datei = fopen("Dateiname.txt",io_read);
    new line[255];
    while(fread(datei,line)))
    {
    new array[255][70];
    split(line,array,',');
    variable = strval(array[0]); // Zahl z.b.
    strmid(variable,array[0],0,sizeof variable,sizeof variable);
    }
    fclose(datei);



    und das Speichern geht so das man alles formatiert und speichert dahinter alles mit einer neuen Linie trennt \r\n ( kann gleich in die Formation )
    den Datei modus einfach auf io_append stellen und und per schleifen alles fischen , formatieren & speichern , danach alles schließen

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Als solange habe ich mich damit noch nichtt beschäftigt und ich habe das hier schon mit schwerer Mühe selbst hinbekommen und ich verstehe ehrlich gesagt nur Bahnhof... Ich würde mich gerne über ein komplettes Beispiel freuen und dann auch besser verstehen.
    Dankeschön, ich habe auch ein 2tes Problem, bei meinem erstellen der Gang wird diese nicht nur einmal sondern 20mal erstellst ich denke das hat was mit GangInfo zu tun welche ich für max 20 Gangs definiert hab. Und ich möchte ja pro Linie eine Gang haben, also max 20Gangs/Linien.

    Einmal editiert, zuletzt von Chaos.KiD ()

  • Meine schöne Funktion:



    stock m_cut(string[], var[], bool:huh, start) // Bullet MultiCut
    {
    new out[64];
    if(strfind(string, var, huh, start) != (-1))
    {
    strmid(out, string, start, strfind(string, var, huh, start));
    }
    return out;
    }
    Benutzung:
    new slot = 0, old = 0;


    slot = strfind(read_line, "|", true, 0);
    Vehicle[vModel] = strval(m_cut(read_line, "|", true, 0)); old = slot;