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

Персонажи и существа

Скиллы и форс

Пять таблиц эффектов, потолки мастерства, SkillForce.edf

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

Обзор

Скиллы, форс, классовые скиллы и эффекты зелий и патронов — пять серверных таблиц с двумя схемами (Skill.dat, ClassSkill.dat, BulletItemEffect.dat, PotionItemEffect.dat по одной схеме и Force.dat по своей). Клиентские SkillForce.edf и NDSkillForce.edf выводятся из серверных: тот же порядок и число записей в каждом блоке, код — hex-число; правила преобразования проверены побайтно. Потолки мастерства — четыре таблицы *MasteryLimit.dat ↔ блок 5 Character.edf.

Как работает

  • Мастерство задаётся парой (вид, номер): оружие, защита, щит, скилл 0–47, форс 0–23, крафт 0–2, особое умение расы. Потолок берётся из *MasteryLimit.dat по классу и уровню, в очках по формуле уровень ↔ очки.
  • Уровень 1–7 скилла или форса считается от мастерства по общей формуле; массивы по 7 уровням у классовых скиллов и снарядов значимы только первым элементом.
  • Проверки при применении: порядок и коды отказа фиксированы; атакующий скилл требует m_nAttackable ≠ 0, форму атаки 0–7, типы оружия в m_strFixWeapon и снаряд для оружия с патронами; атакующий форс применяется только с посохом.
  • Действие: мгновенный эффект m_nTempEffectType (−1, 0–57, 70–75; иное роняет сервер), постоянный эффект и кого затрагивает m_nContAreaType (0, 1, 2, 3, 10; значения 2 и 3 работают как 0), аура — скилл вида 4 с радиусом m_nBonusDistance.
  • Строки-флаги: раса 5 позиций, цель 4, должность 12, оружие 13 (12 типов + плащ); остальные позиции не читаются.
  • Обязательные записи: BulletItemEffect с кодами 15 и 16 (иначе сервер не стартует), 17 — для мгновенного эффекта 46.

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

  • Ключ — номер строки; вспомогательные скиллы — в первых 256 строках Skill.dat.
  • ForceItem.m_strForce_Codekey указывает на существующий код Force.dat; классовый скилл должен быть в списке класса нужного типа.
  • Условия только клиента (пассивный скилл, особый тип, щит) сервер не проверяет.

Клиентский SkillForce.edf собирается из серверных Force.dat, Skill.dat, ClassSkill.dat, BulletItemEffect.dat, PotionItemEffect.dat генератором R&D\disasm\skillforce\gen.py; на паре AoP результат совпал побайтно (sfcheck.py, skills.md §17). Поэтому все поля клиентской записи — производные; байты, которые генератор не пишет, — константа 0.

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

11 в реестре
ФайлСторонаФорматУровеньКорпусаЗаписьСводПримечание
script\BulletItemEffect.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 1168, GU 1168, Sirin 1168skills.md, items.mdсхема скиллов (Skill.strs); items.md §11.3, skills.md §9
script\ClassSkill.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 1168, GU 1168, Sirin 1168skills.mdskills.md §9–10
script\Force.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 1088, GU 1088, Sirin 1088skills.mdskills.md §9: своя схема, короче Skill на 0x50
script\PotionItemEffect.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 1168, GU 1168, Sirin 1168skills.md, items.mdсхема скиллов (Skill.strs); items.md §11.3, skills.md §9
script\RangerMasteryLimit.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 232, GU 232, Sirin 232skills.mdskills.md §6.1–6.2
script\Skill.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 1168, GU 1168, Sirin 1168skills.mdskills.md §9–10
script\SpecialistMasteryLimit.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 232, GU 232, Sirin 232skills.mdskills.md §6.1–6.2
script\SpiritualistMasteryLimit.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 232, GU 232, Sirin 232skills.mdskills.md §6.1–6.2
script\WarriorMasteryLimit.datсерверdatготов к полномуAoP ✓, GU ✓, Sirin ✓AoP 232, GU 232, Sirin 232skills.mdskills.md §6.1–6.2
DataTable\<язык>\NDSkillForce.edfклиентedfпроизводныйAoP ✓ (en-ph, ru-ru), GU ✓ (en-gb, ru-ru), Sirin ✓ (en-gb, ru-ru)AoP 5 секц.: 544×5, GU 5 секц.: 544×5, Sirin…skills.md, localization.mdПроизводный из: названия и описания скиллов, форса, эффектов. skills.md §17
DataTable\SkillForce.edfклиентedfпроизводныйAoP ✓, GU ✓, Sirin ✓AoP 5 секц.: 1096/1120×4, GU 5 секц.: 1096/1…skills.md, items.mdПроизводный из: Force.dat, Skill.dat, ClassSkill.dat, BulletItemEffect.dat, PotionItemEffect.dat. skills.md §17

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

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

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

Форс

script\Force.dat

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

Потолки мастерства

script\RangerMasteryLimit.dat, script\SpecialistMasteryLimit.dat …

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

Клиент: SkillForce.edf

DataTable\<язык>\NDSkillForce.edf; DataTable\SkillForce.edf

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

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

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

script\BulletItemEffect.dat, script\ClassSkill.dat, script\PotionItemEffect.dat, script\Skill.dat серверный файл

Смещ.ПолеПочему не используетсяДанные
+0x378m_nTempParamCode
не используется: сервер поле не читает; клиент получает как код блока мгновенного эффекта, но читателя кода нет; подсказка зелья с кодом 0/1/2 одинакова (игра, G110, 29.10.2026); сохранять как при импорте, для новых записей — 0
skills.md §17.3; game-checks.md G110
4 знач.; чаще -1 (87%)

script\Force.dat серверный файл

Смещ.ПолеПочему не используетсяДанные
+0x344m_nTempParamCode
не используется: сервер поле не читает; клиент получает как код блока мгновенного эффекта, но читателя кода нет; подсказка зелья с кодом 0/1/2 одинакова (игра, G110, 29.10.2026); сохранять как при импорте, для новых записей — 0
skills.md §17.3; game-checks.md G110
3 знач.; чаще -1 (92%)

script\RangerMasteryLimit.dat, script\SpecialistMasteryLimit.dat, script\SpiritualistMasteryLimit.dat, script\WarriorMasteryLimit.dat серверный файл

Смещ.ПолеПочему не используетсяДанные
+0x000m_dwIndex
не читается
skills.md §6.1: свод — «0x00 | m_dwIndex | — | не читается»; в клиентский файл не идёт (блок 4 Character.edf сопоставлен полностью, skills.md §6.6)
66 знач.; чаще 0 (2%)
+0x004m_strCode
не читается (в AoP везде 0)
skills.md §6.1: свод — «0x04 | m_strCode (64) | — | не читается (в AoP везде 0)»; в клиентский файл не идёт (блок 4 Character.edf сопоставлен полностью, skills.md §6.6)
всегда 0
RF Online — товарный знак своих владельцев. Справочник собран из исследований для разработки контента. Собрано 01.11.2026 · каталог полей от 29.10.2026 · Adagio UI 0.5.0