BIS fnc taskCreate: Difference between revisions
Jump to navigation
Jump to search
Hypoxic125 (talk | contribs) No edit summary |
Lou Montana (talk | contribs) m (Fix) |
||
(9 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 | ||
Line 36: | Line 37: | ||
*** precision: [[Boolean]] - [[false]] to use ''owner''<nowiki/>'s knowledge of ''target'', [[true]] to force display even if ''target'' is unknown to ''owner'' | *** 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 53: | 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 61: | 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, [" | |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 76: | 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]] | |||
<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]] | ||
Line 90: | Line 115: | ||
class myTask | class myTask | ||
{ | { | ||
title = $STR_MyTaskTitle; | title = "$STR_MyTaskTitle"; | ||
description = $STR_MyTaskDescription; | description = "$STR_MyTaskDescription"; | ||
}; | }; | ||
}; | }; | ||
Line 97: | 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.}} | |||
}} | }} | ||
Line 106: | Line 132: | ||
class 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 | |||
}; | |||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<sqf> | <sqf> | ||
// Server Execution | // Server Execution | ||
[east,"infiltrate","hyp_infiltrate",objNull,"ASSIGNED",-1,true,"MOVE",false] call BIS_fnc_taskCreate; | [east, "infiltrate", "hyp_infiltrate", objNull, "ASSIGNED", -1, true, "MOVE", false] call BIS_fnc_taskCreate; | ||
</sqf> | </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 }; };