CustomGames.ru - Dota 2 пользовательские игры

Изменение параметров способности через луа

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Adam Smith

  • Друзья CG
  • 476
  • Мощь: 6
  • жрять жри его
Господа собственно вопрос века, как изменять параметры абилки через луа. Грубо говоря, что бы когда игрок покупал аганим у абилки изменялись внешние параметы, тип урона, кд и тд

SetAbylityDamageType нету такого так же и нет SetAbilityCooldown
 Мне надо что бы это показывалось на абилке именно
By PG.Freeman

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Господа собственно вопрос века, как изменять параметры абилки через луа. Грубо говоря, что бы когда игрок покупал аганим у абилки изменялись внешние параметы, тип урона, кд и тд

SetAbylityDamageType нету такого так же и нет SetAbilityCooldown
 Мне надо что бы это показывалось на абилке именно

Если ты абилку создавал через луа скрипт, то не вижу проблему: заранее подготавливаешь разветвление в абилке, где  в одном случае урон без аганима, а в другом с присутствием аганима в инвентаре.

Другой вопрос, если ты хочешь изменить "txt" абилку. Вот тут я пока что хз, если, как ты говоришь, нет функций на изменение дмг и прочего у абилок. 

Как вариант, можешь модификатор добавлять, что будет при касте той или иной способности доп урон наносить или что там у тебя.

Оффлайн Adam Smith

  • Друзья CG
  • 476
  • Мощь: 6
  • жрять жри его
Если ты абилку создавал через луа скрипт, то не вижу проблему: заранее подготавливаешь разветвление в абилке, где  в одном случае урон без аганима, а в другом с присутствием аганима в инвентаре.

Другой вопрос, если ты хочешь изменить "txt" абилку. Вот тут я пока что хз, если, как ты говоришь, нет функций на изменение дмг и прочего у абилок. 

Как вариант, можешь модификатор добавлять, что будет при касте той или иной способности доп урон наносить или что там у тебя.

Это то все понятно. Мне надо что бы внешние показатели изменялись
Это:



На Это:
By PG.Freeman

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Ааа, так это же просто в ресурсах в addon_russian.txt или там addon_english.txt прописываешь. Как в обычной доте. Или я чего-то не понял снова?)

Оффлайн CryDeS

  • Друзья CG
  • 1208
  • Мощь: 12
Добавляешь параметр в AbilitySpecial типо damage_scepter_tooltip и пишешь урон с аганимом.
А в скрипте пишешь if hero:HasScepter() then return 1000 end

Оффлайн Adam Smith

  • Друзья CG
  • 476
  • Мощь: 6
  • жрять жри его
Добавляешь параметр в AbilitySpecial типо damage_scepter_tooltip и пишешь урон с аганимом.
А в скрипте пишешь if hero:HasScepter() then return 1000 end

я не очень понял что означает return 1000
Нужно что бы показывалось в самой абилки измнение параметра-туллтипа тобишь ТИП УРОНА и тд, как у Лины с аганимом
By PG.Freeman

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Блин, держи, пример оформления скилла в моде:

Цитировать
      "DOTA_Tooltip_Ability_axe_culling_blade_custom"                              "**ашилово"
      "DOTA_Tooltip_Ability_axe_culling_blade_custom_Description"   "Axe наносит удар по слабому месту, мгновенно убивая юнита с низким уровнем здоровья, а в ином случае нанося небольшой урон. При убийстве вражеского героя способность мгновенно восстановится, а Axe и союзники поблизости получат дополнительную скорость передвижения. Улучшается с Aghanim's Scepter."
      "DOTA_Tooltip_Ability_axe_culling_blade_custom_kill_threshold"                   "Граница убийства:"
      "DOTA_Tooltip_Ability_axe_culling_blade_custom_damage"                            "Урон:"
      "DOTA_Tooltip_Ability_axe_culling_blade_custom_speed_bonus"                       "Доп. скорость передвижения при убийстве:"
      "DOTA_Tooltip_Ability_axe_culling_blade_custom_atk_speed_bonus_tooltip"           "Доп. скорость атаки при убийстве:"
      "DOTA_Tooltip_Ability_axe_culling_blade_custom_speed_duration"                    "Продолжительность бафов"
      "DOTA_Tooltip_Ability_axe_culling_blade_custom_speed_aoe"                         "Радиус бафов"
      "DOTA_Tooltip_Ability_axe_culling_blade_custom_kill_threshold_scepter"            "Граница убийства со скипетром:"
      "DOTA_Tooltip_Ability_axe_culling_blade_custom_speed_duration_scepter"            "Продолжительность бафов со скипетром:"
      "DOTA_Tooltip_ability_axe_culling_blade_custom_aghanim_description"               "Уменьшает кд, увеличивает границу и продолжительность"

Все это пишу в addon_russian.txt. В итоге:




