Jump to content
evans d [16aa]

[REQUEST] ORBAT Tutorial

Recommended Posts

Ok, ladies and gentlemen,

As the title implies, I want to create an ORBAT for a mission, but I have no idea how to go about it.

I've tried using this thread but I can't seem to get my custom ORBAT to work. Therefore, I want to create a new one from scratch. This will also help other people who want to create ORBATs but don't know how to go about it.

If it could be done in step by step instructions (with pictures if possible, but if the steps are clear enough then that shouldn't be a requirement) and in layman's terms then that'd be fantastic.

Thank you very much, and I look forward to finally getting this ORBAT completed!

Regards,

Bashkire.

EDIT:

ORBAT Tutorial Video:

Edited by Bashkire

Share this post


Link to post
Share on other sites

Did you check the wiki already?

It's basically quite easy. Just have some CfgOrbat in your description.ext:

class CfgORBAT
{
class euroforce
{
	id = 5;
	idType = 0;
	side = "West";
	insignia = "\a3\missions_f_epa\data\img\orbat\B_Aegis_ca.paa";
	colorInisgnia[] = {0, 0, 0, 1};
	commander = "Hackett";
	commanderRank = "General";
	text = "%1 Fleet EUROFORCE";
	textShort = "%1 Fleet";
	texture = "\a3\missions_f_epa\data\img\orbat\B_Aegis_texture_ca.paa";
	subordinates[] = {resistance};
	description = "EUROFORCE deployed its fifth fleet under the command of Admiral Hackett in the Aegean sea region in order to guard the borderline between the European Federation and the Middle Eastern Corporation.";
};

class resistance
{
	id = 1;
	idType = 0;
	side = "West";
	size = "platoon";
	type = "motorizedInfantry";
	commander = "Gomez";
	commanderRank = "Captain";
	text = "Altis Resistance";
	textShort = "Resistance";
	subordinates[] = {hq, inf1, inf2, car, mortar};
	color[] = {0,0,0,1};
	description = "Cdr. Gomez leads a small cell of resistance fighters.";
};

class hq
{
	side = "West";
	size = "section";
	type = "hq";
	commander = "Nunez";
	commanderRank = "captain";
	text = "Resistance Headquarters";
	textShort = "HQ";
	color[] = {1,1,1,1};
	description = "Private Contractor Jorge Nunez provides useful contacts and intel for the resistance.";
};

class inf1
{
	id = 1;
	idType = 2;
	side = "West";
	size = "squad";
	type = "infantry";
	commander = "Gomez";
	commanderRank = "captain";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	color[] = {0,1,0,1};
};

class inf2
{
	id = 2;
	idType = 2;
	side = "West";
	size = "squad";
	type = "infantry";
	commander = "Nunez";
	commanderRank = "captain";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	color[] = {0,1,0,1};
};

class car
{
	id = 3;
	idType = 2;
	side = "West";
	size = "squad";
	type = "motorizedinfantry";
	commander = "greekMen";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	color[] = {1,0,0,1};
};

class mortar
{
	id = 4;
	idType = 2;
	side = "West";
	size = "section";
	type = "mortar";
	commander = "greekMen";
	commanderRank = "corporal";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	color[] = {0,0,1,1};
};
};

And then place some ORBAT group modules in the editor. Fill in the basics.

CfgORBAT Path (the group you want to show on the map):

missionconfigfile >> "CfgORBAT" >> "inf1"

CfgORBAT Ceiling (the highest superior you want to show in the ORBAT viewer when clicking on that group):

missionconfigfile >> "CfgORBAT" >> "euroforce"

Et voilà:

2013-12-06_0000385r6e.jpg 2013-12-06_00004oorfl.jpg

Share this post


Link to post
Share on other sites

Many thanks for the reply.

I've grabbed your code and put it into my mission, and I can see your ORBAT. However, if I try to change any of your code (like changing the id of the "euroforce" class or changing any / all of the sides to "Resistance") it flags up function errors like "bis_fnc_ORBATgroupparams" and saying that it can't animate the ORBAT because it can't find the "inf1" class, despite me not changing the name of that class.

Do you have any idea of why this is and why I can't change your code to suit my needs?

EDIT:

Here's my description.ext if that helps with diagnosing my problem:

class CfgORBAT
{
class 5thbattalion
{
	id = 2;
	idType = 0;
	side = "Resistance";
	//insignia = "\a3\missions_f_epa\data\img\orbat\B_Aegis_ca.paa";
	//colorInisgnia[] = {0, 0, 0, 1};
	commander = "Kothas";
	commanderRank = "Colonel";
	text = "Altian %1 Battalion (Reserves)";
	textShort = "%1 Battalion (Reserves)";
	//texture = "\a3\missions_f_epa\data\img\orbat\B_Aegis_texture_ca.paa";
	subordinates[] = {resistance};
	description = "1st in Command 'The Griffins'";
};

class resistance
{
	id = 2;
	idType = 0;
	side = "Resistance";
	size = "Battalion";
	commander = "Yannis";
	commanderRank = "Major";
	text = "Altian %1 Battalion (Reserves)";
	textShort = "%1 Battalion (Reserves)";
	subordinates[] = {hq};
	//color[] = {0,0,0,1};
	description = "2nd in command 'The Griffins'";
};

class hq
{
	side = "Resistance";
	size = "Company";
	type = "hq";
	commander = "Achillios";
	commanderRank = "Major";
	text = "HQ Company";
	textShort = "HQ";
	subordinates[] = {inf1, inf2, inf3};
	//color[] = {1,1,1,1};
	description = "Altian 2nd Battalion (Reserves) HQ Company, housing the admin clerks, signalers, catering staff, military police, transport pool and medical staff.";
};

class inf1
{
	id = 1;
	idType = 2;
	side = "Resistance";
	size = "Company";
	type = "infantry";
	commander = "Pannos";
	commanderRank = "Major";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	//color[] = {0,1,0,1};
};

class inf2
{
	id = 2;
	idType = 2;
	side = "Resistance";
	size = "Company";
	type = "infantry";
	commander = "Akikos";
	commanderRank = "Major";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	//color[] = {0,1,0,1};
};
};

Edited by Bashkire

Share this post


Link to post
Share on other sites

You made several small mistakes:

1) You have {inf1, inf2, inf3} but it inf3 doesn't exist.

2) resistance needs either a type like (type = "hq") or a texture (texture = "blah").

3) same goes for 5thbattalion.

4) Please check if you defined the ceiling right in your ORBAT Group module. If it's still on "euroforce" it won't work and you have to cahnge it to:

missionconfigfile >> "CfgORBAT" >> "5thbattalion"

Did these steps and got it working, probably not as desired, so you have to mess around there with the types and textures a little.

class CfgORBAT
{
class 5thbattalion
{
	id = 2;
	idType = 0;
	side = "Resistance";
	//insignia = "\a3\missions_f_epa\data\img\orbat\B_Aegis_ca.paa";
	//colorInisgnia[] = {0, 0, 0, 1};
	commander = "Kothas";
	commanderRank = "Colonel";
	text = "Altian %1 Battalion (Reserves)";
	textShort = "%1 Battalion (Reserves)";
	texture = "\a3\missions_f_epa\data\img\orbat\B_Aegis_texture_ca.paa";
	subordinates[] = {resistance};
	description = "1st in Command 'The Griffins'";
};

class resistance
{
	id = 2;
	idType = 0;
	type = "hq";
	side = "Resistance";
	size = "Battalion";
	commander = "Yannis";
	commanderRank = "Major";
	text = "Altian %1 Battalion (Reserves)";
	textShort = "%1 Battalion (Reserves)";
	subordinates[] = {hq};
	//color[] = {0,0,0,1};
	description = "2nd in command 'The Griffins'";
};

class hq
{
	side = "Resistance";
	size = "Company";
	type = "hq";
	commander = "Achillios";
	commanderRank = "Major";
	text = "HQ Company";
	textShort = "HQ";
	subordinates[] = {inf1, inf2};
	//color[] = {1,1,1,1};
	description = "Altian 2nd Battalion (Reserves) HQ Company, housing the admin clerks, signalers, catering staff, military police, transport pool and medical staff.";
};

class inf1
{
	id = 1;
	idType = 2;
	side = "Resistance";
	size = "Company";
	type = "infantry";
	commander = "Pannos";
	commanderRank = "Major";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	//color[] = {0,1,0,1};
};

class inf2
{
	id = 2;
	idType = 2;
	side = "Resistance";
	size = "Company";
	type = "infantry";
	commander = "Akikos";
	commanderRank = "Major";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	//color[] = {0,1,0,1};
};
};

2013-12-06_00005ffpog.jpg

Share this post


Link to post
Share on other sites

IndeedPete, my thanks. This has really helped me. I figured out why it kept throwing up errors, it would seem that the ORBAT module isn't working as well in the Dev Build.

Cheers again!

Bashkire.

Share this post


Link to post
Share on other sites

Hello there, sorry if I hijack the t opic :p

I'm getting an error saying it can't find firstsquad, I read above but it doesn't work, I even copy and pasted the code IndeedPete posted and changed them how I like but it still doesn't work.

Here it is

class CfgORBAT
{
class dogcompany
{
	id = 0;
	idType = 0;
	side = "West";
	//insignia = "\a3\missions_f_epa\data\img\orbat\B_Aegis_ca.paa";
	//colorInisgnia[] = {0, 0, 0, 1};
	commander = "Flinn";
	commanderRank = "Major";
	text = "Dog Company";
	textShort = "%1 %3";
	texture = "\a3\missions_f_epa\data\img\orbat\B_Aegis_texture_ca.paa";
	subordinates[] = {west};
	description = "Dog Company, lead by Major Griffin, second company to reach Altis.";
};

class firstsquad
{
	id = 1;
	idType = 0;
	type = "Infantry";
	side = "West";
	size = "Squad";
	commander = "Ray";
	commanderRank = "Sergeant";
	text = "First squad of Dog Company, they always are on the first line.";
	textShort = "%1 %3)";
	subordinates[] = {Infantry};
	//color[] = {0,0,0,1};
	description = "First Squad";
};

class secondsquad
{
	id = 2;
	idType = 0;
	side = "West";
	size = "FireTeam";
	type = "MotorizedInfantry";
	commander = "Dixon";
	commanderRank = "Sergeant";
	text = "Second squad, motorized infantry, they help the first squad";
	textShort = "2nd Squad";
	subordinates[] = {2ndsquad};
	//color[] = {1,1,1,1};
	description = "Second squad made by a small group of 5 men.";
};

class thirdsquad
{
	id = 3;
	idType = 0;
	side = "West";
	size = "FireTeam";
	type = "Infantry";
	commander = "Nichols";
	commanderRank = "Sergeant";
	text = "%1 %2 %3";
	textShort = "%1 %3";
	//color[] = {0,1,0,1};
	description = "Third Squad, they provide covering fire for 1st squad.";
};	
};

Share this post


Link to post
Share on other sites

Hey there, perhaps I can help you a bit more now I kind of know what I'm doing.

//     Removed the comments (they wouldn't be run anyway).
//     Removed "subordinates[] = {x};" lines and changed them to a different form of ordering subordinates.
//     -  Putting classes inside classes (e.g: putting "firstsquad" inside "dogcompany") creates child classes. The module will then read that the child classes are subordinates of the
//        parent class.

//     MODULE CODE:
//     - Path:	missionconfigfile >> "CfgORBAT" >> "dogcompany" >> "firstsquad"
//     - Ceiling:	missionconfigfile >> "CfgORBAT" >> "dogcompany"

//     You'll notice in the path code you need to specify each tier to get the icons to show up on the map.



class CfgORBAT
{
class dogcompany
{
	id = 0;
	idType = 0;
	side = "West";
	commander = "Flinn";
	commanderRank = "Major";
	text = "Dog Company";
	textShort = "%1 %3";
	texture = "\a3\missions_f_epa\data\img\orbat\B_Aegis_texture_ca.paa";
	description = "Dog Company, lead by Major Griffin, second company to reach Altis.";

	class firstsquad
	{
		id = 1;
		idType = 0;
		type = "Infantry";
		side = "West";
		size = "Squad";
		commander = "Ray";
		commanderRank = "Sergeant";
		text = "First squad of Dog Company, they always are on the first line.";
		textShort = "%1 %3)";
		description = "First Squad";
	};

	class secondsquad
	{
		id = 2;
		idType = 0;
		side = "West";
		size = "FireTeam";
		type = "MotorizedInfantry";
		commander = "Dixon";
		commanderRank = "Sergeant";
		text = "Second squad, motorized infantry, they help the first squad";
		textShort = "2nd Squad";
		description = "Second squad made by a small group of 5 men.";
	};

	class thirdsquad
	{
		id = 3;
		idType = 0;
		side = "West";
		size = "FireTeam";
		type = "Infantry";
		commander = "Nichols";
		commanderRank = "Sergeant";
		text = "%1 %2 %3";
		textShort = "%1 %3";
		description = "Third Squad, they provide covering fire for 1st squad.";
	};
};
};

I'll also make a quick video to put on YouTube that will hopefully help as well.

Share this post


Link to post
Share on other sites

Thanks, it's working great now :) I find this a very nice addition, it's a good way to "expand" a good campaign so you know more about what's happening ^^

Share this post


Link to post
Share on other sites

Thanks for the amazing tutorial, my friend.

Got a problem here, though.

As long as I define nothing but one Group, everything works fine, however as soon as there are more than 2 subclasses of CfgORBAT, i get a params error when previewing the mission.

Even tried the code posted from you above and copied the text... didn't do shit though. :/

Any suggestions?

Share this post


Link to post
Share on other sites

Firstly, you could try copy and pasting the code of your first class to see if it's a problem with the game not recognising some of the code you typed in (maybe you accidentally misspelled something?).

Secondly, are you trying to define subordinates to groups (you have created group A successfully, but group B isn't working) inside of their classes like I did in the video or are you using the other method of assigning subordinates?

Thirdly, could you post your code here so we can take a look at it and try to diagnose it better?

Share this post


Link to post
Share on other sites

As i mentioned before, I used your code (click) for testing purposes. Didn't work... Strange!

Share this post


Link to post
Share on other sites

If you're using that exact code, try removing the "texture" line as a just in case thing.

Also try reloading the scenario in the editor. You'll notice in my video (and I have no idea why it needs you to do this) I save and reload the mission before previewing it so that the description.ext know's it's been updated.

If that doesn't work, copy and paste your description.ext into your next post, even if it's exactly the same as the one I posted, and we'll see what's going on.

Share this post


Link to post
Share on other sites

Heya and thanks for your effort!

Still doesn't work after doing the things you told me;

So, here's what's inside the description.ext:

//ORBAT
class CfgORBAT
{
class 3plat
{
	id = 1;
	idType = 0;
	side = "Resistance";
	size = "Platoon";
	type = "MotorizedInfantry";
	commander = "Leukos";
	commanderRank = "Lieutenant";
	text = "%1 %2 %3";
	textShort = "%1 %3";

	class 1sec
	{
		id = 2;
		idType = 0;
		side = "Resistance";
		size = "Section";
		type = "MotorizedInfantry";
		commander = "Aestro";
		commanderRank = "Sergeant";
		text = "%1 %2 %3";
		textShort = "%1 %3";
	};
	class 2sec
	{
		id = 3;
		idType = 0;
		side = "Resistance";
		size = "Section";
		type = "MotorizedInfantry";
		commander = "Germanos";
		commanderRank = "Sergeant";
		text = "%1 %2 %3";
		textShort = "%1 %3";
	};
};		
};

I call the Platoon via:

missionconfigfile >> "CfgORBAT" >> "3Plat"

and the 2nd section via:

missionconfigfile >> "CfgORBAT" >> "3plat" >> "2sec"

Both have the "3plat" set as their ceiling.

Share this post


Link to post
Share on other sites

Well, I'm not sure what's going wrong on your end, but I just copied and pasted your code into a description.ext, placed an ORBAT module

ORBAT Path:   missionconfigfile >> "CfgORBAT" >> "3Plat" >> "2sec"
ORBAT Ceiling:     missionconfigfile >> "CfgORBAT" >> "3Plat

and it's working fine for me.

For the sake of proof, here's the description.ext I have in my mission file based on your code above:

//ORBAT
class CfgORBAT
{
class 3plat
{
	id = 1;
	idType = 0;
	side = "Resistance";
	size = "Platoon";
	type = "MotorizedInfantry";
	commander = "Leukos";
	commanderRank = "Lieutenant";
	text = "%1 %2 %3";
	textShort = "%1 %3";

	class 1sec
	{
		id = 2;
		idType = 0;
		side = "Resistance";
		size = "Section";
		type = "MotorizedInfantry";
		commander = "Aestro";
		commanderRank = "Sergeant";
		text = "%1 %2 %3";
		textShort = "%1 %3";
	};
	class 2sec
	{
		id = 3;
		idType = 0;
		side = "Resistance";
		size = "Section";
		type = "MotorizedInfantry";
		commander = "Germanos";
		commanderRank = "Sergeant";
		text = "%1 %2 %3";
		textShort = "%1 %3";
	};
};		
};

Like I say, that shows up for me as:

SiObLAd.png

EDIT:

Legio4777: The ORBAT module allows you to show the structure of an army in ArmA. Check out my tutorial video and one of the first things I do is show you a battalion that I created at 01:10

Share this post


Link to post
Share on other sites

The fuck?

I've no clue why, but after copying your stuff (basically AGAIN) it works.

Beats me. Anyway, thanks for the help, my friend!

Share this post


Link to post
Share on other sites

Is there a possibility to set the commander name according to the name of a certain unit, for example to set it to the player's name if he is in command of a squad?

This would be verry useful especially for larger multiplayer missions.

Share this post


Link to post
Share on other sites

I'm not sure about setting up dynamic missions. It's possible that you could find a scripting command to try and get the players name, then reference it as a string in either the init.sqf or description.ext and then use it in that. My current work around (as I never make missions for large groups of people, and if lots will be they'll usually be organised so it's easy to create a personalised ORBAT for them) is simply never to show the smaller squads. Only show the bigger picture. Platoons will be the smallest I go from now on I think to solve this exact problem.

Share this post


Link to post
Share on other sites

Hey guys, me again,

has anyone found out how to mark an ORBAT-Group as "dead" or defeated just like in the campaign?

Probably custom images...?

Edit:

After one hour of whirling myself through the missionflow.fsm of the first campaign mission, I found out the solution! :)

