нет, ошибка attempt to call a nil value означает, что ты пытаешься вызвать какую-то неизвестную игре функцию. Функции с именем 'GetUntiManaPoints' игра не знает, поэтому и ругается.
Хочешь сделать, чтобы в начале боя на всех врагов кастовались ледяные глыбы? Тогда скрипт надо изменить примерно так:
function Start()
if GetHeroName(GetAttackerHero()) == 'Raelag' then
print("если ГГ агрессор");
local mana = GetUnitManaPoints(GetAttackerHero()) --Иначе мы ни с того ни с сего оставим 200 маны игроку!
SetUnitManaPoints(GetAttackerHero(), 200);
repeat sleep(1) until GetUnitManaPoints(GetAttackerHero())==200 --Спать до тех пор, пока не начислится мана
for i, creature in GetDefenderCreatures() do
startThread(UnitCastAimedSpell, GetAttackerHero(), 4, creature)
end
SetUnitManaPoints(GetAttackerHero(), mana); --Вернём маны, сколько было!
print("кастуем");
elseif GetHeroName(GetDefenderHero()) == 'Raelag' then
print("если ГГ агрессор");
local mana = GetUnitManaPoints(GetDefenderHero()) --Иначе мы ни с того ни с сего оставим 200 маны игроку!
SetUnitManaPoints(GetDefenderHero(), 200);
repeat sleep(1) until GetUnitManaPoints(GetDefenderHero())==200 --Спать до тех пор, пока не начислится мана
for i, creature in GetAttackerCreatures() do
startThread(UnitCastAimedSpell, GetDefenderHero(), 4, creature)
end
SetUnitManaPoints(GetDefenderHero(), mana); --Вернём маны, сколько было!
print("кастуем");
end;
end