Урок Datadriven Ability Как создать способность? (Детально!) Для уровня: Новичка

DDSuper

Друзья CG
31 Май 2019
405
57
Всем привет, вот думаю создать гайд для новичка.
Рекомендую установить Sublime Text 3 очень удобный и легко установите лишь Dota Kv
Сначала откройте файл dota 2 beta/game/dota_addons/your_addon/scripts/npc/npc_abilities_custom.txt если у вы не имеете этот файл создайте
Теперь создадим это:
KV:
"DOTAAbilities"
{
}
Если вы это не имеете напишите
Внутри в скобках напишите

KV:
"DOTAAbilities"
{
    "test_ability" // Нажмите таб и пишите это
    {

    }
}
Внутри скобок "test_ability" напишите
Код:
"DOTAAbilities"
{
    "test_ability" // название способности
    {
        "BaseClass"    "ability_datadriven" // Не меняйте
        "AbilityTextureName"    "icon" // Иконка способности
        "MaxLevel"    "4" // Максимальный уровень к примеру 4 уровня
    }
}
Теперь, AbilityBehavior

Код:
"DOTAAbilities"
{
    "test_ability"
    {
        "BaseClass"                     "ability_datadriven" // Не менять
        "AbilityTextureName"            "ability_name" // Название иконки разрешение 128х128
        "MaxLevel"                         "4" // Максимальный Уровень способности.
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" // Как будет работать? или накого?  Для новичка проще чтобы она работала на цель
        "AbilityUnitTargetTeam"            "DOTA_UNIT_TARGET_TEAM_ENEMY" // На какую команду работает, если у тебя не один а два разделяй их так DOTA_UNIT_TARGET_TEAM_ENEMY | DOTA_UNIT_TARGET_TEAM_BOTH
        "AbilityUnitTargetType"            "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" // На кого будет способность работать
        "AbilityUnitDamageType"            "DAMAGE_TYPE_MAGICAL" // какой тип урона будет наносить урон
    }
}
Теперь давайте добавим механику (Чтобы наносить урон, и ограничить радиус)

Код:
"DOTAAbilities"
{
    "test_ability"
    {
        "BaseClass"                     "ability_datadriven" // Не меняй
        "AbilityTextureName"            "ability_name" // Название иконки разрешение 128х128
        "MaxLevel"                         "4" // Максимальный Уровень способности.
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" // Как будет работать или накого? Для новичка проще чтобы она работала на цель
        "AbilityUnitTargetTeam"            "DOTA_UNIT_TARGET_TEAM_ENEMY" // На какую команду работает, если у тебя не один а два разделяй их так DOTA_UNIT_TARGET_TEAM_ENEMY | DOTA_UNIT_TARGET_TEAM_BOTH
        "AbilityUnitTargetType"            "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" // На кого будет способность работать
        "AbilityUnitDamageType"            "DAMAGE_TYPE_MAGICAL" // какой тип урона будет наносить урон
        "AbilityCastRange"                "500 600 700 800" // Максимальный радиус каста(применение) способности
        "AbilityDamage"                    "100 150 200 250" // Урон способности свой выбирайте
    }
}
Теперь давайте OnSpellStart
Код:
"OnSpellStart" // Когда ты выбрал цель и нажал на его. Нанести урон
    {
        "Damage"
        {
            "Target"        "TARGET" // Кому нанести урон?
            "Type"            "DAMAGE_TYPE_MAGICAL" // Тип урона
            "Damage"        "%AbilityDamage" // Переменная это она "AbilityDamage"
        }
    }
}

Код:
"DOTAAbilities"
{
    "test_ability"
    {
        "BaseClass"                     "ability_datadriven" // Не меняй
        "AbilityTextureName"            "ability_name" // Название иконки разрешение 128х128
        "MaxLevel"                         "4" // Максимальный Уровень способности.
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET" // Как будет работать или накого? Для новичка проще чтобы она работала на цель
        "AbilityUnitTargetTeam"            "DOTA_UNIT_TARGET_TEAM_ENEMY" // На какую команду работает, если у тебя не один а два разделяй их так DOTA_UNIT_TARGET_TEAM_ENEMY | DOTA_UNIT_TARGET_TEAM_BOTH
        "AbilityUnitTargetType"            "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC" // На кого будет способность работать
        "AbilityUnitDamageType"            "DAMAGE_TYPE_MAGICAL" // какой тип урона будет наносить урон
        "AbilityCastRange"                "500 600 700 800" // Максимальный радиус каста(применение) способности
        "AbilityDamage"                    "100 150 200 250" // Урон способности
        "OnSpellStart" // Когда ты выбрал цель и нажал. То давай просто нанесёт урон.
        {
            "Damage"
            {
                "Target"        "TARGET" // Кому нанести урон?
                "Type"            "DAMAGE_TYPE_MAGICAL" // Тип урона
                "Damage"        "%AbilityDamage" // Переменная это она
            }
        }
    }
}
 
Последнее редактирование:
Реклама: