Sprachauswahl Problem beim Laden

  • GM 7
  • Sprachauswahl Problem beim Laden

    Hallo!

    Ich habe ein Problem.

    In meinem aktuellen Spiel kann man am Anfang zwischen 2 Sprachen entscheiden - Englisch und Deutsch. Ist ja auch ganz einfach mit einer globalen Variable.

    Das Problem ist aber wenn man ein Spiel auf einer Sprache anfängt und dann auf einer anderen Sprache wieder lädt ist es immer noch die alte Sprache.
    Der Code

    GML-Quellcode

    1. if global.language=0
    2. {
    3. if file_exists("savefile")
    4. game_load("savefile")
    5. global.language=0
    6. }

    funzt net :(

    Bitte helft mir ;)
    :| < Hallo. Nein ich bin nicht die Signatur, ich putze hier nur.
  • Ich nehme an du verwendest für die Texte Variablen und weist denen je nach Sprache einen anderen Wert zu. Wenn du es so machst, reicht es, nach Laden des Spielstandes einfach nochmal die Zuweisung zu machen. Sonst müsstest du auf die eingebaute Speichermethode wohl verzichten und eine eigene machen.

    © 2008 by Teamgrill Productions
  • Ich benutze eine Variable und den Wert 0 für Englisch und den Wert 1 für Deutsch.
    Die Zuweisung nach dem Laden? Wie meinst du das? Meinst du dass man dann nochmal die Sprache wählen kann? Und für ein eigenes Speichersystem bin ich zu blöd.
    :| < Hallo. Nein ich bin nicht die Signatur, ich putze hier nur.
  • Wenn du einen Spielstand lädst, wird alles abgebrochen und das Spiel geht an dem Punkt weiter, wo du es gespeichert hast. Eine Lösungsmöglichkeit ...

    GML-Quellcode

    1. // Speichern
    2. game_save(filename);
    3. if (file_exists("sprache")) {
    4. file = file_text_open_read("sprache");
    5. str = file_text_read_string(file);
    6. global.language = real(str);
    7. file_text_close(file);
    8. file_delete("sprache");
    9. }
    10. // Achtung: Ich habe keine Ahnung, ob der
    11. // Code nach dem Speichern noch weitergeht.
    12. // Wenn nicht, musst du das in einem anderen
    13. // Event unterbringen (Step sollte gehen).
    14. // Laden
    15. file = file_text_open_write("sprache");
    16. file_text_write_string(file,string(global.language));
    17. file_text_close(file);
    18. game_load(filename);
    Alles anzeigen

    Nicht getestet, ich garantiere für nichts! :P
  • oooooook..........
    da komm ich jetzt nicht ganz mit.
    Was muss ich da für Dateien erstellen?
    Und was muss da rein?
    Und müssen die encryptet werden, dass andere spieler nicht dran rumschrauben können?
    :| < Hallo. Nein ich bin nicht die Signatur, ich putze hier nur.
  • Nichts machen, nur den Code ändern.
    Speichern tust du ganz normal, wie du es vorher gemacht hast.
    Das kommt in's Step Event:

    GML-Quellcode

    1. if (file_exists("sprache")) {
    2. file = file_text_open_read("sprache");
    3. str = file_text_read_string(file);
    4. global.language = real(str);
    5. file_text_close(file);
    6. file_delete("sprache");
    7. }
    Und das hier benutzt du, wenn du einen Spielstand laden willst:

    GML-Quellcode

    1. file = file_text_open_write("sprache");
    2. file_text_write_string(file,string(global.language));
    3. file_text_close(file);
    4. game_load(filename);

    Und das Ganze sollte dafür sorgen, dass nach dem Laden die Sprache dieselbe ist, wie vorher :)
  • und man kann nicht an dem game rumschrauben?
    €dit: Habs jetzt mal probiert, muss ich da ein Objekt machen, dass ich einfach in jedes Level platziere, denn ich habs jetzt mal mit dem Objekt Menü probiert und alles was passiert ist dass der Menütext im Englischen auch auf Deutsch ist :P Aber ich glaube das ist mein Fehler
    €dit 2: habs nun ausprobiert. Es funktioniert alles! DANKE, DANKE, DANKE!!!!! wegen diesem problem hätte ich fast aufgehört an meinem Spiel zu arbeiten. Danke! :thumbsup:
    :| < Hallo. Nein ich bin nicht die Signatur, ich putze hier nur.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Lightning the Hedgehog ()

  • Habs jetzt mal probiert, muss ich da ein Objekt machen, dass ich einfach in jedes Level platziere [...]
    Es reicht übrigens ein Objekt, welches du im Start-Raum platzierst und "persistent" machst (das geht dann mit in die anderen Räume über).
    Und kein Problem, freut mich, dass du es geschafft hast und am Spiel weitermachen kannst :D
  • Benutzer online 1

    1 Besucher