Скилл баунти хантера - джинада Bounty hunter Jinada
Lua
И собственно говоря ошибка -
Script Runtime Error: ...ns\memethrow20\scripts\vscripts\bounty_hunter_jinada.lua:26: attempt to index global 'Timers' (a nil value)
stack traceback:
...ns\memethrow20\scripts\vscripts\bounty_hunter_jinada.lua:26: in function <...ns\memethrow20\scripts\vscripts\bounty_hunter_jinada.lua:1>
На 1 удар джинада работает, после чего перестаёт работать пока я её не прокачаю до 2 уровня, на 2 уровне опять 1 удар наносит допольнительный дмг и ворует голду, следующие удары ничего не делают.И так всегда. Пишет ошибка в 26 строке , но я хз
"bounty_hunter_jinada_datadriven"
{
"BaseClass" "ability_datadriven"
"AbilityTextureName" "bounty_hunter_jinada"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"MaxLevel" "4"
"AbilityCooldown" "12 9 6 3"
"precache"
{
"soundfile" "soundevents/lion_stons.vsndevts"
}
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"steal_gold" "-12 -20 -28 -36"
}
"02"
{
"var_type" "FIELD_FLOAT"
"bonus_damage" "70 100 130 160"
}
"03"
{
"var_type" "FIELD_INTEGER"
"get_gold" "12 20 28 36"
}
"04"
{
"var_type" "FIELD_FLOAT"
"startcooldown" "12 9 6 3"
}
}
"Modifiers"
{
"modifier_damage_bonus"
{
"Passive" "1"
"IsHidden" "1"
"Properties"
{
"MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE" "%bonus_damage"
}
"OnAttackLanded"
{
"RunScript"
{
"ScriptFile" "bounty_hunter_jinada.lua"
"Function" "JinadaStart"
"StealGold" "%steal_gold"
"GetGoldSelf" "%get_gold"
"modifier" "modifier_damage_bonus"
"CooldownGet" "%startcooldown"
}
"FireSound"
{
"EffectName" "SoundSton"
"Target" "CASTER"
}
}
}
}
}
{
"BaseClass" "ability_datadriven"
"AbilityTextureName" "bounty_hunter_jinada"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"MaxLevel" "4"
"AbilityCooldown" "12 9 6 3"
"precache"
{
"soundfile" "soundevents/lion_stons.vsndevts"
}
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_INTEGER"
"steal_gold" "-12 -20 -28 -36"
}
"02"
{
"var_type" "FIELD_FLOAT"
"bonus_damage" "70 100 130 160"
}
"03"
{
"var_type" "FIELD_INTEGER"
"get_gold" "12 20 28 36"
}
"04"
{
"var_type" "FIELD_FLOAT"
"startcooldown" "12 9 6 3"
}
}
"Modifiers"
{
"modifier_damage_bonus"
{
"Passive" "1"
"IsHidden" "1"
"Properties"
{
"MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE" "%bonus_damage"
}
"OnAttackLanded"
{
"RunScript"
{
"ScriptFile" "bounty_hunter_jinada.lua"
"Function" "JinadaStart"
"StealGold" "%steal_gold"
"GetGoldSelf" "%get_gold"
"modifier" "modifier_damage_bonus"
"CooldownGet" "%startcooldown"
}
"FireSound"
{
"EffectName" "SoundSton"
"Target" "CASTER"
}
}
}
}
}
function JinadaStart(keys) -- 100% Копия способности не верите проверьте сами
local ability = keys.ability
local level = ability:GetLevel() - 1
local cooldown = ability:GetCooldown(level)
local caster = keys.caster
local modifier = keys.modifier
local midas_particle = ParticleManager:CreateParticle("particles/items2_fx/hand_of_midas.vpcf", PATTACH_ABSORIGIN_FOLLOW, keys.target) -- Эффекты, частиц мидаса
if keys.target:IsRealHero() then -- Если герой настоящий
ability:StartCooldown(cooldown) -- Начать перезарядку
keys.target:ModifyGold(keys.StealGold, false, 0) -- Украсть золото
caster:ModifyGold(keys.GetGoldSelf, true, 1) -- Получить золото
caster:RemoveModifierByName(modifier) -- Убрать модификатор
ParticleManager:SetParticleControlEnt(midas_particle, 1, keys.caster, PATTACH_POINT_FOLLOW, "attach_hitloc", keys.caster:GetAbsOrigin(), false) -- Контроль как и сказано
keys.target:EmitSound("Hero_BountyHunter.Jinata") -- Звук Jinata
keys.target:EmitSound("DOTA_Item.Hand_Of_Midas") -- Звук Midasa
end
if keys.target:IsCreep() then -- Если это крип
caster:RemoveModifierByName(modifier) -- Убрать модификатор
keys.target:EmitSound("Hero_BountyHunter.Jinada") -- Звук Джината
ability:StartCooldown(cooldown) -- Начать кулдаун
ParticleManagerestroyParticle(midas_particle, true) -- Необходимо, ведь, механика скилла не ворует у крипа золото. Значит партикл нужно отключить!
end
Timers:CreateTimer(cooldown, function() -- Таймер
ability:ApplyDataDrivenModifier(caster, caster, modifier, {}) -- После перезарядки применяет модификатор
end)
end
local ability = keys.ability
local level = ability:GetLevel() - 1
local cooldown = ability:GetCooldown(level)
local caster = keys.caster
local modifier = keys.modifier
local midas_particle = ParticleManager:CreateParticle("particles/items2_fx/hand_of_midas.vpcf", PATTACH_ABSORIGIN_FOLLOW, keys.target) -- Эффекты, частиц мидаса
if keys.target:IsRealHero() then -- Если герой настоящий
ability:StartCooldown(cooldown) -- Начать перезарядку
keys.target:ModifyGold(keys.StealGold, false, 0) -- Украсть золото
caster:ModifyGold(keys.GetGoldSelf, true, 1) -- Получить золото
caster:RemoveModifierByName(modifier) -- Убрать модификатор
ParticleManager:SetParticleControlEnt(midas_particle, 1, keys.caster, PATTACH_POINT_FOLLOW, "attach_hitloc", keys.caster:GetAbsOrigin(), false) -- Контроль как и сказано
keys.target:EmitSound("Hero_BountyHunter.Jinata") -- Звук Jinata
keys.target:EmitSound("DOTA_Item.Hand_Of_Midas") -- Звук Midasa
end
if keys.target:IsCreep() then -- Если это крип
caster:RemoveModifierByName(modifier) -- Убрать модификатор
keys.target:EmitSound("Hero_BountyHunter.Jinada") -- Звук Джината
ability:StartCooldown(cooldown) -- Начать кулдаун
ParticleManagerestroyParticle(midas_particle, true) -- Необходимо, ведь, механика скилла не ворует у крипа золото. Значит партикл нужно отключить!
end
Timers:CreateTimer(cooldown, function() -- Таймер
ability:ApplyDataDrivenModifier(caster, caster, modifier, {}) -- После перезарядки применяет модификатор
end)
end
Script Runtime Error: ...ns\memethrow20\scripts\vscripts\bounty_hunter_jinada.lua:26: attempt to index global 'Timers' (a nil value)
stack traceback:
...ns\memethrow20\scripts\vscripts\bounty_hunter_jinada.lua:26: in function <...ns\memethrow20\scripts\vscripts\bounty_hunter_jinada.lua:1>
На 1 удар джинада работает, после чего перестаёт работать пока я её не прокачаю до 2 уровня, на 2 уровне опять 1 удар наносит допольнительный дмг и ворует голду, следующие удары ничего не делают.И так всегда. Пишет ошибка в 26 строке , но я хз
Последнее редактирование: