U can use this small tool i just wrote also.
All u have to do is drag the itemname_*.lod or mobname_*.lod file onto the icon and it will create a text file with the names.
I also added 2 textfiles taken from the aeria client, but it works with any client from any time
Source:
C#
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ReadLodWriteTxt
{
class Program
{
static void Main(string[] args)
{
List<string> text = new List<string>();
if (args[0].Contains("itemname") && Path.GetExtension(args[0]) == ".lod")
{
using (BinaryReader b = new BinaryReader(File.Open(args[0], FileMode.Open)))
{
b.ReadInt32();
while (b.BaseStream.Position < b.BaseStream.Length)
{
int ItemID = b.ReadInt32();
string ItemName = ASCIIEncoding.ASCII.GetString(b.ReadBytes(b.ReadInt32()));
string Descriptopn = ASCIIEncoding.ASCII.GetString(b.ReadBytes(b.ReadInt32()));
text.Add(ItemID + " - " + ItemName + " - " + Descriptopn);
}
}
}
else if (args[0].Contains("mobname") && Path.GetExtension(args[0]) == ".lod")
{
using (BinaryReader b = new BinaryReader(File.Open(args[0], FileMode.Open)))
{
b.ReadInt32();
while (b.BaseStream.Position < b.BaseStream.Length)
{
int NpcID = b.ReadInt32();
string NpcName = ASCIIEncoding.ASCII.GetString(b.ReadBytes(b.ReadInt32()));
text.Add(NpcID + " - " + NpcName);
}
}
}
else
Console.WriteLine("Incorrect file");
if (text.Count() > 0)
{
string FileName = Path.GetFileNameWithoutExtension(args[0]) + ".txt";
using (StreamWriter w = new StreamWriter(File.Create(FileName)))
{
foreach (string t in text)
w.WriteLine(t);
}
Console.WriteLine("Done writing file!");
}
Console.ReadLine();
}
}
}