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\CashShop.datserver file
Total 8Known 7Derived 0Unused 1
Schema
Scripts\strs AOP\CashShop.strs
Registry level
ready for full
Digest
cashshop.md §2
Offset
Field
What it is and how it acts
Goes to client as
Server readers
Role
Status
Data
+0x000
m_dwIndex
— (the record is taken by position)
cashshop.md §2 (digest row)
—
—
—
known
551 values; most often 0 (0%)
+0x004
m_strCode
goods code cashNNN; the key for the price lookup in CashShop_str.dat
cashshop.md §2 (digest row)
—
—
—
known
551 values; most often cash001 (0%)
+0x044
m_strCsItemCode
loading, purchase (first 7 characters)
cashshop.md §2 (digest row)
—
—
—
known
540 values; most often ipwhp02 (1%)
+0x084
m_nCsPrice
base price; replaced on loading by the national price (section 4)
cashshop.md §2 (digest row)
—
—
—
known
110 values; most often 2800 (9%)
+0x088
m_bView
purchase: 0 → error 0xB
cashshop.md §2 (digest row)
—
—
—
known
2 values; most often 1 (77%)
+0x0CC
m_nCsDiscount
goods discount; −1 — “general promotion discount”
cashshop.md §2 (digest row)
—
—
—
known
2 values; most often -1 (95%)
+0x0D0
m_nCsEvent ×8
purchase: all 8 must match the request
cashshop.md §2 (digest row)
—
—
—
known
5 values; most often 0 / 0 / 0 / 0 … (42%)
script\CashShop_str.datserver file
Total 13Known 11Derived 0Unused 2
Schema
Scripts\strs AOP\CashShop_str.strs
Registry level
ready for full
Digest
not names but national prices; cashshop.md §3
Corrections to the digest
cashshop.md: §3: CashShop_str.strs lists 11 prices (112 bytes); AoP and the server require 9 prices (104 bytes)
Offset
Field
What it is and how it acts
Goes to client as
Server readers
Role
Status
Data
+0x000
m_dwIndex
—
cashshop.md §3 (digest row)
—
—
—
known
551 values; most often 0 (0%)
+0x004
m_strCode
key = CashShop.m_strCode
cashshop.md §3 (digest row)
—
—
—
known
551 values; most often cash001 (0%)
+0x044
m_nkor_Price
KR
cashshop.md §3 (digest row)
—
—
—
known
109 values; most often 2800 (9%)
+0x048
m_nbra_Price
BR
cashshop.md §3 (digest row)
—
—
—
known
110 values; most often 9999999 (23%)
+0x04C
m_nchn_Price
CN
cashshop.md §3 (digest row)
—
—
—
known
73 values; most often 0 (16%)
+0x050
m_ngbn_Price
GB and US
cashshop.md §3 (digest row)
—
—
—
known
97 values; most often 0 (16%)
+0x054
m_nina_Price
ID
cashshop.md §3 (digest row)
—
—
—
known
97 values; most often 9999999 (23%)
+0x058
m_njpn_Price
JP
cashshop.md §3 (digest row)
—
—
—
known
40 values; most often 9999999 (23%)
+0x05C
m_nphi_Price
PH
cashshop.md §3 (digest row)
—
—
—
known
43 values; most often 9999999 (23%)
+0x060
m_nrus_Price
RU
cashshop.md §3 (digest row)
—
—
—
known
91 values; most often 9999999 (23%)
+0x064
m_ntpe_Price
TW
cashshop.md §3 (digest row)
—
—
—
known
62 values; most often 0 (16%)
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\CashShop.datserver file
Offset
Field
Why unused
Data
+0x08C
m_strItemPart
not read in loading or purchase
cashshop.md §2: digest — “+0x8C | m_strItemPart (cstr64) | showcase tags ne/be/hi/gm/li | not read in loading or purchase”; does not go to the client file (itemcash.edf is mapped, cashshop.md §5)
10 values; most often ne/0/0/0/0 (52%)
script\CashShop_str.datserver file
Offset
Field
Why unused
Data
+0x068
m_nspa_Price
national price (GU column); the field is absent in AoP; the studio writes 0
cashshop.md §4: the server takes one column by NationCode; the project server starts only with RU → m_nrus_Price; the extra GU columns are unused [user decision, 29.10.2026]
97 values; most often 0 (16%)
+0x06C
m_ntha_Price
national price (GU column); the field is absent in AoP; the studio writes 0
cashshop.md §4: the server takes one column by NationCode; the project server starts only with RU → m_nrus_Price; the extra GU columns are unused [user decision, 29.10.2026]