Не понимаю как сделать счетчик добитых крипов за героем, у меня есть пасивка на герое написанная на lua, смысл в том что должны считываться киллы и каждый кил будет добавлять 1 очко интеллекта силы и ловкости. Templar_2 навык пассивка с которой проблема.
KV:
// Dota Heroes File
"DOTAAbilities"
{
"Templar_1_lua"
{
"BaseClass" "ability_lua"
"ScriptFile" "Templar_1_lua"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IMMEDIATE"
"AbilityCastPoint" "0.0 0.0 0.0 0.0"
"AbilityCooldown" "10.0 12.0 14.0 16.0"
"AbilityManaCost" "20 40 80 120"
"AbilityTextureName" "Templar_1"
}
"Templar_2_lua"
{
"BaseClass" "ability_lua"
"ScriptFile" "Templar_2_lua"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"AbilityTextureName" "Templar_1"
}
}
Lua:
Templar_2_lua = class({})
LinkLuaModifier("modifier_Templar_2_lua",LUA_MODIFIER_MOTION_NONE)
function Templar_2_lua:OnOwnerSpawned()
local caster = self:GetOwner();
caster:AddNewModifier(caster, self, "modifier_Templar_2_lua", { duration = 8000});
end
function Templar_1_lua:OnSpellStart()
local caster = self:GetCaster();
caster:AddNewModifier(caster, self, "modifier_Templar_2_lua", { duration = 8000 });
end
function Templar_1_lua:OnUpgrade()
local caster = self:GetOwner();
caster:AddNewModifier(caster, self, "modifier_Templar_2_lua", { duration = 8000 });
end
Lua:
modifier_Templar_2_lua = class({})
function modifier_Templar_2_lua:DeclareFunctions()
local funcs_array = {
MODIFIER_PROPERTY_STATS_STRENGTH_BONUS,
MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT,
MODIFIER_PROPERTY_STATS_AGILITY_BONUS,
MODIFIER_PROPERTY_STATS_INTELLECT_BONUS
}
return funcs_array
end
function Templar_2_lua:OnOwnerSpawned()
local kills = 0
end
function modifier_Templar_2_lua:GetModifierBonusStats_Strength(params)
return kills;
end
function modifier_Templar_2_lua:GetModifierAttackSpeedBonus_Constant(params)
return kills;
end
function modifier_Templar_2_lua:GetModifierBonusStats_Agility(params)
return kills;
end
function modifier_Templar_2_lua:GetModifierBonusStats_Intellect(params)
return kills;
end
if killedUnit:GetUnitName() == npc_dota_neutral_kobold then
else
kills=kills+1;
print(kills);
end
Последнее редактирование: