INI SAVE funktioniert nicht

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

  • INI SAVE funktioniert nicht

    Da ich mein game gerne auch HTML 5 kompatibel machen würde, benötigte ich eine save Funktion, nach diversen Recherchen kam heraus das am einfachsten eine INI Lösung wäre, gesagt getan habe ich mir alles durchgelesen aber es will absolut nicht klappen!

    im ersten room:


    load_score(); // ( ist ein externes Script) und lädt die Ini

    sobald der timer im spiel NULL ist

    audio_stop_sound (bg) // hintergrundmusik wird gestoppt
    audio_stop_sound(tictoc); // geräusch wird gestoppt
    firsttrack =0; // wird benötigt für den ersten raum und speichert die BG Music Position

    global.Highscore = score; // die public variable score wird in die globale variable Highscore geladen
    save_score(); // save script wird getriggert
    room_goto(mainmenue2); // es wird ins hauptmenü zurück gegangen

    Inhalt save_score script:

    ini_open("save.ini");// ini öffnen
    ini_write_real("HighScore","Score",global.Highscore); // sollte den Highscore in die ini setzen
    ini_close();// ini flush bzw schreiben

    Inhalt vom Load script

    ini_open("save.ini");// ini öffnen
    global.Highscore = ini_read_real("HighScore","Score",0);// setzt den gespeicherten score Wert in die variable Highscore
    ini_close();// ini schreiben


    leider scheitert es schon daran das keine INI angelegt wird, weder im appdata Ordner wo die HTML liegt noch sonstwo extern

    mache ich etwas falsch?
  • Hi fuxline, versuch doch mal von grund auf einfach eine variable in einer ini zu speichern und wenn das als win exp. funktioniert mal als html5 ausprobieren.
    Ich meine ich habe vor geraumer zeit viel mit inis gemacht und nie ein problem gehabt, allerdings nicht als html5 exp.
    Leider sitz ich gerade wieder in der Arbeit rum und kann dir daher keine bessere hilfe sein.

    mfg BoS
  • so ich habe jetzt wirklich alles probiert

    1. einfache variable gesichert - geht nicht
    2. unter Windows laufen lassen - INI wird nicht erstellt
    3. statt script habe ich script in ne variable geladne und mit execute script ausgeführt - geht nicht
    4. beim speichern score deklariert - geht nicht

    es kommen auch keine Fehlermeldungen oder sonstwas wo man sehen könnte was das problem ist...
  • Du weißt aber schon dass die Datei im Normalfall im %localappdata%\Spielname abgespeichert ist oder?
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • Setz die ini in deinm Projekt mal als included file ein.
    Und erweitere dein ini open um:

    GML-Quellcode

    1. ini_open(working_directory + "save.ini");


    Hier steht warum^^

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Aku_Ryou ()

  • danke Aku aber ich habe es jetzt hinbekommen

    wenn es unter Windows läuft, läuft es auch unter HTML5 das stimmt in der Tat, nur ist HTML 5 nicht so drauf das es abstürzt sondern einfach gnadenlos weiter macht, bei harten Fällen wird dann der Schirm schwarz, das trifft aber nicht auf die INI Funktionen zu.

    Auf die Lösung bin ich wie folgt gekommen:

    ich wollte es unter iIndows zum Laufen bringen das saving hat funktioniert, dank Husi wusste ich nun auch in welchem Ordner die INI abgelegt wird beim Laden allerdings bekam ich immer den Wert 0 zuück wenn ich die ini in die score variable laden wollte, das beachtete ich aber nicht ich dachte die null bedeute das die ini meine score variable nicht befüllt

    faktisch gibt man aber bei ini_read_real die Sektion an, den ladepuunkt z.B Punkte und dann den Wert sowie eine Zahl, und die war 0 diese zahl muss einen integer Wert besitzen, ich änderte Sie mal auf 5 und siehe da klickte ich auf laden, war meins core 5, also wusste ich das 5 die Fehlermeldung war!

    mein Fehler war letztendlich die groß und Kleinschreibung in den Skripten selbst die Sektion Pkte gab es nicht da ich sie als pkte gespeichert hatte

    Unter WIndows lief es dann ich testete es unter HTML 5 und siehe da er lud - allerdings legt er die ini wohl nicht in appdata/local ab sondern wo ganz anders, ich vermute mal im temp ordner des browsers