Добавлено через 7 минут
Увы, не помогло. И сейчас, и вчера даже пробовал создать новую камеру на той же позиции/чуть сдвинув, но результат такой же. Может стоит все камеры удалить и заново наделать?
Впервые здесь? Я Роха — провести быструю экскурсию?
Возник еще один вопрос.Можно ли создать героя так, чтобы его можно было поставить на других картах.Просто sharied героя виден только на той карте, где был создан
function CreatureXXXShouldSurvive(hero, id)
while 1 do
if GetHeroCreatures(hero, id)<1 then
SetObjectiveState("Имя задачи", OBJECTIVE_FAILED)
sleep(20)
Loose()
end
sleep(1)
end
end startThread(CreatureXXXShouldSurvive, "имя героя", айди сушества)
function CreatureShouldSurvive(hero, id)
while 1 do
if GetHeroCreatures(hero, id)<1 then
SetObjectiveState("zadanie4", OBJECTIVE_FAILED)
sleep(20)
Loose()
end
sleep(1)
end
end
function StartScene()
StartDialogScene('/MyScene/StartScene/DialogScene1/DialogScene.xdb#xpointer(/DialogScene)')
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg12", nil);
for i=1,4 do
SetObjectiveState("zadanie"..i, OBJECTIVE_ACTIVE) --Все задания строго понумерованы от 1 до 4, поэтому проходим в цикле
end
startThread(CreatureShouldSurvive, 'Mardigo', CREATURE_CLERIC)
AddHeroCreatures("Mardigo", 1, 40);
AddHeroCreatures("Mardigo", 5, 10);
AddHeroCreatures("Mardigo", 10, 1);
for i=500,508 do --Так как все объекты для удаления имеют строгую нумерацию от 500 до 508, прохожу в цикле
RemoveObject(i)
end
end
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "reg12", "StartScene");
Все хорошо сработало но когда диалог прошел начинается ход другого игрока и миссия провалена
Попробуй заменить функцию проверки клериков в армии героев на эту:
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);