Difference between revisions of "Dota 2 Workshop Tools:ru/Scripting:ru/Abilities Data Driven:ru"

From Valve Developer Community
Jump to: navigation, search
(Простой Пример)
Line 1: Line 1:
Большинство способностей определяются в Dota 2 C++ кодом. При взгляде на эти способности, '''npc_abilities.txt''' основной важности файл, включающий метаданные некоторых способностей, и выставляющий некоторые настройки, по большой части, метаданные определяют реальное поведение внутри кода.  
+
Большинство способностей в игре Dota 2 описаны C++ кодом. При изучении механизма работы любых способностей, становится ясно, '''npc_abilities.txt''' является основным по важности файлом. Он включает в себя данные о других способностях, и выявляет "подводные камни" некоторых настроек, по большой части, это данные внутри кода, которые определяют реальные механизмы взаимодействий.  
  
  
Line 6: Line 6:
 
== '''Простой Пример''' ==
 
== '''Простой Пример''' ==
  
Вот очень простой пример способности. Это пассивный визуальный эффект, который применяются к Юниту.  
+
Вот очень простой пример способности. Это пассивная способность, дающая визуальный эффект персонажу или юниту.  
  
  
Line 40: Line 40:
  
  
"BaseClass", "AbilityBehavior" and "AbilityTextureName" ключевая важность всех способностей:
+
"BaseClass", "AbilityBehavior" и "AbilityTextureName" это ключевые классы для всех способностей:
  
"BaseClass" - Dota выбирает С++ класс подключая способность, глядя, по названию способности(в этом случае "fx_test_ability"). Если вы хотите, чтобы DOTA выбрала другой C++ класс, то "BaseClass" сможет это сделать - в примере, мы использовали  '''ability_datadriven''' класс подключающий данные управления системы способности.
+
"BaseClass" - Обычно Dota2 выбирает С++ класс для "подключения" к способности, считывая, название способности (в этом случае "fx_test_ability". Если вы хотите, чтобы Dota2 выбрала другой C++ класс, то "BaseClass" справится с этим - в примере, мы использовали  '''ability_datadriven''' класс подключающий данные системы управления способностями.

Revision as of 00:15, 12 August 2014

Большинство способностей в игре Dota 2 описаны C++ кодом. При изучении механизма работы любых способностей, становится ясно, npc_abilities.txt является основным по важности файлом. Он включает в себя данные о других способностях, и выявляет "подводные камни" некоторых настроек, по большой части, это данные внутри кода, которые определяют реальные механизмы взаимодействий.



Простой Пример

Вот очень простой пример способности. Это пассивная способность, дающая визуальный эффект персонажу или юниту.


"fx_test_ability"
{
 // General
 //-------------------------------------------------------------------------------------------------------------
 "BaseClass"			"ability_datadriven"
 "AbilityBehavior"		"DOTA_ABILITY_BEHAVIOR_PASSIVE"
 "AbilityTextureName"		"axe_battle_hunger"
 // Modifiers
 //-------------------------------------------------------------------------------------------------------------
 "Modifiers"
 {
  "fx_test_modifier"
  {
   "Passive" "1"
   "OnCreated"
   {
    "AttachEffect"
    {
     "Target" "CASTER"
     "EffectName" "generic_buff_1"
     "EffectAttachType" "follow_overhead"
     "EffectLifeDurationScale" "1"
     "EffectColorA" "255 255 0"
    }
   }
  }
 }
}


"BaseClass", "AbilityBehavior" и "AbilityTextureName" это ключевые классы для всех способностей:

"BaseClass" - Обычно Dota2 выбирает С++ класс для "подключения" к способности, считывая, название способности (в этом случае "fx_test_ability". Если вы хотите, чтобы Dota2 выбрала другой C++ класс, то "BaseClass" справится с этим - в примере, мы использовали ability_datadriven класс подключающий данные системы управления способностями.