Quite simple: it's a function and it's called BIS_fnc_ORBATAddGroupOverlay

Usage:

[YOUR ORBAT PATH,"mil_destroy", [1,0,0,1], 1.2,1.2,45] call BIS_fnc_ORBATAddGroupOverlay;

Example:

[missionconfigfile >> "CfgORBAT" >> "3Squ","mil_destroy", [1,0,0,1], 1.2,1.2,45] call BIS_fnc_ORBATAddGroupOverlay;

Take care, guys.

Edited by LAxemann

Share this post


Link to post
Share on other sites

Thanks for editing your post with the answer. I've been dealing with some training stuff for a while so I wasn't able to get on here to take a look at new posts. I'll try and get this into my tutorial.

Cheers mate!

Share this post


Link to post
Share on other sites

hello guys,

I cant figure out how to group the different units to make the marker chart work AND the orbat marker on the map.

Right now it depends on how I group the classes with } }; but in any case I only get the chart working OR the map markers.

Could someone please tell me whats wrong.

In the code below the chart is working like it should but there are no visible marker on the map.


class CfgORBAT
{
class HQ
{
	id = 0;
	idType = 1;
	side = "East";
	size = "Regiment";
	type = "Maritime";
	commander = "Artin";
	commanderRank = "Colonel";
	text = "test";
//		textShort = "%1 Battalion";
	subordinates[] = {XT};
	description = "1st in Command";
};

class XT
{
	id = 1;
	idType = 1;
	side = "East";
	size = "Company";
	type = "HQ";
	commander = "Heydar";
	commanderRank = "Captain";
	text = "HQ Company";
	textShort = "HQ";
	subordinates[] = {1th, 2th, 3th, 4th, 5th, Mortar};
	color[] = {1,0,0,1};
	description = "Local HQ on Stratis";
};

class 1th
{
	id = 2;
	idType = 1;
	side = "East";
	size = "Platoon";
	type = "MotorizedInfantry";
	commander = "Parviz";
	commanderRank = "Lieutenant";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	//color[] = {0,1,0,1};
};

class 2th
{
	id = 3;
	idType = 1;
	side = "East";
	size = "Platoon";
	type = "Infantry";
	commander = "Navid";
	commanderRank = "Lieutenant";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	//color[] = {0,1,0,1};
};

class 3th
{
	id = 4;
	idType = 1;
	side = "East";
	size = "Platoon";
	type = "MotorizedInfantry";
	commander = "Rostam";
	commanderRank = "Lieutenant";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	//color[] = {0,1,0,1};
};

class 4th
{
	id = 5;
	idType = 1;
	side = "East";
	size = "Platoon";
	type = "Recon";
	commander = "ShAheen";
	commanderRank = "Lieutenant";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	//color[] = {0,1,0,1};
};

class 5th
{
	id = 6;
	idType = 1;
	side = "East";
	size = "Platoon";
	type = "Support";
	commander = "Ahmad";
	commanderRank = "Lieutenant";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	//color[] = {0,1,0,1};
};

class Mortar
{
	id = 7;
	idType = 1;
	side = "East";
	size = "Squad";
	type = "Mortar";
	commander = "Arash";
	commanderRank = "Sergeant";
	text = "%1 %2 %3";
	textShort = "%1 %2";
	//color[] = {0,1,0,1};
};	
};

Share this post


Link to post
Share on other sites

Make sure to define the subordinates of a class before the actuall class!

The game is trying to set the class "XT" as the HQ's subordinate, but it's not yet defined.

Hope that helped...?

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×