Raum abspeichern + Unknow Variable!

  • GM 8
  • Also welche Variable muss ich den definieren beim Saven? An einer Varibialen die nicht´s mit dem Saven zu tun hat kann es nicht liegen weil das Spiel wenn man nicht abspeichert komplett geht! Vll sollte ich einfach jemanden das Spiel schicken und er kann dann nachkucken was nicht funktioniert (Ich habe die Drag and Drop Save Aktion genommen).
  • Warte ich editier gleich!

    EDIT:
    ERROR in
    action number 2
    of Draw Event
    for object obj_Stonecounter:

    Error in expression:global.block
    position 8: Unknown variable block
    Das ist sie diese Variable global.Block prüft nur ob das Mausrad als leztes runter oder hoch gedreht wurde!

    EDIT2: Das gleiche kommt auch wenn ich auf ignore drücke nur das dann anstatt, dass Objekt obj_Stonecounter das Objekt obj_Earthcounter dort steht!
  • Hmm das heißt also nach dem Speichern steht alle Variablen wieder auf Null oder auf einer Zahl auf die ich sie Definiere?
    Kann man irgendwie machen das beim Laden die alten Werte bleiben, und in welches Create Event soll ich die Defination reinmachen(Das geht glaube ich nur in einem Create Event, oder)?
  • mach bevor du speicherst das:

    GML-Quellcode

    1. var file;
    2. file=file_text_open_write('vars.txt')
    3. file_text_write_string(file,string(global.block))//schreibt den wert von global.block in die datei
    4. file_text_writeln(file)//macht eine leerzeile
    5. //das führst du so lange fort bis du alle deine variablen damit gespeichert hast
    6. file_text_close(file) //das hier am ende bentzen damit die datei wieder geschlossen wird.


    und nach dem laden machst du dann

    GML-Quellcode

    1. var file;
    2. file=file_text_open_read('vars.txt')
    3. global.block=file_text_read_real(file)//fügt der variable global.block den vorher gespeicherten wert zu
    4. file_readln(file)//macht eine leerzeile
    5. //das führst du so lange fort bis du alle deine variablen damit wieder "geladen" hast
    6. //du musst hier die variablen in der selben reihenfolge laden wie du sie gespeichert hast
    7. file_text_close(file) //das hier am ende bentzen damit die datei wieder geschlossen wird.
  • Hm hab alles gemacht dann kommt aber dieser Fehler hat glaube ich was mit dem Code zu tun.

    FATAL ERROR in
    action number 4
    of Key Release Event for E-key Key
    for object obj_Player:

    COMPILATION ERROR in code action
    Error in code at line 5:
    file_readln(file) //macht eine leerzeile
    ^
    at position 18: Wrong number of arguments to function or script.
    Kann mir jemand helfen?
  • ups, hab was vergessen.
    so ist es richtig:

    GML-Quellcode

    1. var file;
    2. file=file_text_open_read('vars.txt')
    3. global.block=file_text_read_real(file)//fügt der variable global.block den vorher gespeicherten wert zu
    4. file_text_readln(file)//macht eine leerzeile
    5. //das führst du so lange fort bis du alle deine variablen damit wieder "geladen" hast
    6. //du musst hier die variablen in der selben reihenfolge laden wie du sie gespeichert hast
    7. file_text_close(file) //das hier am ende bentzen damit die datei wieder geschlossen wird.
  • Ähm ok ich habs getestet nur jezt gibt es auch noch im code den man vor dem Speichern einfügt einen Fehler xD
    Sieht so aus als könnte er es nicht abspeichern oder so

    ERROR in
    action number 6
    of Key Release Event for Q-key Key
    for object obj_Player:

    Failed to save game to file C:\Dokumente und Einstellungen\"Mein Username"\Desktop\Game Maker Spiele\"Mein Projektname"\Save1" + argument0"

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

  • Achso ich hätte gedacht das gehört zu fehlermeldung xD

    Ah jezt kommt auch noch eine zusätzliche Fehlermeldung!

    ERROR in
    action number 4
    of Key Release Event for E-key Key
    for object obj_Player:

    Error in code at line 1:
    file_text_close(file) //das hier am ende bentzen damit die datei wieder geschlossen wird.
    ^
    at position 18: Unknown variable file

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

  • Diesel to the rescue!

    Ich hatte einmal so ein ähnliches Problem. Lässt sich sehr einfach Lösen.
    Ersteinmal der Grund für die Fehler: Globale Variablen, die vom User definiert wurden, werden NICHT
    gespeichert.

    Die Lösung.
    Ein Objekt in den ersten Room "pflanzen"
    Dieses Objekt heißt obj_game.

    obj_game ist "persistent", d. h.: Es bleibt beim Raumwechsel da.

    Nun, bevor gespeichert wird werden alle globalen Variablen,
    die du noch nach dem Laden benötigst in das obj_game importiert.
    Und dann wieder als globalen Variablen exportiert.

    Im End-effekt:

    GML-Quellcode

    1. blubb = global.blubb
    2. game_save(file)
    3. global.blubb = blubb


    P.S.: Eventuelle Errors kommen garantiert nicht von dieser Lösung.
    Sie hat funktioniert! :thumbsup:

    EDIT: Oh, warte. Das geht nur bei game_save.
    Beim Speichern eines Rooms hilft das nicht.
    Entschuldige.


    Mfg
    Mr. Diesel

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Mr. Diesel ()

  • Benutzer online 2

    2 Besucher