Ошибка в lua скрипте

ION

Активный
10 Ноя 2019
88
7
Проект
Memethrow
Скилл баунти хантера - джинада Bounty hunter Jinada
"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"
}
}
}
}
}
Lua
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) -- Начать кулдаун
ParticleManager:DestroyParticle(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 строке , но я хз
 
Последнее редактирование:
  • Нравится
Реакции: DDSuper

ION

Активный
10 Ноя 2019
88
7
Проект
Memethrow

LAPKI

Продвинутый
26 Окт 2018
271
61
Извини я слишком тупой, что куда мне писать что бы эта шляпа заработала?Буду очень благодарен.
в addon_game_mode.lua (или как-то так) прописываешь require("путь до файла от папки vscripts")
 

ION

Активный
10 Ноя 2019
88
7
Проект
Memethrow

SniperX

Друзья CG
26 Фев 2018
539
100
Проект
Dota 2x4
Извини я слишком тупой, что куда мне писать что бы эта шляпа заработала?Буду очень благодарен.
Крч устанавливаешь файл timers.lua в vscripts
Потом открываешь addon_game_mode.lua и там пишешь require("timers")
 
Последнее редактирование:
  • Нравится
Реакции: ION

ION

Активный
10 Ноя 2019
88
7
Проект
Memethrow
Крч устанавливаешь файл timers.lua в vscripts
Потом открываешь addon_game_mode.lua и там пишешь require("timers")
Всё работает, спасибо что выручаешь.У меня постоянно будут возникать какие-то проблемы потому что я нуб) Щас ещё один вопрос задам в простых вопросах...
 
Реклама: