C# Silkroad pk2 Reader

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

      C# Silkroad pk2 Reader

      C# Silkroad pk2 Reader
      Ich glaube sowas wurd hier bis jetzt noch nicht gepostet.

      Das ist einfach ne kleine Klasse die einem den Zugang zu den Dateien innerhalb der pk2 Dateien erlaubt.

      Source

      Kleines nutzungsbeispiel:

      Quellcode

      1. //Usage Example
      2. pk2.pk2Reader reader = new pk2Reader(@"Path to Media.pk2");
      3. byte[] chardata = reader.getFile("characterdata_5000.txt");
      4. TextReader txtReader = new StreamReader(new MemoryStream(chardata));
      5. Console.WriteLine(txtReader.ReadLine());
      6. Console.Read();




      mfg bloodman

      EDIT: Hab kurz ne funktion hinzugefügt die einem eine List<string> zurückgibt in der alle Dateinamen sind.
      Dr. Gregory House: You've gotta get down here. They've got a satellite aimed directly into Cuddy's vagina. I told them that chances of invasion are slim to none but...

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

      Die Source, die du da hast ist die decompilte von bloodman. Die hätte er dir sicherlich auch gegeben wenn du ihn gefragt hättest. Evtl ist da dann sogar was kommentiert :D

      Ansonsten sind beim edxLabs NVM-Viewer PK2-Sources dabei:
      elitepvpers.com/forum/sro-codi…ol-edxnvmviewer-beta.html

      Gruß
      florian0
      Habs nun geschafft, dass er die PK2 ausliest, aber noch nicht das er alle Items ausgibt.
      Jeweils nur die erste Zeile der *.txt Datei

      //

      Quellcode

      1. pk2Reader reader = new pk2Reader(@"C:\Program Files\Spiele\SRO\styx\StyxClient\Media.pk2");
      2. string[] data = { "itemdata_5000" , "itemdata_10000" , "itemdata_15000" , "itemdata_20000" , "itemdata_25000" , "itemdata_30000" , "itemdata_35000" , "itemdata_40000" , "itemdata_45000" };
      3. for (int a = 0; a < 9; a++)
      4. {
      5. byte[] chardata = reader.getFile(data[a] + ".txt");
      6. TextReader txtReader = new StreamReader(new MemoryStream(chardata));
      7. Console.WriteLine(txtReader.ReadLine());
      8. }
      9. Console.WriteLine();
      10. Console.WriteLine("Push any key to continue...");
      11. Console.Read();
      Alles anzeigen

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

      user000user schrieb:

      Danke für den Release. Allerdings habe ich Probleme damit, Dateien auszulesen, die direkt in der Pk2 sind und in keinem Unterordner. Also Dateien wie sv.t, type.txt, etc...
      FileExists liefert immer false und getFile funktioniert auch nicht.

      Ja, stimmt. Da war noch ein kleiner Fehler im Code und ich hab nie eine neue .dll hochgeladen.
      Hier ist der gefixte code: http://pastebin.com/f99gXDCr
      Die Blowfish klasse die ich verwende ist aus der Silkroad SecurityApi von drew aka pushedx.
      Falls du dann immnoch Fragen hast, kannst mir gerne ein PM schreiben.
      Dr. Gregory House: You've gotta get down here. They've got a satellite aimed directly into Cuddy's vagina. I told them that chances of invasion are slim to none but...