Variablen mit in den nächsten Raum nehmen

  • GM 8

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

  • Variablen mit in den nächsten Raum nehmen

    Hallo User!

    Und zwar habe ich eine global.punkte variable die, die gesammelten Punkte sammelt.
    In dem shop_raum kann man für die Punkte Items kaufen. Immer wenn ich dann auf Shop klicke
    setzt sich die global.punkte variable wieder auf 0 und übernimmt die Punkte nicht.
    Wie kann ich das einstellen das die gesammelten Punkte auch im nächsten raum angezeigt werden?

    Vielen dank im voraus :)
  • Du setzt sie ja im Create event immer wieder auf 0!
    Das darfst du nicht machen sonst hast du wie blubbekopp sagte nichtsmehr übrig, da du den Wert einfach überschrieben hast.

    Was du machen musst, ist anstatt die Variable im Create Event zu deklarieren, sie im Game Start event zu deklarieren.
    So wird ihr nur am Start des Spieles der Wert 0 zugewiesen ;)

    -Sorm
  • Eine weitere Möglichkeit: Du arbeitest mit Ini-Dateien

    Create Event: :action_create:

    GML-Quellcode

    1. if !file_exists("settings.ini")
    2. {
    3. global.punkte = 0;
    4. ini_open("settings.ini");
    5. ini_write_real("Settings","Punkte", global.punkte);
    6. ini_close();
    7. }
    8. else
    9. {
    10. ini_open("settings.ini");
    11. global.punkte = ini_read_real("Settings","Punkte", '');
    12. ini_close();
    Alles anzeigen


    Wenn der Spieler nun Punkte dazubekommt, müssen die Punkte in der Ini-Datei aktuallisiert werden:

    GML-Quellcode

    1. global.punkte+=1 //Da wo die Punkte hinzugefügt/abgezogen werden.
    2. ini_open("settings.ini");
    3. ini_write_real("Settings","Punkte", global.punkte);
    4. ini_close();

    So würdest du die Punkte bei jedem Start auslesen, ohne dass die Punkte immer auf 0 zurückgesetzt werden.

    Nachteil: Man kann die Punkte in der Ini-Datei beliebig ändern, außer du sicherst die Datei durch bspw. die XorCrypt.dll, aber das musst du natürlich für dich selber wissen.

    MfG
    icqgamer
  • icqgamer schrieb:

    Eine weitere Möglichkeit: Du arbeitest mit Ini-Dateien

    Create Event: :action_create:

    GML-Quellcode

    1. if !file_exists("settings.ini")
    2. {
    3. global.punkte = 0;
    4. ini_open("settings.ini");
    5. ini_write_real("Settings","Punkte", global.punkte);
    6. ini_close();
    7. }
    8. else
    9. {
    10. ini_open("settings.ini");
    11. global.punkte = ini_read_real("Settings","Punkte", '');
    12. ini_close();
    Alles anzeigen


    Wenn der Spieler nun Punkte dazubekommt, müssen die Punkte in der Ini-Datei aktuallisiert werden:

    GML-Quellcode

    1. global.punkte+=1 //Da wo die Punkte hinzugefügt/abgezogen werden.
    2. ini_open("settings.ini");
    3. ini_write_real("Settings","Punkte", global.punkte);
    4. ini_close();

    So würdest du die Punkte bei jedem Start auslesen, ohne dass die Punkte immer auf 0 zurückgesetzt werden.

    Nachteil: Man kann die Punkte in der Ini-Datei beliebig ändern, außer du sicherst die Datei durch bspw. die XorCrypt.dll, aber das musst du natürlich für dich selber wissen.

    MfG
    icqgamer

    Deinem Hilfsversuch zugute... der ist nicht gerade das Gelbe vom Ei. :)
    Das alles lässt sich simpel ingame ohne externe Dateien lösen (wie bereits genannt).