Если будут бегать компьютерные герои - тогда проверять раз в день или в отдельном потоке (функция startThread).
Хм... Да, в отдельном потоке наверно удобней. И пусть он проверяет каждый день: захватил или нет. Спасибо.
Теперь пришла ещё одна смешная проблемка.
Простое такое задание:
- Зашёл в регион - получил задание на поиск артефакта и выполнил предыдущее.
- Взял артефакт и задание выполнилось.
Создал неактивное задание, которое не выводится изначально, на поиск артефактов. Потом просто его активирую.
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "quest1end", "quest1end_quest2start");
function quest1end_quest2start()
SetObjectiveState("quest1info", OBJECTIVE_COMPLETED, PLAYER_1);
MsgBox('quest1end');
sleep('5');
MsgBox('quest2start');
SetObjectiveState("artifact1", OBJECTIVE_ACTIVE, PLAYER_1);
Trigger(REGION_ENTER_AND_STOP_TRIGGER, "quest1end", nil);
end;
Вроде всё хорошо, но вот после того, как берём мы артефакт, сразу миссия выиграна. В чём проблема? В отсутствии других заданий, или что-то перехимичил в свойствах карты?