Varstore - Schnelles, kompaktes "INI"-Dateisystem mit der 39DLL!

    • Skript

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

    • Varstore - Schnelles, kompaktes "INI"-Dateisystem mit der 39DLL!

      Guten Tag, Comunity,

      hiermit möchte ich eine kleine Sammlung von Skripten Präsentieren die zusammen eine Art Archivsystem bilden.
      Sie ermöglichen es strings anhand von "Variablen" in eine Datei zu speichern und später jederzeit auszulesen. Vergleichbar mit ini-Dateien.
      Außerdem kann man auch Dateien hinzufügen sowie das ganze verschlüsseln.

      Das tolle ist dass das ganze allein mit der kleinen (42 kb), weit verbreiteten Multiplayer DLL "39Dll" auskommt und dank dessen Buffer und File-Funktionen äußerst schnell Funktioniert.
      Im Beispiel auf meinen etwas in die Tage gekommenen Gaming PC (ohne SSD) kann das System ~1100 mal pro Sekunde 4 Variablen + 1 kleines Bild auszulesen - inklusive Verschlüsselung! Ohne Bild ~1500 mal.
      Schreiben funktioniert nur wenig langsamer.


      Zur Veranschaulichung hier einfach mal ein Anwendungsbeispiel:

      GML-Quellcode

      1. varstore_init("39dll.dll",0); // Initialisiert die 39Dll. Das zweite Argument bestimmt ob auch die Netzwerk-Funktionen geladen werden sollen.
      2. //Diese Funktion solte ins Game_start event.
      3. varstore_create("thefirstvarstore.dit"); // erstellt einen neuen "varstore". D.h. solch ein Archiv.
      4. varstore_write_string("varA", "Hallo, String hier!"); // schreibt den String 'Hallo, String hier!' unter dem Namen "varA" in das Archiv
      5. varstore_write_file("picture1","testsprite.png"); // schreibt die Datei "testsprite.png" in das Archiv unter dem Namen picture1
      6. varstore_write_string("variable2","Bye bye!"); // Schreib "Bye Bye" hinein
      7. varstore_save("mypassword"); // speichert die Datei. Das Passwort verschlüsselt die Daten, es kann aber auch einfach weggelassen werden.
      8. ///////////////////////////////////////
      9. varstore_open("thefirstvarstore.dit","mypassword"); // öffnet die Datei. Das Passwort ist erneut optional
      10. str1 = varstore_read_string("variable2"); // liest "Bye Bye" aus.
      11. varstore_read_file("picture1","testsprite_copy.png"); // schreibt die Datei "testsprite.png" aus dem Archiv in die Datei testsprite_copy.png
      12. str2 = varstore_read_string("varA"); // liest "Hallo, String hier!" aus.
      13. /* Reihenfolge des Auslesens ist egal! */
      14. varstore_close(); // schließt die Datei
      15. varstore_free(); // löscht die 39Dll sowie die benötigten Buffer aus dem Speicher. Am besten ins Game_end event.
      Alles anzeigen



      P.s. ja, mir ist bekannt dass es mit Hobbel's DataFile DLL bereits eine DLL mit ähnlicher Geschwindigkeit und etwas mehr Vielseitigkeit extra für diesen Zweck gibt... allerdings macht diese merkwürdige Faxen auf meinem PC weswegen ich diese Skripte geschrieben habe.


      Hoffe jemand hat hierfür Verwendung! :)
      Dateien
      • Varstore.zip

        (46,94 kB, 293 mal heruntergeladen, zuletzt: )

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

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