Вопрос на миллион душ! Не работают скрипты. Подскажите, где ошибка. Консоль не матерится.
Первое: если город эльфов захватил игрок 2, то ты должен проиграть, но игра продолжается.
function CheckAnpossal()
if GetObjectOwner ('houseElf') == 2 then
sleep(10)
SetObjectiveState('q4', OBJECTIVE_FAILED, 1);
sleep(10)
Loose()
end
end
startThread (CheckAnpossal)
Второе: в течении игры отслеживается, не умер ли юнит в армии героя. Если у героя его нет - проигрыш. Работает. Но после определённого момента сюжета этот юнит должен быть убран из армии и игра должна продолжиться. Не продолжается - проигрываешь. Консоль опять же вроде не материлась.
отслеживание юнита в армии героя (работает):
function lostDragon() ---- Проверка потери дракона
while 1 do
sleep ( 10 );
if GetHeroCreatures("Ohtarig", 83) == 0 and dragon == 1 then
if SetRegionBlocked('CheckAstrid', false) then
SetObjectiveState("q5", OBJECTIVE_FAILED, 1);
sleep ( 10 );
Loose();
break
end;
end;
end;
end
startThread (lostDragon)
Ключевой момент сюжета(не работает, как нужно):
function PokaAstrida()
SetRegionBlocked ('CheckAstrid', false, 1)
dragon = 0
RemoveHeroCreatures('Ohtarig', 83, 1)
StartDialogScene("/Maps/SingleMissions/ChoiseOTW1/Test/DialogScene.xdb#xpointer(/DialogScene)")
sleep(5)
StartCombat('Ohtarig', nil, 1, 41, 1, nil, nil, nil, nil)
sleep(5)
MessageBox("/Maps/SingleMissions/ChoiseOTW1/MagiPoka.txt");
sleep(5)
SetObjectiveState("q5", OBJECTIVE_FAILED);
Trigger(REGION_ENTER_AND_STOP_TRIGGER , "Corrupted", nil);
sleep(5)
RemoveObject('lich1')
RemoveObject('lich2')
RemoveObject('lich3')
end
Trigger(REGION_ENTER_AND_STOP_TRIGGER , "Corrupted", 'PokaAstrida');
Подскажите пожалуйста, где я не в ту сторону подумал