Task Framework Description

From Arma Projects
Jump to: navigation, search
BIS Task System showing the parent > child hierarchy

To create a task showing in a players map screen and hud overlay, a description of the task is needed. This tells the story and outlines the objectives of the task for players to follow. The task desciption has the ability to dynamically change text based on declared arguments that are processed at the time the task is created. It can also easily be configured as a hierarchical task with the declaration of a parent ID.

Configuration

class My_Task_1 {
	class TaskDetails {
		parent = "My_Parent_1";
		title = "Secure Police HQ";
		description[] = {
			"<font>Ref: %1</font> | <font>Date: %2<br/>AO: %3 %4 near %5</font>"
			,"<font size='16' color='#FFC600'>Brief:</font> <font>%7 forces have taken over and occupied the local district police HQ in an effort to gain weapons and vehicles.</font>"
			,"<font size='16' color='#FFC600'>Action:</font> <font>%6 forces will surround and engage all hostiles at the objective.</font>"
			,"<font size='16' color='#FFC600'>Enemy:</font> <font>It is highly possible that this location is the command post for %7 operations in the area.</font>"
			,"<font size='16' color='#FFC600'>Note:</font> <font>There are civilians in the area that may support %8 so be on the lookout.</font>"
		};
		iconType = "C";
		iconPosition = "positionOffset";
		textArguments[] =
 {"randomCode","datetime","worldRegion","worldName","nearestTown","factionBLUshort","factionOPFshort"};
	};
};
Configuration Parameters
1 - title <string> - Supports dynamic arguments
The title of the task to be displayed
title = "Task Title Name";
2 - description <array/string> - Supports dynamic arguments
<array> : Multiple lines split by two page breaks
description[] = {"Line 1","Line 2","Line 3..."};
<string> :
description = "Simple description";
3 - target <string/number> if missing, all sides will receive the task
<string> Object name or side description e.g. "west", "east", "independent", "civilian"
<number> Side ID
target = 1;
4 - (optional) iconType <string>
<string> : Sets the task icon from BIS Task Types
iconType = "Defend";
5 - (optional) iconPosition <array>
Array of group types to be randomly selected and spawned when composition is created
<string> "position","positionOffset" or marker name
<array> [x,y,z] co-ordinates of the position
iconPosition = "position";
6 - (optional) parent <string>
Sets the task as a child of another task. This is overridden if the parent triggers the task creation of the child.
parent = "My_Parent_1";
7 - (optional) state <string>
Sets the initial state of the task from BIS Task States
state = "Created";
8 - (optional) textArguments <array> 0 to 1
Using format, these arguments will be passed to the title and description to populate the text. The order of the array denotes the % number in the format command.
Possible choices that return text are
    • factionblushort - FactionTypeBLU short name
    • factionblulong - FactionTypeBLU long name
    • factionbluside - FactionTypeBLU side name
    • factionopfshort - FactionTypeOPF short name
    • factionopflong - FactionTypeOPF long name
    • factionopfside - FactionTypeOPF side name
    • vehiclename - object display name
    • worldname - World name (Capitalised)
    • worldregion - World region eg. North West or Central
    • gridreference - Grid ID
    • nearesttown - Nearest Town Name
    • nearestlocation - Nearest Location Name
    • randomcode - A random code of XX-XXXX
    • operationname - A random operation name
    • missionname - The mission name
    • briefingname - The mission brief name
    • servername - The server Name
    • playername - The player name
    • hh or hh:mm or hh:mm:ss - Time format
    • datetime - Date Time format of yyyy-mm-dd hh:mm
textArguments[] = {"randomCode"};