Creature AI

NeedWay

Активный
5 Сен 2017
102
5
18
17
steamcommunity.com
Проект
Dota 2 PUBG
Реакции
5 0 0
#1
Нужна помощь с 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
11
0
1
18
Реакции
0 0 0
#2
Нужна помощь с 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
101
10
18
17
Реакции
13 0 1
#4
Не проще юзать lua скрипты на эту всю тему, как скиллы, так и AI?
 

NeedWay

Активный
5 Сен 2017
102
5
18
17
steamcommunity.com
Проект
Dota 2 PUBG
Реакции
5 0 0
#5
Реклама:
20 Дек 2016
391
46
28
10
Реакции
59 0 0
#6

00zveroboi

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

00zveroboi

Активный
14 Июл 2015
101
10
18
17
Реакции
13 0 1
#8
Так же не забудь вставить определенную строчку ссылку в KV
 
20 Дек 2016
391
46
28
10
Реакции
59 0 0
#10
Реклама:

shesmu

Активный
22 Фев 2018
128
17
18
22
Реакции
24 0 2
#11
Я скорее о том в чем их вызывать? Первое что в голову приходит модифиер накладывать с интервалом 0.03, но думаю способ проще есть
 
20 Дек 2016
391
46
28
10
Реакции
59 0 0
#12
Я скорее о том в чем их вызывать? Первое что в голову приходит модифиер накладывать с интервалом 0.03, но думаю способ проще есть
Если нужно просто сделать юнита, который будет бегать и кидаться во врагов способностями, то этот вариант, пожалуй, самый лучший.
 
Реклама: