К содержимому
RF DataСправочник данных
EN

Карты

Реестр карт

Всего 33 Известно 18 Производное 12 Не используется 3

Используемые параметры

Поля, которые читает сервер, клиент или которые собираются из других файлов. Описание говорит, что поле значит и как оно действует; под ним — где это установлено.

DataTable\<язык>\NDMap.edf клиентский файл

Всего 3 Известно 0 Производное 3 Не используется 0
Схема
Strs\map strs\NDMap.strs
Уровень реестра
производный
Производный из
названия карт и порталов
Свод
записи переменной длины; 3D\RFMapCompiler пишет байт в байт (maps.md §6)
Смещ.ПолеЧто это и как действуетИз чего собираетсяЧитает серверРольСтатусДанные
—названия карт, порталов, подсказок
1 + portalCount + tooltipCount строк по 64 байта на карту
3D\docs\MAP_REGISTRATION_RU.md, «Map.edf и NDMap.edf» (вне репозитория; в maps.md не перенесено — находка C)
тексты сущностей (карта, портал)—клиентпроизводное—
—названия зон миникарт
u32 длина, строка; число — по зонам Map.edf
3D\docs\MAP_REGISTRATION_RU.md, «Map.edf и NDMap.edf» (вне репозитория; в maps.md не перенесено — находка C)
тексты—клиентпроизводное—
—названия зон карт мира
так же
3D\docs\MAP_REGISTRATION_RU.md, «Map.edf и NDMap.edf» (вне репозитория; в maps.md не перенесено — находка C)
тексты—клиентпроизводное—

DataTable\Map.edf клиентский файл

