Creature AI

NeedWay

Активный
5 Сен 2017
128
9
steamcommunity.com
Проект
MIDDLE HERO WAR
Нужна помощь с creature ai.
Использовал стандартный creature ai для босса кентавра:
Код:
"boss2"   
   {
      // General
      //----------------------------------------------------------------
      "Model"                        "models/heroes/centaur/centaur.vmdl"   // Model.
      "BaseClass"               "npc_dota_creature"
      "SoundSet"                     "Hero_Centaur"
      "GameSoundsFile"               "soundevents/game_sounds_heroes/game_sounds_centaur.vsndevts"
      "IdleSoundLoop"                "Hero_Centaur.Tutorial_Intro"
      "Level"                  "4"
      "ModelScale"             "1.6"
      // Abilities
      //----------------------------------------------------------------
      "Ability1"               "centaur_hoof_stomp"         // Ability 1
      "Ability2"               "chaos_knight_chaos_strike"         // Ability 2
      "Ability3"               ""         // Ability 3
      "Ability4"               ""         // Ability 4

      // Armor
      //----------------------------------------------------------------
      "ArmorPhysical"            "50"         // Physical protection.
      "MagicalResistance"            "75"
      "IsAncient"                    "1" 
      // Attack
      //----------------------------------------------------------------
      "AttackCapabilities"      "DOTA_UNIT_CAP_MELEE_ATTACK"
      "AttackDamageMin"         "520"      // Damage range min.
      "AttackDamageMax"         "560"      // Damage range max.
      "AttackRate"            "1.0"      // Speed of attack.
      "AttackAnimationPoint"      "0.4"      // Normalized time in animation cycle to attack.
      "AttackAcquisitionRange"   "800"      // Range within a target can be acquired.
      "AttackRange"            "130"      // Range within a target can be attacked.
      "ProjectileModel"         "particles/neutral_fx/gnoll_base_attack.vpcf" // Particle system model for projectile.
      "ProjectileSpeed"         "1500"      // Speed of projectile.           

      // Bounds
      //----------------------------------------------------------------
      "RingRadius"            "40"
      "HealthBarOffset"         "200"

      // Bounty
      //----------------------------------------------------------------
      "BountyXP"               "1000"      // Experience earn.
      "BountyGoldMin"            "0"      // Gold earned min.
      "BountyGoldMax"            "0"      // Gold earned max.

      // Movement
      //----------------------------------------------------------------
      "MovementCapabilities"      "DOTA_UNIT_CAP_MOVE_GROUND"
      "MovementSpeed"            "380"      // Speed.         

      // Status
      //----------------------------------------------------------------
      "StatusHealth"            "25000"      // Base health.
      "StatusHealthRegen"         "25"      // Health regeneration rate.
      "StatusMana"            "1300"         // Base mana.
      "StatusManaRegen"         "5.0"      // Mana regeneration rate.       
      
      // Vision
      //----------------------------------------------------------------
      "VisionDaytimeRange"      "400"      // Range of vision during day light.
      "VisionNighttimeRange"      "400"      // Range of vision at night time.

      // Team
      //----------------------------------------------------------------
      "TeamName"               "DOTA_TEAM_GOODGUYS"                  // Team name.
      "CombatClassAttack"         "DOTA_COMBAT_CLASS_ATTACK_BASIC"
        "CombatClassDefend"         "DOTA_COMBAT_CLASS_DEFEND_BASIC"
        "UnitRelationshipClass"      "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT"
      // Creature Data
      //----------------------------------------------------------------
      "Creature"
      {
         //Level Up
         "HPGain"               "50"
         "DamageGain"            "2"
         "ArmorGain"               "0.25"
         "MagicResistGain"         "0.1"
         "MoveSpeedGain"            "1"
         "BountyGain"            "3"
         "XPGain"               "15"
         "ItemDrops"
            {
                "Armor"
                {
                    "Item"
                    {
                        "1"             "item_assault"
                    }
                    "Chance"            "100"
                }
            }
             "DefaultState"            "Invade"
              "OffensiveAbilities"
                {
                    "Ability1" 
                        {
                            "Name" "centaur_hoof_stomp"
                            "AOE" "1"
                            "Radius" "475"
                            "MinimumTargets" "1"
                            "Debuff" "1"
                            "Stun" "1"
                        }
                }
         "States"
            {
                "Invade"
                {
                    "Name"            "Invade"
                    "Aggression"    "80.0"
                    "Avoidance"        "0.0"
                    "Support"        "80.0"
                }
            }
      "AttachWearables"
    {
            "Wearable1" { "ItemDef" "6500" }
            "Wearable2" { "ItemDef" "6497" }
            "Wearable3" { "ItemDef" "6494" }
            "Wearable4" { "ItemDef" "6495" }
            "Wearable5" { "ItemDef" "6496" }
            "Wearable6" { "ItemDef" "6889" }
            "Wearable7" { "ItemDef" "6498" }
    }
     }
                }
В общем очевидно, что при постонной битве до смерти, он дает только 1 стан на 80% хп у врага.
Мне же нужно, чтобы он давал стан по кд, при этом же условии, что сверху, ну или хотя бы какое-то кол-во раз на каком-то % хп.
Возможно ли это сделать без более сложного creature ai?
 

X=Y

Пользователь
26 Апр 2018
12
0
Нужна помощь с creature ai.
Использовал стандартный creature ai для босса кентавра:
Код:
"boss2"  
   {
      // General
      //----------------------------------------------------------------
      "Model"                        "models/heroes/centaur/centaur.vmdl"   // Model.
      "BaseClass"               "npc_dota_creature"
      "SoundSet"                     "Hero_Centaur"
      "GameSoundsFile"               "soundevents/game_sounds_heroes/game_sounds_centaur.vsndevts"
      "IdleSoundLoop"                "Hero_Centaur.Tutorial_Intro"
      "Level"                  "4"
      "ModelScale"             "1.6"
      // Abilities
      //----------------------------------------------------------------
      "Ability1"               "centaur_hoof_stomp"         // Ability 1
      "Ability2"               "chaos_knight_chaos_strike"         // Ability 2
      "Ability3"               ""         // Ability 3
      "Ability4"               ""         // Ability 4

      // Armor
      //----------------------------------------------------------------
      "ArmorPhysical"            "50"         // Physical protection.
      "MagicalResistance"            "75"
      "IsAncient"                    "1"
      // Attack
      //----------------------------------------------------------------
      "AttackCapabilities"      "DOTA_UNIT_CAP_MELEE_ATTACK"
      "AttackDamageMin"         "520"      // Damage range min.
      "AttackDamageMax"         "560"      // Damage range max.
      "AttackRate"            "1.0"      // Speed of attack.
      "AttackAnimationPoint"      "0.4"      // Normalized time in animation cycle to attack.
      "AttackAcquisitionRange"   "800"      // Range within a target can be acquired.
      "AttackRange"            "130"      // Range within a target can be attacked.
      "ProjectileModel"         "particles/neutral_fx/gnoll_base_attack.vpcf" // Particle system model for projectile.
      "ProjectileSpeed"         "1500"      // Speed of projectile.          

      // Bounds
      //----------------------------------------------------------------
      "RingRadius"            "40"
      "HealthBarOffset"         "200"

      // Bounty
      //----------------------------------------------------------------
      "BountyXP"               "1000"      // Experience earn.
      "BountyGoldMin"            "0"      // Gold earned min.
      "BountyGoldMax"            "0"      // Gold earned max.

      // Movement
      //----------------------------------------------------------------
      "MovementCapabilities"      "DOTA_UNIT_CAP_MOVE_GROUND"
      "MovementSpeed"            "380"      // Speed.        

      // Status
      //----------------------------------------------------------------
      "StatusHealth"            "25000"      // Base health.
      "StatusHealthRegen"         "25"      // Health regeneration rate.
      "StatusMana"            "1300"         // Base mana.
      "StatusManaRegen"         "5.0"      // Mana regeneration rate.      
     
      // Vision
      //----------------------------------------------------------------
      "VisionDaytimeRange"      "400"      // Range of vision during day light.
      "VisionNighttimeRange"      "400"      // Range of vision at night time.

      // Team
      //----------------------------------------------------------------
      "TeamName"               "DOTA_TEAM_GOODGUYS"                  // Team name.
      "CombatClassAttack"         "DOTA_COMBAT_CLASS_ATTACK_BASIC"
        "CombatClassDefend"         "DOTA_COMBAT_CLASS_DEFEND_BASIC"
        "UnitRelationshipClass"      "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT"
      // Creature Data
      //----------------------------------------------------------------
      "Creature"
      {
         //Level Up
         "HPGain"               "50"
         "DamageGain"            "2"
         "ArmorGain"               "0.25"
         "MagicResistGain"         "0.1"
         "MoveSpeedGain"            "1"
         "BountyGain"            "3"
         "XPGain"               "15"
         "ItemDrops"
            {
                "Armor"
                {
                    "Item"
                    {
                        "1"             "item_assault"
                    }
                    "Chance"            "100"
                }
            }
             "DefaultState"            "Invade"
              "OffensiveAbilities"
                {
                    "Ability1"
                        {
                            "Name" "centaur_hoof_stomp"
                            "AOE" "1"
                            "Radius" "475"
                            "MinimumTargets" "1"
                            "Debuff" "1"
                            "Stun" "1"
                        }
                }
         "States"
            {
                "Invade"
                {
                    "Name"            "Invade"
                    "Aggression"    "80.0"
                    "Avoidance"        "0.0"
                    "Support"        "80.0"
                }
            }
      "AttachWearables"
    {
            "Wearable1" { "ItemDef" "6500" }
            "Wearable2" { "ItemDef" "6497" }
            "Wearable3" { "ItemDef" "6494" }
            "Wearable4" { "ItemDef" "6495" }
            "Wearable5" { "ItemDef" "6496" }
            "Wearable6" { "ItemDef" "6889" }
            "Wearable7" { "ItemDef" "6498" }
    }
     }
                }
