[Гайд] Делаем спелл Naruto Rasengan

-ExotiC-

Какой-то ноунэйм
Команда форума
11 Авг 2014
498
56
customgames.ru
От меня: я не шарю в Наруто и не играл в карты такого типа, поэтому если будут неточности в переводе, пожалуйста, сообщите в комментариях.

Как известно карты стиля аниме очень популярны в WC3, поэтому я решил сделать Rasengan Наруто

Герой

Для упрощения всего этого дела я решил изменить Omniknight.
Идем в Steam\steamapps\common\dota 2 beta\dota_ugc\game\dota_addons\ваш_аддон\scripts\npc. Откройте npc_heroes_custom.txt. Вставьте следующий код (если вы тоже выбрали Omniknight)

Код:
//=================================================================================================================
// HERO: Omniknight
//=================================================================================================================
"npc_dota_hero_omniknight"
{
  "override_hero"     "npc_dota_hero_omniknight"
  // Abilities
  //-------------------------------------------------------------------------------------------------------------
  "AbilityLayout"       "5"
  "Ability1"         "custom_rasengan"          // Ability 3
  "Ability5"         "attribute_bonus"          // Ability 6 - Bonuses.

}

Способность (она же спелл, она же абилка)

Как видно выше, я назвал спелл custom_rasengan. Теперь открываем npc_abilities_custom.txt и вставляем этот код для создания новой абилки:

Код:
//=================================================================================================================
// Naruto: Rasengan
//=================================================================================================================
"custom_rasengan"
{
  // General
  //-------------------------------------------------------------------------------------------------------------
  "BaseClass"           "ability_datadriven"
  "AbilityBehavior"        "DOTA_ABILITY_BEHAVIOR_NO_TARGET"
  "AbilityUnitDamageType"     "DAMAGE_TYPE_PHYSICAL" 
"AbilityTextureName"      "skywrath_mage_concussive_shot"

    // Casting
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCastPoint"       "0.0 0.0 0.0 0.0"

    // Time   
    //-------------------------------------------------------------------------------------------------------------
    "AbilityCooldown"        "15.0 10.0 7.0 5.0"

    // Cost
    //-------------------------------------------------------------------------------------------------------------
    "AbilityManaCost"        "20 10 0 0"

    // Data Driven Ability
    //-------------------------------------------------------------------------------------------------------------

    "OnSpellStart"
    {    
      "ApplyModifier"
      {
        "ModifierName" "rasengan"
        "Target"    "CASTER" 
      }  

    }    

    // Modifiers
    //-------------------------------------------------------------------------------------------------------------

    "Modifiers"
    {
      "rasengan"
      {
      "Passive"  "1"
      "Duration" "6"
      "OnAttackLanded"
        {
          "Knockback"
          {
          "Target" "TARGET"
          "Center" "CASTER"
          "Duration" "1"
          "Distance" "600"
          "Height" "0"
          }

          "Damage"
          {
          "Target" "TARGET"
          "Type" "DAMAGE_TYPE_MAGICAL"
          "Damage" "50 100 150 200"
          }

          "RemoveModifier"
          {
            "ModifierName" "rasengan"
            "Target" "CASTER"  
          }
        }

      "OnDeath"
        {
          "RemoveModifier"
          {
            "ModifierName" "rasengan"
            "Target" "CASTER"  
          }
        }
      }  
    }

  }

Под OnSpellStart подразумевается что абилка начала использоваться. Затем мы пишем ApplyModifier, модификаторы - это базовые баффы и дебаффы. Мы применяем бафф к тому кто кастанул.
Мы назвали модификатор "rasengan", прикрепленный к цели. В этом случае будет использоваться OnAttackLanded.
Когда вы будете атаковать кого-нибудь, в этом случае будут происходит отбрасывания атакуемой цели назад и наноситься урон. После того как мы это сделали, мы удаляем этот модификатор - RemoveModifier.

Подсказки

В последнем пункте мы рассмотрим подсказки. Идем в Steam\steamapps\common\dota 2 beta\dota_ugc\game\dota_addons\youraddon\resource и вы увидите addon_english.txt - в нем хранятся все подсказки.

Добавьте в этом файле следующее:

Код:
    // Naruto //
    // Skill 1 - Rasengan //
    "DOTA_TOOLTIP_ABILITY_CUSTOM_RASENGAN"         "RASENGAN"
    "DOTA_TOOLTIP_ABILITY_CUSTOM_RASENGAN_DESCRIPTION"   "RASENGAN"

Тестирование
Выберите Omniknight и проверьте, все ли работает.

Перевод: http://customgames.ru/
Источник: http://www.reddit.com/r/Dota2Modding/comments/2dyusc/naruto_rasengan_custom_spell/
 
Последнее редактирование:

Reimu

Новичок
21 Авг 2014
5
0
Сделал все в точности по гайду - никаких абсолютно изменений, пикаю омни и все скилы у него стандартные, ЧЯДНТ?
 

fiCeVitka

Пользователь
21 Авг 2014
48
0
Reimu, значит что-то не так сделал. У меня все работает
 

Reimu

Новичок
21 Авг 2014
5
0
можешь папку с аддоном куда то залить целиком? ЧЯДНТ - "что я делаю не так?", это подразумевает что я понимаю что сделал что то не так
 
Последнее редактирование модератором:

fiCeVitka

Пользователь
21 Авг 2014
48
0
Reimu, у меня ее не осталось. Закинь сюда код героя и спелла
 

fiCeVitka

Пользователь
21 Авг 2014
48
0
Reimu, я тебе на pastebin оставил код в комментариях. Просто замени npc_heroes_custom.
 

Reimu

Новичок
21 Авг 2014
5
0
Просто 1ый скилл у омни исчез, начинается с репела
 

fiCeVitka

Пользователь
21 Авг 2014
48
0
Reimu, подобное может быть, если у тебя где-то не закрыта скобка. Попробуй поищи
 

Reimu

Новичок
21 Авг 2014
5
0
Да нет, все закрыты. В общем, реквестирую прямо папку с аддоном, где это все работает
 
Реклама: