ORBAT Viewer – Arma 3

From Bohemia Interactive Community
Category: Arma 3: Editing
m (→‎Config: spelling)
m (→‎Config: Some wiki formatting)
 
(22 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{SideTOC}}
{{TOC|side}}
[[File:A3_ORBATViewer.jpg|800px]]
[[File:A3_ORBATViewer.jpg|800px]]


=== Config ===
The ORBAT Viewer can be used to displayed the hiearchy of troops present in a scenario. Inside the ORBAT Viewer pressing {{Controls|H}} will toggle the visibility of the UI.
 
 
== Config ==
 
CfgORBAT can be defined in [[configFile]] or [[missionConfigFile]].
CfgORBAT can be defined in [[configFile]] or [[missionConfigFile]].


class CfgORBAT
<syntaxhighlight lang="cpp">
{
class CfgORBAT
class 7thInfantry
{
{
class 7thInfantry
id = 7;       {{codecomment|// Unit ID}}
{
idType = 0;   {{codecomment|// Unit ID type}}
id = 7; // Unit ID
side = "West"; {{codecomment|// Unit side from CfgChainOfCommand >> Sides}}
idType = 2; // Unit ID type
size = "Division"; {{codecomment|// Unit size from CfgChainOfCommand >> Sizes. Displays relevant icon above the Type icon}}
side = "West"; // Unit side from CfgChainOfCommand >> Sides
type = "HQ"; {{codecomment|// Unit type from CfgChainOfCommand >> Types}}
size = "Division"; // Unit size from CfgChainOfCommand >> Sizes; displays relevant icon above the Type icon
insignia = "\ca\missions_f\data\orbat\7thInfantry_ca.paa"; {{codecomment|// Unit insignia, displayed in ORBAT background and in tooltip}}
type = "HQ"; // Unit type from CfgChainOfCommand >> Types
colorInsignia[] = {0,0,1,1}; {{codecomment|// Insignia image color (white default), can be either RGBA array, or class from CfgMarkerColors}}
insignia = "a3\missions_f_epa\data\img\orbat\b_aegis_ca.paa"; // Unit insignia, displayed in ORBAT background and in tooltip
commander = "Armstrong"; {{codecomment|// Name of unit commander. Can be either direct name, or class from CfgWorlds >> GenericNames (random name from the list is then selected)}}
colorInsignia[] = { 0, 0, 0, 1 }; // Insignia image color (white default), can be either RGBA array, or class from CfgMarkerColors
commanderRank = "GENERAL"; {{codecomment|// Rank of unit commander (by default selected based on unit size)}}
commander = "Armstrong"; // Name of unit commander - can be either direct name or
tags[] = {BIS,USArmy,Kerry,Hutchison,Larkin}; {{codecomment|// Group tags. When opening ORBAT viewer, user can define what tags will be accepted.}}
// class from CfgWorlds >> GenericNames (random name from the list is then selected)
text = "%1 Combat Technology Research %3"; {{codecomment|// Custom text and short text, can still use some arguments when defined:}}
commanderRank = "GENERAL"; // Rank of unit commander (by default selected based on unit size)
{{codecomment|// %1 - ID (e.g. "7th")}}
tags[] = { "BIS", "USArmy", "Kerry", "Hutchison", "Larkin" }; // Group tags. When opening ORBAT viewer, user can define what tags will be accepted
{{codecomment|// %2 - Type (e.g. "Infantry")}}
text = "%1 Combat Technology Research %3"; // Custom text and short text, can still use some arguments when defined:
{{codecomment|// %3 - Size (e.g. "Division")}}
// %1 - ID (e.g. "7th")
textShort = "%1 CTR %3";
// %2 - Type (e.g. "Infantry")
texture = "\ca\missions_f\data\orbat\customTexture_ca.paa"; {{codecomment|// Custom texture, will replace icon set by 'type' param.}}
// %3 - Size (e.g. "Division")
color[] = {0,0,1,1}; {{codecomment|// Custom color, will replace color set by 'side' param. Can be either RGBA array, or class from CfgMarkerColors}}
textShort = "%1 CTR %3";
description= "All of your text would go here."; {{codecomment|// A brief description of the group or unit.}}
texture = "a3\ui_f_orange\data\displays\rscdisplayorangechoice\faction_nato_ca.paa"; // Custom texture, will replace icon set by 'type' param.
assets[] = {{B_Heli_Transport_03_F,5},{B_Heli_Light_01_F,3},{B_Heli_Light_01_armed_F,4},B_Heli_Transport_01_camo_F}; {{codecomment|// Will display pictures of all available assets to the unit commander:}}
color = "ColorWest"; // Custom texture color for texture displayed on the map and in the ORBAT viewer,
{{codecomment|// Can be an array with format {classname, [int active icons], [int greyed out icons]}, or simply a classname}}
// will replace color set by 'side' param
subordinates[] = {2ndBCT}; {{codecomment|// Subordinates, searched on the same level as this class.}}
// Can be either RGBA array, or class from CfgMarkerColors (e.g. color = "ColorWEST";)
 
description = "All of your text would go here."; // A brief description of the group or unit
{{codecomment|// When 'subordinates' are missing, child classes will be used. They can have their own subs - number of tiers is not limited.}}
assets[] = { // Will display pictures of all available assets to the unit commander:
class 1stBCT
{ "B_Heli_Transport_03_F", 5 },
{
{ "B_Heli_Light_01_F", 3 },
id = 1;
{ "B_Heli_Light_01_armed_F", 4 },
type = "Armored";
"B_Heli_Transport_01_camo_F"
size = "BCT";
};
side = "West";
 
commander = "NATOMen";
// Can be an array with format {classname, [int active icons], [int greyed out icons]}, or simply a classname
tags[] = {"BLUFOR", "USArmy","Kerry"};
//subordinates[] = { "1stBCT", "2ndBCT" }; // Subordinates, searched on the same level as this class.
  };
};
class 2ndBCT
{
};
};


=== Valid Attributes ===
// When 'subordinates' are missing, child classes will be used. They can have their own subs - number of tiers is not limited.
==== ID Type ====
class 1stBCT
<spoiler>
{
*0 - Ordinal number, e.g. "7th" (default)
id = 1;
*1 - Roman numeral, e.g. "VII"
idType = 2;
*2 - NATO phonetical alphabet word, e.g. "Golf"
type = "Helicopter";
*3 - Color, e.g. "Red"
size = "Squadron";
</spoiler>
side = "West";
commander = "R3vo";
commanderRank = "Lieutenant";
description = "All of your text would go here.";
texture = "a3\ui_f_orange\data\displays\rscdisplayorangechoice\faction_nato_ca.paa";
insignia = "a3\missions_f_epa\data\img\orbat\b_aegis_ca.paa";
assets[] =
{
{ "B_Heli_Transport_03_F", 5 }
};
};


class 2ndBCT: 1stBCT
{
id = 2;
size = "Division";
commander = "NATOMen";
assets[] =
{
{ "B_Heli_Transport_03_F", 2 }
};
};
};
};
</syntaxhighlight>
== Attributes ==
=== ID Type ===
* 0 - Ordinal number, e.g. "7th" (default)
* 1 - Roman numeral, e.g. "VII"
* 2 - NATO phonetical alphabet word, e.g. "Golf"
* 3 - Color, e.g. "Red"
=== Side ===


==== Side ====
<spoiler>
* West
* West
* East
* East
Line 64: Line 94:
* Civilian
* Civilian
* Unknown
* Unknown
</spoiler>


==== Size ====
=== Size ===
<spoiler>
 
{{Columns|4|
* Army
* Army
* ArmyGroup
* ArmyGroup
Line 85: Line 115:
* Squadron
* Squadron
* Troop
* Troop
* Size1->11 (Ex, Size1 [Will not display an size-icon indicator, such as Ø])
* Size1..11
</spoiler>
}}
{{Feature|informative|{{hl|Size1}}..{{hl|Size11}} will not display a size-icon indicator, such as Ø.}}


==== Type ====
=== Type ===
<spoiler>
 
{{Columns|4|
* Airborne
* Airborne
* Armored
* Armored
Line 114: Line 146:
* UAV
* UAV
* Unknown
* Unknown
</spoiler>
}}


==== Rank ====
=== Rank ===
<spoiler>
 
{{Columns|2|
* Private
* Private
* Corporal
* Corporal
Line 126: Line 159:
* Colonel
* Colonel
* General
* General
</spoiler>
}}
 
=== Tags ===


==== Tags ====
Tags are used by [[BIS_fnc_ORBATOpen]]. The function will search and classes with given tags.
Tags are used by [[BIS_fnc_ORBATOpen]]. The function will search and classes with given tags.


=== ORBAT Group Module ===
[[File:A3 ORBATGroup Module.jpg|thumb|left|500px]]


==== CfgORBAT Path ====
[[File:A3 ORBATGroup Module.jpg|thumb|400px|The ORBAT Group module]]
== ORBAT Group Module ==
 
=== CfgORBAT Path ===
 
The group you want to be display on the map.
The group you want to be display on the map.


'''Example:'''
'''Example:'''
{{Inline code|[[missionConfigFile]] >> "CfgORBAT" >> "unitClassName" >> "subordinateUnitClassName"}}
<sqf>missionConfigFile >> "CfgORBAT" >> "unitClassName" >> "subordinateUnitClassName"</sqf>
 
=== CfgORBAT Ceiling ===


==== CfgORBAT Ceiling ====
The highest superior unit to display in the [[ORBAT Viewer]] while this group is selected. If blank, the '''CfgORBAT Path''' unit is displayed as the ceiling.
The highest superior unit to display in the [[ORBAT Viewer]] while this group is selected. If blank, the '''CfgORBAT Path''' unit is displayed as the ceiling.


'''Example:'''
'''Example:'''
{{Inline code|[[missionConfigFile]] >> "CfgORBAT" >> "unitClassName"}}
<sqf>missionConfigFile >> "CfgORBAT" >> "unitClassName"</sqf>


=== Tags ===
=== Tags ===
Groups containing at least on of these tags will be added
Groups containing at least on of these tags will be added


==== Max. Tiers ====
=== Max. Tiers ===
 
Defines how many tiers are are shown.
Defines how many tiers are are shown.


==== Working Example ====
=== Working Example ===
* Place a fire team in [[Eden Editor]]
 
* Place a fire team in [[:Category:Eden Editor|Eden Editor]]
* Place the '''ORBAT Group''' module
* Place the '''ORBAT Group''' module
* Syncronize the module with the group leader
* Synchronise the module with the group leader
* Open the module and fill in the following:
* Open the module and fill in the following:
**CfgORBAT Path: configfile >> "CfgORBAT" >> "BIS" >> "B_1_A_1_2"
** CfgORBAT Path: <sqf inline>configFile >> "CfgORBAT" >> "BIS" >> "B_1_A_1_2"</sqf>
**CfgORBATCeiling: configfile >> "CfgORBAT" >> "BIS" >> "B_1"
** CfgORBATCeiling: <sqf inline>configFile >> "CfgORBAT" >> "BIS" >> "B_1"</sqf>
* Leave '''Max. Tiers''' and '''Tags''' empty
* Leave '''Max. Tiers''' and '''Tags''' empty
* Enter the preview mode and open the map
* Enter the preview mode and open the map


== Create ORBAT Group during Runtime ==
<sqf>
//Create ORBAT icon
if isServer then
{
"ModuleStrategicMapORBAT_F" createUnit
[
getPosWorld player,
createGroup sideLogic,
toString {
this setVariable ["BIS_fnc_initModules_disableAutoActivation", false, true];
this setVariable [""Path"", ""missionConfigFile >> 'CfgORBAT' >> 'Support'"", true]; // ORBAT class that should be displayed
}
];
};
</sqf>




== Texture in missionConfigFile ==


As '''texture''' is treated as a ''new'' texture (rather than an image, as icon is), the game needs a direct path to it. Example:
"C:\Users\Kerry\Documents\Arma 3\Kerry\missions\MyMission.Stratis\someDirectory\SomeImage.paa"
"\ca\missions_f\data\orbat\customTexture_ca.paa"
Writing the direct path is not possible in a {{hl|CfgORBAT}} defined in [[Description.ext]] (as the mission changes path on different computers);
in that case the path to the texture can be defined with the following:
<syntaxhighlight lang="cpp">
// converts to e.g "C:\Users\Kerry\Documents\Arma 3\Kerry\missions\MyMission.Stratis\someDirectory\SomeImage.paa"
texture = __EVAL(getMissionPath "someDirectory\SomeImage.paa");
</syntaxhighlight>


{{Feature|informative|See [[getMissionPath]].}}


==== Texture in missonConfigFile ====
As '''texture''' is treated as a ''new'' texture (rather than an image, as icon is), Arma needs a direct path to it. Example,
<code>C:\Users\Kerry\Documents\Arma 3\Kerry\missions\MyMission.Stratis</code>


However, as {{Inline code|CfgORBAT}} is defined in {{Inline code|description.ext}}, we cannot use SQF scripting like [[missionConfigFile]].
== Functions ==
But we can define a global variable in description.ext using [[PreProcessor Commands]] to our mission's folder. In this case, {{Inline code|MISSIONLOCATION}}.


<code>__EXEC (MISSIONLOCATION = __FILE__ select [0, count __FILE__ - 15])</code>
Listed in {{Link|Category:Function Group: Strategic|"Strategic" function group}}:
{{Columns|2|
* [[BIS_fnc_ORBATAddGroupOverlay]]
* [[BIS_fnc_ORBATAnimate]]
* [[BIS_fnc_ORBATConfigPreview]]
* [[BIS_fnc_ORBATGetGroupParams]]
* [[BIS_fnc_ORBATOpen]]
* [[BIS_fnc_ORBATRemoveGroupOverlay]]
* [[BIS_fnc_ORBATSetGroupFade]]
* [[BIS_fnc_ORBATSetGroupParams]]
* [[BIS_fnc_ORBATTooltip]]
}}


In our CfgORBAT, be it in a separate {{Inline code|.hpp}} file or your description.ext, we can now define the path to our texture with the following:


<code>texture = __EVAL(MISSIONLOCATION + "someFolder\SomeImage.paa");</code>
== See Also ==


==== Functions ====
* {{Link|https://forums.bohemia.net/forums/topic/159943-request-orbat-tutorial/?page{{=}}3|Various information about ORBAT Viewer}}
*[[BIS_fnc_ORBATAddGroupOverlay]]
*[[BIS_fnc_ORBATAnimate]]
*[[BIS_fnc_ORBATConfigPreview]]
*[[BIS_fnc_ORBATGetGroupParams]]
*[[BIS_fnc_ORBATOpen]]
*[[BIS_fnc_ORBATRemoveGroupOverlay]]
*[[BIS_fnc_ORBATSetGroupFade]]
*[[BIS_fnc_ORBATSetGroupParams]]
*[[BIS_fnc_ORBATTooltip]]


=== Other ===
*[http://killzonekid.com/arma-scripting-tutorials-mission-root/ Mission Root Tutorial]
*[https://forums.bohemia.net/forums/topic/159943-request-orbat-tutorial/?page=3 Various information about ORBAT Viewer]


[[Category:Arma 3: Editing]]
{{GameCategory|arma3|Editing}}

Latest revision as of 18:36, 21 May 2025

A3 ORBATViewer.jpg

The ORBAT Viewer can be used to displayed the hiearchy of troops present in a scenario. Inside the ORBAT Viewer pressing H will toggle the visibility of the UI.


Config

CfgORBAT can be defined in configFile or missionConfigFile.

class CfgORBAT
{
	class 7thInfantry
	{
		id = 7;												// Unit ID
		idType = 2;											// Unit ID type
		side = "West";										// Unit side from CfgChainOfCommand >> Sides
		size = "Division";									// Unit size from CfgChainOfCommand >> Sizes; displays relevant icon above the Type icon
		type = "HQ";										// Unit type from CfgChainOfCommand >> Types
		insignia = "a3\missions_f_epa\data\img\orbat\b_aegis_ca.paa";	// Unit insignia, displayed in ORBAT background and in tooltip
		colorInsignia[] = { 0, 0, 0, 1 };					// Insignia image color (white default), can be either RGBA array, or class from CfgMarkerColors
		commander = "Armstrong";							// Name of unit commander - can be either direct name or
															// class from CfgWorlds >> GenericNames (random name from the list is then selected)
		commanderRank = "GENERAL";							// Rank of unit commander (by default selected based on unit size)
		tags[] = { "BIS", "USArmy", "Kerry", "Hutchison", "Larkin" };	// Group tags. When opening ORBAT viewer, user can define what tags will be accepted
		text = "%1 Combat Technology Research %3";			// Custom text and short text, can still use some arguments when defined:
		// %1 - ID (e.g. "7th")
		// %2 - Type (e.g. "Infantry")
		// %3 - Size (e.g. "Division")
		textShort = "%1 CTR %3";
		texture = "a3\ui_f_orange\data\displays\rscdisplayorangechoice\faction_nato_ca.paa";	// Custom texture, will replace icon set by 'type' param.
		color = "ColorWest";								// Custom texture color for texture displayed on the map and in the ORBAT viewer,
															// will replace color set by 'side' param
															// Can be either RGBA array, or class from CfgMarkerColors (e.g. color = "ColorWEST";)
		description = "All of your text would go here.";	// A brief description of the group or unit
		assets[] = {										// Will display pictures of all available assets to the unit commander:
			{ "B_Heli_Transport_03_F", 5 },
			{ "B_Heli_Light_01_F", 3 },
			{ "B_Heli_Light_01_armed_F", 4 },
			"B_Heli_Transport_01_camo_F"
		};

		// Can be an array with format {classname, [int active icons], [int greyed out icons]}, or simply a classname
		//subordinates[] = { "1stBCT", "2ndBCT" };			// Subordinates, searched on the same level as this class.

		// When 'subordinates' are missing, child classes will be used. They can have their own subs - number of tiers is not limited.
		class 1stBCT
		{
			id = 1;
			idType = 2;
			type = "Helicopter";
			size = "Squadron";
			side = "West";
			commander = "R3vo";
			commanderRank = "Lieutenant";
			description = "All of your text would go here.";
			texture = "a3\ui_f_orange\data\displays\rscdisplayorangechoice\faction_nato_ca.paa";
			insignia = "a3\missions_f_epa\data\img\orbat\b_aegis_ca.paa";
			assets[] =
			{
				{ "B_Heli_Transport_03_F", 5 }
			};
		};

		class 2ndBCT: 1stBCT
		{
			id = 2;
			size = "Division";
			commander = "NATOMen";
			assets[] =
			{
				{ "B_Heli_Transport_03_F", 2 }
			};
		};
	};
};

Attributes

ID Type

  • 0 - Ordinal number, e.g. "7th" (default)
  • 1 - Roman numeral, e.g. "VII"
  • 2 - NATO phonetical alphabet word, e.g. "Golf"
  • 3 - Color, e.g. "Red"

Side

  • West
  • East
  • Resistance
  • Civilian
  • Unknown

Size

  • Army
  • ArmyGroup
  • Battalion
  • BCT
  • Brigade
  • Company
  • Corps
  • Division
  • FireTeam
  • HBCT
  • IBCT
  • Platoon
  • Regiment
  • Section
  • Squad
  • Squadron
  • Troop
  • Size1..11
Size1..Size11 will not display a size-icon indicator, such as Ø.

Type

  • Airborne
  • Armored
  • Artillery
  • Assault
  • AttackRecon
  • AviationSupport
  • Cavalry
  • CombatAviation
  • Fighter
  • GeneralSupport
  • Helicopter
  • HQ
  • Infantry
  • Maintenance
  • Maritime
  • MechanizedInfantry
  • Medical
  • Mortar
  • MotorizedInfantry
  • Recon
  • Service
  • Support
  • UAV
  • Unknown

Rank

  • Private
  • Corporal
  • Sergeant
  • Lieutenant
  • Captain
  • Major
  • Colonel
  • General

Tags

Tags are used by BIS_fnc_ORBATOpen. The function will search and classes with given tags.


The ORBAT Group module

ORBAT Group Module

CfgORBAT Path

The group you want to be display on the map.

Example:

missionConfigFile >> "CfgORBAT" >> "unitClassName" >> "subordinateUnitClassName"

CfgORBAT Ceiling

The highest superior unit to display in the ORBAT Viewer while this group is selected. If blank, the CfgORBAT Path unit is displayed as the ceiling.

Example:

missionConfigFile >> "CfgORBAT" >> "unitClassName"

Tags

Groups containing at least on of these tags will be added

Max. Tiers

Defines how many tiers are are shown.

Working Example

  • Place a fire team in Eden Editor
  • Place the ORBAT Group module
  • Synchronise the module with the group leader
  • Open the module and fill in the following:
  • Leave Max. Tiers and Tags empty
  • Enter the preview mode and open the map


Create ORBAT Group during Runtime

//Create ORBAT icon if isServer then { "ModuleStrategicMapORBAT_F" createUnit [ getPosWorld player, createGroup sideLogic, toString { this setVariable ["BIS_fnc_initModules_disableAutoActivation", false, true]; this setVariable [""Path"", ""missionConfigFile >> 'CfgORBAT' >> 'Support'"", true]; // ORBAT class that should be displayed } ]; };


Texture in missionConfigFile

As texture is treated as a new texture (rather than an image, as icon is), the game needs a direct path to it. Example:

"C:\Users\Kerry\Documents\Arma 3\Kerry\missions\MyMission.Stratis\someDirectory\SomeImage.paa"
"\ca\missions_f\data\orbat\customTexture_ca.paa"

Writing the direct path is not possible in a CfgORBAT defined in Description.ext (as the mission changes path on different computers); in that case the path to the texture can be defined with the following:

// converts to e.g "C:\Users\Kerry\Documents\Arma 3\Kerry\missions\MyMission.Stratis\someDirectory\SomeImage.paa"
texture = __EVAL(getMissionPath "someDirectory\SomeImage.paa");


Functions

Listed in "Strategic" function group:


See Also