Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#3471
Старый 25.08.2021, 00:11
  #3471
^
Gerter
 
Аватар для Gerter
📖
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 812
pegn0ly#9113
Выставка наград
Регистрация: 16.07.2012
Адрес: Санкт-Петербург
Сообщения: 812
pegn0ly#9113
Выставка наград
По умолчанию
Re: Скрипты

нет, ошибка 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
__________________
Нет войне.
Нет войне.
Gerter вне форума
Ответить с цитированием