ini-Werte ohne Kommastellen abspeichern

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

  • ini-Werte ohne Kommastellen abspeichern

    Hallo Leute,

    seit einiger Zeit werden bei mir (GM-Studio) Werte, wenn ich sie in eine ini-Datei abspeichere mit Kommazahlen versehen,
    selbst wenn es sich um 1 oder 0 handelt.
    Ich kann mich erinnern, dass das früher mal anders war, also dass die Kommastellen weggelassen wurden.
    Mit dem Auslesen der Werte gibt es zwar kein Problem, aber ich frage mich oder besser gesagt euch, ob es nicht eine Methode gibt,
    den Kommateil "wegzuschneiden".
    Mit floor(wert) ändert sich nichts, da es nur die Zahl selbst betrifft, 1 wird damit immer noch als 1.000000 abgespeichert.
    math_set_epsilon habe ich auch probiert, ändert auch nichts.

    Eigentlich geht es da um reine Kosmetik, wenn ein unerfahrener Spieler aber sich die ini-Datei ansieht,
    wird er sich vielleicht wundern warum Kommastellen angeschrieben stehen wenn es sich z.B. nur um eine Unterscheidung
    zwischen Fenster- und Vollbildmodus handelt.
    Wenn es bools oder integers gäbe im GM wäre das ja kein Problem aber wie macht man das mit einer real-Variable?
  • Das ist genau dasselbe "Problem" was ich gestern auch festgestellt habe. XD
    Ich habe das ganz leicht gefixt:
    Anstelle von "ini_write_real" verwende einfach "ini_write_string". Der Parameter ist hingegen die gewünschte (gerundete Zahl.)

    z.B:

    GML-Quellcode

    1. ini_write_string(floor(value));


    Ich habe mir dafür einen einfachen skript gemacht:

    GML-Quellcode

    1. //ini_write_int(value)
    2. ini_write_string(floor(argument0));

    Und dann einfach:

    GML-Quellcode

    1. ini_open(...);
    2. ini_write_int(2556);
    3. ini_close();


    Das speichert die Werte ohne den Nachkommastellen.
    Beim auslesen kannst du einfach "ini_read_real()" verwenden. Da gibt es keine Probleme.

    Was man allerdings nicht wegbekommen kann, sind die doppelten Anführungszeichen die nun um jeden Wert gelegt werden. (zumindest soweit ich dies feststellen konnte.)
  • Ich glaube man könnte das ganz einfach lösen, wenn man das als String abspeichert. Im String string(x) wird ja keine Komma stelle hinzugefügt und dann einfach mit write_string.

    Edit: oh zu spät
    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