Всего 17 Известно 5 Производное 9 Не используется 3
Схема
Strs\map strs\Map.edf_2.2.4.strs
Уровень реестра
производный
Производный из
Map_Data.spt + порталы и SPT карт (точки добычи *0dr/*1dr/*2dr), BSP, зоны миникарт (= серверный Map\MAPDATA.DAT)
Свод
записи переменной длины, размер не проверяется (maps.md §1)
Смещ.ПолеЧто это и как действуетИз чего собираетсяЧитает серверРольСтатусДанные
—число карт
u32; клиент требует ровно 37 (0x25 зашито в 0075C490) и равенство с числом карт NDMap.edf
maps.md §4 (раскладка Map.edf); maps.md §4.3
Map_Data.spt (число строк)—клиентпроизводное—
—index
номер карты 0…36
maps.md §4 (раскладка Map.edf)
Map_Data.spt (порядок)—клиентпроизводное—
—name
код карты (32); поиск карты и миникарты по коду без учёта регистра
maps.md §4 (раскладка Map.edf); maps.md §4.3
Map_Data.spt колонка 1—клиентпроизводное—
—file
путь BSP (128); из него же клиент строит путь _dummy.spt
maps.md §4 (раскладка Map.edf)
Map_Data.spt колонка 2—клиентпроизводное—
—spr
имя .spr миникарты (128); клиент хранит ./SpriteImage/Common/Map/<spr> и грузит как спрайт окна миникарты
maps.md §4 (раскладка Map.edf); maps.md §4.3
———известно—
—portalCount
число порталов
maps.md §4 (раскладка Map.edf)
[PORTAL] карты—клиентпроизводное—
—портал × N
288 байт: карта, номер портала, рамка (6 float), матрица 3×4, точка x y z 1 (та же, что -node_tm в .spt), тип (1 вход, 0 прибытие, 3 меню), «работает», расы, имя пустышки, название (пусто — берётся из NDMap), +0xED число пар назначения (везде 1), требования (4.2)
maps.md §4.2; maps.md §4.3
.spt (*dp) + [PORTAL]—клиентпроизводное—
—назначения × N
после всех порталов карты: на каждый портал +0xED пар (i32 карта, i32 портал) по 8 байт, −1, −1 у точек прибытия; клиент хранит указатель в +0xF0 портала
maps.md §4.3; maps.md §4
[PORTAL] m_strLinkMapCode/m_strLinkPortalCode—клиентпроизводное—
—dummyCount + пустышки
u32 + n × 96 — точки добычи руды: рамка (+8 minX, +0x10 minZ, +0x14 maxX, +0x1C maxZ; Y не проверяется), матрица и точка не читаются. Клиент берёт индекс первой записи, в чью рамку попадает игрок, и шлёт его как byMineIndex (14/1) и при установке автошахты; сервер трактует индекс по своему массиву *0dr, *1dr, *2dr. AoP: 226 записей против 62 *0dr сервера — старый список
maps.md §4.3 [код, 30.10.2026]; mining.md 2.1
*0dr, *1dr, *2dr серверного .spt в порядке файла: рамка = bbox + позиция, поворот и позиция округлены—клиентпроизводное—
—tooltipCount + подсказки
u32 + n × 84: u32 номер, i32 left, top, right, bottom — прямоугольник значка на картинке миникарты (16 × 16), char[64] текст (в файле пуст, в память читается из NDMap). Значок типа 5 с id номер | 0x50000000, текст — подсказка
maps.md §4.3 [код, 30.10.2026]
текст — NDMap.edf—сервер → клиентизвестно—
—fScale/rect × 2
две врезки миникарты: fScale ≠ 0 — врезка есть (увеличенный фрагмент), rect[0..1] — левый верхний угол фрагмента в пикселях картинки, rect[2..3] — положение окна врезки в окне миникарты; значок во врезке: (px − rect[0]) × fScale − ширина/2
maps.md §4.3 [код, 30.10.2026]
———известно—
—miniMapScale X/Y, Shift X/Y
размер и сдвиг миникарты: формула «мир ↔ клетка»
maps.md §1.2; maps.md §4.3
———известно—
—leafNum, nodeNum
числа листьев и узлов BSP — контроль при загрузке карты (0075A130): 0, 0 — не проверять; иначе должны равняться значениям загруженного BSP, при расхождении карта не загружается («DIFF BSP LEAF/NODE…» в лог)
maps.md §4.3 [код, 30.10.2026]
BSP карты (nodeNum = leafNum − 1 во всех корпусах)—клиентпроизводное—
—миникарты и карты мира
два раздела одного формата (списки CMapArea): u32 число; на запись u32 высота, u32 ширина картинки, u32 длина + имя (= код карты без учёта регистра), u32 число зон, зоны × {u32 цвет (не читается — код мёртвый), u32 x, u32 y подписи в пикселях, i32 звук (не читается)}, u32 длина + RLE-маска {u16 длина−1, u8 зона} → байт на пиксель. Зона игрока — по пикселю маски; названия зон — NDMap. Сервер шлёт индекс зоны (8/6) по своему Map\MAPDATA.DAT — у AoP байт в байт этот раздел. Карты мира — дерево map1 → map1_<зона+1>; текст зоны = название карты для перехода к её миникарте
maps.md §4.3 [код, 30.10.2026]
= серверный Map\MAPDATA.DAT (порядок и число зон)—сервер → клиентизвестно—

Map\Map_Data.spt серверный файл

Всего 13 Известно 13 Производное 0 Не используется 0
Схема
текст: * + 12 колонок (maps.md §1.1)
Уровень реестра
готов к полному
Свод
реестр карт; номер карты = порядок строки
Смещ.ПолеЧто это и как действуетКуда идёт в клиентЧитает серверРольСтатусДанные
—*
начало записи; дальше ровно 12 полей (fscanf %s)
maps.md §1.1
———известно—
—1 код
имя карты для всех ссылок (m_strCode)
maps.md §1.1
———известно—
—2 папка/имя
пути .\map\<папка>\<имя>.*, SystemSave\<имя>_Boss.ini
maps.md §1.1
———известно—
—3 тип
0 поле, 1 слои с наборами, 2 …
maps.md §1.1
———известно—
—4 класс
1 — возрождение по *ds своей расы
maps.md §1.1
———известно—
—5 число слоёв
≤ 500; у типа 0 → 1
maps.md §1.1
———известно—
—6 раса города
0/1/2 — столица расы
maps.md §1.1
———известно—
—7 наборов монстров
≤ 30; у типа 0 → 1
maps.md §1.1
———известно—
—8 радиус сектора
видимость и рассылки
maps.md §1.1
———известно—
—9 мин. уровень
только призыв игрока
maps.md §1.1
———известно—
—10 макс. уровень
только призыв; −1 — без предела
maps.md §1.1
———известно—
—11 код карты
ограничение зелий по карте (m_nPotionLim)
maps.md §1.1
———известно—
—12 маска рас PvP
три символа 0/1
maps.md §1.1
———известно—

Неиспользуемые параметры

Поля, которые не читает ни сервер, ни клиент. Для каждого — почему так решено и где это установлено. Редактор сохраняет их байты как есть.

DataTable\Map.edf клиентский файл

Смещ.ПолеПочему не используетсяДанные
—angle
поворот миникарты 0/180 — клиент поле не читает (ни одного чтения +0x164 записи карты); картинка повёрнута заранее, G106 подтверждает; при сборке писать 0
maps.md §4.3 [код, 30.10.2026]; maps.md §1.2
—
—vertexNum, faceNum
числа вершин и граней BSP — клиент не читает (+0x1C0, +0x1C4)
maps.md §4.3 [код, 30.10.2026]
—
—ebpSize
размер клиентского EBP карты (GU: 31 из 31; расхождения AoP — другие наборы файлов); клиент поле не читает (+0x1C8)
maps.md §4 [байты, 29.10.2026]; maps.md §4.3 [код, 30.10.2026]
—

← К категории

RF Online — товарный знак своих владельцев. Справочник собран из исследований для разработки контента. Собрано 01.11.2026 · каталог полей от 29.10.2026 · Adagio UI 0.5.0