Hallo
Bin dabei in meinem Spiel ein System einzubauen damit der Spieler durch Ordner suchen kann.
Hab dafür dieses Skript geschrieben:
Argument0 ist der Pfad und argument1 die Nummer der Stelle im Array wo die Ordner rein sollen.
Alles anzeigen
In dem array soll die sache folgendermaßen aussehen:
in [a,0] der ganze Pfad.
in [a,1] nur der name.
Und in [a,2] eine 1 damit später beim zeichnen zwischen Ordnern und Dateien unterschieden werden kann.
Jetzt tritt der bug auf: wenn ich damit Ordner suche, erscheinen immer 2 ordner mehr nie diemals existiert haben.
Ihr name is einmal nur ein Punkt und beim anderen 2 Punkte als '.' und '..' .
Hab dann versucht einfach die ersten 2 gefundenen ordner zu ignorieren,
das funktioniert ganz gut in allen Unterordnern.
Sobald ich jedoch auf die Hauptfestplatte komme. Also z.b. auf C:\
Tritt dieser Bug nicht mehr auf und mein modifizierter Skript ignoriert zwei existierende Ordner...
Weis einer worann das ganze liegen könnte?
Wäre sehr dankbar für Antworten
Bin dabei in meinem Spiel ein System einzubauen damit der Spieler durch Ordner suchen kann.
Hab dafür dieses Skript geschrieben:
Argument0 ist der Pfad und argument1 die Nummer der Stelle im Array wo die Ordner rein sollen.
GML-Quellcode
- var a, hold;
- a = argument1;
- hold = file_find_first(argument0+'*.',fa_directory);
- if hold = "" then {file_find_close(); return(a)}
- else
- {
- a += 1;
- files[a,0] = hold;
- files[a,1] = filename_name(files[a,0]);
- files[a,2] = 1;
- }
- while(1)
- {
- hold = file_find_next();
- if hold = "" then {file_find_close(); return(a)};
- a += 1;
- files[a,0] = hold;
- files[a,1] = filename_name(files[a,0]);
- files[a,2] = 1;
- }
In dem array soll die sache folgendermaßen aussehen:
in [a,0] der ganze Pfad.
in [a,1] nur der name.
Und in [a,2] eine 1 damit später beim zeichnen zwischen Ordnern und Dateien unterschieden werden kann.
Jetzt tritt der bug auf: wenn ich damit Ordner suche, erscheinen immer 2 ordner mehr nie diemals existiert haben.
Ihr name is einmal nur ein Punkt und beim anderen 2 Punkte als '.' und '..' .
Hab dann versucht einfach die ersten 2 gefundenen ordner zu ignorieren,
das funktioniert ganz gut in allen Unterordnern.
Sobald ich jedoch auf die Hauptfestplatte komme. Also z.b. auf C:\
Tritt dieser Bug nicht mehr auf und mein modifizierter Skript ignoriert zwei existierende Ordner...
Weis einer worann das ganze liegen könnte?
Wäre sehr dankbar für Antworten





