AstralLein1. А как это будет выглядеть?
3. Ну, в принципе, ИИ перестает применять заклинания, застревает на этом месте. Но в общем то шансы на то, что у игрока одни элементали в армии будут невелики.
1. Примерно так:
function finish()
local human = IsHuman(ATTACKER) and ATTACKER or DEFENDER
local computer = 1 - human
while 1 do
local hum = GetCreatures(human)
local comp = GetCreatures(computer)
if length(hum) == 0 then
Finish(computer)
break
end
if length(computer) == 0 and (atdwarf == 6 or dwarf == 2) then
Finish(human)
break
end
sleep(20)
end
end
startThread(finish)
3. Можете вызывать функции сотворения заклинаний не напрямую, а через startThread, тогда при возникновении ошибки скрипт не упадет, а продолжит выполняться.
startThread(commandDoSpell, hero, spell, ...)