Встроенная система задач (Objectives) в редакторе триггеров позволяет отображать, а также управлять состояниями различных задач, назначенных на игрока.
Визуально такие задачи отображаются в левом-верхнем углу с названием задачи, а также местом под галочку для выполнения задачи.
Создание задачи
В списке действий для триггеров есть специальная метка под названием Objective. Там сосредоточены все действия для работы с задачами.
Среди этих действий есть Create Objective, которое и создаёт новую задачу для игроков. После её создания эта задача и появится в левом-верхнем углу, а также проиграется характерный звук получения задачи
Этих задач может быть сколь угодно много, но с ними нужно будет как-то работать. Чтобы при выполнении определенных условий выполнялись только конкретные задачи.
С этим нам помогут переменные.
По-хорошему, все задачи которые вы создаёте, должны быть записаны в свои переменные, чтобы к любой задаче можно было получить доступ в любое время игры.
Например, игрок вначале игры получает задачу: "Добраться до транспортника", логично что в этот момент активировалось действие Create Objective с таким названием задачи. А затем игрок получает дополнительную задачу: "Спасти отряд Доминиона", значит и в этот момент активировалось действие Create Objective.
А теперь вопрос. Как теперь выполнить первое получение задание? И как вообще понять, какое задание нужно выполнить в тот или иной момент?
Ответ на этот вопрос заключается в переменных.
Сперва для вашей новой задачи нужно создать переменную типа Objective (Задача). В ней будет записана четко конкретная задача и с помощью этой переменной, в нужный момент вы сможете этой задаче сменить состояние, например на "выполнено"
Затем необходимо создать саму задачу, а затем СРАЗУ ЖЕ присвоить эту созданную задачу в переменную типа objective.
Присваивание задачи в переменную производится ПОСЛЕ создания задачи, с помощью действия Set Variable. Первым параметром вы указываете саму переменную типа Objective, а вторым параметром нужно указать Функцию Last Created Objective (последняя созданная задача).
Изменение состояния задачи
После того, как вы создали задачу и записали её в отдельную переменную, вы без труда можете изменить её состояние в любом другом триггере.
Например в триггере, когда единица входит в какой-то регион и все необходимые проверки в конструкциях If Then Else прошли успешно
Только тогда конкретной задаче записанной в указанной переменной установится состояние завершения.
Для изменения состояний задач используется действие Set Objective State, с помощью которой можно "завершить", "провалить", "скрыть" задачу, а также сделать её снова активной при необходимости.
Создание дополнительных задач
С созданием дополнительных задач, никаких особенностей не предусматривается, они создаются точно также как и обычные задачи.
- Делаем отдельную новую переменную для задачи
- Создаём задачу с помощью Create Objective в любом удобном триггере и сразу же записываем эту "последнюю созданную задачу" в ранее созданную переменную, но в параметре Type вместо Primary выберите Secondary. Это создаст задачу в секции дополнительных задач
- Меняем состояние этой задачи после нужных событий, а также можем сделать нужные действия при завершении/провале этой задачи, например можно проиграть какую-то благодарительную реплику
Ниже приведена карта пример, рассматриваемая в этой статье

SC2














