Stats in .txt schreiben und crypten

  • GM 8

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

  • Stats in .txt schreiben und crypten

    Hey :)
    Ich möchte, dass wenn der Spieler ein Level aufsteigt, dass in eine Textdatei schreibt (die soll so aussehen:
    Playername: xxxxx
    Level: xxxxx
    currentxp: 123
    -----CLOTHES-----
    Hat: 0
    Head: 78 (Das ist die ID vom Kopf)
    Body: 32
    Pants: 1
    Shoes: 1)
    und mit der ultracrypt.dll encrypten. Wie kann ich es machen, dass die Stats am Anfang des Spiels wieder ausgelesen werden und verwendet werden? Kann auch eine .ini sein (man sieht dann ja eh nicht mehr was da drin steht ^_^).
    Wie kann ich das machen?

    Danke, MfG Clark

    DigitalClark
  • Hatte ich mir gerade auch überlegt...
    Wie kann ich mit ultracrypt.dll dann das auslesen? MUSS ich das decrypten oder geht das so? Ich muss decrypten, auslesen und wieder encrypten, oder? Gibt es irgendwie eine Anleitung das mit den .ini's zu benutzen, denn die Hilfe finde ich sehr lästig...

    MfG Clark

    DigitalClark
  • Eine sehr einfache und weit hergeholte Möglichkeit: Jedes Level wird abgefragt und bekommt einen eigenen Wert.

    GML-Quellcode

    1. switch(global.level)
    2. {
    3. case 1:
    4. global.levelsave = 5401150
    5. break;
    6. }


    Du müsstest dann global.levelsave abspeichern, nicht die eigentlichen Variablen für Levels. Das wird bei mehreren Levels ziemlich umständlich. Auf die Schnelle kann ich jetzt keinen Lösungsansatz bringen. Aber wenn ich nach Hause komme und es hier noch sonst keine Antworten gegeben hat, schaue ich das nochmals genauer an.

    Lg
    Michael

    //Edit
    Du kannst global.levelsave auch bei jedem Levelup um einen bestimmten Wert erhöhen, sodass in der INI-Datei eine hohe, für den Spieler nicht interpretierbare Zahl für das aktuelle Level steht. Immer bei einem Levelup kommt bei global.levelsave z.B. += 19.072 hinzu. Das ergibt katastrophale Zahlen, die nicht so leicht zu knacken sind.

    Mit ultracrypt.dll habe ich noch nie gearbeitet.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Michaelp800 ()

  • Ne'besser Methode ist das Verschluesseln durch Bytes.
    Sagen wir mal, dein Wert ist 4567 (2bytes) der sich an Stelle 2 oder sowas befindet.
    Dann gehste her:

    GML-Quellcode

    1. //ich hab hier nichts getestet, das kommt alles aus'ner ungefaehren Idee
    2. global.energie = 4567;
    3. byte1 = string_copy(global.energie,1,2); //kopiere erstes byte
    4. byte2 = string_copy(global.energie,3,2); //kopiere zweites byte
    5. global.datei = file_bin_open('datei.dat',2);
    6. file_bin_seek(global.datei,2); //wir lesen ab Position 2 ein
    7. file_bin_write_byte(global.datei,byte1); //wir schreiben byte1
    8. file_bin_seek(global.datei,3); //wir lesen ab Position 3 ein
    9. file_bin_write_byte(global.datei,byte2); //wir schreiben byte2
    10. file_bin_close(global.datei);

    irgendwie so ^^

    und den selben Mist machste beim einlesen.
    Aber vergiss nich die zwei string zusammenzusetzen beim einlesen