Все мы знаем про такую замечательную программу как
RF Calculator, которая позволяет рассчитать наносимый урона исходя из различных модификаторов - баф, заточка, обвес, броня и пр. Есть только один минус, данная программа давно не обновлялась и судя по всему обновится не скоро. Но у этой программы есть один большой плюс, который позволяет оставаться программе актуальной, до тех пор пока в игре не произойдёт кардинальных изменений - это открытый файл с оружием, что позволяет вам актуализировать список оружия или же собрать свой, в зависимости от сервера на котором вы играете. Кроме того, такая возможность позволяет держать несколько баз с оружием и просто присваивать файлу родное для программы имя в зависимости от надобности. Думаю, за эту фичу, автору можно выразить огромную благодарность.
Теперь пробежимся по структуре файла и разберёмся с параметрами, что позволит нам самим добавлять классы и оружие. Файл открывается блокнотом (у меня вместо блокнота установлен AkelPad) и хранит данные в кодировке Win 1251 (ANSI-Cyrillic):
[DBInfo]DBVersion=102 - не меняем, версия зашита в программу и при изменении программа просто откажется открывать этот файл
DBRoots=9 - количество классов оружия. Можно придумать и добавить свой класс. Не забываем увеличивать это число при добавлении нового класса.
[Root0] - а вот и первый класс оружия, у нас таких 10. Счёт, как видите, начинается от с нуля.
RootName=Меч - название класса, меняется безболезнено, просто текст
RootNodes=18 - количество оружия в данном классе, если добавляем или удаляем оружие, счётчик надо менять. В случае если удалили оружи, но счётчик не поменяли у вас в списке появиться зарезирвированная строка; а если добавили и счётчик не увеличили, то добавленное оружие просто не появиться.
[Root7Node21]WeaponName=Священный Огнемет - название
WeaponClass=ПУ - название класса, просто текст, желательно, чтобы совпадал с название root’a
WeaponLevel=65 - требуемый уровень для одевания оружиея
WeaponType=Двуручное оружие - тип, просто текст
WeaponRace=2 - раса, которая может носить данное оружие, в зависимости от значнеия будет меняться текст в описании к оружию.
0 - Все расы
1 - Беллато/Кора (обычно указывается только для посохов)
2 - Акретия (пу, огники)
WeaponPt=96 - необходимый уровень ПТ, название самого навыка зависит от значения IDClass (см. 2-я строчками ниже).
IDType=0 - от этого значения зависит ряд доступных параметров
0 - Простое
1 - Леон
2 - Реликтовое
3 - ПвП
4 - Эльфийское
5 - Кримсона
IDClass=3
0 - Ближний навык
1 - Магия навык
2 - Дальний навык
3 - ПУ навык
HaveIntense=1 - инт, закалка (Тип B)
HaveAbility=0 - фиолет (Тип A) - праметр не однозначный и ограниченный в выборе. Этот параметр отвечает со содержимое “Особые эффекты”. Например, если поставить один в Леоне, то в особые эффекты будет выводиться значение грейда, а для обычного оружия будет браться значение из параметра WeaponAbility, как для текста так и для пересчёта. Пожалуй самый не удобный параметр.
WeaponAtkLow=2725 - низ физической атаки
WeaponAtkHigh=6114 - верх физической атаки
WeaponForceAtkLow=0 - низ магической атаки
WeaponForceAtkHigh=0 - верх магической атаки
WeaponIAtkLow=3030 - низ физической атаки (Тип B)
WeaponIAtkHigh=6777 - верх физической атаки (Тип B)
WeaponIForceAtkLow=0 - низ магической атаки (Тип B)
WeaponIForceAtkHigh=0 - верх магической атаки (Тип B)
WeaponAbility=0 - значение для фиолета, для Леона всегда пишем 0.
WeaponImage=808 - картинка для оружия. А вот с этим проблема, вы можете использовать только те картинки, которые есть в программе - внешние файлы не воспринимаются.
Для того, чтобы добавить своё оружие, достаточно скопировать похожий блок, вставить в нужный класс (root) и подставить свои значения. Параметры оружия можно менять на лету, т.е. с запущенной программой, после изменения и сохранения файла со списком оружия просто выберить другое оружие и переключитесь обратно. А вот классы (root’ы) читаются при запуске программы.
Ну и напоследок, всё это я случайно раскопал, когда делал веб-версию калькулятора. Кроме того, что я немного потренировался в программировании это было просто приятно. Надеюсь это кому-нибудь поможет, но в первую очередь я надеюсь что эта статья даст вторую жизнь столь замечательной программе.