public void startExtractCharacters() { WzFile file = new WzFile(wzDir + @"\Character.wz", Version); //WzFile file = new WzFile(wzDir + @"\Data - kopie.wz", Version); file.ParseWzFile(); //Console.WriteLine("Version: {0}", file.); string tempDir = currentDir; WzDirectory loldir = file.WzDirectory.GetDirectoryByName("Character"); if (loldir == null) { loldir = file.WzDirectory; } loldir.ParseImages(); foreach (WzImage img in loldir.WzImages) { currentDir += img.Name + "\\"; parseImage(img); currentDir = tempDir; } foreach (WzDirectory dir in loldir.WzDirectories) { currentDir += dir.Name + "\\"; parseDir(dir); currentDir = tempDir; } }
public override void Start() { WzFile file = MapleFileCache.Instance["Etc"]; WzDirectory familiarscwz = MapleFileCache.Instance["Character"].GetObjectFromPath("Character.wz/Familiar") as WzDirectory; if (familiarscwz != null) { WzFile mobfile = MapleFileCache.Instance["Mob"]; familiarscwz.ParseImages(); string familiarDir = exDir + "Character" + Path.DirectorySeparatorChar + "Familiar" + Path.DirectorySeparatorChar; //if (false) { foreach (WzSubProperty prop in (file.WzDirectory["FamiliarInfo.img"] as WzImage).WzProperties) { int famid = int.Parse(prop.Name); int mobid = prop["mob"].ToInt(); string tempdir = familiarDir + string.Format("{0:D7}.img", famid) + Path.DirectorySeparatorChar; WzSubProperty charwzProp = familiarscwz.GetImageByName(string.Format("{0}.img", famid))["info"] as WzSubProperty; WzSubProperty skillSubProp = prop["skill"] as WzSubProperty; FamiliarInfoSQL.Instance.AddFamiliar(famid, prop["consume"].ToInt(), mobid, charwzProp["grade"].ToInt(), charwzProp["range"].ToInt(), skillSubProp == null ? 0 : skillSubProp["id"].ToInt()); // Export images, too WzImage mobimg = mobfile.WzDirectory[string.Format("{0:D7}.img", mobid)] as WzImage; if (mobimg["info"] != null && mobimg["info"]["link"] != null) { // --- Console.WriteLine("Nekson leik links"); mobimg = mobfile.WzDirectory[string.Format("{0:D7}.img", mobimg["info"]["link"].ToInt())] as WzImage; } if (mobimg["stand"] != null) { WzSubProperty subprop = mobimg["stand"] as WzSubProperty; ExportIfExists(tempdir, subprop["0"], "stand"); foreach (var prop2 in subprop["0"].WzProperties) { ExportIfExists(tempdir, prop2, "stand.0"); } } else if (mobimg["fly"] != null) { WzSubProperty subprop = mobimg["fly"] as WzSubProperty; ExportIfExists(tempdir, subprop["0"], "stand"); foreach (var prop2 in subprop["0"].WzProperties) { ExportIfExists(tempdir, prop2, "stand.0"); } } } } } this.currentID = 90000000; foreach (WzSubProperty prop in (file.WzDirectory["SetItemInfo.img"] as WzImage).WzProperties) { ExportProps(prop, prop.Name); } }