Task Framework Tutorial – Arma 3
Jump to navigation
Jump to search
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
// hardcoded language
_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;
// new description
["taskID", ["STR_TaskDescription2", _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
Multiple Tasks Check
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 = "my task title";
description = "my task description";
marker = "my task destination marker";
};
class myTask2
{
title = "STR_myTask2Title"; // note the lack of $ sign here!
description = "STR_myTask2Description"; // without $, it translates for each client
marker = "STR_myTask2Marker"; // with $ everyone sees the server's language
};
};
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
};