Externes Speichern/Laden von Rooms

    • Skript

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Nagut. Für den Raum, in dem du dich aktuell befindest:

      GML-Quellcode

      1. var m, file;
      2. m = ds_map_create();
      3. room_write_map(m);
      4. file = file_text_open_write("namederraumdatei.lol");
      5. file_text_write_string(file, ds_map_write(m));
      6. file_text_writeln(file);
      7. ds_map_destroy(m);
      8. file_text_close(file);

      Der Code ist ungetestet, sollte aber funktionieren.

      Ich halte dich aber nochmal dazu an, dich im Detail mit allem auseinanderzusetzen.
      Diese Scripts sind eigentlich für Leute gedacht (gewesen), die ihr Spiel portieren wollen oder eine Übergangslösung brauchen, bis sie sich ihr eigenes Levelformat zurechtgelegt haben.
      Wenn du das ernsthaft für einen Leveleditor gebrauchen willst, musst du am Ende vermutlich mehr an den Scripts verändern als du behalten wirst.
    • Ok,vielen Dank für den Code,hat super funktioniert.Die Level datei wurde erstellt.

      Nun nur noch 2 Fragen,dann bin ich zufrieden:

      - 1. Kannst du mir bitte auch noch den Code zum Laden des Rooms geben?
      - 2. Muss die Dateiendung .lol sein oder kann ich diese auch ändern?
    • Zu 1. Habs bereits versucht aber irgendwie denk ich nicht logisch genug um das hinzukriegen.Da ich aber GML Anfänger bin,lerne ich besonders gut daraus,wenn ich mir ein Beispiel anschaue,so merke ich mir wies funktioniert.ALs ich dein Beispiel zum speichern gesehen habe,war mir sofort klar wies geht,genau so soll das auch sein,beim laden.
      Deshalb würde ich mich freuen wenn du mir den Code zum Laden reinschreibst(dürfte für dich ja keinen großen Aufwand darstellen)

      Zu 2. Cool,danke ;)

      PS: Hier mein Code zu 1. :

      GML-Quellcode

      1. file = file_text_open_read("savedatei.lol")
      2. m = ds_map_create()
      3. text = file_text_read_string(file);
      4. file_text_close(file);
      5. level = ds_map_read(m,text)
      6. global.Raum=room_add();
      7. room_read_map(global.Raum, level)
      8. ds_map_destroy(m)
      9. room_goto(global.Raum)

      Funktioniert jetzt :)

      Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von derkimba ()

    • Benutzer online 1

      1 Besucher