Speicherdatei frage

    Speicherdatei frage

    hy


    also ich wollte fragen wie ich es machen kann das man wenn man eine datei speichert....ünd wenn man es so macht wie ich die ührzeit dabei hat....das zwischen der ührzeit ein doppelpünkt ist?


    weil ich kann keine backslash machen (weil er sonst einen neüen ordner erstellt)
    bei doppelpünkt speichert er die datei nicht mehr mit der richtigen endüng.

    GML-Quellcode

    1. savename ="Saves/"+name+" "+string(current_hour)+" "+string(current_minute) + ".sav";


    ünd zwischen cürrent_hoür soll ein doppelpünkt sein oder ein backslash....(aber doppelpünkt wäre mir lieber..)
    ünd bitte schreibt nicht es geht so: +string(current_hour)+":"+string(current_minute)
    weil wie gesagt speichert er es dann nicht mehr mit einer endüng..

    wäre toll wenn ihr mir da helfen könntet


    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „acidrain833“ ()

    Jop. Brauchst nur mal unter Windows eine neue Datei erstellen und die versuchen so zu benennen. Dann kriegst du direkt so ein popup mit "Folgene Zeichen sind ungültig:"
    msdn.microsoft.com/de-de/library/c6bdca6y(v=vs.90).aspx

    Hat also nix mit dem GM zutun, gewisse Zeichen sind nunmal dem Betriebssystem als Operator vorbehalten.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
    aha thx aber gibt es da nicht irgendeine möglichkeit es trotzdem einzüfügen?



    eins noch also ich lasse ja meine savesgames speichern in dem ich den üser die möglichkeit gebe den namen einzügeben.
    mein problem jetzt ist wenn man ümlaüte benützt also ä ü ö üsw fünktioniert es nicht. wie kann ich das ümgehen? (ps: also er speichert sie schon aber
    ich lasse ja dann gleich ein bild speichern ünd dieses mit dem gleichen namen kopieren..was aber bei ümläüten nicht fünktioniert)

    kann mir da jemand helfen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „acidrain833“ ()

    ​aha thx aber gibt es da nicht irgendeine möglichkeit es trotzdem einzüfügen?


    Nein!

    ​eins noch also ich lasse ja meine savesgames speichern in dem ich den üser die möglichkeit gebe den namen einzügeben.


    ​Verhindere doch einfach das der User Sonderzeichen (verbotene Zeichen) eingeben darf.
    ​Wie du das machst sei dir überlassen.
    hy weihnachtswichtel

    thx ja ich hab mir eh schon überlegt das ich einfach einen text darüber schreibe das sonderzeichen verboten sind.
    aber ich könnte vielleicht aüch mit string replace die ümlaüte ändern lassen.

    aber hab eigentlich noch eine bessere lösüng gefünden.
    Die Uhrzeit kannst du doch auch einfach in der Datei speichern um dann zb im Spiel die Savegames nach Datum sortiert anzuzeigen.
    Ich würde die saves einfach nach "save_" +string(n) +".sav"benennen und dann alle Informationen direkt in die Datei packen oder zusätzlich eine "side_"+string(n).... dafür anlegen welche dann direkt ausgelesen wird.Auch ein Buffer würde dafür funktionieren.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
    @Rhazul
    ja das hab ich eh gemacht das ich die savegames nach datüm sortiere ünd anzeige.das fünktioniert aüch süper.
    mit büffer hab ich noch nie gearbeitet also das kommt noch nicht in frage.werd ich mir aber aüch mal ansehen.
    kannst dü mir sagen was man mit büffer alles machen kann ünd wofür man sie gebraücht?.
    Werden oft zum Networking etc benutzt. Ein Buffer ist im Grunde ein gebündeltes Datenpaket wo man strings und zahlen reinpacken kann. In deinem Beispiel könntest du einmal das Savegame erstellen und zusätzlich in einen buffer die Infos reinpacken. Das kannst du dann direkt mit buffer_safe als datei abspeichern und wieder laden. Dann hättest du bspw. save01.sav und save01.buf Die Buffer könntest du im Speicherbildschirm dann alle laden um die Liste nach savename,Datum etc anzuzeigen. Der Vorteil ist dann ganz klar das du keinen riesigen overhead hast weil du die savegames dann garnicht laden musst (bis eins ausgewählt wurde)
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel:
    eine kleine frage noch zü den büffers:

    ist es möglich darin strings also richtige sätze zü speichern? ünd aüch in kategorien?weil zürzeit benütze ich eine ini datei für meine ganzen sätze für den player ünd gegner.zb: mit der kategorie: sprache/player/....
    ünd vielleicht ist ein büffer kleiner ünd performance mässig besser(was ich
    natürlich noch nicht weiß)
    eine kleine frage noch wieso geht das nicht ich will das wenn jemand ein ö benützt das dieses zü oe ümgewandelt wird.

    GML-Quellcode

    1. if string_pos("ö",keyboard_string)!= 0
    2. {
    3. string_insert("oe",keyboard_string,string_pos("ö",keyboard_string))
    4. }

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „acidrain833“ ()

    Weil dein ö nicht weg gemacht wurde. Nutze lieber string_replace_all bzw. schaue immer am letzten Zeichen nach ob dort ein Umlaut vorhanden ist und entferne/überschreibe diesen Index gegebenenfalls.
    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
    Mit der Funktion string_char_at, wobei du den letzten Index übergibst.
    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
    danke dir habs auch schon mit string_char_at probiert nur hatte ich da einen fehler drin.werd es mir heut nochmal ansehen.

    ach noch was: aber der code von oben was ist an dem eigentlich falsch?
    weil der sagt ja aus:
    wenn es den buchstaben ö im keyboard string gibt: dann füge "oe" in den keyboard_string an der stelle an der das "ö" ist


    oder hab ich da was falsch verstanden?
    Du hast da nicht gesagt, dass du das ö weg haben willst.
    Da ist der Fehler. Benutze doch einfach string_replace_all am Ende der Eingabe. Das ist die einfachste Lösung.
    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
    achso ich hab damit nur gesagt das ich wenn ein "ö" existiert ein "oe" einfügen soll und nicht ersetzen..
    ok thx


    @Husi012 du ich hatte grad einen komischen fehler:
    also ich hab ja die savegameliste und einen button mit dem man sie laden kann.

    es hat alles funktioniert dann plötzlich kommt eine komische error message:

    game load variable mismatch ...error
    und dann noch:
    variable not set before reading it.

    ganz komisch...obwohl die variable schon vorm lesen gesetzt wird.
    ich hab die saves dann gelöscht und wieder neue erstellt und siehe da ...es ging wieder....
    aber würde gerne wissen wie so ein fehler passieren kann?
    Ich denke mal, dass die SaveDatei beschädigt war und so die Variable nicht richtig aus dem Save gelesen werden konnte.
    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
    ahh mir ist grad nochwas aufgefallen.

    ich habe die ganze zeit vergessen es dem keyboard_string zuzuweisen.

    ich hatte es ja so was natürlich nicht ging:

    GML-Quellcode

    1. if string_pos("ö",keyboard_string)!= 0
    2. {
    3. string_insert("oe",keyboard_string,string_pos("ö",keyboard_string))
    4. }


    ich musste natürlich noch vorher keyboard_string = schreiben. und so funktioniert es..aber er erstellt dadurch gleich ur viele und deshalb habe ich dann
    string_replace_all benutzt was super funktioniert.thx