Raum abspeichern + Unknow Variable!
- GM 8
-
-
-
Ja also ich hab das jezt anders gelößt nur wenn ich jezt Speichere funktioniert alles nur wenn ich lade kommen Fehlermeldungen die diesen Text beinhalten:
unknow variable ... -
das kommt wenn du vergessen hast eine variable zu definieren
-
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).
-
Wie lautet den die komplette Fehlermeldung? Dort steht drin was falsch ist und wo.
-
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
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! -
die variable wurde so wie es aussieht nicht mitgespeichert, also musst du sie nach dem laden neu definieren.
-
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
- var file;
- file=file_text_open_write('vars.txt')
- file_text_write_string(file,string(global.block))//schreibt den wert von global.block in die datei
- file_text_writeln(file)//macht eine leerzeile
- //das führst du so lange fort bis du alle deine variablen damit gespeichert hast
- file_text_close(file) //das hier am ende bentzen damit die datei wieder geschlossen wird.
und nach dem laden machst du dann
GML-Quellcode
- var file;
- file=file_text_open_read('vars.txt')
- global.block=file_text_read_real(file)//fügt der variable global.block den vorher gespeicherten wert zu
- file_readln(file)//macht eine leerzeile
- //das führst du so lange fort bis du alle deine variablen damit wieder "geladen" hast
- //du musst hier die variablen in der selben reihenfolge laden wie du sie gespeichert hast
- 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.
-
ups, hab was vergessen.
so ist es richtig:
GML-Quellcode
- var file;
- file=file_text_open_read('vars.txt')
- global.block=file_text_read_real(file)//fügt der variable global.block den vorher gespeicherten wert zu
- file_text_readln(file)//macht eine leerzeile
- //das führst du so lange fort bis du alle deine variablen damit wieder "geladen" hast
- //du musst hier die variablen in der selben reihenfolge laden wie du sie gespeichert hast
- 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 ()
-
du hast nach argument0 noch +" angehängt. ich denk dass das weg muss.
-
Was ist Argument 0? oder besser gesagt wo?
-
das mein ich:
Failed to save game to file C:\Dokumente und Einstellungen\"Mein Username"\Desktop\Game Maker Spiele\"Mein Projektname"\Save1" + argument0 + "
-
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 fileDieser Beitrag wurde bereits 1 mal editiert, zuletzt von Rohkar ()
-
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:
P.S.: Eventuelle Errors kommen garantiert nicht von dieser Lösung.
Sie hat funktioniert!
EDIT: Oh, warte. Das geht nur bei game_save.
Beim Speichern eines Rooms hilft das nicht.
Entschuldige.
Mfg
Mr. DieselDieser Beitrag wurde bereits 2 mal editiert, zuletzt von Mr. Diesel ()
-
Nicht schlimm ich habe sowieso Vergessen das das Problem schon gelößt ist! Danke Marvin