AlinksoloВсе хорошо сработало но когда диалог прошел начинается ход другого игрока и миссия провалена
Попробуй заменить функцию проверки клериков в армии героев на эту:
function CreatureShouldSurvive(hero, id)
while 1 do
sleep ( 10 );
if GetHeroCreatures(hero, id) == 0 then
SetObjectiveState("zadanie4", OBJECTIVE_FAILED);
sleep ( 10 );
Loose();
break
end;
end;
end;
P.s. Это скелет той самой функции, которая во владыках проверяет наличие дракона у Илайи
И ещё как вариант: вынести AddHeroCreatures("Mardigo", 10, 1); над startThread, то есть:
AddHeroCreatures("Mardigo", 10, 1);
startThread(CreatureShouldSurvive, 'Mardigo', CREATURE_CLERIC)
AddHeroCreatures("Mardigo", 1, 40);
AddHeroCreatures("Mardigo", 5, 10);