Arma 3 Scripting

CfgMissions

  • Also known as missions directories, missions directory

Topic · Markdown · JSON · original wiki page

CfgMissions contains list of all playable content available for players in ingame menus. It is core of missions exported in Addon Format.

Classes

Introduced in Param name Description
Armed Assault v1.00 Campaigns Regular campaigns. For information on how to configure the campaigns themselves, please see the Campaign Description.ext page.
class Campaigns
{
    class Bootcamp
    {
        directory = "A3\Missions_F_Bootcamp\Campaign";
        filterGroup = 3;    // Only bootcamp campaign will be listed in Campaign dialogue invoked by Bootcamp button.
        // include the campaign description.ext to make its content re-usable outside of the campaign
        #include "\A3\Missions_F_Bootcamp\Campaign\description.ext"
    };
};
Arma 3 v1.00 Episodic Campaigns Arma 3 has introduced the ability to configure episodic campaigns, as seen with the official The East Wind campaign.
Upon expanding the main tree, you will see all available episodes which, when expanded as well, function as a regular campaign.
For information on how to configure the campaigns themselves, please see Campaign Description.ext.
class Campaigns
{
    class RootCampaign
    {
        // Each of these definitions are applied to the root campaign
        briefingName = "$STR_A3_CampaignName";
        overviewText = "$STR_A3_CampaignOverview";
        author = "$STR_A3_Bohemia_Interactive";
        overviewPicture = "a3\Missions_F_EPA\data\img\Campaign_overview_CA.paa";
        // Classes of episodes included
        campaigns[] = { "StageA", "StageB", "StageC" };
        class StageA
        {
            directory = "A3\Missions_F_EPA\Campaign";
            // include the campaign description.ext to make it is content re-usable outside of the campaign
            #include "\A3\Missions_F_EPA\Campaign\description.ext"
        };
        class StageB
        {
            directory = "A3\Missions_F_EPA\CampaignDummy";
        };
        class StageC
        {
            directory = "A3\Missions_F_EPA\CampaignDummy2";
        };
    };
};
Armed Assault v1.00 Missions Singleplayer missions. Menu name can vary in different projects:
Operation Flashpoint: Singleplayer
ArmA: Armed Assault: Missions
Arma 2: Scenarios
Arma 3: Scenarios
Take On Helicopters: Challenges
class Missions
{
    class SP_WarWelcome
    {
        directory = "ca\missions\Scenarios\SP_WarWelcome.utes";
    };
};

You can also group your missions into subfolders
class Missions
{
    class PMC_Missions
    {
        //--- Subfolder name
        displayName = "$STR_pmc_scenarios_name";
        //--- Subfolder overview
        overview = "ca\missions2_pmc\overview.html";
        //--- List of missions
        class SPP01_PMC
        {
            directory = "ca\missions2_pmc\scenarios\SPP03.ProvingGrounds_PMC";
        };
    };
};
Armed Assault v1.00 Tutorial Tutorial scenarios. Structure same as Missions.
Take On Helicopters v1.00 TimeTrials Time Trial scenarios. Structure same as Missions.
Armed Assault v1.00 MPMissions Multiplayer missions. Structure same as Missions.
class CfgMissions
{
    class MPMissions
    {
        //--- ZEUS
        class MP_ZGM_m14 // class name MUST match the name in the 'directory' path
        {
            briefingName = "$STR_A3_MasterTanoa_missionName";
            directory = "A3\missions_f_exp\mpscenarios\mp_zgm_m14.Tanoa"; // <--- match
        };
    };
};
Armed Assault v1.00 Templates Singleplayer templates. Accessible through <My Missions> in SP missions list.
class Templates
{
    class ST_BasicEast
    {
        directory = "ca\missions\Templates\Basic.East";
    };
};
Armed Assault v1.00 MPTemplates Multiplayer templates. Accessible through <My Missions> in MP missions list.
Armed Assault v1.00 Procedural Procedural missions. Exclusive for Armory.

Params

Following params works for all mission/campaign classes placed in parent classes listed above.

Introduced in Param name Type Description Compatibility
Armed Assault v1.00 directory String - Missions - path to mission folder (where mission.sqm is placed)
- Campaigns - path to folder where campaign description.ext is placed
directory = "ca\missions\Scenarios\SP_WarWelcome.utes";
N/A
Take On Helicopters v1.00 briefingName String Mission name overriding name set in Intel menu. Not in Campaigns
Take On Helicopters v1.00 overviewText String Custom overview description Not in MPMissions and MPTemplates
Take On Helicopters v1.00 overviewPicture String Path to custom overview picture Not in MPMissions and MPTemplates
Take On Helicopters v1.00 author String Content Authorship signature Not in MPMissions and MPTemplates

You can also put any Description.ext param in mission class.

Examples

Arma 2: Operation Arrowhead Missions
For simplicity, every parent class contains only one mission example
class CfgMissions
{
    class Missions
    {
        class SP_Benchmark // 03
        {
            directory = "ca\missions_e\scenarios\SPE1_Benchmark1.takistan";
        };
    };
    class MPMissions
    {
        class MPE_HikeInTheHills
        {
            directory = "ca\missions_e\MPScenarios\MPE1_HikeInTheHills.Takistan";
        };
    };
    class MPTemplates
    {
        class MTE_Deathmatch
        {
            directory = "ca\missions_e\MPTemplates\MPTE_Deathmatch";
        }
    };
    class Templates
    {
        class ST_BasicEast
        {
            directory = "ca\missions_e\Templates\Basic.East";
        };
    };
    class Campaigns
    {
        class Arrowhead
        {
            directory = "ca\missions_e\campaign";
        };
    };
    class Tutorial
    {
        class TE01
        {
            directory = "ca\missions_e\Bootcamp\TE01_Basic_controls.Zargabad";
        };
    };
    class Procedural
    {
        class Armory
        {
            onLoadMission = "$STR_LIB_ONLOAD";
            debriefing = 0;
            playerKilledScript = "\ca\missions\armory\data\scripts\respawn.sqf";
            onPauseScript = "\ca\missions\armory\data\scripts\pauseOnload.sqf";
            onCheat = "[_this] call LIB_onCheatFunction";
        };
    };
};
Arma 2: Private Military Company Missions
class CfgMissions
{
    class Missions
    {
        class PMC_Missions
        {
            displayName = "$STR_pmc_scenarios_name";
            overview = "ca\missions2_pmc\overview.html";
            class SPP01_PMC
            {
                directory = "ca\missions2_pmc\scenarios\SPP03.ProvingGrounds_PMC";
            };
            class SPP02_PMC
            {
                directory = "ca\missions2_pmc\scenarios\SPP02.ProvingGrounds_PMC";
            };
            class SPP03_PMC
            {
                directory = "ca\missions2_pmc\scenarios\SPP01.Takistan";
            };
            class SPPXX_PMC
            {
                directory = "ca\missions2_pmc\scenarios\SPP00.Zargabad";
            };
        };
    };
    class Templates
    {
        class SupplyDrop
        {
            directory = "ca\missions2_PMC\Templates\SupplyDrop.West";
        };
    };
};
Arma 3 Missions
class CfgMissions
{
    // Campaigns
    class Campaigns
    {
        class RootCampaign
        {
            // Each of these definitions are applied to the root campaign
            briefingName = "$STR_A3_CampaignName";
            overviewText = "$STR_A3_CampaignOverview";
            author = "$STR_A3_Bohemia_Interactive";
            overviewPicture = "a3\Missions_F_EPA\data\img\Campaign_overview_CA.paa";
            // Classes of episodes included
            campaigns[] = { "StageA", "StageB", "StageC" };
            class StageA
            {
                directory = "A3\Missions_F_EPA\Campaign";
                // include the campaign description.ext to make it is content re-usable outside of the campaign
                #include "\A3\Missions_F_EPA\Campaign\description.ext"
            };
            class StageB
            {
                directory = "A3\Missions_F_EPA\CampaignDummy";
            };
            class StageC
            {
                directory = "A3\Missions_F_EPA\CampaignDummy2";
            };
        };
    };
    // Showcase missions
    class Showcases
    {
        displayName = "$STR_A3_CFGMISSIONS_SHOWCASES0";
        briefingName = "$STR_A3_CFGMISSIONS_SHOWCASES0";
        author = "$STR_A3_Bohemia_Interactive";
        overviewPicture = "a3\Missions_F_Beta\data\img\Campaign_overview_CA.paa";
        overviewText = "$STR_A3_CFGMISSIONS_SHOWCASES0";
        class Showcase_Combined_arms
        {
            briefingName = "$STR_A3_Showcase_Combined_Arms_Mission_Name";
            directory = "a3\Missions_F_Beta\Showcases\Showcase_Combined_arms.Stratis";
        };
    };
    // Multiplayer missions
    class MPMissions
    {
        class MP_COOP_m01
        {
            briefingName = "$STR_A3_MP_COOP_m01_briefingName";
            directory = "A3\missions_f\mpscenarios\MP_COOP_m01.Stratis";
        };
    };
    // Challenges
    class Challenges
    {
        briefingName = "$STR_A3_CHALLENGES_NAME";
        overviewText = "$STR_A3_CHALLENGES_OVERVIEW";
        overviewPicture = "\a3\Missions_F_Beta\data\img\Challenges_overview_CA.paa";
        // Firing Drills
        author = "$STR_A3_Bohemia_Interactive";
        class Firing_Drills
        {
            briefingName = "$STR_A3_FIRING_DRILLS_NAME";
            overviewText = "$STR_A3_FIRING_DRILLS_OVERVIEW";
            overviewPicture = "\a3\Missions_F_Beta\data\img\FiringDrills_overview_CA.paa";
            author = "$STR_A3_Bohemia_Interactive";
            class SP_FD04 // Green
            {
                directory = "a3\Missions_F_Beta\Challenges\firing_drills\sp_fd04.stratis";
                briefingName = "$STR_A3_FIRING_DRILLS_SP_FD04_NAME";
                overviewText = "$STR_A3_FIRING_DRILLS_SP_FD04_OVERVIEW";
                overviewPicture = "\a3\Missions_F_Beta\data\img\SP_FD04_overview_CA.paa";
                author = "$STR_A3_Bohemia_Interactive";
            };
        };
    };
};