Task Framework Tutorial – Arma 3
From Bohemia Interactive Community
Basics
Tasks are a group's objectives. Arma 3 introduced the Arma 3: Task Framework to work with tasks with ease.
The Task Framework functions have a global effect.
How to use a task
Create a task
Assign a task
Set a task's type
Set a task's visibility
Update a task's description
Copy
_description = _description + "<br/><br/>UPDATE: an officer stole the documents; we got the GPS tracking, follow your HUD.";
["taskID", [_description, _title, _waypoint]] call BIS_fnc_taskSetDescription;
Update a task's waypoint position
Update a task's status
Delete a task
How to read a task's information
Find if a task exists
Find if a task is completed
Check if multiple tasks are all completed
Get a task's status
Get a task's type
Get a task's visibility
Get a task's description
Get a task's destination
Get a unit's tasks
Advanced
Define a task in mission config
You can define a task in Description.ext's CfgTaskDescriptions:
class CfgTaskDescriptions
{
class myTask1
{
title = "myTaskTitle";
description = "myTaskDescription";
marker = "myTaskDestinationMarker";
};
class myTask2
{
title = $STR_myTask2Title;
description = $STR_myTask2Description;
marker = $STR_myTask2Marker;
};
};
Define a new task type
class CfgTaskTypes
{
class Attack
{
icon = "\A3\UI_F_MP_Mark\Data\Tasks\Types\Attack_ca.paa";
icon3D = "\A3\UI_F_MP_Mark\Data\Tasks\Types3D\Attack_ca.paa";
};
class Defend
{
icon = "\A3\UI_F_MP_Mark\Data\Tasks\Types\Defend_ca.paa";
icon3D = "\A3\UI_F_MP_Mark\Data\Tasks\Types3D\Defend_ca.paa";
};
};
Define task display behaviour
class CfgTaskEnhancements
{
enable = 1; // 0: disable new task features (default), 1: enable new task features & add new task markers and task widgets into the map
3d = 1; // 0: do not use new 3D markers (default), 1: replace task waypoints with new 3D markers
3dDrawDist = 0; // 3d marker draw distance (default: 2000)
share = 1; // 0: do not count assigned players (default), 1: count how many players have the task assigned
propagate = 1; // 0: do not propagate (default), 1: propagate shared tasks to subordinates
};