Diablo 2 Моддинг: Создание новых пассивных навыков
Нам понадобятся следующие файлы:
Skills.txt
Skilldesc.txt
States.txt
String.tbl
Сначала надо создать сам навык. Для этого урока мы создадим Паладину навык, который будет давать ему «crushing blow». Назовем этот навык просто - Crush.
Открываем skills.txt, ищем строку 147 (навык «Iron Skin»), копируем целую строку, и вставляем как новую в самом низу файла.
Изменяем поля skill, skilldesc и passivestate на что хотите, в нашем случае - Crush. Очень важно помнить, что то у вас записано в этих полях должно соответствовать и в других файлах – код в поле skilldesc должен соответствовать коду в файле skilldesc.txt, а поле passivestate должно соответствовать коду в файле states.txt.
Измените Id на следующий номер по списку, а в поле charclass укажите, кто будет использовать скил.
Коды персонажей:
ama -> Amazon
ass -> Assassin
bar -> Barbarian
dru -> Druid
nec -> Necromancer
pal -> Paladin
sor -> Sorceress
Идем дальше к полю passivestat1, где мы указываем, на что именно влияет навык. Эти коды находятся в файле Properties.txt в колонке stat1, и они отличаются от кодов, которые мы используем для статов в вещах. Колонки stat отсылаются на itemstatcost.txt, и для некоторых бонусов, напиример «+ ко всем резистам (res-all)» требуется больше чем один пассивный passivestat. Если взглянуть на навык Варвара Natural Resistance, который дает бонусы ко всем резистам, мы увидим, что у него заняты четыре из пяти возможный слотов passivestat, и у каждого стата применяестя одинаковый расчет (более детально дальше).
passivestat1 -> poisonresist
passivecalc1 -> dm12
passivestat2 -> fireresist
passivecalc2 -> dm12
passivestat3 -> coldresist
passivecalc3 -> dm12
passivestat4 -> lightresist
passivecalc4 -> dm12
Итак, здесь мы пропишем item_crushingblow
Далее, в колонке passivecalc1 нам надо указать, как бонус будет рассчитываться с каждым уровнем.
Два самых простых способа, которых можно здесь использовать это ln12 и dm12. Есть и другие более сложные расчеты (их можно найти в файле skillcalc.txt), и вы можете создавать свои собственные формулы. Также здесь можно указывать просто число (например «20») если ваш навык имеет один уровень (как у меня в моде).
Когда вы используете расчет ln12, то в колонке param1 вы задаете начальный бонус на первом уровне навыка, а в param2 число на которое будет повышаться бонус на каждом уровне. То есть, одинаковый бонус на каждом уровне. Это выглядит так:
lv 1 - 10% Crushing Blow
lv 2 - 12% Crushing Blow
lv 3 - 14% Crushing Blow
Когда вы используете расчет « dm12 », то в колонке param1 вы задаете начальный бонус на первом уровне, а в param2 максимальное число бонуса, к которому навык может дойти. При таком расчете на первых уровнях бонусы будут большие, а потому немного будут уменьшаться.
lv 1 - 10% Crushing Blow
lv 2 - 18% Crushing Blow
lv 3 - 22% Crushing Blow
lv 4 - 23% Crushing Blow
Далее, идем к колонке reqlevel, и указываем требования уровня персонажа для использования навыка. Рядом, колонка maxlvl указывает на максимальный уровень навыка.
Теперь ищем колонку Param1, о которой я вспоминал раньше, и ставим число, которое желаем назначить начальным бонусом навыка. Param1 Description просто поле для комментариев. В колонке Param2 ставим число, на которое повышается наш навык (если мы используем ln12), или максимальное число к которому навык моет дойти (если мы используем dm12).
Мы закончили с skills.txt, сохраняем и закрываем.
Теперь нам надо сделать стэйт («state»).
Открываем States.txt, просто добавляем внизу новую строку и в поле state укажите название которые вы написали в поле passivestate в файле skills.txt. У меня это Crush. Не забудьте поставить «0» в конце, в колонке Eol.
Сохраняем и выходим.
Открываем skilldesc.txt.
Копируем строку Ironskin и вставляем внизу, переименовываем на то, что вы указали в поле skilldesc в файле skills.txt. У меня это Crush.
Колонка «Skillpage» решает, на какой странице навыков будет находиться навык (1, 2 или 3). Счет идет снизу, то есть нижняя страница это первая.
Колонка Skillrow решает, в каком ряду будет навык. Всего есть 6 рядов.
Далее, Skillcolumn решает в какой колонке будет навык: в правой (1), по центру (2), или в левой (3).
ListRow не имеет значения для пасивок, потому что мы их не можем выбрать в панели быстрого выбора навыков.
IconCel это число картинки для навыка. Можно использовать классические иконки, а можно и добавлять свои с помощью DC6 Creator.
Четыре клонки Str name, Str short, str long и str alt это описания навыков. Здесь нужно ввести коды с учитыванием последнего числа (то есть если в последнем навыке стоит Skillname281, мы пишем Skillname282). И так для всех четырех колонок.
Str name это само название навыка. Str short это краткое описание навыка, когда мы наводим на него в быстрой панели. Str long это длинное описание навыка в дереве. Str alt это название навыка на экране персонажа. Помните, что здесь мы вводим только коды, а сам текст будем вводить позже в .tbl файлах.
Двигаемся дальше, к колонке descline1. Здесь надо указать код, как именно игра будет отображать текстовую информацию. Этих кодов всего 75! В следующих гайдах я расскажу про них более детально. Пока поставьте здесь 2.
В ячейке desctextb1 мы пишем код-строку символа, который игра показывает после числа. Здесь пишем StrSkill23 – этот код выводит в игре символ процентов «%».
В ячейке desctexta1 мы пишем код-строку характеристики (я создам свою, но можно использовать и уже существующие). Я напишу здесь «crush», чтобы потом добавить эту код-строку в .tbl файл.
В ячейке desccalca1 пишем то же что и в ячейке Passivecalc1 в skills.txt.
Текст, который выводится в игре:
+25% Crushing blow
+25 |
% |
Crushing blow |
Формула в desccalca1 |
«StrSkill23» код в desctextb1 |
«Crush» код в desctexta1 |
Сохраняем и выходим.
Теперь время заняться кодами-строками. Откройте string.tbl и добавьте следующие коды-сроки и их описания.
Код |
Описание |
str name |
Название вашего навыка |
str short |
Краткое описание вашего навыка |
str long |
Длинное описание вашего навыка |
str alt |
Название вашего навыка |
Crush (код из desctexta1) |
Crushing blow (с пробелом после слова) |
Вот что получилось у меня в результате:
Помните, что у всех персонажей должно быть одинаковое количество навыков, иначе будет работать только тот у которого наибольше.
Архив с готовыми файлами Skills.txt, Skilldesc.txt, States.txt, String.tbl из данного руководства.
Автор: JetaMan
Смотрите также: | ||
|
|
Комментарии
|
+2
|
Реклама:
ex-alkar.net
Ответить