BIS fnc taskCreate: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " <!-- (DIS)?CONTINUE Notes -->" to "")
m (Some wiki formatting)
Line 1: Line 1:
{{RV|type=function
{{RV|type=function


| arma3
|game1= arma3
|version1= 1.00


|1.00
|gr1= Tasks


|gr1= Tasks
|arg= global
|eff= global


|arg= global|eff= global|  Create a task.
|descr= Create a task.


| [owner, taskID, description, destination, state, priority, showNotification, type, visibleIn3D] call [[BIS_fnc_taskCreate]]
|s1= [owner, taskID, description, destination, state, priority, showNotification, type, visibleIn3D] call [[BIS_fnc_taskCreate]]


|p1= '''owner''': Task owner(s)
|p1= '''owner''': Task owner(s)
<br>[[Boolean]] - true to set task of all playable units
* [[Boolean]] - true to set task of all playable units
<br>[[Object]] - set task of a specific object
* [[Object]] - set task of a specific object
<br>[[Group]] - set tasks of all objects in the group
* [[Group]] - set tasks of all objects in the group
<br>[[Side]] - set tasks of all objects of the given side
* [[Side]] - set tasks of all objects of the given side
<br>[[Array]] - collection of above types
* [[Array]] - collection of above types


|p2= '''taskID''':
|p2= '''taskID''':
<br>[[String]] - Task ID
* [[String]] - Task ID
<br>[[Array]] - In the format of [task ID, parent task ID]
* [[Array]] - In the format of [task ID, parent task ID]


|p3= '''description''':
|p3= '''description''':
<br>[[Array]] - Task description in the format ["description", "title", "marker"]
* [[Array]] - Task description in the format ["description", "title", "marker"]
<br>[[String]] - [[Description.ext#CfgTaskDescriptions|CfgTaskDescriptions]] class name, if empty string is used then [[Description.ext#CfgTaskDescriptions|CfgTaskDescriptions]] is searched for a class matching the tasks TaskID
* [[String]] - [[Description.ext#CfgTaskDescriptions|CfgTaskDescriptions]] class name, if empty string is used then [[Description.ext#CfgTaskDescriptions|CfgTaskDescriptions]] is searched for a class matching the tasks TaskID


|p4= '''destination''' (Optional): Task destination
|p4= '''destination''' (Optional): Task destination
<br>[[Object]] - Use [[objNull]] to set no position
* [[Object]] - Use [[objNull]] to set no position
<br>[[Array]] - Either position in format [x,y,z], or [object,precision] as used by setSimpleTaskTarget command
* [[Array]] - Either position in format [x,y,z], or [object,precision] as used by setSimpleTaskTarget command


|p5= '''state''' (Optional): Task state
|p5= '''state''' (Optional): Task state
<br>[[String]] - can be one of following:
* [[String]] - can be one of following:
<br>"CREATED"
* "CREATED"
<br>"ASSIGNED"
* "ASSIGNED"
<br>"AUTOASSIGNED" ("ASSIGNED" when no task is assigned yet, otherwise "CREATED")
* "AUTOASSIGNED" ("ASSIGNED" when no task is assigned yet, otherwise "CREATED")
<br>"SUCCEEDED"
* "SUCCEEDED"
<br>"FAILED"
* "FAILED"
<br>"CANCELED"
* "CANCELED"
<br>[[Boolean]] - true to set the task as current
* [[Boolean]] - true to set the task as current


|p6= '''priority''' (Optional): [[Number]] - 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.
|p6= '''priority''' (Optional): [[Number]] - 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.
Line 48: Line 50:
|p9= '''visibleIn3D''' (Optional): [[Boolean]] - true to make task always visible in 3D (default: false)
|p9= '''visibleIn3D''' (Optional): [[Boolean]] - true to make task always visible in 3D (default: false)


| [[Boolean]]
|r1= [[Boolean]]


|x1= <code><nowiki>[</nowiki>[[civilian]], ["task1"], ["Do this and you get a cookie", "Earn Cookie", "cookiemarker"], [0,0,0] ,1, 2, [[true]]] [[call]] [[BIS_fnc_taskCreate]];</code>
|x1= <code>[<nowiki/>[[civilian]], "task1", ["Do this and you get a cookie", "Earn Cookie", "cookiemarker"], [0,0,0] ,1, 2, [[true]]] [[call]] [[BIS_fnc_taskCreate]];</code>


|x2= <code><nowiki>[</nowiki>[[west]], ["task2"], ["Good luck finding this cookie", "Find Cookie", "cookiemarker2"], [[objNull]], 1, 3, [[true]]] [[call]] [[BIS_fnc_taskCreate]]; {{cc|Task without a map location}}</code>
|x2= <code><nowiki>[</nowiki>[[west]], ["subtask", "task1"], ["Good luck finding this cookie", "Find Cookie", "cookiemarker2"], [[objNull]], 1, 3, [[true]]] [[call]] [[BIS_fnc_taskCreate]]; {{cc|Task without a map location}}</code>


|x3= <code>//description.ext//
|x3= in [[Description.ext]]
class CfgTaskTypes  
<syntaxhighlight lang="cpp">
{  
class CfgTaskTypes
class my_CfgTaskType  
{
{  
class my_CfgTaskType
    displayname = "Tank";
{
      icon = "Tank_MCO.paa";
displayname = "Tank";
      icon3D = "Tank_MCO.paa";
icon = "Tank_MCO.paa";
};
icon3D = "Tank_MCO.paa";
};  
};
//calling the function//
};
 
</syntaxhighlight>
<nowiki>[</nowiki>[[east]], ["taskType_"], ["Setting taskType", "The simple way", "marker2"], [[objNull]], 1, 3, [[true]], "my_CfgTaskType"] [[call]] [[BIS_fnc_taskCreate]]; {{cc|Task with a custom icon}}</code>
SQF:
<code>[<nowiki/>[[east]], ["taskType_"], ["Setting taskType", "The simple way", "marker2"], [[objNull]], 1, 3, [[true]], "my_CfgTaskType"] [[call]] [[BIS_fnc_taskCreate]]; {{cc|Task with a custom icon}}</code>


|seealso= [[Arma 3: Task Framework]]
|seealso= [[Arma 3: Task Framework]]
}}
}}
[[Category:{{Name|arma3}}: Functions|{{uc:taskCreate}}]]


<dl class="command_description">
<dl class="command_description">
Line 81: Line 80:
<dd class="note">
<dd class="note">
You can define a [[Description.ext#CfgTaskDescriptions|CfgTaskDescriptions]] part in [[description.ext]], such as:
You can define a [[Description.ext#CfgTaskDescriptions|CfgTaskDescriptions]] part in [[description.ext]], such as:
<syntaxhighlight lang="cpp">class CfgTaskDescriptions
<syntaxhighlight lang="cpp">
class CfgTaskDescriptions
{
{
class myTask
class myTask
Line 88: Line 88:
description = $STR_MyTaskDescription;
description = $STR_MyTaskDescription;
};
};
};</syntaxhighlight>
};
</syntaxhighlight>
This should allow tasks to be localised for every player in MP '''if created locally'''.
This should allow tasks to be localised for every player in MP '''if created locally'''.
You can use "myTask" as ''description'' (3<sup>rd</sup>) parameter.
You can use "myTask" as ''description'' (3<sup>rd</sup>) parameter.
</dd>
</dd>
</dl>
</dl>

Revision as of 18:30, 17 May 2021

Hover & click on the images for description

Description

Description:
Create a task.
Execution:
call
Groups:
Tasks

Syntax

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:
destination (Optional): Task destination
  • Object - Use objNull to set no position
  • Array - Either position in format [x,y,z], or [object,precision] as used by setSimpleTaskTarget command
state (Optional): Task state
  • 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
priority (Optional): Number - 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 (Optional): Boolean - true to show notification (default), false to disable it
type (Optional): String - task type from CfgTaskTypes, if not defined, type "" is being used
visibleIn3D (Optional): Boolean - true to make task always visible in 3D (default: false)
Return Value:
Boolean

Examples

Example 1:
[civilian, "task1", ["Do this and you get a cookie", "Earn Cookie", "cookiemarker"], [0,0,0] ,1, 2, true] call BIS_fnc_taskCreate;
Example 2:
[west, ["subtask", "task1"], ["Good luck finding this cookie", "Find Cookie", "cookiemarker2"], objNull, 1, 3, true] call BIS_fnc_taskCreate; // Task without a map location
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; // Task with a custom icon

Additional Information

See also:
Arma 3: Task Framework

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Posted on February 2, 2018 - 13:15 (UTC)
Lou Montana
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.