Автор Тема: RF Calculator (off-line версия) - вторая жизнь  (Прочитано 2022 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Leonardo

  • Администратор
  • *
  • Сообщений: 734
Все мы знаем про такую замечательную программу как 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’ы) читаются при запуске программы.

Ну и напоследок, всё это я случайно раскопал, когда делал веб-версию калькулятора. Кроме того, что я немного потренировался в программировании это было просто приятно. Надеюсь это кому-нибудь поможет, но в первую очередь я надеюсь что эта статья даст вторую жизнь столь замечательной программе.
"Как странно – когда исчезает темнота, перестаешь видеть свет!" (С. Лукьяненко)