Forsaken World and also Perfect world (and also JD stores most of the game data inside elements.data.
Items name, gear properties, icons and spell ID are inside structured .data file. But without knowing of that structure nearly impossible easily get or edit specific data for one needed object.
If someone already worked with PW custom servers, they know about editing of the elements.data by ELeditor (EL Tools and so on) and of course they know about necessity of correct description for .data internal structure.
So, just for beginning I’ve done ~10-15% and write down structure for 10 data block inside elements.data.
Everyone is welcome for further analyzing
Forsaken World elements.data
Note: You can also write data blocks name for further quick identificationPHP Code:
//--------------------------------------
//--- 010 Editor v3.1.2 Binary Template
//
// File: elements.data
// Author: Dwar
// Revision: 0.1
// Purpose: Analyzing
//--------------------------------------
struct header
{
int unk;
time_t fTime;
};
header test;
struct data01
{
int BlockSize;
int Size;
struct Block
{
int id;
wchar_t text[32]; //Wide Strings (Unicode Strings), 64byte
int unk;
int unk;
float fl2;
int unk;
int unk;
};
local int i;
for (i=0; i < Size; i++)
{
Block test;
};
}
file;
struct data02
{
int BlockSize;
int Size;
struct Block02
{
int Id;
wchar_t text[32];
int Desc[162];
};
local int i;
for (i=0; i < Size; i++)
{
Block02 test;
}
}
file;
struct data03
{
int BlockSize;
int Size;
struct Block03
{
int Id;
wchar_t text[32];
};
local int i;
for (i=0; i < Size; i++)
{
Block03 test;
}
}
file;
struct data04
{
int BlockSize;
int Size;
struct Block04
{
int Id;
wchar_t text[32];
};
local int i;
for (i=0; i < Size; i++)
{
Block04 test;
}
}
file;
struct data05
{
int BlockSize;
int Size;
struct Block05
{
int Id;
int unk;
int unk;
wchar_t text[32];
int unk;
wchar_t text2[16];
byte Desc[160];
};
local int i;
for (i=0; i < Size; i++)
{
Block05 test;
}
}
file;
struct data06
{
int BlockSize;
int Size;
struct Block06
{
int Id;
wchar_t text[32];
};
local int i;
for (i=0; i < Size; i++)
{
Block06 test;
}
}
file;
struct data07
{
int BlockSize;
int Size;
struct Block07
{
int Id;
wchar_t text[32];
};
local int i;
for (i=0; i < Size; i++)
{
Block07 test;
}
}
file;
struct data08
{
int BlockSize;
int Size;
struct Block08
{
int Id;
int unk;
int unk;
wchar_t text[32];
int unk;
wchar_t text2[16];
int param1[9];
float ink;
int param2[11];
};
local int i;
for (i=0; i < Size; i++)
{
Block08 test;
}
}
file;
struct data09
{
int BlockSize;
int Size;
struct Block09
{
int Id;
wchar_t text[32];
int param1[22];
float ink;
int param2[7];
};
local int i;
for (i=0; i < Size; i++)
{
Block09 test;
}
}
file;
Please register or login to download attachments.