- 15 Мар 2016
- 1,335
- 105
Ребят, помогите, мне нужно, чтобы при отмене или сбивании чаннелинга призванное существо умирало, но я не понимаю, как это реализовать, пытался делать так:
И просто вот так:
Но ничего не выходит, в абилке прописал все вот так:
(Если что, название скиллов, скрипта, папок и непесей здесь я поменял, чтобы оставалось в секретике, все равно это ничего не меняет)
Код:
function OnChannelInterrupted()
local randomname = Entities:FindByName(nil, "npc_randomname")
if randomname == npc_randomname then
randomname:ForceKill(false)
print("Kill Randomname")
end
Код:
function OnChannelInterrupted()
local randomname = Entities:FindAllByName("npc_randomname")
randomname:ForceKill(false)
print("Kill Randomname")
end
Код:
"RandomNameAbility"
{
"BaseClass" "ability_datadriven"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_CHANNELLED"
"AbilityTextureName" "RandomNameAbility"
"AbilityCastPoint" "0.0 0.0 0.0 0.0"
"AbilityCooldown" "40.0 40.0 40.0 40.0"
"AbilityManaCost" "100"
"AbilityCastRange" "400"
"AbilityChannelTime" "15.0"
"AbilityChannelledManaCostPerSecond" "50 45 40 35"
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"duration" "15"
}
"02"
{
"var_type" "FIELD_INTEGER"
"durationcast" "15"
}
}
"OnSpellStart"
{
"SpawnUnit"
{
"UnitName" "npc_randomname"
"Target" "POINT"
"Duration" "%duration"
"UnitCount" "1"
"UnitLimit" "0"
"GrantsGold" "0"
"GrantsXP" "0"
"SpawnRadius" "10"
"OnSpawn"
{
"ApplyModifier"
{
"ModifierName" "modifier_phased"
"Target" "TARGET"
"Duration" "0.03"
}
}
}
}
"OnChannelInterrupted"
{
"RunScript"
{
"ScriptFile" "heroes/blabla/randomname.lua"
"Function" "OnChannelInterrupted"
}
}
}
(Если что, название скиллов, скрипта, папок и непесей здесь я поменял, чтобы оставалось в секретике, все равно это ничего не меняет)
Последнее редактирование модератором: