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

Adam Smith

Друзья CG
4 Окт 2014
473
2
Господа собственно вопрос века, как изменять параметры абилки через луа. Грубо говоря, что бы когда игрок покупал аганим у абилки изменялись внешние параметы, тип урона, кд и тд

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

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

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

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

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

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

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

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



На Это:
b2e5a2f2e07e.png
 
Последнее редактирование модератором:
Ааа, так это же просто в ресурсах в addon_russian.txt или там addon_english.txt прописываешь. Как в обычной доте. Или я чего-то не понял снова?)
 
Добавляешь параметр в AbilitySpecial типо damage_scepter_tooltip и пишешь урон с аганимом.
А в скрипте пишешь if hero:HasScepter() then return 1000 end
 
[quote author=CryDeS link=topic=726.msg2797#msg2797 date=1454600561]
Добавляешь параметр в AbilitySpecial типо damage_scepter_tooltip и пишешь урон с аганимом.
А в скрипте пишешь if hero:HasScepter() then return 1000 end
[/quote]

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

"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. В итоге:

NITkaZZ.png



//=================================================================================================================
// 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"
}
}
}
 
Последнее редактирование модератором:
У некоторых, например у Juggernauta, так вообще при наличии скипетра стандартное описание заменяется (т.е. белый текст, а не добавляется как у Акса зеленый)
 
я не очень понял что означает return 1000
Нужно что бы показывалось в самой абилки измнение параметра-туллтипа тобишь ТИП УРОНА и тд, как у Лины с аганимом
Тип урона нельзя поменять. Уже обсуждалось.
 
Последнее редактирование модератором:
Есть выход: делать свою с нуля)

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

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

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