- Joined
- Jan 28, 2010
- Messages
- 517
- Reaction score
- 32
Anyone know where I can get the latest gm handbook? I can only find v89.
Join our community of MMORPG enthusiasts and private server developers! By registering, you'll gain access to in-depth discussions on source codes, binaries, and the latest developments in MMORPG server files. Collaborate with like-minded individuals, explore tutorials, and share insights on building and optimizing private servers. Join us today and unlock the full potential of MMORPG server development!
Join Today!package tools;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import provider.MapleData;
import provider.MapleDataProvider;
import provider.MapleDataProviderFactory;
public class WZStringDumper {
public static void main(String args[]) throws FileNotFoundException, IOException {
File stringFile = MapleDataProviderFactory.fileInWZPath("string.wz");
MapleDataProvider stringProvider = MapleDataProviderFactory.getDataProvider(stringFile);
MapleData cash = stringProvider.getData("Cash.img");
MapleData consume = stringProvider.getData("Consume.img");
MapleData eqp = stringProvider.getData("Eqp.img").getChildByPath("Eqp");
MapleData etc = stringProvider.getData("Etc.img").getChildByPath("Etc");
MapleData ins = stringProvider.getData("Ins.img");
MapleData pet = stringProvider.getData("Pet.img");
MapleData map = stringProvider.getData("Map.img");
MapleData mob = stringProvider.getData("Mob.img");
MapleData skill = stringProvider.getData("Skill.img");
MapleData npc = stringProvider.getData("Npc.img");
String output = args[0];
File outputDir = new File(output);
File cashTxt = new File(output + "\\Cash.txt");
File useTxt = new File(output + "\\Use.txt");
File eqpDir = new File(output + "\\Equip");
File etcTxt = new File(output + "\\Etc.txt");
File insTxt = new File(output + "\\Setup.txt");
File petTxt = new File(output + "\\Pet.txt");
File mapTxt = new File(output + "\\Map.txt");
File mobTxt = new File(output + "\\Mob.txt");
File skillTxt = new File(output + "\\Skill.txt");
File npcTxt = new File(output + "\\NPC.txt");
outputDir.mkdir();
cashTxt.createNewFile();
useTxt.createNewFile();
eqpDir.mkdir();
etcTxt.createNewFile();
insTxt.createNewFile();
petTxt.createNewFile();
mapTxt.createNewFile();
mobTxt.createNewFile();
skillTxt.createNewFile();
npcTxt.createNewFile();
System.out.println("Dumping Cash.img strings...");
PrintWriter writer = new PrintWriter(new FileOutputStream(cashTxt));
for (MapleData child : cash.getChildren()) {
MapleData nameData = child.getChildByPath("name");
MapleData descData = child.getChildByPath("desc");
String name = "";
String desc = "(no description)";
if (nameData != null) {
name = (String) nameData.getData();
}
if (descData != null) {
desc = (String) descData.getData();
}
writer.println(child.getName() + " - " + name + " - " + desc);
}
writer.flush();
writer.close();
System.out.println("Cash.img complete.");
System.out.println("Dumping Consume.img strings...");
writer = new PrintWriter(new FileOutputStream(useTxt));
for (MapleData child : consume.getChildren()) {
MapleData nameData = child.getChildByPath("name");
MapleData descData = child.getChildByPath("desc");
String name = "";
String desc = "(no description)";
if (nameData != null) {
name = (String) nameData.getData();
}
if (descData != null) {
desc = (String) descData.getData();
}
writer.println(child.getName() + " - " + name + " - " + desc);
}
writer.flush();
writer.close();
System.out.println("Consume.img complete.");
System.out.println("Dumping Eqp.img strings...");
for (MapleData child : eqp.getChildren()) {
System.out.println("Dumping " + child.getName() + " strings...");
File eqpFile = new File(output + "\\Equip\\" + child.getName() + ".txt");
eqpFile.createNewFile();
PrintWriter eqpWriter = new PrintWriter(new FileOutputStream(eqpFile));
for (MapleData child2 : child.getChildren()) {
MapleData nameData = child2.getChildByPath("name");
MapleData descData = child2.getChildByPath("desc");
String name = "";
String desc = "(no description)";
if (nameData != null) {
name = (String) nameData.getData();
}
if (descData != null) {
desc = (String) descData.getData();
}
eqpWriter.println(child2.getName() + " - " + name + " - " + desc);
}
eqpWriter.flush();
eqpWriter.close();
System.out.println(child.getName() + " complete.");
}
System.out.println("Eqp.img complete.");
System.out.println("Dumping Etc.img strings...");
writer = new PrintWriter(new FileOutputStream(etcTxt));
for (MapleData child : etc.getChildren()) {
MapleData nameData = child.getChildByPath("name");
MapleData descData = child.getChildByPath("desc");
String name = "";
String desc = "(no description)";
if (nameData != null) {
name = (String) nameData.getData();
}
if (descData != null) {
desc = (String) descData.getData();
}
writer.println(child.getName() + " - " + name + " - " + desc);
}
writer.flush();
writer.close();
System.out.println("Etc.img complete.");
System.out.println("Dumping Ins.img strings...");
writer = new PrintWriter(new FileOutputStream(insTxt));
for (MapleData child : ins.getChildren()) {
MapleData nameData = child.getChildByPath("name");
MapleData descData = child.getChildByPath("desc");
String name = "";
String desc = "(no description)";
if (nameData != null) {
name = (String) nameData.getData();
}
if (descData != null) {
desc = (String) descData.getData();
}
writer.println(child.getName() + " - " + name + " - " + desc);
}
writer.flush();
writer.close();
System.out.println("Ins.img complete.");
System.out.println("Dumping Pet.img strings...");
writer = new PrintWriter(new FileOutputStream(petTxt));
for (MapleData child : pet.getChildren()) {
MapleData nameData = child.getChildByPath("name");
MapleData descData = child.getChildByPath("desc");
String name = "";
String desc = "(no description)";
if (nameData != null) {
name = (String) nameData.getData();
}
if (descData != null) {
desc = (String) descData.getData();
}
writer.println(child.getName() + " - " + name + " - " + desc);
}
writer.flush();
writer.close();
System.out.println("Pet.img complete.");
System.out.println("Dumping Map.img strings...");
writer = new PrintWriter(new FileOutputStream(mapTxt));
for (MapleData child : map.getChildren()) {
writer.println(child.getName());
writer.println();
for (MapleData child2 : child.getChildren()) {
MapleData streetData = child2.getChildByPath("streetName");
MapleData mapData = child2.getChildByPath("mapName");
String streetName = "(no street name)";
String mapName = "(no map name)";
if (streetData != null) {
streetName = (String) streetData.getData();
}
if (mapData != null) {
mapName = (String) mapData.getData();
}
writer.println(child2.getName() + " - " + streetName + " - " + mapName);
}
writer.println();
}
writer.flush();
writer.close();
System.out.println("Map.img complete.");
System.out.println("Dumping Mob.img strings...");
writer = new PrintWriter(new FileOutputStream(mobTxt));
for (MapleData child : mob.getChildren()) {
MapleData nameData = child.getChildByPath("name");
String name = "";
if (nameData != null) {
name = (String) nameData.getData();
}
writer.println(child.getName() + " - " + name);
}
writer.flush();
writer.close();
System.out.println("Mob.img complete.");
System.out.println("Dumping Skill.img strings...");
writer = new PrintWriter(new FileOutputStream(skillTxt));
for (MapleData child : skill.getChildren()) {
MapleData nameData = child.getChildByPath("name");
MapleData descData = child.getChildByPath("desc");
MapleData bookData = child.getChildByPath("bookName");
String name = "";
String desc = "";
if (nameData != null) {
name = (String) nameData.getData();
}
if (descData != null) {
desc = (String) descData.getData();
}
if (bookData != null) {
continue;
} else {
writer.println(child.getName() + " - " + name + " - " + desc);
}
}
writer.flush();
writer.close();
System.out.println("Skill.img complete.");
System.out.println("Dumping Npc.img strings...");
writer = new PrintWriter(new FileOutputStream(npcTxt));
for (MapleData child : npc.getChildren()) {
MapleData nameData = child.getChildByPath("name");
String name = "";
if (nameData != null) {
name = (String) nameData.getData();
}
writer.println(child.getName() + " - " + name);
}
writer.flush();
writer.close();
System.out.println("Npc.img complete.");
}
}
What do you mean "GM Handbook?"
Like a text file of items?