Hallo
ich bin dabei eine map-editor-engine zu machen.
Die Objekte sollen in eine queue gespeichert werden die dann in eine datei gespeicher und später geladen wird.
Hier die codes die ich angefertigt hab.
Das problem ist das immer wenn ich die daqtei laden will kommt die Fehlermeldung, file not opened for reading obwohl ich eindeutig die Funktion dazu geschrieben hab.
Event zum speichern:
Alles anzeigen
und zum laden:
Alles anzeigen
Kann mir einer sagen was damit nicht stimmt?
Für jede hilfe bin ich sehr dankbar
ich bin dabei eine map-editor-engine zu machen.
Die Objekte sollen in eine queue gespeichert werden die dann in eine datei gespeicher und später geladen wird.
Hier die codes die ich angefertigt hab.
Das problem ist das immer wenn ich die daqtei laden will kommt die Fehlermeldung, file not opened for reading obwohl ich eindeutig die Funktion dazu geschrieben hab.
Event zum speichern:
GML-Quellcode
- map_queue = ds_queue_create();
- ds_queue_enqueue(map_queue,120); // x coordinate
- ds_queue_enqueue(map_queue,80); // y coordinate
- ds_queue_enqueue(map_queue,2); // object index
- ds_queue_enqueue(map_queue,4); // changed variables (number)
- ds_queue_enqueue(map_queue,"var1"); // name of variable 1
- ds_queue_enqueue(map_queue,14); // value of variable 1
- ds_queue_enqueue(map_queue,"var2"); // name of variable 2
- ds_queue_enqueue(map_queue,400); // value of variable 2
- ds_queue_enqueue(map_queue,"var3"); // name of variable 3
- ds_queue_enqueue(map_queue,150); // value of variable 3
- ds_queue_enqueue(map_queue,"var4"); // name of variable 4
- ds_queue_enqueue(map_queue,150); // value of variable 4
- ds_queue_enqueue(map_queue,"ending"); // haves to stay at the end of the queue
- file = get_save_filename('Map files|*.mwm;',"");
- if file = "" then exit;
- save_file = file_text_open_write(file+".mwm");
- file_text_write_string(save_file,ds_queue_write(map_queue));
- file_text_writeln(save_file);
- file_text_close(save_file);
und zum laden:
GML-Quellcode
- file = get_open_filename('Map files|*.mwm;',"");
- if file = "" then exit;
- load_file = file_text_open_read(file);
- map_queue = ds_queue_read(map_queue,file_text_read_string(load_file));
- file_text_writeln(load_file);
- while(!compare(ds_queue_head(map_queue),"ending")) // compare ist eine eigene Funktion (ermöglich comparisions von strings mit reals)
- {
- with (instance_create(ds_queue_dequeue(map_queue),ds_queue_dequeue(map_queue),ds_queue_dequeue(map_queue)))
- {
- repeat(ds_queue_dequeue(map_queue))
- {
- variable_local_set(ds_queue_dequeue(map_queue),ds_queue_dequeue(map_queue));
- }}}
- file_text_close(load_file);
Kann mir einer sagen was damit nicht stimmt?
Für jede hilfe bin ich sehr dankbar
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()





