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

Предметы и экономика

Комбинации

Старая комбинация и CombineEx у NPC

Всего 58 Известно 36 Производное 18 Не используется 4

Обзор

Комбинации — обмен набора предметов у NPC на новый предмет. В игре две независимые системы.

Старая комбинацияCombineEx («Hero combine»)
Рецепты на сервереItemCombine.dat, 103 строкиCombineTable.dat + CombineTable2.dat
В клиентеItem.edf, группа 45ItemCombine.edf
Результатодин предмет сразу в инвентарьсписок до 24 предметов, ждёт подтверждения (7/35)
На Sirinродной кодзаменён Lua ReloadableScripts\CombineEx

Как работает

  • Старая комбинация: m_nCombineIdx — ключ кнопки NPC; клиент перебирает только первые 103 строки, результат лежит в m_strCode.
  • CombineEx: номер рецепта — сквозная позиция в двух серверных файлах, поэтому вставка строки сдвигает номера, и клиент собирается вместе с сервером. Рецепт выбирает клиент, первым совпавшим в порядке ItemCombine.edf: порядок строк — это приоритет, поздний рецепт с тем же набором материалов недостижим.
  • Списки LinkedStuff.dat (LL) и LinkedResult.dat (LR) — наборы кодов, связанные позиционно: материал из списка LL даёт результат той же позиции из LR. Вторые копии кодов в LR сервер не видит — берёт первую.
  • Розыгрыш: веса результатов из 10 000; сумма меньше 10 000 — остаток даёт неудачу, больше — последние результаты недостижимы. FailOutItem — сколько материалов сохраняется при неудаче (0 — теряются все); список «неудачи» в клиенте только для показа.
  • Маска улучшения материала m_dwUpt — точное значение или −1 «любая».

Что важно при правке

  • Пустые слоты материалов начинаются с -, количество ≤ 0, маска −1; заполненные идут подряд, MaterialCount клиента равен их числу.
  • Количество материала должно помещаться в одну ячейку окна: клиент требует точного равенства.

Файлы категории

7 в реестре
ФайлСторонаФорматУровеньКорпусаЗаписьСводПримечание
script\CombineTable.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 968, GU 968, Sirin 968combinations.mdCombineEx, режим по умолчанию; combinations.md §3.1
script\CombineTable2.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 968, GU 968, Sirin 968combinations.mdCombineEx, режим по умолчанию; combinations.md §3.1
script\ItemCombine.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 208, GU 208, Sirin 208combinations.mdстарая комбинация, combinations.md §2
script\LinkedResult.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 6468, GU 6468, Sirin 6468combinations.mdcombinations.md §3.2
script\LinkedStuff.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 6468, GU 6468, Sirin 6468combinations.mdcombinations.md §3.2
sirin-lua\threads\main\ReloadableScripts\CombineEx\*.luaсерверluaготов к полномуAoP –, GU –, Sirin 3combinations.mdрежим Sirin редактора комбинаций; combine_example.lua, skins.lua, socket_extender.lua
DataTable\ItemCombine.edfклиентedfпроизводныйAoP ✓, GU ✓, Sirin ✓AoP 2 секц.: 124/1208, GU 2 секц.: 124/1208,…combinations.mdПроизводный из: CombineTable*.dat + LinkedStuff.dat (без результатов). combinations.md §3.4; в STRS первая секция разбита на два потомка (60 375 + остаток)

«готов к полному» — формат разобран и поля описаны; «производный» — файл собирается из другого; «непрозрачный» — формат известен не до конца; «отложен» и «вне рамок» — файл студией не редактируется.

Разделы категории

Файлы категории разбиты на группы; у каждой группы и подгруппы своя страница с полями только её файлов.

CombineEx

DataTable\ItemCombine.edf; script\CombineTable.dat, script\CombineTable2.dat; script\LinkedResult.dat; script\LinkedStuff.dat

Всего 45 Известно 23 Производное 18 Не используется 4

Режим Sirin (Lua)

sirin-lua\threads\main\ReloadableScripts\CombineEx\*.lua

Всего 4 Известно 4 Производное 0 Не используется 0

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

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

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

Запись: CombineTable I, CombineTable II (CombineTable)

Смещ.ПолеПочему не используетсяДанные
+0x011(без имени)
выравнивание: материалы — структуры с выравниванием 4
combinations.md §3.4; не используется: байты выравнивания (после байтового поля до поля с кратного 4 смещения; у безымянных байтов нет чтений в коде MSVC, кроме копирования записи целиком; исходник 2004 citemdatamgr.h); в AoP везде 0
183 знач.; чаще `` (99%)
+0x015(без имени) ×5
выравнивание после байта группы материала
combinations.md §3.4; не используется: байты выравнивания (после байтового поля до поля с кратного 4 смещения; у безымянных байтов нет чтений в коде MSVC, кроме копирования записи целиком; исходник 2004 citemdatamgr.h); в AoP везде 0
232 знач.; чаще / / / … (99%)

Запись: LinkedStuff

Смещ.ПолеПочему не используетсяДанные
+0x00C?-- ×100
во всех заполненных элементах AoP 0; клиент AoP не читает
combinations.md §3.4: таблицу LinkedStuff (ItemCombine::Board+0x4714) берут только конструктор 00509B30, деструктор 00509C90, загрузчик 00509D30 и подбор материалов 0050AC50; последний читает у записи +0x04 (число) и у элемента только группу (+0x08) и код (+0x10); других обращений к +0x4714…+0x4720 нет (clines)
—

script\CombineTable.dat, script\CombineTable2.dat серверный файл

Смещ.ПолеПочему не используетсяДанные
+0x08Cm_strCombineType
описание (корейский, cp949), сервер не читает
combinations.md §3.1: свод — «+0x8C | m_strCombineType | описание (корейский, cp949), сервер не читает»; в клиентский файл не идёт (ItemCombine.edf сопоставлен, combinations.md §3.4)
15267 знач.; чаще 1-3¹«Áö¾÷±×·¹ÀÌ´õ C±Þ¹«± (0%)
RF Online — товарный знак своих владельцев. Справочник собран из исследований для разработки контента. Собрано 01.11.2026 · каталог полей от 29.10.2026 · Adagio UI 0.5.0