Сама абилка
   //=================================================================================================================
   // AXE
   //=================================================================================================================   
   
   "axe_culling_blade_custom"
   {
      // General
      //-------------------------------------------------------------------------------------------------------------
      "BaseClass"                  "axe_culling_blade"
      "AbilityType"               "DOTA_ABILITY_TYPE_ULTIMATE"
      "AbilityBehavior"            "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET"      
      "AbilityUnitTargetTeam"         "DOTA_UNIT_TARGET_TEAM_ENEMY"
      "AbilityUnitTargetType"         "DOTA_UNIT_TARGET_CREEP | DOTA_UNIT_TARGET_BASIC"
      "AbilityUnitTargetFlags"      "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
      "SpellImmunityType"            "SPELL_IMMUNITY_ENEMIES_YES"
      "AbilityUnitDamageType"         "DAMAGE_TYPE_MAGICAL"   
      "FightRecapLevel"            "2"

      // Casting
      //-------------------------------------------------------------------------------------------------------------
      "AbilityCastPoint"            "0.3"

      // Time      
      //-------------------------------------------------------------------------------------------------------------
      "AbilityCooldown"            "5.0 5.0 5.0"

      // Cost
      //-------------------------------------------------------------------------------------------------------------
      "AbilityManaCost"            "10 10 10"      
      
      // Cast Range
      //-------------------------------------------------------------------------------------------------------------
      "AbilityCastRange"            "150"
      
      // Special
      //-------------------------------------------------------------------------------------------------------------
      "AbilitySpecial"
      {
         "01"
         {
            "var_type"               "FIELD_INTEGER"
            "kill_threshold"         "250 325 400"
         }
         "02"
         {
            "var_type"               "FIELD_INTEGER"
            "damage"               "150 250 300"
         }
         "03"
         {
            "var_type"               "FIELD_INTEGER"
            "speed_bonus"            "50"
         }
         "04"
         {
            "var_type"               "FIELD_INTEGER"
            "atk_speed_bonus_tooltip"            "50"
         }
         "05"
         {
            "var_type"               "FIELD_FLOAT"
            "speed_duration"         "6"
         }
         "06"
         {
            "var_type"               "FIELD_INTEGER"
            "speed_aoe"               "900"
         }
         "07"
         {
            "var_type"               "FIELD_FLOAT"
            "cooldown_scepter"         "1.0 1.0 1.0"
         }
         "08"
         {
            "var_type"               "FIELD_INTEGER"
            "kill_threshold_scepter"   "300 450 600"
         }
         "09"
         {
            "var_type"               "FIELD_FLOAT"
            "speed_duration_scepter"   "12"
         }
      }
   }   
[свернуть]
« Последнее редактирование: 04-02-2016, 16:51:19 от Илья »

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
У некоторых, например у Juggernauta, так вообще при наличии скипетра стандартное описание заменяется (т.е. белый текст, а не добавляется как у Акса зеленый)

Оффлайн CryDeS

  • Друзья CG
  • 1208
  • Мощь: 12
я не очень понял что означает return 1000
Нужно что бы показывалось в самой абилки измнение параметра-туллтипа тобишь ТИП УРОНА и тд, как у Лины с аганимом
Тип урона нельзя поменять. Уже обсуждалось.

Оффлайн Adam Smith

  • Друзья CG
  • 476
  • Мощь: 6
  • жрять жри его
Тип урона нельзя поменять. Уже обсуждалось.
Понял(Спасиб
By PG.Freeman

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Есть выход: делать свою с нуля)

Если не хочешь тратить много времени, то, например, можешь с легкостью написать код, который будет в радиусе определенном наносить чистый урон нужным юнитам и при этом давать герою скрытно ту абилку, анимацию которой ты хочешь, но абилку эту заранее подготовить: убрать у нее урон.

Я вот хотел, чтобы ульта ЦМ-ки применяла на юнитов модификатор frostbite (замораживала). В итоге сделал абилку на место ее ульты, код которой давал юнитам в радиусе этот модификатор и в то же время скрытно давал кристалке ее настоящую ульту, кастовал, а потом удалял.
« Последнее редактирование: 04-02-2016, 19:45:51 от Илья »

Оффлайн CryDeS

  • Друзья CG
  • 1208
  • Мощь: 12
Если не хочешь тратить много времени, то, например, можешь с легкостью написать код, который будет в радиусе определенном наносить чистый урон нужным юнитам и при этом давать герою скрытно ту абилку, анимацию которой ты хочешь, но абилку эту заранее подготовить: убрать у нее урон.

Я вот хотел, чтобы ульта ЦМ-ки применяла на юнитов модификатор frostbite (замораживала). В итоге сделал абилку на место ее ульты, код которой давал юнитам в радиусе этот модификатор и в то же время скрытно давал кристалке ее настоящую ульту, кастовал, а потом удалял.
Да ты царь в царстве костылей я смотрю :D

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Хаххахахах

Оффлайн Se7eN

  • Продвинутый
  • 298
  • Мощь: 11
  • King
Вахахахах