Fields read by the server or the client, or assembled from other files. The description says what the field means and how it acts; below it — where that was established.
DataTable\PlayerCharacter.edfclient file
Total 7Known 0Derived 6Unused 1
Schema
digest: classes.md §9.4
Registry level
derived
Derived from
PlayerCharacter.dat
Offset
Field
What it is and how it acts
Assembled from
Server readers
Role
Status
Data
+0x000
number
row number
classes.md §9.4
PlayerCharacter.m_dwIndex
—
client
derived
5 values; most often 0 (20%)
+0x004
code
code as a hex number up to the first non-hex character (ACF → 0xACF, PSY → 0)
classes.md §9.4
PlayerCharacter.m_strCode
—
client
derived
5 values; most often 172 (20%)
+0x008
name
Korean name
classes.md §9.4
PlayerCharacter.m_strName
—
client
derived
5 values; most often ?§¶??????? (20%)
+0x028
race
race (byte)
classes.md §9.4
PlayerCharacter.m_nRaceCode
—
client
derived
3 values; most often 0 (40%)
+0x029
sex
sex (byte)
classes.md §9.4
PlayerCharacter.m_nSexCode
—
client
derived
2 values; most often 0 (60%)
+0x02C
parameters ×7
the same 7 float as on the server (walk, run, height, width, attack range, DefGap, DefFacing)
classes.md §9.4
PlayerCharacter.m_fMoveWalkRate…m_fDefFacing
—
client
derived
4 values; most often 1.8 / 4 / 18 / 6 … (40%)
script\PlayerCharacter.datserver file
Total 12Known 12Derived 0Unused 0
Schema
Scripts\strs AOP\Player.strs
Registry level
ready for full
Digest
classes.md §8
Offset
Field
What it is and how it acts
Goes to client as
Server readers
Role
Status
Data
+0x000
m_dwIndex
number; classes are stored in the DB by it
classes.md §2.1 (digest row)
—
—
—
known
5 values; most often 0 (20%)
+0x004
m_strCode
code like BWF1: race (B/C/A), type (W warrior, R ranger, F spiritualist, S specialist), grade (B base, F 1st, S 2nd, T 3rd), number
classes.md §2.1 (digest row)
—
14017BD70
server
known
5 values; most often ACM (20%)
+0x044
m_strName
name; the server takes names from PlayerCharacter_str.dat
classes.md §8
PlayerCharacter.edf +0x08
14017BD70
server + client
known
5 values; most often º§¶óÅä³²ÀÚ (20%)
+0x084
m_nRaceCode
0 Bellato, 1 Cora, 2 Accretia
classes.md §2.1 (digest row)
—
—
—
known
3 values; most often 0 (40%)
+0x088
m_nSexCode
sex: 0 — ACM, DEM, PSY, 1 — ACF, DEF [bytes]; to the client — PlayerCharacter.edf +0x29
classes.md §9.5
PlayerCharacter.edf +0x29
—
server → client
known
2 values; most often 0 (60%)
+0x08C
m_fMoveWalkRate
1,5 / 4,0
classes.md §8 (digest row)
—
—
—
known
3 values; most often 1.5 (40%)
+0x090
m_fMoveRunRate
1,5 / 4,0
classes.md §8 (digest row)
—
—
—
known
2 values; most often 4 (80%)
+0x094
m_fHeight
15.5 (male), 15.0 (female)
classes.md §8 (digest row)
—
—
—
known
4 values; most often 18 (40%)
+0x098
m_fWidth
6
classes.md §8 (digest row)
—
—
—
known
2 values; most often 6 (80%)
+0x09C
m_fAttackRange
11
classes.md §8 (digest row)
—
—
—
known
2 values; most often 11 (80%)
+0x0A0
m_fDefGap
0,5
classes.md §8 (digest row)
—
—
—
known
always 0.5
+0x0A4
m_fDefFacing
0,5
classes.md §8 (digest row)
—
—
—
known
always 0.5
Unused parameters
Fields that neither the server nor the client reads. For each: why it was decided so and where that was established. The editor keeps their bytes as they are.
DataTable\PlayerCharacter.edfclient file
Offset
Field
Why unused
Data
+0x02A
(2 bytes) ×2
padding before float
classes.md §9.5; unused: padding bytes (after a byte field up to the field at the next multiple of 4; unnamed bytes have no reads in MSVC code except whole-record copies; 2004 source citemdatamgr.h); 0 everywhere in AoP