Подскажите пожалуйста, вот я выдрал в недрах форума вот такой код:
этот код дает 322 голды за убийство крипа всей команде, не важно как далеко от крипа ты находился и был ли мертв(как за тавера в обычной доте)
Я был бы очень благодарен если бы вы мне помогли понять и подправить этот код, чтобы голду давало только живым героям и в определенном радиусе от крипа. Знаю есть FindUnitsInRadius, но как их подружить не пойму...
И еще вопрос, если у меня 20 видов крипов и я хочу чтобы за каждого из них давало по разному, то мне надо 20 таких функций? или мне подсказали про какой-то массив, как это?
И еще в файле npc_units_custom, есть строка которая отвечает за эксп и год у крипа, и вот там эксп при смерти крипа дается всем кто рядом, а голд естественно только добившему. Правильно ли я делаю что эксп задаю только там и нигде больше, а голд в ЛУА пишу.
Код:
function CAddonTemplateGameMode:OnEntityKilled( keys )
local killed_unit = EntIndexToHScript( keys.entindex_killed )
local killer = EntIndexToHScript( keys.entindex_attacker )
if killed_unit:GetUnitName() == "npc_dota_neutral_kobold" then
for i = 0, PlayerResource:GetPlayerCount() - 1 do
local gold = 322 -- кол-во голды
local player = PlayerResource:GetSelectedHeroEntity(i)
if player:GetTeam() == killer:GetTeam() then
player:ModifyGold( gold, true, 0 )
SendOverheadEventMessage(player, OVERHEAD_ALERT_GOLD, player, gold, nil)
end
end
end
end
Я был бы очень благодарен если бы вы мне помогли понять и подправить этот код, чтобы голду давало только живым героям и в определенном радиусе от крипа. Знаю есть FindUnitsInRadius, но как их подружить не пойму...
И еще вопрос, если у меня 20 видов крипов и я хочу чтобы за каждого из них давало по разному, то мне надо 20 таких функций? или мне подсказали про какой-то массив, как это?
И еще в файле npc_units_custom, есть строка которая отвечает за эксп и год у крипа, и вот там эксп при смерти крипа дается всем кто рядом, а голд естественно только добившему. Правильно ли я делаю что эксп задаю только там и нигде больше, а голд в ЛУА пишу.