Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты для начинающих
Показать сообщение отдельно
#257
Старый 28.04.2022, 01:08
  #257
^
sspi
📖
Регистрация: 28.04.2022
Сообщения: 2
Регистрация: 28.04.2022
Сообщения: 2
По умолчанию
Re: Скрипты для начинающих

Сердечные мои! А не найдется ли у кого пары минут на помощь?
Пытаюсь сделать скрипт на удвоение армии. За основу стырил скрипт из "Random Wars".
Вот это работает, но для одного героя
function incom()
local day = GetDate(3)
if day == 2 then
        local hero = GetPlayerHeroes(5)[0]
        local types = {}
        types[0], types[1], types[2], types[3], types[4], types[5],types[6] = GetHeroCreaturesTypes(hero)
        for i = 0, 6 do
        if HasHeroCreature(hero, types[i])
        then
                --local stack = GetCreatureById(types[i])
                local amount = GetHeroCreatures(hero, types[i])
                AddHeroCreatures(hero, types[i], amount, i)
            end
        end
    end
end

Trigger(NEW_DAY_TRIGGER, "incom")


Жажду же я воплотить схему с несколькими героями, но не знаю как правильно это прописать.
Не работает
function incom()
local day = GetDate(3)
if day == 2 then
    local hero = {}
    hero[0], hero[1], hero[2], hero[3] = GetPlayerHeroes(5)
    for k = 0, 3 do
    if IsHeroAlive(hero)
    then
        local types = {}
        types[0], types[1], types[2], types[3], types[4], types[5],types[6] = GetHeroCreaturesTypes(hero)
        for i = 0, 6 do
        if HasHeroCreature(hero, types[i])
        then
                local stack = GetCreatureById(types[i])
                local amount = GetHeroCreatures(hero, types[i])
                AddHeroCreatures(hero, types[i], amount, i)
                end
                end
            end
        end
    end
end

Trigger(NEW_DAY_TRIGGER, "incom")

На функции IsHeroAlive(hero) появляется неверный аргумент №1, т.е. вместо hero появляется нечто несъедобное.
sspi вне форума
Ответить с цитированием