Mission Overview – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
m (→‎Configuration: added briefing name)
(Page refresh)
Line 1: Line 1:
[[category:Arma 3: Editing]]
{{Informative|For overview configuration in [[Operation Flashpoint]], [[Arma]] and [[{{arma2}}]], see [[Overview.html]].}}
{{Informative|For overview configuration in [[Operation Flashpoint]], [[Arma]] and [[{{arma2}}]], see [[Overview.html]]}}
{{SideTOC}}
 


Overview is short summary of a mission displayed in mission selection. It's the first thing player sees from a mission and should not be underestimated; well made overview can immediately capture player's attention, while poorly made one can make him ignore your mission forever.
Overview is short summary of a mission displayed in mission selection. It's the first thing player sees from a mission and should not be underestimated; well made overview can immediately capture player's attention, while poorly made one can make him ignore your mission forever.
Line 9: Line 8:
* '''Play > Campaign'''
* '''Play > Campaign'''
* '''Multiplayer Create Game''' (only for hosts / admins)
* '''Multiplayer Create Game''' (only for hosts / admins)


== Displayed Information ==
== Displayed Information ==
[[File:A3_missionOverview.jpg|400px|right]]
[[File:A3_missionOverview.jpg|400px|right]]
[[File:A3_customMissionOverview.jpg|400px|right]]
[[File:A3_customMissionOverview.jpg|400px|right]]
Line 32: Line 33:


== Configuration ==
== Configuration ==
Two ways how to [[Mission Export|export a mission]] exists - either as mission [[PBO]], or as addon PBO. Both are using [[Description.ext]], but addon format also allows configuration in [[Config.cpp]]. Campaign missions are listed in [[Campaign Description.ext]], but missions still support Description.ext.
Two ways how to [[Mission Export|export a mission]] exists - either as mission [[PBO]], or as addon PBO. Both are using [[Description.ext]], but addon format also allows configuration in [[Config.cpp]]. Campaign missions are listed in [[Campaign Description.ext]], but missions still support Description.ext.


