Захотелось обновить программу и вот...
Главное, что добавлено в новой версии, это возможность загружать файлы с уже готовыми способностями.
Также улучшен интерфейс и добавлено несколько новых фишек.
Принцип остался тот же, так что кто не понимает что и зачем это, смотрите пример в первой версии(спойлер ниже).
Скачать: https://github.com/Niker323/D2AbilityCreator/releases/
GitHub: https://github.com/Niker323/D2AbilityCreator
Главное, что добавлено в новой версии, это возможность загружать файлы с уже готовыми способностями.
Также улучшен интерфейс и добавлено несколько новых фишек.
Принцип остался тот же, так что кто не понимает что и зачем это, смотрите пример в первой версии(спойлер ниже).
Скачать: https://github.com/Niker323/D2AbilityCreator/releases/
GitHub: https://github.com/Niker323/D2AbilityCreator
Кнопка "Create" появляется в правом нижнем углу программы только когда выбран предмет или способность.
(скрины в моём ответе ниже)
(скрины в моём ответе ниже)
В режиме выбора появился поиск.
После строк "ScriptFile" теперь есть кнопка "Open" которая открывает луа файл если он прогружен в программе.
(скрины в моём ответе ниже)
После строк "ScriptFile" теперь есть кнопка "Open" которая открывает луа файл если он прогружен в программе.
(скрины в моём ответе ниже)
В программе собрано большинство событий и параметров Data Driven.
Для примера создам второй скилл пака - Waning Rift.
В верхней панели программы можно выбрать язык.
Начнём с того что вводим название и нажимаем кнопку Создать способность.
Перед нами появляется таблица с параметрами.
Галочка отвечает за то будет ли параметр в нашей способности.
Для некоторых параметров можно выбрать значения.
Выставляем нужные значения...
Добавляю OnSpellStart, AbilitySpecial, Modifiers...
Создаю модифаер modifier_silenced.
В AbilitySpecial добавляю два значения radius и silence_duration.
Настраиваю modifier_silenced.
Создаю и настраиваю States в modifier_silenced.
Последний шаг, настройка OnSpellStart.
Добавляю ActOnTargets. Настраиваю Target.
В Action добавляю Damage и ApplyModifier.
Настраиваю ApplyModifier.
Настраиваю Damage.
Готово. Нажимаем на кнопку Создать и получаем готовую способность, вот что вышло у меня:
Проверил, всё работает как надо только забыл про партиклы и звуки, но для примера этого вполне хватит.
В верхней панели программы можно выбрать язык.
Начнём с того что вводим название и нажимаем кнопку Создать способность.
Перед нами появляется таблица с параметрами.
Галочка отвечает за то будет ли параметр в нашей способности.
Для некоторых параметров можно выбрать значения.
Выставляем нужные значения...
Добавляю OnSpellStart, AbilitySpecial, Modifiers...
Создаю модифаер modifier_silenced.
В AbilitySpecial добавляю два значения radius и silence_duration.
Настраиваю modifier_silenced.
Создаю и настраиваю States в modifier_silenced.
Последний шаг, настройка OnSpellStart.
Добавляю ActOnTargets. Настраиваю Target.
В Action добавляю Damage и ApplyModifier.
Настраиваю ApplyModifier.
Настраиваю Damage.
Готово. Нажимаем на кнопку Создать и получаем готовую способность, вот что вышло у меня:
Код:
"puck_waning_rift_datadriven"
{
//Created by D2AbilityCreator
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_HERO"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitDamageType" "DAMAGE_TYPE_MAGICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_NO"
"AbilityTextureName" "puck_waning_rift"
"MaxLevel" "4"
"AbilityCastAnimation" "ACT_DOTA_CAST_ABILITY_2"
"AbilityCastRange" "400"
"AbilityCooldown" "16 15 14 13"
"AbilityManaCost" "100 110 120 130"
"AbilityDamage" "100 160 220 280"
"OnSpellStart"
{
"ActOnTargets"
{
"Target"
{
"Center" "CASTER"
"Radius" "%radius"
"Teams" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"Type" "DOTA_UNIT_TARGET_BASIC | DOTA_UNIT_TARGET_HERO"
}
"Action"
{
"Damage"
{
"Target" "TARGET"
"Type" "DAMAGE_TYPE_MAGICAL"
"Damage" "%AbilityDamage"
}
"ApplyModifier"
{
"Target" "TARGET"
"ModifierName" "modifier_silenced"
}
}
}
}
"AbilitySpecial"
{
"1"
{
"var_type" "FIELD_INTEGER"
"radius" "400"
}
"2"
{
"var_type" "FIELD_FLOAT"
"silence_duration" "2 2.5 3 3.5"
}
}
"Modifiers"
{
"modifier_silenced"
{
"Passive" "0"
"IsBuff" "0"
"IsDebuff" "1"
"IsHidden" "0"
"IsPurgable" "1"
"Duration" "%silence_duration"
"States"
{
"MODIFIER_STATE_SILENCED" "MODIFIER_STATE_VALUE_ENABLED"
}
}
}
}
Последнее редактирование: