Помогите сделать скилл персонажу. Я проверил многие гайды на ютубе, но ни 1 не помог. Искал тут на форуме, но тут уже другие запросы.

Назар

Пользователь
22 Июл 2019
10
0
Проект
Dota Custom Game
Помогите сделать скилл персонажу. Я проверил многие гайды на ютубе, но ни 1 не помог. Искал тут на форуме, но тут уже другие запросы. Люди уже создали скилл и хотят его немного изменить, либо же они создают скилл совершенно отличный от моего и я не могу разобраться. Я пробовал написать по гайдам скилл, вроде все делал верно, но когда я зашел билдить карту, то скилла и в помине не было. Выходит, что я не могу даже "привязать скилл" герою. Я хочу изменить 1 из скиллов дровки на сплэш-атаку , как у Медузы, заранее спасибо и надеюсь на вашу отзывчивость! (Пожалуйста, если хотите помочь, то делайте это подробно)
 

alex_gadzy

Пользователь
28 Июн 2019
49
2
Во-первых нет кода,во-вторых возьми из спелл либрари скилл медузы замени модели и прочее на траксу и все
 

Назар

Пользователь
22 Июл 2019
10
0
Проект
Dota Custom Game
Во-первых нет кода,во-вторых возьми из спелл либрари скилл медузы замени модели и прочее на траксу и все
ок, спасибо. Я пойду искать как это все делать, если что, то потом напишу что не получилось и что получилось
 

alex_gadzy

Пользователь
28 Июн 2019
49
2
сам скилл
"medusa_split_shot_datadriven"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_IMMEDIATE"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_ALL"
"AbilityUnitTargetFlag" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
"AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"AbilityTextureName" "medusa_split_shot"

// Precache
//-------------------------------------------------------------------------------------------------------------
"precache"
{
"soundfile" "soundevents/game_sounds_heroes/game_sounds_medusa.vsndevts"
"particle" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"particle" "particles/units/heroes/hero_medusa/medusa_base_attack.vpcf"
}

// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.4 0.4 0.4 0.4"

// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"damage_modifier" "-20"
}
"02"
{
"var_type" "FIELD_INTEGER"
"damage_modifier_tooltip" "80"
}
"03"
{
"var_type" "FIELD_INTEGER"
"arrow_count" "1 2 3 4"
}
"04"
{
"var_type" "FIELD_INTEGER"
"total_arrow_count" "2 3 4 5"
}
"05"
{
"var_type" "FIELD_INTEGER"
"range" "700"
}
"06"
{
"var_type" "FIELD_INTEGER"
"projectile_speed" "1200"
}
}

"OnToggleOn"
{
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"EffectAttachType" "follow_origin"
"Target" "CASTER"
}

"ApplyModifier"
{
"ModifierName" "modifier_split_shot_datadriven"
"Target" "CASTER"
}
}

"OnToggleOff"
{
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"EffectAttachType" "follow_origin"
"Target" "CASTER"
}

"RemoveModifier"
{
"ModifierName" "modifier_split_shot_datadriven"
"Target"
{
"Center" "CASTER"
"Flags" "DOTA_UNIT_TARGET_FLAG_DEAD"
}
}
}

"OnProjectileHitUnit"
{
"DeleteOnHit" "1"

"FireSound"
{
"EffectName" "Hero_Medusa.AttackSplit"
"Target" "TARGET"
}

"RunScript"
{
"ScriptFile" "heroes/hero_medusa/split_shot.lua"
"Function" "SplitShotDamage"
}
}

"Modifiers"
{
"modifier_split_shot_datadriven"
{
"Passive" "0"
"IsHidden" "1"
"IsDebuff" "0"

"OnAttack"
{
"RunScript"
{
"ScriptFile" "heroes/hero_medusa/split_shot.lua"
"Function" "SplitShotLaunch"
"split_shot_projectile" "particles/units/heroes/hero_medusa/medusa_base_attack.vpcf"
}
}

"Properties"
{
"MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE" "%damage_modifier"
}
}
}
}
lua
function SplitShotLaunch( keys )
local caster = keys.caster
local caster_location = caster:GetAbsOrigin()
local ability = keys.ability
local ability_level = ability:GetLevel() - 1
-- Targeting variables
local target_type = ability:GetAbilityTargetType()
local target_team = ability:GetAbilityTargetTeam()
local target_flags = ability:GetAbilityTargetFlags()
local attack_target = caster:GetAttackTarget()
-- Ability variables
local radius = ability:GetLevelSpecialValueFor("range", ability_level)
local max_targets = ability:GetLevelSpecialValueFor("arrow_count", ability_level)
local projectile_speed = ability:GetLevelSpecialValueFor("projectile_speed", ability_level)
local split_shot_projectile = keys.split_shot_projectile
local split_shot_targets = FindUnitsInRadius(caster:GetTeam(), caster_location, nil, radius, target_team, target_type, target_flags, FIND_CLOSEST, false)
-- Create projectiles for units that are not the casters current attack target
for _,v in pairs(split_shot_targets) do
if v ~= attack_target then
local projectile_info =
{
EffectName = split_shot_projectile,
Ability = ability,
vSpawnOrigin = caster_location,
Target = v,
Source = caster,
bHasFrontalCone = false,
iMoveSpeed = projectile_speed,
bReplaceExisting = false,
bProvidesVision = false
}
ProjectileManager:CreateTrackingProjectile(projectile_info)
max_targets = max_targets - 1
end
-- If we reached the maximum amount of targets then break the loop
if max_targets == 0 then break end
end
end
-- Apply the auto attack damage to the hit unit
function SplitShotDamage( keys )
local caster = keys.caster
local target = keys.target
local ability = keys.ability
local damage_table = {}
damage_table.attacker = caster
damage_table.victim = target
damage_table.damage_type = ability:GetAbilityDamageType()
damage_table.damage = caster:GetAttackDamage()
ApplyDamage(damage_table)
end
 

Назар

Пользователь
22 Июл 2019
10
0
Проект
Dota Custom Game
сам скилл
"medusa_split_shot_datadriven"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_IMMEDIATE"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_ALL"
"AbilityUnitTargetFlag" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
"AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"AbilityTextureName" "medusa_split_shot"

// Precache
//-------------------------------------------------------------------------------------------------------------
"precache"
{
"soundfile" "soundevents/game_sounds_heroes/game_sounds_medusa.vsndevts"
"particle" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"particle" "particles/units/heroes/hero_medusa/medusa_base_attack.vpcf"
}

// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.4 0.4 0.4 0.4"

// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"damage_modifier" "-20"
}
"02"
{
"var_type" "FIELD_INTEGER"
"damage_modifier_tooltip" "80"
}
"03"
{
"var_type" "FIELD_INTEGER"
"arrow_count" "1 2 3 4"
}
"04"
{
"var_type" "FIELD_INTEGER"
"total_arrow_count" "2 3 4 5"
}
"05"
{
"var_type" "FIELD_INTEGER"
"range" "700"
}
"06"
{
"var_type" "FIELD_INTEGER"
"projectile_speed" "1200"
}
}

"OnToggleOn"
{
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"EffectAttachType" "follow_origin"
"Target" "CASTER"
}

"ApplyModifier"
{
"ModifierName" "modifier_split_shot_datadriven"
"Target" "CASTER"
}
}

"OnToggleOff"
{
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"EffectAttachType" "follow_origin"
"Target" "CASTER"
}

"RemoveModifier"
{
"ModifierName" "modifier_split_shot_datadriven"
"Target"
{
"Center" "CASTER"
"Flags" "DOTA_UNIT_TARGET_FLAG_DEAD"
}
}
}

"OnProjectileHitUnit"
{
"DeleteOnHit" "1"

"FireSound"
{
"EffectName" "Hero_Medusa.AttackSplit"
"Target" "TARGET"
}

"RunScript"
{
"ScriptFile" "heroes/hero_medusa/split_shot.lua"
"Function" "SplitShotDamage"
}
}

"Modifiers"
{
"modifier_split_shot_datadriven"
{
"Passive" "0"
"IsHidden" "1"
"IsDebuff" "0"

"OnAttack"
{
"RunScript"
{
"ScriptFile" "heroes/hero_medusa/split_shot.lua"
"Function" "SplitShotLaunch"
"split_shot_projectile" "particles/units/heroes/hero_medusa/medusa_base_attack.vpcf"
}
}

"Properties"
{
"MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE" "%damage_modifier"
}
}
}
}
lua
function SplitShotLaunch( keys )
local caster = keys.caster
local caster_location = caster:GetAbsOrigin()
local ability = keys.ability
local ability_level = ability:GetLevel() - 1
-- Targeting variables
local target_type = ability:GetAbilityTargetType()
local target_team = ability:GetAbilityTargetTeam()
local target_flags = ability:GetAbilityTargetFlags()
local attack_target = caster:GetAttackTarget()
-- Ability variables
local radius = ability:GetLevelSpecialValueFor("range", ability_level)
local max_targets = ability:GetLevelSpecialValueFor("arrow_count", ability_level)
local projectile_speed = ability:GetLevelSpecialValueFor("projectile_speed", ability_level)
local split_shot_projectile = keys.split_shot_projectile
local split_shot_targets = FindUnitsInRadius(caster:GetTeam(), caster_location, nil, radius, target_team, target_type, target_flags, FIND_CLOSEST, false)
-- Create projectiles for units that are not the casters current attack target
for _,v in pairs(split_shot_targets) do
if v ~= attack_target then
local projectile_info =
{
EffectName = split_shot_projectile,
Ability = ability,
vSpawnOrigin = caster_location,
Target = v,
Source = caster,
bHasFrontalCone = false,
iMoveSpeed = projectile_speed,
bReplaceExisting = false,
bProvidesVision = false
}
ProjectileManager:CreateTrackingProjectile(projectile_info)
max_targets = max_targets - 1
end
-- If we reached the maximum amount of targets then break the loop
if max_targets == 0 then break end
end
end
-- Apply the auto attack damage to the hit unit
function SplitShotDamage( keys )
local caster = keys.caster
local target = keys.target
local ability = keys.ability
local damage_table = {}
damage_table.attacker = caster
damage_table.victim = target
damage_table.damage_type = ability:GetAbilityDamageType()
damage_table.damage = caster:GetAttackDamage()
ApplyDamage(damage_table)
end
Здравствуйте, я нашел скилл из первого %спойлера% в spell library , вписал вроде все как надо, а все равно не видит дота скилла.
"DOTAAbilities"
{
"Version" "1"

"nps_dota_hero_drow_ranger_new"
{
"override_hero" "npc_dota_hero_drow_ranger"
"Ability1" "drow_splash"
"Ability2" ""
"Ability3" ""
"Ability4" ""
"Ability5" ""
"Ability6" ""
"Ability7" ""
"Ability8" ""
"Ability9" ""
"Ability10" ""
"Ability11" ""
"Ability12" ""
"Ability13" ""
"Ability14" ""
"Ability15" ""
}
"drow_splash"
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_IMMEDIATE"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_ALL"
"AbilityUnitTargetFlag" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
"AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"AbilityTextureName" "drow_splash"

// Precache
//-------------------------------------------------------------------------------------------------------------
"precache"
{
"soundfile" "soundevents/game_sounds_heroes/game_sounds_medusa.vsndevts"
"particle" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"particle" "particles/units/heroes/hero_medusa/medusa_base_attack.vpcf"
}

// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.4 0.4 0.4 0.4"

// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"damage_modifier" "100"
}
"02"
{
"var_type" "FIELD_INTEGER"
"damage_modifier_tooltip" "100"
}
"03"
{
"var_type" "FIELD_INTEGER"
"arrow_count" "3 5 7 9"
}
"04"
{
"var_type" "FIELD_INTEGER"
"total_arrow_count" "4 6 8 10"
}
"05"
{
"var_type" "FIELD_INTEGER"
"range" "625"
}
"06"
{
"var_type" "FIELD_INTEGER"
"projectile_speed" "1250"
}
}

"OnToggleOn"
{
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"EffectAttachType" "follow_origin"
"Target" "CASTER"
}

"ApplyModifier"
{
"ModifierName" "modifier_split_shot_datadriven"
"Target" "CASTER"
}
}

"OnToggleOff"
{
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"EffectAttachType" "follow_origin"
"Target" "CASTER"
}

"RemoveModifier"
{
"ModifierName" "modifier_split_shot_datadriven"
"Target"
{
"Center" "CASTER"
"Flags" "DOTA_UNIT_TARGET_FLAG_DEAD"
}
}
}

"OnProjectileHitUnit"
{
"DeleteOnHit" "1"

"FireSound"
{
"EffectName" "Hero_Medusa.AttackSplit"
"Target" "TARGET"
}

"RunScript"
{
"ScriptFile" "heroes/hero_medusa/split_shot.lua"
"Function" "SplitShotDamage"
}
}

"Modifiers"
{
"modifier_split_shot_datadriven"
{
"Passive" "0"
"IsHidden" "1"
"IsDebuff" "0"

"OnAttack"
{
"RunScript"
{
"ScriptFile" "heroes/hero_medusa/split_shot.lua"
"Function" "SplitShotLaunch"
"split_shot_projectile" "particles/units/heroes/hero_medusa/medusa_base_attack.vpcf"
}
}

"Properties"
{
"MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE" "%damage_modifier"
}
}
}
}
не подскажете, что я именно сделал не так или чего не доделал?
 

alex_gadzy

Пользователь
28 Июн 2019
49
2
мб ты скобку забыл где-то,потому что даже если скилл нерабочий он должен отображаться на панели героя и оверрайди героя в npc_heroes_custom мне кажется там надо попробуй смени название героя с nps_dota_hero_drow_ranger_new на npc_dota_hero_drow_ranger
 

Назар

Пользователь
22 Июл 2019
10
0
Проект
Dota Custom Game
мб ты скобку забыл где-то,потому что даже если скилл нерабочий он должен отображаться на панели героя и оверрайди героя в npc_heroes_custom мне кажется там надо попробуй смени название героя с nps_dota_hero_drow_ranger_new на npc_dota_hero_drow_ranger
спасибо, сейчас попробую
 

Назар

Пользователь
22 Июл 2019
10
0
Проект
Dota Custom Game
мб ты скобку забыл где-то,потому что даже если скилл нерабочий он должен отображаться на панели героя и оверрайди героя в npc_heroes_custom мне кажется там надо попробуй смени название героя с nps_dota_hero_drow_ranger_new на npc_dota_hero_drow_ranger
я проверил на скобки, переименовал дровку без new , и перенес все в npc_heroes_custom, но все-равно результат тот же. Не изменился ни 1 скилл у дровки, так и у медузы ничего не поменялось
1564260395324.png
 

alex_gadzy

Пользователь
28 Июн 2019
49
2
хорошо, еще раз спасибо)
"drow_splash"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_IMMEDIATE"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_ALL"
"AbilityUnitTargetFlag" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
"AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"AbilityTextureName" "holdout_focusfire"

// Precache
//-------------------------------------------------------------------------------------------------------------
"precache"
{
"soundfile" "soundevents/game_sounds_heroes/game_sounds_medusa.vsndevts"
"particle" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"particle" "particles/units/heroes/hero_medusa/medusa_base_attack.vpcf"
}

// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.4 0.4 0.4 0.4"

// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"damage_modifier" "-20"
}
"02"
{
"var_type" "FIELD_INTEGER"
"damage_modifier_tooltip" "80"
}
"03"
{
"var_type" "FIELD_INTEGER"
"arrow_count" "1 2 3 4"
}
"04"
{
"var_type" "FIELD_INTEGER"
"total_arrow_count" "2 3 4 5"
}
"05"
{
"var_type" "FIELD_INTEGER"
"range" "700"
}
"06"
{
"var_type" "FIELD_INTEGER"
"projectile_speed" "1200"
}
}

"OnToggleOn"
{
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"EffectAttachType" "follow_origin"
"Target" "CASTER"
}

"ApplyModifier"
{
"ModifierName" "modifier_split_shot_datadriven"
"Target" "CASTER"
}
}

"OnToggleOff"
{
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"EffectAttachType" "follow_origin"
"Target" "CASTER"
}

"RemoveModifier"
{
"ModifierName" "modifier_split_shot_datadriven"
"Target"
{
"Center" "CASTER"
"Flags" "DOTA_UNIT_TARGET_FLAG_DEAD"
}
}
}

"OnProjectileHitUnit"
{
"DeleteOnHit" "1"

"FireSound"
{
"EffectName" "Hero_Medusa.AttackSplit"
"Target" "TARGET"
}

"RunScript"
{
"ScriptFile" "abilities/split_shot.lua"
"Function" "SplitShotDamage"
}
}

"Modifiers"
{
"modifier_split_shot_datadriven"
{
"Passive" "0"
"IsHidden" "1"
"IsDebuff" "0"

"OnAttack"
{
"RunScript"
{
"ScriptFile" "abilities/split_shot.lua"
"Function" "SplitShotLaunch"
"split_shot_projectile" "particles/units/heroes/hero_medusa/medusa_base_attack.vpcf"
}
}

"Properties"
{
"MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE" "%damage_modifier"
}
}
}
}
Все работает
 

Вложения

  • Скриншот 28-07-2019 141114.png
    Скриншот 28-07-2019 141114.png
    1.3 MB · Просмотры: 21

Назар

Пользователь
22 Июл 2019
10
0
Проект
Dota Custom Game
партиклы и звуки сам поменяешь как надо
1564338273041.png
Мдаа, скопировал твой код в свой - ничего не поменялось. Может скриптование - это не мое?(
вот что у меня за код:

// Dota Heroes File
// NOTE: This is not for creating new heroes, this is for taking a currently existing hero as a template and overriding
// the specified key-value combinations. Use override_hero <hero_to_override> for this.
"DOTAHeroes"
{
//=================================================================================================================
// HERO: Templar Assassin
//=================================================================================================================
"npc_dota_hero_templar_assassin_template"
{
"override_hero" "npc_dota_hero_templar_assassin" // Hero to override
"Ability1" "templar_assassin_refraction_holdout" // Ability 1
"VisionNighttimeRange" "1800" // Range of vision at night time.
}
}
{
"Version" "1"

"nps_dota_hero_drow_ranger"
{
"override_hero" "npc_dota_hero_drow_ranger"
"Ability1" "drow_splash"
"Ability2" ""
"Ability3" ""
"Ability4" ""
"Ability5" ""
"Ability6" ""
"Ability7" ""
"Ability8" ""
"Ability9" ""
"Ability10" ""
"Ability11" ""
"Ability12" ""
"Ability13" ""
"Ability14" ""
"Ability15" ""
}
"drow_splash"
{
// General
//-------------------------------------------------------------------------------------------------------------
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_IMMEDIATE"
"AbilityUnitTargetTeam" "DOTA_UNIT_TARGET_TEAM_ENEMY"
"AbilityUnitTargetType" "DOTA_UNIT_TARGET_ALL"
"AbilityUnitTargetFlag" "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
"AbilityUnitDamageType" "DAMAGE_TYPE_PHYSICAL"
"SpellImmunityType" "SPELL_IMMUNITY_ENEMIES_YES"
"AbilityTextureName" "drow_splash"

// Precache
//-------------------------------------------------------------------------------------------------------------
"precache"
{
"soundfile" "soundevents/game_sounds_heroes/game_sounds_medusa.vsndevts"
"particle" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"particle" "particles/units/heroes/hero_medusa/medusa_base_attack.vpcf"
}

// Casting
//-------------------------------------------------------------------------------------------------------------
"AbilityCastPoint" "0.4 0.4 0.4 0.4"

// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"damage_modifier" "-20"
}
"02"
{
"var_type" "FIELD_INTEGER"
"damage_modifier_tooltip" "80"
}
"03"
{
"var_type" "FIELD_INTEGER"
"arrow_count" "1 2 3 4"
}
"04"
{
"var_type" "FIELD_INTEGER"
"total_arrow_count" "2 3 4 5"
}
"05"
{
"var_type" "FIELD_INTEGER"
"range" "700"
}
"06"
{
"var_type" "FIELD_INTEGER"
"projectile_speed" "1200"
}
}

"OnToggleOn"
{
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"EffectAttachType" "follow_origin"
"Target" "CASTER"
}

"ApplyModifier"
{
"ModifierName" "modifier_split_shot_datadriven"
"Target" "CASTER"
}
}

"OnToggleOff"
{
"FireEffect"
{
"EffectName" "particles/units/heroes/hero_medusa/medusa_bow_split_shot_cast.vpcf"
"EffectAttachType" "follow_origin"
"Target" "CASTER"
}

"RemoveModifier"
{
"ModifierName" "modifier_split_shot_datadriven"
"Target"
{
"Center" "CASTER"
"Flags" "DOTA_UNIT_TARGET_FLAG_DEAD"
}
}
}

"OnProjectileHitUnit"
{
"DeleteOnHit" "1"

"FireSound"
{
"EffectName" "Hero_Medusa.AttackSplit"
"Target" "TARGET"
}

"RunScript"
{
"ScriptFile" "abilities/split_shot.lua"
"Function" "SplitShotDamage"
}
}

"Modifiers"
{
"modifier_split_shot_datadriven"
{
"Passive" "0"
"IsHidden" "1"
"IsDebuff" "0"

"OnAttack"
{
"RunScript"
{
"ScriptFile" "abilities/split_shot.lua"
"Function" "SplitShotLaunch"
"split_shot_projectile" "particles/units/heroes/hero_medusa/medusa_base_attack.vpcf"
}
}

"Properties"
{
"MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE" "%damage_modifier"
}
}
}
}
 

alex_gadzy

Пользователь
28 Июн 2019
49
2
скинь мне целиком тот файл где ты прописываешь скилл
 

DDSuper

Друзья CG
31 Май 2019
405
57
А почему ты кинул абилку в npc_heroes_custom.txt? И что она вообще там делает?

Если нужно в npc_abilities_custom.txt
 
Реклама: