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
FixPartin the schema, without prefix
| Offset | Field | What it is and how it acts | Goes to client as | Server readers | Role | Status | Data |
|---|---|---|---|---|---|---|---|
+0x000 | m_dwIndex | row number; also the item number in the DB key (3.1) items-fields.md, Table 35 | +0x0 | possibly: 140065140 1400655A0 14006F980 +14 | key | known | 22 values; most often 0 (5%) |
+0x004 | m_strCode | item code; the client ID is the packed code (2) items-fields.md, Table 35 | +0x04 ID (packing, 2) | possibly: 140011440 140041060 14006A9D0 +84 | key | known | 22 values; most often lknpc00 (5%) |
+0x044 | m_bExist | row is active (section 6) items-fields.md, Table 35 | +0x88 | 1400173B0 1401DDDE0 | server + client | known | always 1 |
+0x048 | m_strModel | model: hex string → client u32 (models.md) items-fields.md, Table 35 | +0x48 hex (models.md) | — | client | known | 9 values; most often 731600 (18%) |
+0x088 | m_nIconIDX | icon (sprites.md) items-fields.md, Table 35 | +0x4C | — | client | known | 15 values; most often 1 (14%) |
+0x08C | m_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.edf | 140015DE0 | key | known | 10 values; most often UMT Disposable Pager (14%) |
+0x0D4 | m_strCivil | race mask, a character per race (8) items-fields.md, Table 35 | +0x50 bytes | 140015690 | server + client | known | 3 values; most often 11000 (36%) |
+0x114 | m_strStore_NPCcode | delivery NPC store (npc-stores.md) items-fields.md, Table 35 | +0x9C hex | — | client | known | 13 values; most often 060B0 (9%) |
+0x154 | m_nNpc_Class1 | NPC classes (npc-stores.md) items-fields.md, Table 35 | +0xA0, +0xA1, +0xA2 | — | client | known | 5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%) |
+0x158 | m_nNpc_Class2 | NPC classes (npc-stores.md) items-fields.md, Table 35 | +0xA0, +0xA1, +0xA2 | — | client | known | 5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%) |
+0x15C | m_nNpc_Class3 | NPC classes (npc-stores.md) items-fields.md, Table 35 | +0xA0, +0xA1, +0xA2 | — | client | known | 5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%) |
+0x160 | m_nNpc_Class4 | NPC classes (npc-stores.md) items-fields.md, Table 35 | +0xA0, +0xA1, +0xA2 | — | client | known | 5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%) |
+0x164 | m_nNpc_Class5 | NPC classes (npc-stores.md) items-fields.md, Table 35 | +0xA0, +0xA1, +0xA2 | — | client | known | 5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%) |
+0x168 | m_nNpc_Class6 | NPC classes (npc-stores.md) items-fields.md, Table 35 | +0xA0, +0xA1, +0xA2 | — | client | known | 5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%) |
+0x16C | m_nNpc_Class7 | NPC classes (npc-stores.md) items-fields.md, Table 35 | +0xA0, +0xA1, +0xA2 | — | client | known | 5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%) |
+0x170 | m_nNpc_Class8 | NPC classes (npc-stores.md) items-fields.md, Table 35 | +0xA0, +0xA1, +0xA2 | — | client | known | 5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%) |
+0x174 | m_nNpc_Class9 | NPC classes (npc-stores.md) items-fields.md, Table 35 | +0xA0, +0xA1, +0xA2 | — | client | known | 5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%) |
+0x178 | m_nNpc_Class10 | NPC classes (npc-stores.md) items-fields.md, Table 35 | +0xA0, +0xA1, +0xA2 | — | client | known | 5 values; most often 19 / 20 / 0 / 0 / 0 / 0 / 0 / 0 / 0 / 0 (27%) |
+0x17C | m_nMoney | price currency (8) items-fields.md, Table 35 | +0x59 (byte) | 140013FB0 | server + client | known | always 0 |
+0x180 | m_nStdPrice | price; the buy-back is based on it too (8) items-fields.md, Table 35 | +0x5C | 140013FB0 | server + client | known | 2 values; most often 10000 (82%) |
+0x184 | m_nStoragePrice | warehouse storage price items-fields.md, Table 35 | +0x70 | 1400149B0 | server + client | known | 2 values; most often 100 (82%) |
+0x18C | m_nStdPoint | price in the PvP purse (currencies 2, 3) items-fields.md, Table 35 | +0x60 | — | client | known | always 0 |
+0x190 | m_nStoragePart | item storage (NPCLink, coupon) items-fields.md, Table 35 | +0xAC | 14007F910 | server + client | known | 2 values; most often 0 (59%) |
+0x194 | m_bSell | can be sold to NPC (6) items-fields.md, Table 35 | +0x78 | 14001A430 | server + client | known | always 1 |
+0x198 | m_bExchange | can be traded (6) items-fields.md, Table 35 | +0x74 | 14001ABB0 | server + client | known | always 1 |
+0x19C | m_bGround | can be dropped (6) items-fields.md, Table 35 | +0x7C | 140016C20 | server + client | known | always 1 |
+0x1A0 | m_bStoragePossible | can be stored in the warehouse (6) items-fields.md, Table 35 | +0x80 | 140017BA0 | server + client | known | always 1 |
+0x1E8 | m_bIsCash | cash item (log, cash shop) items-fields.md, Table 35 | +0x8C | 14001A090 14007F910 | server + client | known | 2 values; most often 0 (82%) |