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

  • Автор темы Автор темы DDSuper
  • Дата начала Дата начала

DDSuper

Друзья CG
31 Май 2019
405
58
Сегодня мы научимся как сделать снаряд, который летит со скоростью 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
Реклама: