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




Комментарии

alkargames 2017-12-31 01:13:04
Alkar Games, сервер Diablo II, Ladder Reset 22.12.2017
ex-alkar.net

[Ответить]
↑ +2 ↓
Вахид 2017-07-25 02:49:22
Уже захотелось помодить. Жаль только, что игры-то у меня пока нет, Твить игра!

[Ответить]
↑ +2 ↓

Страницы: [1]

Оставить комментарий


Ваше имя:

Комментарий:



Реклама:

Наша командаРазработка глобального обновления

При поддержке Сил Преисподней
2008-2024