Skip to content
RF DataData reference
RU

Items · Special items

NPC link items

Total 33 Known 28 Derived 0 Unused 5

Used parameters

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.

script\NPCLinkItem.dat server file

Total 33 Known 28 Derived 0 Unused 5
Schema
Scripts\strs AOP\NpcLink.strs
Registry level
ready for full
Digest
items.md §13; all fields — items-fields.md
Corrections to the digest
  • items.md: §13: the field +0xD0 is named FixPart in the schema, without prefix
OffsetFieldWhat it is and how it actsGoes to client asServer readersRoleStatusData
+0x000m_dwIndex
row number; also the item number in the DB key (3.1)
items-fields.md, Table 35
+0x0possibly: 140065140 1400655A0 14006F980 +14keyknown22 values; most often 0 (5%)
+0x004m_strCode
item code; the client ID is the packed code (2)
items-fields.md, Table 35
+0x04 ID (packing, 2)possibly: 140011440 140041060 14006A9D0 +84keyknown22 values; most often lknpc00 (5%)
+0x044m_bExist
row is active (section 6)
items-fields.md, Table 35
+0x881400173B0 1401DDDE0server + clientknownalways 1
+0x048m_strModel
model: hex string → client u32 (models.md)
items-fields.md, Table 35
+0x48 hex (models.md)—clientknown9 values; most often 731600 (18%)
+0x088m_nIconIDX
icon (sprites.md)
items-fields.md, Table 35
+0x4C—clientknown15 values; most often 1 (14%)
+0x08Cm_strName
name; the server overwrites it from <table>_str.dat, the client takes it from NDItem.edf (6, 1)
items-fields.md, Table 35
+0x08 from NDItem.edf140015DE0keyknown10 values; most often UMT Disposable Pager (14%)
+0x0D4m_strCivil
race mask, a character per race (8)
items-fields.md, Table 35
+0x50 bytes140015690server + clientknown3 values; most often 11000 (36%)
+0x114m_strStore_NPCcode
delivery NPC store (npc-stores.md)
items-fields.md, Table 35
+0x9C hex—clientknown13 values; most often 060B0 (9%)
+0x154m_nNpc_Class1
NPC classes (npc-stores.md)
items-fields.md, Table 35
+0xA0, +0xA1, +0xA2—clientknown5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%)
+0x158m_nNpc_Class2
NPC classes (npc-stores.md)
items-fields.md, Table 35
+0xA0, +0xA1, +0xA2—clientknown5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%)
+0x15Cm_nNpc_Class3
NPC classes (npc-stores.md)
items-fields.md, Table 35
+0xA0, +0xA1, +0xA2—clientknown5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%)
+0x160m_nNpc_Class4
NPC classes (npc-stores.md)
items-fields.md, Table 35
+0xA0, +0xA1, +0xA2—clientknown5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%)
+0x164m_nNpc_Class5
NPC classes (npc-stores.md)
items-fields.md, Table 35
+0xA0, +0xA1, +0xA2—clientknown5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%)
+0x168m_nNpc_Class6
NPC classes (npc-stores.md)
items-fields.md, Table 35
+0xA0, +0xA1, +0xA2—clientknown5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%)
+0x16Cm_nNpc_Class7
NPC classes (npc-stores.md)
items-fields.md, Table 35
+0xA0, +0xA1, +0xA2—clientknown5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%)
+0x170m_nNpc_Class8
NPC classes (npc-stores.md)
items-fields.md, Table 35
+0xA0, +0xA1, +0xA2—clientknown5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%)
+0x174m_nNpc_Class9
NPC classes (npc-stores.md)
items-fields.md, Table 35
+0xA0, +0xA1, +0xA2—clientknown5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%)
+0x178m_nNpc_Class10
NPC classes (npc-stores.md)
items-fields.md, Table 35
+0xA0, +0xA1, +0xA2—clientknown5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%)
+0x17Cm_nMoney
price currency (8)
items-fields.md, Table 35
+0x59 (byte)140013FB0server + clientknownalways 0
+0x180m_nStdPrice
price; the buy-back is based on it too (8)
items-fields.md, Table 35
+0x5C140013FB0server + clientknown2 values; most often 10000 (82%)
+0x184m_nStoragePrice
warehouse storage price
items-fields.md, Table 35
+0x701400149B0server + clientknown2 values; most often 100 (82%)
+0x18Cm_nStdPoint
price in the PvP purse (currencies 2, 3)
items-fields.md, Table 35
+0x60—clientknownalways 0
+0x190m_nStoragePart
item storage (NPCLink, coupon)
items-fields.md, Table 35
+0xAC14007F910server + clientknown2 values; most often 0 (59%)
+0x194m_bSell
can be sold to NPC (6)
items-fields.md, Table 35
+0x7814001A430server + clientknownalways 1
+0x198m_bExchange
can be traded (6)
items-fields.md, Table 35
+0x7414001ABB0server + clientknownalways 1
+0x19Cm_bGround
can be dropped (6)
items-fields.md, Table 35
+0x7C140016C20server + clientknownalways 1
+0x1A0m_bStoragePossible
can be stored in the warehouse (6)
items-fields.md, Table 35
+0x80140017BA0server + clientknownalways 1
+0x1E8m_bIsCash
cash item (log, cash shop)
items-fields.md, Table 35
+0x8C14001A090 14007F910server + clientknown2 values; most often 0 (82%)

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.

script\NPCLinkItem.dat server file

OffsetFieldWhy unusedData
+0x0CCm_nKindClt
“kind, client” (2004); does not go to the client, the model matters (7.1)
items-fields.md: role “nobody” — no server reads found (dataflow\wflow_<t>, wcase_<t>, tower/trap objects; coverage incomplete) and the field is absent from the Item.edf record (cmatch.py check on AoP)
always 780
+0x0D0FixPart
same as m_nFixPart (schema name without prefix)
items-fields.md: role “nobody” — no server reads found (dataflow\wflow_<t>, wcase_<t>, tower/trap objects; coverage incomplete) and the field is absent from the Item.edf record (cmatch.py check on AoP)
always 300
+0x188m_nLV
level (teleport scroll)
items-fields.md: role “nobody” — no server reads found (dataflow\wflow_<t>, wcase_<t>, tower/trap objects; coverage incomplete) and the field is absent from the Item.edf record (cmatch.py check on AoP)
always 1
+0x1A4m_bUseableNormalAcc
common flag; unused
items.md §17.5: the getter 1400182C0 has no references from code (Ghidra: only .pdata); itemflow.py over 37 tables (GetRecord, record array +0xA0, arguments) — no direct reads; the consumers of 14 record storage places were checked; Sirin — only a type description; the field is absent from the client Item.edf record
always 1
+0x1A8m_strTooltipIndex
description code; for equipment the client stores the description number +0x84 (7.3)
items-fields.md: role “nobody” — no server reads found (dataflow\wflow_<t>, wcase_<t>, tower/trap objects; coverage incomplete) and the field is absent from the Item.edf record (cmatch.py check on AoP)
22 values; most often tlknpc00 (5%)

← Back to category

RF Online is a trademark of its owners. The reference is compiled from research for content development. Built 01.11.2026 · field catalog dated 29.10.2026 · Adagio UI 0.5.0