Speichermenu

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

  • Speichermenu

    Ich habe folgendes Problem:

    Ich möchte ein Öffnen- und Speichermenu in mein Spiel ein bauen:


    Ich habe dazu ein Quelltext:

    zum Speichern:

    {
    var fileid,fname;
    if (global.running) exit;
    fname = get_save_filename(ztp files(*.ztp)|*.ztp','');
    <-ZTP = nur ein Beispiel
    if (fname == '') exit;
    fileid = file_text_open_write(fname);
    file_text_write_real(fileid,instance_number(block_normal));
    with (block_normal)
    {
    file_text_write_real(fileid,x);
    file_text_write_real(fileid,y);
    }
    file_text_close(fileid);
    io_clear();
    }


    und zum öffnen:

    {
    var fileid,fname,xxx,yyy;
    if (global.running) exit;
    fname = get_open_filename('ztp files(*.ztp)|*.ztp','');
    if (fname == '') exit;
    if (!file_exists(fname)) exit;
    fileid = file_text_open_read(fname);
    with (block_normal) instance_destroy();
    nnn = file_text_read_real(fileid);
    for (i=0; i<nnn; i+=1)
    {
    xxx = file_text_read_real(fileid);
    yyy = file_text_read_real(fileid);
    instance_create(round(xxx),round(yyy),block_normal);
    }
    file_text_close(fileid);
    io_clear();
    }



    Doch wenn ich auf speichern oder öffnen klicke, kommt eine Fehlermeldung:
    Error in code at line 3:
    if (global.running) exit;
    at position 15: unknown variable running


    Kann mir da einer helfen?
    Dateien
    • test.rar

      (2,78 kB, 81 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tobi ()

  • man sollte vielleicht dazu sagen, wie man das macht (für die die diesen thread nur anguggen, das du das kannst merkt man) du musst einfach im create-event deinen code einfügen, in den schreibst du dann den namen deiner variable und =true
  • Hab ich gemacht.........

    Wenn ich dann auf Speichern oder öffnen klicke, passiert gar nichts!!!!!

    ?(

    Kann einer nicht mal ein Beispiel machen wie das gehen soll?

    Hab hier noch mal den Test bei dem ich
    global.running=true
    eingefügt habe:
    Dateien
    • test.rar

      (2,8 kB, 73 mal heruntergeladen, zuletzt: )
  • ok hab ich gemacht.

    Das Menu geht auf, aber wenn ich dann auf speichern drücke, wird folgender Fehler angezeigt:

    Error in code at line 7:
    file_text_write_real(fiileid, instance_number(block_normal));
    at Position 48: Unknown variable block_normal


    Also ich hab keine Ahnung was ich machen soll. ?( :?:
    Mir wär es am liebsten wenn mir einer ein Beispiel machen könnte.
  • dann existiert scheinbar das object block_normal nicht... woher hasste den nun deinen script? Wenn ich das Original hätte könnte ich den Script besser nachvollziehen und gegebenfalls anpassen... Dein Script macht mehr als nur speichern und laden... nur weiß ich nicht ganz was es bewerkstelligen soll... brauchst du jetzt eigentlich nur den befehl zum speichern und laden von savedateien oder soll das script mehr bewerkstelligen?
  • Das Skript scheint doch offensichtlich im Speichern-Part alle Instanzen des Objekts "block_normal" in eine Datei zu schreiben.

    Beim Laden-Part werden alle existierenden Instanzen von "block_normal" gelöscht und dann neue erzeugt, nämlich genau die aus der Save-Datei (mit x,y-Position).

    Aber natürlich macht dieses Skript überhaupt keinen Sinn, wenn man das per copy/paste irgendwo rauskopiert und dann hofft, daß es für's eigene Spielchen schon gehen wird :no:

    Also, Tobi, ich denke, da mußt Du schon erklären, was Du in Deinem Spiel speichern und laden möchtest und was nicht.

    Und ein "einfaches" Laden und Speichern ist ja im Game Maker schon eingebaut. Schau mal in der Online-Hilfe, vielleicht hilft das ja schon und Dir fehlen lediglich die paar Code-Zeilen für den File-Selektor???

    Gruß,
    Tommy
  • Original von Tommy


    Also, Tobi, ich denke, da mußt Du schon erklären, was Du in Deinem Spiel speichern und laden möchtest und was nicht.


    Also, ich will einfach nur den Spielstand speichern können, aber in einem extra Fenster, damit man auch mehrere Spielstände gleichzeitig haben kann.


    Original von TrunX


    woher hasste den nun deinen script? Wenn ich das Original hätte könnte ich den Script besser nachvollziehen und gegebenfalls anpassen...


    Da gibt es ein Problem...
    Ich habe das Script von einem Freund, der sein Spiel gestern ausversehen gelöscht hat. Das heißt ich kann Dir das original Spiel nicht geben.


    Aber ich habe ein bisschen an den Scripts herumgespielt:


    zum Speichern:

    GML-Quellcode

    1. {
    2. if (global.running) exit;
    3. fname = get_save_filename('ztp files (*.ztp) | *.ztp','');
    4. if (fname == '') exit;
    5. fileid = file_text_open_write(fname);
    6. }


    und zum Öffnen:

    GML-Quellcode

    1. {
    2. if (global.running) exit;
    3. fname = get_open_filename ('ztp files (*.ztp) |.ztp','');
    4. if (fname== '');
    5. if (!file_exists(fname)) exit;
    6. }



    Nun habe ich folgendes Problem:

    Alles funktioniert, aber wenn ich auf speichern klicke, erstellt das Speicher-Menu keinen Spielstand. ?( :?:
  • ok hab ich gemacht

    der speichert die Datei ohne Endung...

    Ich hab mal im Forum ein bisschen gestöbert...

    Darauf hab ich einen Eintrag gesehen, wo genau diese Frage beantwortet wurde, aber nur für's Speichern:

    GML-Quellcode

    1. var save_filename;
    2. save_filename=get_save_filename('bnr','');
    3. if (save_filename!='') {
    4. save_filename+=".bnr"
    5. game_save(save_filename);
    6. }

    <--Fehler beim "Spielstand" speichern.


    Jetzt brauche ich noch den passenden Quelltextzum Öffnen.
    Ich hab's ausprobiert ist aber nichts geworden.
  • danke, es funktioniert! :D :P :top: :lol:

    aber eigendlich muss es so aussehen:

    GML-Quellcode

    1. var save_filename;
    2. save_filename=get_open_filename('.bnr','');
    3. if (save_filename!='') {
    4. game_load(save_filename);
    5. }


    sonst steht oben in der Leiste Speichern unter obwohl geöffnet wird.

    Aber zum Glück funktioniert es jetzt...

    DANKE!!!

    Problem gelöst......

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tobi ()