Введение
Игроку можно выдать задание. Для этого нужно задать параметры задания, написать заголовок и текст, и выдать его при помощи функции.
Создание задания
Параметры задания описываются в файлах gamedata\configs\misc\tm_<имя_уровня>.ltx. Для добавления нового задания необходимо:
* Создать секцию параметров задания [<идентификатор_задания>].
* Добавить в эту секцию необходимые ключи параметров задания (красным выделены обязательные параметры):
Ключ параметра Описание
type Тип задания по геймплею. На данный момент может быть только storyline.
task_type Тип задания по важности. Может быть storyline либо additional. По умолчанию – additional.
target_cond Проверка на возможность выдать задание. Если этот кондлист возвращает true – задание может быть выдано. По умолчанию – true.
icon Иконка на карте (например, ui_mt_image_attack_tower).
prior Приоритет задания относительно других заданий. Чем выше это число, тем приоритетней задание. По умолчанию – 0.
name Идентификатор строки, содержащей заголовок задания. По умолчанию - NO_TEXT. Поддерживает кондлист.
descr Идентификатор строки, содержащей текст задания. По умолчанию - NO_TEXT. Поддерживает кондлист.
spot Идентификатор мапспота, которым задание будет обозначено на карте. Значение по умолчанию зависит от параметров type и task_type.
target Указание на цель задания. Может задаваться как story_id объекта, либо как работа смарт-террейна, на которой находится необходимый объект, в формате <имя_секции_logic_работы>, <идентификатор_смарт-террейна>. Поддерживает кондлист.
condlist_0
condlist_1 …
Группа параметров, позволяющая задавать условия выполнения, провала или отмены задания. Число в имени ключа позволяет задать несколько последовательно пронумерованных (начиная с нуля) параметров. Кондлист каждого параметра может возвращать следующие значения: complete (выполнить задание), fail (провалить задание), reversed (отменить задание).
on_init Кондлист, позволяющий выполнить какое-либо действие при выдаче задания.
on_complete Кондлист, позволяющий выполнить какое-либо действие при выполнении задания.
on_reversed Кондлист, позволяющий выполнить какое-либо действие при отмене задания.
on_fail Кондлист, позволяющий выполнить какое-либо действие при провале задания.
reward_money Награда-деньги, которая выдается после выполнения задания. Измеряется в целых числах. Поддерживает кондлист.
reward_item Награда предметы, которая выдается после выполнения задания. Поддерживает кондлист.
Тексты задания
Для добавления заголовка задания необходимо в файл gamedata\configs\text\<локализация>\st_quests_<имя_уровня>.xml добавить строки:
<string id="<идентификатор_задания>_name">
<text><текст_заголовка></text>
</string>
Для добавления текста задания необходимо в тот же файл добавить строки:
<string id="<идентификатор_задания>_text">
<text><текст_задания></text>
</string>
Конструкции <идентификатор_задания>_name и <идентификатор_задания>_text прописываются в параметры name и text задания соответственно.
Функции для работы с заданиями
Для того, чтобы выдать задание, используется следующая функция эффекта: give _task(<идентификатор_задания>).