В общем очевидно, что при постонной битве до смерти, он дает только 1 стан на 80% хп у врага.
Мне же нужно, чтобы он давал стан по кд, при этом же условии, что сверху, ну или хотя бы какое-то кол-во раз на каком-то % хп.
Возможно ли это сделать без более сложного creature ai?
Сделай скилл DD.
 

00zveroboi

Активный
14 Июл 2015
103
17
Не проще юзать lua скрипты на эту всю тему, как скиллы, так и AI?
 

00zveroboi

Активный
14 Июл 2015
103
17
было бы проще, я бы юзал. Есть где гайды по AI в луа?
Гайды? есть примеры по которым все понятно... Siltbreaker в папках как Dungeon, лично я там все понял без гайдов, думаю любой поймет, там просто все.
P.S. Сейчас бы дизлайкать за подсказку :D
 

00zveroboi

Активный
14 Июл 2015
103
17
Так же не забудь вставить определенную строчку ссылку в KV
 

shesmu

Продвинутый
22 Фев 2018
158
22
Я скорее о том в чем их вызывать? Первое что в голову приходит модифиер накладывать с интервалом 0.03, но думаю способ проще есть
 
20 Дек 2016
892
170
Я скорее о том в чем их вызывать? Первое что в голову приходит модифиер накладывать с интервалом 0.03, но думаю способ проще есть
Если нужно просто сделать юнита, который будет бегать и кидаться во врагов способностями, то этот вариант, пожалуй, самый лучший.
 
Реклама: