Code:
[filemask="Character.dat;CharacterW.dat"]
struct CharacterFile
{
u32 ClassB;
u32 ClassBS;
seek (8+ClassB*ClassBS);
u32 GradeB;
u32 GradeBS;
seek (16+ClassB*ClassBS+GradeB*GradeBS);
u32 MasteryB;
u32 MasteryBS;
seek (24+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS);
u32 ExpB;
u32 ExpBS;
seek (32+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS);
u32 MonsterB;
u32 MonsterBS;
seek (40+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS);
u32 AnimusB;
u32 AnimusBS;
seek (48+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS+AnimusB*AnimusBS);
u32 ActionB;
u32 ActionBS;
child Class [group="Class", offset=(8), count=ClassB];
child Grade [group="Grade", offset=(16+ClassB*ClassBS), count=GradeB];
// child Mastery [group="Mastery Limit", offset=(24+ClassB*ClassBS+GradeB*GradeBS), count=MasteryB];
child Mastery [group="Warrior Mastery Limit", offset=(24+ClassB*ClassBS+GradeB*GradeBS), count=MasteryB/4];
child Mastery [group="Ranger Mastery Limit", offset=(24+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS/4), count=MasteryB/4];
child Mastery [group="Spiritualist Mastery Limit", offset=(24+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS/2), count=MasteryB/4];
child Mastery [group="Specialist Mastery Limit", offset=(24+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS*3/4), count=MasteryB/4];
child Exp [group="Exp", offset=(32+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS), count=ExpB];
child Monster [group="Monster Character", offset=(40+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS), count=MonsterB];
// child Animus [group="Paimon Character", offset=(48+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS), count=AnimusB];
child Animus [group="Paimon Character", offset=(48+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS), count=AnimusB/8];
child Animus [group="Hecate Character", offset=(48+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS+AnimusB*AnimusBS/8), count=AnimusB/8];
child Animus [group="Inanna Character", offset=(48+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS+AnimusB*AnimusBS/4), count=AnimusB/8];
child Animus [group="Isis Character", offset=(48+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS+AnimusB*AnimusBS*3/8), count=AnimusB/8];
child Animus [group="Paimon Character S", offset=(48+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS+AnimusB*AnimusBS/2), count=AnimusB/8];
child Animus [group="Hecate Character S", offset=(48+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS+AnimusB*AnimusBS*5/8), count=AnimusB/8];
child Animus [group="Inanna Character S", offset=(48+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS+AnimusB*AnimusBS*3/4), count=AnimusB/8];
child Animus [group="Isis Character S", offset=(48+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS+AnimusB*AnimusBS*7/8), count=AnimusB/8];
child Action [group="Action", offset=(56+ClassB*ClassBS+GradeB*GradeBS+MasteryB*MasteryBS+ExpB*ExpBS+MonsterB*MonsterBS+AnimusB*AnimusBS), count=ActionB];
}
struct Class [preload]
{
i8 [tag="?????"];
i8 [tag="? ????-??"];
cstr [len=2, hidden];
u32 [tag="??????"];
x32 [tag="ID ????-??"];
cstr [len=32] "????-??";
repeat 8
{
x32 [tag="ID ???? ????-??"];
}
u32 [tag="? ???????"];
cstr [len=32] "?. ??????";
cstr [len=32, id=RusName] "?. ????-??";
cstr [len=32, id=EngName] "?.?. ????-??";
nodename (": "+RusName+" | "+EngName);
i32 [tag="????"];
repeat 10
{
x32 [tag="ID ?????. ??????"];
}
i32 [tag="???? ???"];
i32 [tag="????? ?? HP"];
i32 [tag="????? ?? FP"];
i32 [tag="????? ?? SP"];
i32 [tag="?? - ??"];
i32 [tag="?? - ??"];
i32 [tag="?? - ??"];
i32 [tag="?? - ?????"];
i32 [tag="?? - ???"];
i32 [tag="?? - ??????"];
i32 [tag="?? - ??"];
i32 [tag="?? - ??"];
i32 [tag="?? - ??"];
i32 [tag="???? - ??????"];
i32 [tag="???? - ???????"];
i32 [tag="???? - ?????"];
i32 [tag="???? - ???????"];
i32 [tag="???? - ??????"];
i32 [tag="???? - ???????"];
i32 [tag="???? - ?????"];
i32 [tag="???? - ???????"];
i32 [tag="????? - ??????"];
i32 [tag="????? - ???????"];
i32 [tag="????? - ?????"];
i32 [tag="????? - ???????"];
i32 [tag="???? - ??????"];
i32 [tag="???? - ???????"];
i32 [tag="???? - ?????"];
i32 [tag="???? - ???????"];
i32 [tag="????? - ??????"];
i32 [tag="????? - ???????"];
i32 [tag="????? - ?????"];
i32 [tag="????? - ???????"];
i32 [tag="?????? - ??????"];
i32 [tag="?????? - ???????"];
i32 [tag="?????? - ?????"];
i32 [tag="?????? - ???????"];
i32 [tag="??? - ??????"];
i32 [tag="??? - ???????"];
i32 [tag="??? - ?????"];
i32 [tag="??? - ???????"];
i32 [tag="??? - ??????"];
i32 [tag="??? - ???????"];
i32 [tag="??? - ?????"];
i32 [tag="??? - ???????"];
i32 [tag="??? - ??????"];
i32 [tag="??? - ???????"];
i32 [tag="??? - ?????"];
i32 [tag="??? - ???????"];
i32 [tag="??? ??????"];
repeat 9
{
i8 [tag="ID ????"];
cstr [len=3, hidden];
}
repeat 9
{
x32 [tag="ID ????????"];
}
repeat 9
{
i8 [tag="???-??"];
}
cstr [len=3, hidden];
i32 [tag="??????????? ????-??"];
cstr [len=1024] "???????? ????-??";
}
struct Grade [preload]
{
u8 [tag="??????"];
cstr [len=32] "????????: ???????";
cstr [len=32] "????????: ????";
cstr [len=32] "????????: ???????";
cstr [len=3, hidden];
i32 [tag="??????: ???????"];
i32 [tag="??????: ????"];
i32 [tag="??????: ???????"];
}
struct Mastery [preload]
{
i8 [tag="???????"];
i8 [tag="?? - ??"];
i8 [tag="?? - ??"];
i8 [tag="?? - ??"];
i8 [tag="?? - ?????"];
i8 [tag="?? - ???"];
i8 [tag="?? - ??????"];
i8 [tag="?? - ??"];
u8 [tag="?? - ??"];
i8 [tag="?? - ??"];
i8 [tag="???? - ??????"];
i8 [tag="???? - ???????"];
i8 [tag="???? - ?????"];
i8 [tag="???? - ???????"];
i8 [tag="???? - ??????"];
i8 [tag="???? - ???????"];
i8 [tag="???? - ?????"];
i8 [tag="???? - ???????"];
i8 [tag="????? - ??????"];
i8 [tag="????? - ???????"];
i8 [tag="????? - ?????"];
i8 [tag="????? - ???????"];
i8 [tag="???? - ??????"];
i8 [tag="???? - ???????"];
i8 [tag="???? - ?????"];
i8 [tag="???? - ???????"];
i8 [tag="????? - ??????"];
i8 [tag="????? - ???????"];
i8 [tag="????? - ?????"];
i8 [tag="????? - ???????"];
i8 [tag="?????? - ??????"];
i8 [tag="?????? - ???????"];
i8 [tag="?????? - ?????"];
i8 [tag="?????? - ???????"];
i8 [tag="??? - ??????"];
i8 [tag="??? - ???????"];
i8 [tag="??? - ?????"];
i8 [tag="??? - ???????"];
i8 [tag="??? - ??????"];
i8 [tag="??? - ???????"];
i8 [tag="??? - ?????"];
i8 [tag="??? - ???????"];
i8 [tag="??? - ??????"];
i8 [tag="??? - ???????"];
i8 [tag="??? - ?????"];
i8 [tag="??? - ???????"];
}
struct Exp [preload]
{
double [tag="???????"];
double [tag="????"];
double [tag="???????"];
}
struct Monster [preload]
{
u32 [tag="??????"];
x32 [tag="ID"];
cstr [len=32, id=MonsterName] "????????";
i8 [tag="????"];
i8 [tag="??? ????"];
i8 [tag="???????", id=MonsterLevel];
i8 [tag="----i8----"];
i32 [tag="HP"];
i32 [tag="----i32----"];
i32 [tag="----i32----"];
i32 [tag="----i32----"];
i32 [tag="AttSpd"];
i32 [tag="AttRangeType"];
float [tag="AttExt"];
i8 [tag="MovSpd"];
i8 [tag="WarMovSpd"];
i8 [tag="Width"];
i8 [tag="----i8----"];
float [tag="?????? ????"];
i32 [tag="----i32----"];
i32 [tag="MonsterCondition"];
x32 [tag="EffectCode"];
i32 [tag="AttEffType"];
i32 [tag="DefEffType"];
i32 [tag="----i32----"];
i32 [tag="?????? ????"];
repeat 3
{
x32 [tag="ID ??????????"];
}
i32 [tag="??? ????"];
i32 [tag="KillPoint"];
nodename (": "+MonsterName+" ["+MonsterLevel+"]");
}
struct Animus [preload]
{
i32 [tag="???????"];
i32 [tag="Code"];
u32 [tag="????"];
u32 [tag="???? 51lv+"];
i32 [tag="HP"];
i32 [tag="FP"];
i32 [tag="HPRecUnit"];
i32 [tag="HPRecDelay"];
i32 [tag="FPRecUnit"];
i32 [tag="FPRecDelay"];
i32 [tag="?????"];
i32 [tag="??????"];
i32 [tag="ForceAttStd"];
i32 [tag="????????"];
i8 [tag="--7_i8--"];
i8 [tag="??????"];
i8 [tag="--8_i8--"];
i8 [tag="--9_i8--"];
i32 [tag="--10_i32--"];
i32 [tag="--11_i32--"];
i32 [tag="--12_i32--"];
i32 [tag="--13_i32--"];
i8 [tag="WeakPart"];
i8 [tag="?????"];
i8 [tag="????"];
i8 [tag="?????"];
i8 [tag="??????"];
i8 [tag="--15_i8--"];
i8 [tag="--16_i8--"];
i8 [tag="--17_u8--"];
i32 [tag="AttSpd"];
float [tag="AttExt"];
i8 [tag="----i8----"];
i8 [tag="----i8----"];
i8 [tag="Width"];
i8 [tag="----i8----"];
float [tag="?????? ???????"];
i32 [tag="AttEffType"];
i32 [tag="DefEffType"];
i32 [tag="----i32----"];
}
struct Action [preload]
{
i32 [tag="??? ??????"];
i32 [tag="ID"];
i32 [tag="??????"];
cstr [len=32] "????????";
i32 [tag="????"];
}
Note: Next time use search