Description
Create a task.
Syntax
[owner, taskID, description, destination, state, priority, showNotification, type, visibleIn3D] call BIS_fnc_taskCreate
Parameters:
- owner: Task owner(s)
- Boolean - true to set task of all playable units
- Object - set task of a specific object
- Group - set tasks of all objects in the group
- Side - set tasks of all objects of the given side
- Array - collection of above types
- taskID:
- String - Task ID
- Array - In the format of [task ID, parent task ID]
- description:
- Array - Task description in the format ["description", "title", "marker"] - "marker" is depreciated, functionally does nothing
- Description and Title can also be a format array [ "Text", var1, var2, ... ] where Text will be localized and then formatted per client, see #Example 4
- String - CfgTaskDescriptions class name, if empty string is used then CfgTaskDescriptions is searched for a class matching the tasks TaskID
- destination (Optional): Task destination
- state: (Optional, default "CREATED") task state. Can be:
- String - can be one of following:
- "CREATED"
- "ASSIGNED"
- "AUTOASSIGNED" ("ASSIGNED" when no task is assigned yet, otherwise "CREATED")
- "SUCCEEDED"
- "FAILED"
- "CANCELED"
- Boolean - true to set the task as current
- Number
- priority: Number - (Optional) priority. When the current task is completed, the system selects the one with the largest priority >= 0. To avoid auto assignment of that task, give it a priority of -1.
- showNotification: Boolean - (Optional, default true) true to show notification, false to disable it
- type: String - (Optional, default "") vanilla or custom task type; if not defined, empty (no) type is used
- visibleIn3D: Boolean - (Optional, default false) true to make task always visible in 3D
Returns: Boolean
Examples
Example 1
[civilian, "task1", ["Do this and you get a cookie", "Earn Cookie", "cookiemarker"], [0,0,0], "ASSIGNED", 2, true] call BIS_fnc_taskCreate;
Example 2
[west, "parentTask", ["This is the parent task.", "Parent task", "cookiemarker2"], objNull, 1, 3, true] call BIS_fnc_taskCreate;
[west, ["subTask", "parentTask"], ["This is the subTask.", "subTask", "cookiemarker2"], objNull, 1, 3, true] call BIS_fnc_taskCreate;
Example 3
in Description.ext
class CfgTaskTypes
{
class my_CfgTaskType
{
displayname = "Tank";
icon = "Tank_MCO.paa";
icon3D = "Tank_MCO.paa";
};
};
SQF:
[east, ["taskType_"], ["Setting taskType", "The simple way", "marker2"], objNull, 1, 3, true, "my_CfgTaskType"] call BIS_fnc_taskCreate;
Example 4
in Stringtable.xml
<Key ID="STR_CITY_TASK">
<English>Clear %1 of enemies</English>
<!-- more languages -->
</Key>
SQF:
[
_side,
_taskID,
[
[ "STR_CITY_TASK", _cityName ],
[ "STR_CITY_TASK", _cityName ],
""
]
] call BIS_fnc_taskCreate;
See also
Arma 3: Task Framework
You can define a CfgTaskDescriptions part in description.ext, such as:
class CfgTaskDescriptions
{
class myTask
{
title = "$STR_MyTaskTitle";
description = "$STR_MyTaskDescription";
};
};
This should allow tasks to be localised for every player in MP if created locally.
You can use "myTask" as description (3rd) parameter.
Important
For a proper localisation everywhere, see Hypoxic125's note below.
Example of Correct Localization Setup Using CfgTaskDescriptions
class CfgTaskDescriptions
{
class hyp_infiltrate
{
title = "STR_HYP_TASKS_INFILTRATE_TITLE";
description = "STR_HYP_TASKS_INFILTRATE_DESCRIPTION";
};
};
[east, "infiltrate", "hyp_infiltrate", objNull, "ASSIGNED", -1, true, "MOVE", false] call BIS_fnc_taskCreate;