BIS fnc taskCreate: Difference between revisions
Jump to navigation
Jump to search
(Updated parameter description and added example for task description/title localization and format) |
Lou Montana (talk | contribs) m (Fix) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 26: | Line 26: | ||
|p3= '''description''': | |p3= '''description''': | ||
* [[Array]] - Task description in the format ["description", "title", "marker"] - "marker" is depreciated, functionally does nothing | * [[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 | ** 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 | ||
Line 54: | Line 54: | ||
|p7= '''showNotification''': [[Boolean]] - (Optional, default [[true]]) true to show notification, false to disable it | |p7= '''showNotification''': [[Boolean]] - (Optional, default [[true]]) true to show notification, false to disable it | ||
|p8= '''type''': [[String]] - (Optional, default "") | |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''': [[Boolean]] - (Optional, default [[false]]) true to make task always visible in 3D | |p9= '''visibleIn3D''': [[Boolean]] - (Optional, default [[false]]) true to make task always visible in 3D | ||
Line 62: | Line 62: | ||
|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> | |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= <sqf>[west, "parentTask", ["This is the parent task.", "Parent task", "cookiemarker2"], objNull, 1, 3, true] call BIS_fnc_taskCreate; | |x2= <sqf> | ||
[west, ["subTask", "parentTask"], ["This is the subTask.", "subTask", "cookiemarker2"], objNull, 1, 3, true] call BIS_fnc_taskCreate;</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 78: | 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; // | <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]] | |x4= in [[Stringtable.xml]] | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="xml"> | ||
<Key ID="STR_CITY_TASK"> | <Key ID="STR_CITY_TASK"> | ||
<English>Clear %1 of enemies</English> | |||
<!-- more languages --> | |||
</Key> | </Key> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
SQF: | SQF: | ||
<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> | ] 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 }; };