Перейти к содержанию

Скрипты для начинающих

#258
Сердечные мои! А не найдется ли у кого пары минут на помощь?
Пытаюсь сделать скрипт на удвоение армии. За основу стырил скрипт из "Random Wars".
[spoiler=Вот это работает, но для одного героя]
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)
        then
                --local stack = GetCreatureById(types)
                local amount = GetHeroCreatures(hero, types)
                AddHeroCreatures(hero, types, amount, i)
            end
        end
    end
end

Trigger(NEW_DAY_TRIGGER, "incom")
[/spoiler]

Жажду же я воплотить схему с несколькими героями, но не знаю как правильно это прописать.
[spoiler=Не работает]
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)
        then
                local stack = GetCreatureById(types)
                local amount = GetHeroCreatures(hero, types)
                AddHeroCreatures(hero, types, amount, i)
                end
                end
            end
        end
    end
end

Trigger(NEW_DAY_TRIGGER, "incom")
[/spoiler]
На функции IsHeroAlive(hero) появляется неверный аргумент №1, т.е. вместо hero появляется нечто несъедобное.

Статистика

Приветствуем новейшего участника: artem

Сейчас на сайте 2 пользователей 1599 гостей