Durch Datein in den Scriptfiles loopen ?

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
  • Hey,
    habe mal eine Frage. Ich bin gerade dabei ein Mapsystem zu machen, mit dem ich einzelne Maps per Listendialog laden und entladen kann. Die Maps werden in den Scriptfiles gespeichert. Zur Zeit funktioniert das auch, aber bevor ich die Liste mit den Maps öffnen kann müssen die jeweilligen Maps erstmal geladen werden. Für das Laden der Maps habe ich eine Funktion, aber die lädt immer nur eine Map und man muss den genauen Dateinamen angeben. Gibt es eine Möglichkeit alle Maps ohne den Dateinname zu laden ? Ich habe mir überlegt sich durch alle Datein in den Scriptfiles zu loopen, aber wie mache ich das ?
    Also ich weiß wie Schleifen funktionieren, aber nicht im Zusamenhang mit den Scriptfiles. Wäre toll wenn jemand eine Idee hätte :thumbup:

  • Entweder du nutzt ein Plugin dafür, wie dieses hier: http://forum.sa-mp.com/showthread.php?t=92246


    oder du machst es so, dass du die Maps so nennst:


    /*
    Map_0.txt
    Map_1.txt
    Map_2.txt
    Map_3.txt
    */


    //und so dann laden lassen
    new string[10];
    for(new i; i<4; i++) format(string,sizeof string,"Map_%d.txt",i),LoadMap(string);


    oder du packst alle Maps in eine .txt Datei und sorgst durch ein gewisses Zeichen..z.B. # für die Trennung der Maps und splittest es..


    oder du nutzt Datenbanksysteme wie SQLite um das zu verwirklichen ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Das wäre natürlich eine Möglichkeit. Aber das Problem ist ich habe jetzt schon für jede einzelne Map eine Datei erstellt und es wäre für mich sowieso praktischer wenn jede Map in einer einzelnen Datei ist. Ich habe mir mal die Funktionen von dem Plugin angeschaut, aber ich glaube es gibt keine Möglichkeit einfach durch alle Datein zu loopen, oder ?

  • Ich habe mir mal die Funktionen von dem Plugin angeschaut, aber ich glaube es gibt keine Möglichkeit einfach durch alle Datein zu loopen, oder ?


    Doch natürlich...lese es dir doch erstmal in Ruhe durch:


    Code
    Function: dir_list(dir:handle, storage[], &type, length = sizeof(storage));
        Description: Reads through a directory, listing each file/sub-directory one by one.
        Params:
                dir:handle - The handle of the directory that is open to read from.
                storage[] - Where the name of the file/directory is stored.
                type - Where the type of directory is stored, can be either 1 or 2
                (optional) length - This is not needed unless you are passing an array without any length, in which case, use strlen with your array.
    
        Returns: 1 if there a sub-directory/file was found, 0 if there wasn't.


    mfg. :rolleyes:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S