BIS fnc taskCreate: Difference between revisions
Jump to navigation
Jump to search
m (Update first exampe with "ASSIGNED" instead of a number) |
Lou Montana (talk | contribs) m (Fix) |
||
(14 intermediate revisions by 4 users not shown) | |||
Line 25: | Line 25: | ||
|p3= '''description''': | |p3= '''description''': | ||
* [[Array]] - Task description in the format ["description", "title", "marker"] | * [[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 {{Link|#Example 4}} | |||
* [[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 | ||
* [[Object]] - Use [[objNull]] to set no position | * [[Object]] - Use [[objNull]] to set no position | ||
* [[Array]] - | * [[Array]] - can be one of: | ||
** format [[Position]] | |||
** [target, precision] (as used by [[setSimpleTaskTarget]]) | |||
*** target: [[Object]] | |||
*** precision: [[Boolean]] - [[false]] to use ''owner''<nowiki/>'s knowledge of ''target'', [[true]] to force display even if ''target'' is unknown to ''owner'' | |||
|p5= '''state''': (Optional, default "CREATED") | |p5= '''state''': (Optional, default "CREATED") task state. Can be: | ||
* [[String]] - can be one of following: | * [[String]] - can be one of following: | ||
** "CREATED" | ** "CREATED" | ||
Line 45: | Line 50: | ||
** > 0 as [[true]] | ** > 0 as [[true]] | ||
|p6= '''priority''' | |p6= '''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. | ||
|p7= '''showNotification''' | |p7= '''showNotification''': [[Boolean]] - (Optional, default [[true]]) true to show notification, false to disable it | ||
|p8= '''type''' | |p8= '''type''': [[String]] - (Optional, default "") {{Link|Arma 3: Task Framework#Task Icons|vanilla}} or {{Link|Description.ext#CfgTaskTypes|custom}} task type; if not defined, empty (no) type is used | ||
|p9= '''visibleIn3D''' | |p9= '''visibleIn3D''': [[Boolean]] - (Optional, default [[false]]) true to make task always visible in 3D | ||
|r1= [[Boolean]] | |r1= [[Boolean]] | ||
|x1= < | |x1= <sqf>[civilian, "task1", ["Do this and you get a cookie", "Earn Cookie", "cookiemarker"], [0,0,0], "ASSIGNED", 2, true] call BIS_fnc_taskCreate;</sqf> | ||
|x2= < | |x2= <sqf> | ||
[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; | |||
</sqf> | |||
|x3= in [[Description.ext]] | |x3= in [[Description.ext]] | ||
Line 72: | Line 80: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
SQF: | SQF: | ||
< | <sqf>[east, ["taskType_"], ["Setting taskType", "The simple way", "marker2"], objNull, 1, 3, true, "my_CfgTaskType"] call BIS_fnc_taskCreate; // task with a custom icon</sqf> | ||
|x4= in [[Stringtable.xml]] | |||
<syntaxhighlight lang="xml"> | |||
<Key ID="STR_CITY_TASK"> | |||
<English>Clear %1 of enemies</English> | |||
<!-- more languages --> | |||
</Key> | |||
</syntaxhighlight> | |||
SQF: | |||
<sqf> | |||
[ | |||
_side, | |||
_taskID, | |||
[ | |||
// format array, string to be localised, parameters for format %1, %2 ... | |||
[ "STR_CITY_TASK", _cityName ], | |||
[ "STR_CITY_TASK", _cityName ], | |||
"" | |||
] | |||
] call BIS_fnc_taskCreate;</sqf> | |||
|seealso= [[Arma 3: Task Framework]] | |seealso= [[Arma 3: Task Framework]] | ||
}} | }} | ||
{{Note | |||
|user= Lou Montana | |||
|timestamp= 20180202131500 | |||
|text= You can define a [[Description.ext#CfgTaskDescriptions|CfgTaskDescriptions]] part in [[Description.ext|description.ext]], such as: | |||
You can define a [[Description.ext#CfgTaskDescriptions|CfgTaskDescriptions]] part in [[Description.ext|description.ext]], such as: | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
class CfgTaskDescriptions | class CfgTaskDescriptions | ||
Line 89: | Line 115: | ||
class myTask | class myTask | ||
{ | { | ||
title = $STR_MyTaskTitle; | title = "$STR_MyTaskTitle"; | ||
description = $STR_MyTaskDescription; | description = "$STR_MyTaskDescription"; | ||
}; | }; | ||
}; | }; | ||
Line 96: | Line 122: | ||
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. | ||
{{Feature|important|For a proper localisation everywhere, see [[User:Hypoxic125|Hypoxic125]]'s note below.}} | |||
}} | |||
</ | {{Note | ||
|user= Hypoxic125 | |||
|timestamp= 20221113041319 | |||
|text= Example of Correct Localization Setup Using CfgTaskDescriptions | |||
<syntaxhighlight lang="cpp"> | |||
class CfgTaskDescriptions | |||
{ | |||
class hyp_infiltrate | |||
{ | |||
title = "STR_HYP_TASKS_INFILTRATE_TITLE"; | |||
description = "STR_HYP_TASKS_INFILTRATE_DESCRIPTION"; | |||
// requires stringtable key - NOT localized string | |||
// note the lack of "$" before the stringtable key - if "$" is included, languages will be incorrect | |||
}; | |||
}; | |||
</syntaxhighlight> | |||
<sqf> | |||
// Server Execution | |||
[east, "infiltrate", "hyp_infiltrate", objNull, "ASSIGNED", -1, true, "MOVE", false] call BIS_fnc_taskCreate; | |||
</sqf> | |||
}} |
Latest revision as of 16:21, 15 October 2024
Description
Syntax
- Syntax:
- [owner, taskID, description, destination, state, priority, showNotification, type, visibleIn3D] call BIS_fnc_taskCreate
- Parameters:
- owner: Task owner(s)
- taskID:
- description:
- Array - Task description in the format ["description", "title", "marker"] - "marker" is depreciated, functionally does nothing
- 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:
- 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
- Return Value:
- Boolean
Examples
- Example 1:
- Example 2:
- Example 3:
- in Description.ext
class CfgTaskTypes { class my_CfgTaskType { displayname = "Tank"; icon = "Tank_MCO.paa"; icon3D = "Tank_MCO.paa"; }; };
SQF:
- Example 4:
- in Stringtable.xml
<Key ID="STR_CITY_TASK"> <English>Clear %1 of enemies</English> <!-- more languages --> </Key>
SQF:
[ _side, _taskID, [ // format array, string to be localised, parameters for format %1, %2 ... [ "STR_CITY_TASK", _cityName ], [ "STR_CITY_TASK", _cityName ], "" ] ] call BIS_fnc_taskCreate;
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 Feb 02, 2018 - 13:15 (UTC)
-
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.
- Posted on Nov 13, 2022 - 04:13 (UTC)
-
Example of Correct Localization Setup Using CfgTaskDescriptions
class CfgTaskDescriptions { class hyp_infiltrate { title = "STR_HYP_TASKS_INFILTRATE_TITLE"; description = "STR_HYP_TASKS_INFILTRATE_DESCRIPTION"; // requires stringtable key - NOT localized string // note the lack of "$" before the stringtable key - if "$" is included, languages will be incorrect }; };