Урок Как создать снаряд, который летит у врага

DDSuper

Друзья CG
31 Май 2019
405
57
Сегодня мы научимся как сделать снаряд, который летит со скоростью 880
Приступаем
Чтобы создать способность, требуется сама способность
Пример:

Код:
"tusk_test"
    {
        "BaseClass"                     "ability_datadriven"
        "AbilityTextureName"            "ability_name"
        "MaxLevel"                         "1"
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
        "AbilityUnitTargetTeam"            "DOTA_UNIT_TARGET_TEAM_ENEMY"
        "AbilityUnitTargetType"            "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
        "AbilityUnitDamageType"            "DAMAGE_TYPE_MAGICAL"
        "AbilityDamage"    "200"
        "AbilityCastPoint"    "0.4"
        "AbilitySpecial"
        {
            "01"
            {
                "var_type"            "FIELD_INTEGER"
                "damage"            "200"
            }
            "02"
            {
                "var_type"            "FIELD_FLOAT"
                "duration_stun"        "5.0"
            }
            "03"
            {
                "var_type"    "FIELD_INTEGER"
                "projectile_speed"    "880"
            }
        }

Тогда нужно прописать

Код:
OnSpellStart
{
    "TrackingProjectile"
    {
        "Target"               "TARGET" /// На цель
        "EffectName"        "particles/base_attacks/ranged_tower_bad.vpcf" /// Эффект снаряда
        "Dodgeable"            "1"
        "ProvidesVision"    "0" ///Если нужно ставьте 1 если надо чтобы обзор давало
        "VisionRadius"        "%vision_radius" /// Радиус Обзора
        "MoveSpeed"            "%projectile_speed" /// Скорость снаряда
        "SourceAttachment"    "DOTA_PROJECTILE_ATTACHMENT_ATTACK_1" /// Атака партикла
    }   
}
Теперь пишем это

Код:
OnSpellStart
{

    "TrackingProjectile"

    {
        "Target"               "TARGET" /// На цель
        "EffectName"        "particles/base_attacks/ranged_tower_bad.vpcf" /// Эффект снаряда
        "Dodgeable"            "1"
        "ProvidesVision"    "0" ///Если нужно ставьте 1 если надо чтобы обзор давало
        "VisionRadius"        "%vision_radius" /// Радиус Обзора
        "MoveSpeed"            "%projectile_speed" /// Скорость снаряда
        "SourceAttachment"    "DOTA_PROJECTILE_ATTACHMENT_ATTACK_1" /// Атака партикла
    }   
}
"OnProjectileHitUnit" //// Событие что будет если снаряд ударил
{
    "DeleteOnHit"    "0" /// Ставим просто ноль

    "Damage"
    {
        "Target"    "TARGET"
        "Type"        "DAMAGE_TYPE_MAGICAL"
        "Damage"    "%damage" /// Наша переменная
    }
    "Stun"
    {
        "Target"    "TARGET"
        "Duration"    "%duration_stun"
    }
}
В результате:

Код:
"test"
    {
        "BaseClass"                     "ability_datadriven"
        "AbilityTextureName"            "ability_name"
        "MaxLevel"                         "1"
        "AbilityBehavior"                "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"
        "AbilityUnitTargetTeam"            "DOTA_UNIT_TARGET_TEAM_ENEMY"
        "AbilityUnitTargetType"            "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
        "AbilityUnitDamageType"            "DAMAGE_TYPE_MAGICAL"
        "AbilityDamage"    "200"
        "AbilityCastPoint"    "0.4"
        "AbilitySpecial"
        {
            "01"
            {
                "var_type"            "FIELD_INTEGER"
                "damage"            "200"
            }
            "02"
            {
                "var_type"            "FIELD_FLOAT"
                "duration_stun"        "5.0"
            }
            "03"
            {
                "var_type"    "FIELD_INTEGER"
                "projectile_speed"    "880"
            }
        }
        "OnSpellStart"
        {
            "TrackingProjectile"
            {
                "Target"               "TARGET"
                "EffectName"        "particles/base_attacks/ranged_tower_bad.vpcf"
                "Dodgeable"            "1"
                "ProvidesVision"    "1"
                "VisionRadius"        "%vision_radius"
                "MoveSpeed"            "%projectile_speed"
                "SourceAttachment"    "DOTA_PROJECTILE_ATTACHMENT_ATTACK_1"
            }
        }
        "OnProjectileHitUnit"
        {
            "DeleteOnHit"    "0"
        
            "Damage"
            {
                "Target"        "TARGET"
                "Type"            "DAMAGE_TYPE_MAGICAL"
                "Damage"        "%damage"
            }
            "Stun"
            {
                "Duration"   "%duration_stun"
                "Target"      "TARGET"
            }
        }
    }
}
Результаты на моём экране:
bandicam_2019-07-23_17-39-57-104.gif
 
Последнее редактирование:
  • Нравится
Реакции: Sannin
Реклама: