Arma 3 Scripting

Arma 3: Difficulty Settings

  • Also known as Arma 3 Difficulty Menu, Arma 3: Difficulty Menu, Arma 3: Difficulty Overhaul

Topic · Markdown · JSON · original wiki page

The Arma 3 v1.58 update brought a lot of changes to the difficulty system. A list of the most significant ones can be found at the bottom of the page.
There is a related forum thread where the changes can be discussed.

Difficulty Menu

Presets

One of the main changes that came with 1.58 is, that the difficulty levels were transformed to true presets. Each preset has exactly defined value for each difficulty option. If any of the options doesn't match the preset, it is changed to Custom. The following table shows comparison of the presets. Options that have fade out set can be faded in via the J key.

Config Parameter Name in Game Recruit Regular Veteran Possible Values Note
Simulation
reducedDamage Reduced Damage 1 0 0 0 = disabled, 1 = enabled Decreases damage dealt to the player and members of his group.
Situational Awareness
squadRadar - - - - - Shows a squad radar. Not implemented!
groupIndicators Group Indicators 2 1 0 0 = never, 1 = limited distance, 2 = always Shows indication icons on units in player's group.
friendlyTags Friendly Name Tags 2 1 0 0 = never, 1 = limited distance, 2 = always Friendly unit identification. Works only when the player aims at a unit.
enemyTags Enemy Name Tags 0 0 0 0 = never, 1 = limited distance, 2 = always Enemy unit identification. Works only when the player aims at a unit.
detectedMines Detected Mines 2 1 0 0 = never, 1 = limited distance, 2 = always Shows icons indicating exact positions of mines which are 200 m or closer.
commands Commands 2 1 1 0 = never, 1 = fade out, 2 = always Displays command icons like target markers, get in command and others.
waypoints Waypoints 2 2 1 0 = never, 1 = fade out, 2 = always Manages visibility of waypoint markers.
Personal Awareness
weaponInfo Weapon Info 2 2 1 0 = never, 1 = fade out, 2 = always Shows Weapon Info box contains round and magazine count, firing mode, etc..
stanceIndicator Stance Indicator 2 2 1 0 = never, 1 = fade out, 2 = always Displays stance indication contains actual stance, weapon resting and deployment.
staminaBar Stamina Bar 1 1 0 0 = disabled, 1 = enabled Manages visibility of stamina indicator. Fades in when stamina changes.
weaponCrosshair Crosshair 1 1 0 0 = disabled, 1 = enabled Shows weapon crosshair both in 1st and 3rd person view.
visionAid Vision Aid 1 0 0 0 = disabled, 1 = enabled Helps to detect units in visual range and identify friend from foe.
View
thirdPersonView 3rd Person View 1 1 0 0 = disabled, 1 = enabled, 2 = vehicles only Enables camera switching to 3rd person view.
Arma 3 v2.00 Vehicle only is now available
cameraShake Camera Shake 1 1 1 0 = disabled, 1 = enabled Shakes camera if player is near explosion, passing vehicle or if player's vehicle is under G-load.
Multiplayer
scoreTable Score Table 1 1 1 0 = disabled, 1 = enabled Displays table with kills, deaths and overall score in multiplayer.
deathMessages Killed By 1 1 1 0 = disabled, 1 = enabled Shows in chat window who killed the player.
vonID VON ID 1 1 1 0 = disabled, 1 = enabled Indicates who is speaking through VON communication.
Map Content
mapContent - - - - 0 = disabled, 1 = enabled Arma 3 v1.68 This property was replaced by mapContent* but still works. If it is set, all other mapContent* properties are overwritten. Not available via menu.
mapContentFriendly Friendly 1 1 0 0 = disabled, 1 = enabled Arma 3 v1.68 Shows friendly units on the map.
mapContentEnemy Enemy 1 1 0 0 = disabled, 1 = enabled Arma 3 v1.68 Shows enemy units on the map.
mapContentMines Mines 1 1 0 0 = disabled, 1 = enabled Arma 3 v1.68 Shows detected mines on the map.
tacticalPing Tactical Ping 1 1 0 0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both Allows players to highlight a position via a Tactical Ping.
Misc.
autoReport Automatic Reporting 1 1 0 0 = disabled, 1 = enabled Former autoSpot Enables/disables automatic reporting of spotted enemies by players only. To stop AI from talking with script, use unit setSpeaker "NoVoice";
multipleSaves Multiple Saves 1 1 0 0 = disabled, 1 = enabled Allows player to create multiple saves in a mission.

Configuration

Please note that the following information applies to the config in game's data (namely data_f.pbo) not to the profile. For profile related information please refer to this page. Since Arma 3 1.58 the game's config uses CfgDifficultyPresets class. The former CfgDifficulties is now obsolete and was left in the config only not to break scripts that might have used it.

class CfgDifficultyPresets
{
    defaultPreset = Regular;

    // Parameters that affect difficulty and which are shared among presets
    myArmorCoef = 1.5;
    groupArmorCoef = 1.5;

    // Parameters that affect the Limited distance choice for Group Indicators, Friendly Name Tags, Enemy Name Tags and Detected Mines.
    // They determine on which distance the indicators are fully visible and how many more meters it takes until the indicator fades-out completely.
    fadeDistanceStart = 40.0;
    fadeDistanceSpan = 10.0;

    recoilCoef = 1;
    visionAidCoef = 0.8;
    divingLimitMultiplier = 1.0;        // Multiplier to limit capacity of lungs for soldiers.

    animSpeedCoef = 0;
    cancelThreshold = 0;                // Threshold used for interrupting action.
    showCadetHints = 1;                    // (0 = disabled, 1 = enabled; see `cadetMode` command)
    showCadetWP = 1;                    // (0 = disabled, 1 = enabled)

    class Recruit
    {
        displayName = "$STR_Difficulty0";    // Name of the difficulty preset.
        optionDescription = "";            // Description
        optionPicture = "";                // Picture
        levelAI = "AILevelLow";            // Level of AI skill

        class Options
        {
            // Simulation
            reducedDamage = 1;        // Reduced damage (0 = disabled, 1 = enabled)

            // Situational awareness
            groupIndicators = 2;    // Group indicators        (0 = never, 1 = limited distance, 2 = always)
            friendlyTags = 2;        // Friendly name tags    (0 = never, 1 = limited distance, 2 = always)
            enemyTags = 0;            // Enemy name tags        (0 = never, 1 = limited distance, 2 = always)
            detectedMines = 2;        // Detected mines        (0 = never, 1 = limited distance, 2 = always)
            commands = 2;            // Commands                (0 = never, 1 = fade out, 2 = always)
            waypoints = 2;            // Waypoints            (0 = never, 1 = fade out, 2 = always)
            tacticalPing = 3;        // Tactical Ping        (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both)

            // Personal awareness
            weaponInfo = 2;            // Weapon info            (0 = never, 1 = fade out, 2 = always)
            stanceIndicator = 2;    // Stance indicator        (0 = never, 1 = fade out, 2 = always)
            staminaBar = 1;            // Stamina bar            (0 = disabled, 1 = enabled)
            weaponCrosshair = 1;    // Weapon crosshair        (0 = disabled, 1 = enabled)
            visionAid = 1;            // Vision aid            (0 = disabled, 1 = enabled)

            // View
            thirdPersonView = 1;    // 3rd person view        (0 = disabled, 1 = enabled, 2 = enabled for vehicles only (Since  Arma 3 v1.99))
            cameraShake = 1;        // Camera shake            (0 = disabled, 1 = enabled)

            // Multiplayer
            scoreTable = 1;            // Score table            (0 = disabled, 1 = enabled)
            deathMessages = 1;        // Killed by            (0 = disabled, 1 = enabled)
            vonID = 1;                // VON ID                (0 = disabled, 1 = enabled)

            // Misc
            mapContent = 1;            // Extended map content    (0 = disabled, 1 = enabled)
            autoReport = 1;            // Automatic reporting    (0 = disabled, 1 = enabled)
            multipleSaves = 1;        // Multiple saves        (0 = disabled, 1 = enabled)
        };
    };

    class Regular
    {
        displayName = "$STR_Difficulty1";    // Name of the difficulty preset.
        optionDescription = "";            // Description
        optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa"; // Picture
        levelAI = "AILevelMedium";        // Level of AI skill

        class Options
        {
            // Simulation
            reducedDamage = 0;        // Reduced damage        (0 = disabled, 1 = enabled)

            // Situational awareness
            groupIndicators = 1;    // Group indicators        (0 = never, 1 = limited distance, 2 = always)
            friendlyTags = 1;        // Friendly name tags    (0 = never, 1 = limited distance, 2 = always)
            enemyTags = 0;            // Enemy name tags        (0 = never, 1 = limited distance, 2 = always)
            detectedMines = 1;        // Detected mines        (0 = never, 1 = limited distance, 2 = always)
            commands = 1;            // Commands                (0 = never, 1 = fade out, 2 = always)
            waypoints = 2;            // Waypoints            (0 = never, 1 = fade out, 2 = always)
            tacticalPing = 3;        // Tactical Ping        (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both)

            // Personal awareness
            weaponInfo = 2;            // Weapon info            (0 = never, 1 = fade out, 2 = always)
            stanceIndicator = 2;    // Stance indicator        (0 = never, 1 = fade out, 2 = always)
            staminaBar = 1;            // Stamina bar            (0 = disabled, 1 = enabled)
            weaponCrosshair = 1;    // Weapon crosshair        (0 = disabled, 1 = enabled)
            visionAid = 0;            // Vision aid            (0 = disabled, 1 = enabled)

            // View
            thirdPersonView = 1;    // 3rd person view        (0 = disabled, 1 = enabled, 2 = enabled for vehicles only (Since  Arma 3 v1.99))
            cameraShake = 1;        // Camera shake            (0 = disabled, 1 = enabled)

            // Multiplayer
            scoreTable = 1;            // Score table            (0 = disabled, 1 = enabled)
            deathMessages = 1;        // Killed by            (0 = disabled, 1 = enabled)
            vonID = 1;                // VON ID                (0 = disabled, 1 = enabled)

            // Misc
            // mapContent = 1;        // Extended map content    (0 = disabled, 1 = enabled)    // before Arma 3 v1.68
            mapContentFriendly = 1;    // Map friendlies        (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
            mapContentEnemy = 1;    // Map Enemies            (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
            mapContentMines = 1;    // Map Mines            (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
            autoReport = 1;            // Automatic reporting    (0 = disabled, 1 = enabled)
            multipleSaves = 1;        // Multiple saves        (0 = disabled, 1 = enabled)
        };
    };

    class Veteran
    {
        displayName = "$STR_Difficulty2";    // Name of the difficulty preset.
        optionDescription = "";            // Description
        optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa"; // Picture
        levelAI = "AILevelHigh";        // Level of AI skill

        class Options
        {
            // Simulation
            reducedDamage = 0;        // Reduced damage        (0 = disabled, 1 = enabled)

            // Situational awareness
            groupIndicators = 0;    // Group indicators        (0 = never, 1 = limited distance, 2 = always)
            friendlyTags = 0;        // Friendly name tags    (0 = never, 1 = limited distance, 2 = always)
            enemyTags = 0;            // Enemy name tags        (0 = never, 1 = limited distance, 2 = always)
            detectedMines = 0;        // Detected mines        (0 = never, 1 = limited distance, 2 = always)
            commands = 1;            // Commands                (0 = never, 1 = fade out, 2 = always)
            waypoints = 1;            // Waypoints            (0 = never, 1 = fade out, 2 = always)
            tacticalPing = 0;        // Tactical Ping        (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both)

            // Personal awareness
            weaponInfo = 1;            // Weapon info            (0 = never, 1 = fade out, 2 = always)
            stanceIndicator = 1;    // Stance indicator        (0 = never, 1 = fade out, 2 = always)
            staminaBar = 0;            // Stamina bar            (0 = disabled, 1 = enabled)
            weaponCrosshair = 0;    // Weapon crosshair        (0 = disabled, 1 = enabled)
            visionAid = 0;            // Vision aid            (0 = disabled, 1 = enabled)

            // View
            thirdPersonView = 0;    // 3rd person view        (0 = disabled, 1 = enabled, 2 = enabled for vehicles only (Since  Arma 3 v1.99))
            cameraShake = 1;        // Camera shake            (0 = disabled, 1 = enabled)

            // Multiplayer
            scoreTable = 1;            // Score table            (0 = disabled, 1 = enabled)
            deathMessages = 1;        // Killed by            (0 = disabled, 1 = enabled)
            vonID = 1;                // VON ID                (0 = disabled, 1 = enabled)

            // Misc
            mapContent = 0;            // Extended map content (0 = disabled, 1 = enabled) // before Arma 3 v1.68
            mapContentFriendly = 0;    // Map friendlies        (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
            mapContentEnemy = 0;    // Map Enemies            (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
            mapContentMines = 0;    // Map Mines            (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
            autoReport = 0;            // Automatic reporting    (0 = disabled, 1 = enabled)
            multipleSaves = 0;        // Multiple saves        (0 = disabled, 1 = enabled)
        };
    };

    class Custom
    {
        displayName = "$STR_Difficulty_Custom";        // Name of the difficulty preset.
        optionDescription = "";                        // Description
        optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa"; // Picture
        levelAI = "AILevelMedium";                    // Level of AI skill

        // All options of the Custom preset are set by the engine. The values in config
        class Options
        {
            // Simulation
            reducedDamage = 0;        // Reduced damage        (0 = disabled, 1 = enabled)

            // Situational awareness
            groupIndicators = 0;    // Group indicators        (0 = never, 1 = limited distance, 2 = always)
            friendlyTags = 0;        // Friendly name tags    (0 = never, 1 = limited distance, 2 = always)
            enemyTags = 0;            // Enemy name tags        (0 = never, 1 = limited distance, 2 = always)
            detectedMines = 0;        // Detected mines        (0 = never, 1 = limited distance, 2 = always)
            commands = 0;            // Commands                (0 = never, 1 = fade out, 2 = always)
            waypoints = 0;            // Waypoints            (0 = never, 1 = fade out, 2 = always)
            tacticalPing = 0;        // Tactical Ping        (0 = disabled, 1 = in 3D scene, 2 = on map, 3 = both)

            // Personal awareness
            weaponInfo = 1;            // Weapon info            (0 = never, 1 = fade out, 2 = always)
            stanceIndicator = 0;    // Stance indicator        (0 = never, 1 = fade out, 2 = always)
            staminaBar = 0;            // Stamina bar            (0 = disabled, 1 = enabled)
            weaponCrosshair = 0;    // Weapon crosshair        (0 = disabled, 1 = enabled)
            visionAid = 0;            // Vision aid            (0 = disabled, 1 = enabled)

            // View
            thirdPersonView = 0;    // 3rd person view        (0 = disabled, 1 = enabled, 2 = enabled for vehicles only (Since  Arma 3 v1.99))
            cameraShake = 0;        // Camera shake            (0 = disabled, 1 = enabled)

            // Multiplayer
            scoreTable = 0;            // Score table            (0 = disabled, 1 = enabled)
            deathMessages = 0;        // Killed by            (0 = disabled, 1 = enabled)
            vonID = 0;                // VON ID                (0 = disabled, 1 = enabled)

            // Misc
            mapContent = 0;            // Extended map content (0 = disabled, 1 = enabled) // before Arma 3 v1.68
            mapContentFriendly = 0;    // Map friendlies        (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
            mapContentEnemy = 0;    // Map Enemies            (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
            mapContentMines = 0;    // Map Mines            (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
            autoReport = 0;            // Automatic reporting    (0 = disabled, 1 = enabled)
            multipleSaves = 0;        // Multiple saves        (0 = disabled, 1 = enabled)
        };
    };
};

Note

Extraction script can be found on the Biki Export Scripts page.

Difficulty Overhaul

Phase 1

Phase 2

Phase 3