Line 38: Line 40:
Single missions can be locked using [[Description.ext#keys|keys]]. In such cases, overview image is transparent and ''overviewTextLocked'' is used instead of ''overviewText''. This applies <u>only</u> to single missions, not to mission folders, campaigns or campaign missions.
Single missions can be locked using [[Description.ext#keys|keys]]. In such cases, overview image is transparent and ''overviewTextLocked'' is used instead of ''overviewText''. This applies <u>only</u> to single missions, not to mission folders, campaigns or campaign missions.


=== [[Description.ext]] ===
<syntaxhighlight lang="cpp">
briefingName = "The Final Countdown";
overviewText = "The nuke is still out there!";
overviewTextLocked = "Finish the Splendid campaign in order to unlock this mission.";
overviewPicture = "overviewPicture_ca.paa";
author = "Stranger";
</syntaxhighlight>
=== [[Config.cpp]] ===


'''[[Description.ext]]'''
<syntaxhighlight lang="cpp">
briefingName = "The Final Countdown";
class CfgMissions
  overviewText = "The nuke is still out there!";
{
overviewTextLocked = "Finish the Splendid campaign in order to unlock this mission.";
class Missions
overviewPicture = "overviewPicture_ca.paa";
{
author = "Stranger";
// Mission subfolder (optional, mission can be defined straight away)
class MySubfolder
{
displayName = "Comanche Missions";
overviewText = "Scenarios involving your favorite helicopter.";
overviewPicture = "\a3\fw_f\data\overviewPictureFolder_ca.paa";
author = "Stranger";
   
// Mission itself
class MyMission
{
overviewText = "The nuke is still out there!";
overviewPicture = "\FW\data\overviewPicture_ca.paa";
overviewTextLocked = "Finish the Splendid campaign in order to unlock this mission.";
author = "Stranger";
overviewScript = "\FW\scripts\overviewScript.sqf";


'''[[Config.cpp]]'''
directory = "\FW\MyMission.Altis";
class CfgMissions
};
{
};
class Missions
};
class Campaigns
  {
  {
{{codecomment|// Mission subfolder (optional, mission can be defined straight away)}}
// Campaign; its missions are defined in campaign description.ext
class MySubfolder
class Splendid
{
{
displayName = "Comanche Missions";
overviewText = "SURVIVE - ADAPT - WIN";
overviewText = "Scenarios involving your favorite helicopter.";
overviewPicture = "\a3\missions_f\data\splendid_ca.paa";
overviewPicture = "\a3\fw_f\data\overviewPictureFolder_ca.paa";
author = "Bohemia Interactive";
author = "Stranger";
 
 
directory = "\FW\Splendid";
{{codecomment|// Mission itself}}
};
class MyMission
};
{
};
overviewText = "The nuke is still out there!";
</syntaxhighlight>
overviewPicture = "\FW\data\overviewPicture_ca.paa";
 
overviewTextLocked = "Finish the Splendid campaign in order to unlock this mission.";
=== Sample overviewScript.sqf ===
author = "Stranger";
overviewScript = "\FW\scripts\overviewScript.sqf";
directory = "\FW\MyMission.Altis";
};
};
};
class Campaigns
  {
{{codecomment|// Campaign; its missions are defined in campaign description.ext}}
class Splendid
{
overviewText = "SURVIVE - ADAPT - WIN";
overviewPicture = "\a3\missions_f\data\splendid_ca.paa";
author = "Bohemia Interactive";
directory = "\FW\Splendid";
};
};
};


'''Sample overviewScript.sqf'''
  #include "\A3\ui_f\hpp\defineCommonGrids.inc"
  #include "\A3\ui_f\hpp\defineCommonGrids.inc"
   
   
  private["_display", "_missionClassName", "_challengesOverviewGroup", "_newControl"];
  [[params]] ["_display", _missionClassname"];
   
   
  _display = _this select 0;
  [[private]] _challengesOverviewGroup = _display [[displayCtrl]] 2302;  {{cc|Custom UI elements should be created inside this group}}
_missionClassName = _this select 1;                    //Class name of mission selected in the dialogue
_challengesOverviewGroup = _display displayCtrl 2302;  //Custom UI elements should be created inside this group
   
   
  _newControl = _display ctrlCreate ["Rsctext", 10001, _challengesOverviewGroup]; //IDCs higher than 10000 should be used
  [[private]] _newControl = _display [[ctrlCreate]] ["Rsctext", 10001, _challengesOverviewGroup]; {{cc|IDCs higher than 10000 should be used}}
  _newControl ctrlSetPosition [0, 0, 21.5 * GUI_GRID_W, 3.5 * GUI_GRID_H + (0.5 * (safezoneH - GUI_GRID_HAbs))];
  _newControl [[ctrlSetPosition]] [0, 0, 21.5 * GUI_GRID_W, 3.5 * GUI_GRID_H + (0.5 * (safezoneH - GUI_GRID_HAbs))];
  _newControl ctrlCommit 0;
  _newControl [[ctrlCommit]] 0;
  _newControl ctrlSetText "TEST";
  _newControl [[ctrlSetText]] "TEST";
  _newControl ctrlSetBackgroundColor [1,0,0,0.5];
  _newControl [[ctrlSetBackgroundColor]] [1,0,0,0.5];


'''[[Campaign Description.ext]]'''
=== [[Campaign Description.ext]] ===
class Campaign
 
{
<syntaxhighlight lang="cpp">
firstBattle = Beginning;
class Campaign
disableMP = 1;
{
firstBattle = Beginning;
briefingName = "Splendid";
disableMP = 1;
author = "Campaign author";
overviewPicture = "\FW\data\overviewPicture_ca.paa";
briefingName = "Splendid";
overviewText = "Campaign overview";
author = "Campaign author";
 
overviewPicture = "\FW\data\overviewPicture_ca.paa";
class Beginning
overviewText = "Campaign overview";
{
 
name = "The Beginning";
class Beginning
cutscene = ;
{
firstMission = mission01;
name = "The Beginning";
end1 = ;
cutscene = ;
lost = ;
firstMission = mission01;
end1 = ;
class mission01
lost = ;
{
briefingName = "Mission name";
class mission01
author = "Mission author";
{
overviewPicture = "\FW\data\overviewPicture_ca.paa";
briefingName = "Mission name";
overviewText = "Mission overview";
author = "Mission author";
overviewPicture = "\FW\data\overviewPicture_ca.paa";
template = mission01.Altis;
overviewText = "Mission overview";
};
 
};
template = mission01.Altis;
};
};
};
};
</syntaxhighlight>
 
 
[[Category:Arma 3: Editing]]

Revision as of 19:50, 15 September 2020

For overview configuration in Operation Flashpoint, Arma and Arma 2, see Overview.html.

Template:SideTOC

Overview is short summary of a mission displayed in mission selection. It's the first thing player sees from a mission and should not be underestimated; well made overview can immediately capture player's attention, while poorly made one can make him ignore your mission forever.

The overview is visible in the following menus:

  • Play > Scenarios / Showcases / Challenges
  • Play > Campaign
  • Multiplayer Create Game (only for hosts / admins)


Displayed Information

A3 missionOverview.jpg
A3 customMissionOverview.jpg

The overview consists of:

  • Name
    • Mission name. Keep it short, because space in mission selection menu and in loading screens is limited.
  • Author
    • Your name or nickname, used also in Loading Screens. Displayed as "by <author>".
  • Preview picture
    • Must be in PAA file format.
    • 2:1 aspect ratio (different aspect are rendered correctly as well, but won't cover the whole area).
    • Ideally 1024x512 pixels.
  • Description
  • Custom Description
    • Allows addition of custom UI elements to mission description. Serves for example for displaying score reached in challenges.
    • Is displayed only when overviewScript parameter is defined in mission's class in CfgMissions. See Sample overviewScript.sqf.
    • Works only for SP missions (namely in Showcases, Challenges and Scenarios dialogue).
    • For custom IDCs only values higher than 10000 should be used.


Configuration

Two ways how to export a mission exists - either as mission PBO, or as addon PBO. Both are using Description.ext, but addon format also allows configuration in Config.cpp. Campaign missions are listed in Campaign Description.ext, but missions still support Description.ext.

Entries defined in mission Description.ext have the largest priority and will overwrite those in Config.cpp / Campaign Description.ext

Single missions can be locked using keys. In such cases, overview image is transparent and overviewTextLocked is used instead of overviewText. This applies only to single missions, not to mission folders, campaigns or campaign missions.

Description.ext

briefingName = "The Final Countdown";
overviewText = "The nuke is still out there!";
overviewTextLocked = "Finish the Splendid campaign in order to unlock this mission.";
overviewPicture = "overviewPicture_ca.paa";
author = "Stranger";

Config.cpp

class CfgMissions
{
	class Missions
	{
		// Mission subfolder (optional, mission can be defined straight away)
		class MySubfolder
		{
			displayName = "Comanche Missions";
			overviewText = "Scenarios involving your favorite helicopter.";
			overviewPicture = "\a3\fw_f\data\overviewPictureFolder_ca.paa";
			author = "Stranger";
 
			// Mission itself
			class MyMission
			{
				overviewText = "The nuke is still out there!";
				overviewPicture = "\FW\data\overviewPicture_ca.paa";
				overviewTextLocked = "Finish the Splendid campaign in order to unlock this mission.";
				author = "Stranger";
				overviewScript = "\FW\scripts\overviewScript.sqf";

				directory = "\FW\MyMission.Altis";
			};
		};
	};
	class Campaigns
 	{
		// Campaign; its missions are defined in campaign description.ext
		class Splendid
		{
			overviewText = "SURVIVE - ADAPT - WIN";
			overviewPicture = "\a3\missions_f\data\splendid_ca.paa";
			author = "Bohemia Interactive";

			directory = "\FW\Splendid";
		};
	};
};

Sample overviewScript.sqf

#include "\A3\ui_f\hpp\defineCommonGrids.inc"

params ["_display", _missionClassname"];

private _challengesOverviewGroup = _display displayCtrl 2302;  // Custom UI elements should be created inside this group

private _newControl = _display ctrlCreate ["Rsctext", 10001, _challengesOverviewGroup]; // IDCs higher than 10000 should be used
_newControl ctrlSetPosition [0, 0, 21.5 * GUI_GRID_W, 3.5 * GUI_GRID_H + (0.5 * (safezoneH - GUI_GRID_HAbs))];
_newControl ctrlCommit 0;
_newControl ctrlSetText "TEST";
_newControl ctrlSetBackgroundColor [1,0,0,0.5];

Campaign Description.ext

class Campaign
{
	firstBattle = Beginning;
	disableMP = 1;
	 
	briefingName = "Splendid";
	author = "Campaign author";
	overviewPicture = "\FW\data\overviewPicture_ca.paa";
	overviewText = "Campaign overview";
  
	class Beginning
	{
		name = "The Beginning";
		cutscene = ;
		firstMission = mission01;
		end1 = ;
		lost = ;
		 
		class mission01
		{
			briefingName = "Mission name";
			author = "Mission author";
			overviewPicture = "\FW\data\overviewPicture_ca.paa";
			overviewText = "Mission overview";

			template = mission01.Altis;
		};
	};
};