Difficulty Settings – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
m (removed redundant word in first link text)
(32 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Arma 3: Editing]]
{{TOC|side}}
=Difficulty Menu=
The {{GVI|arma3|1.58}} update brought a lot of changes to the difficulty system. A list of the most significant ones can be found at the [[Arma 3: Difficulty Settings#Difficulty_Overhaul|bottom of the page]].<br>
The 1.58 update brought a lot of changes to the difficulty system. List of the most significant ones can be found on [[Arma 3 Difficulty Overhaul]] page.
There is a [https://forums.bistudio.com/topic/188661-difficulty-overhaul/ related forum thread] where the changes can be discussed.
There's a [https://forums.bistudio.com/topic/188661-difficulty-overhaul/ related thread] on the forums where the changes can be discussed.
[[File:20170725165627 1.jpg|450px|center]]


= Difficulty Menu =
== Presets ==


==Difficulty 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.
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.


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


==Configuration==
== 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 [[server.armaprofile#Arma_3|this page]].
 
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 [[server.armaprofile#Arma 3|this page]].
Since Arma 3 1.58 the game's config uses <tt>CfgDifficultyPresets</tt> class. The former <tt>CfgDifficulties</tt> is now obsolete and was left in the config only not to break scripts that might have used it.
Since Arma 3 1.58 the game's config uses <tt>CfgDifficultyPresets</tt> class. The former <tt>CfgDifficulties</tt> is now obsolete and was left in the config only not to break scripts that might have used it.


<syntaxhighlight lang="cpp">
<spoiler><syntaxhighlight lang="cpp">
class CfgDifficultyPresets
class CfgDifficultyPresets
{
{
Line 79: Line 104:
recoilCoef = 1;
recoilCoef = 1;
visionAidCoef = 0.8;
visionAidCoef = 0.8;
divingLimitMultiplier = 1.0; //Multiplier to limit capacity of lungs for soldiers.
divingLimitMultiplier = 1.0; // Multiplier to limit capacity of lungs for soldiers.


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


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


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


// Situational awareness
// Situational awareness
groupIndicators = 2;     // Group indicators   (0 = never, 1 = limited distance, 2 = always)
groupIndicators = 2; // Group indicators (0 = never, 1 = limited distance, 2 = always)
friendlyTags = 2;         // Friendly name tags (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)
enemyTags = 0; // Enemy name tags (0 = never, 1 = limited distance, 2 = always)
detectedMines = 2;       // Detected mines     (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)
commands = 2; // Commands (0 = never, 1 = fade out, 2 = always)
waypoints = 2;           // Waypoints         (0 = never, 1 = fade out, 2 = always)
waypoints = 2; // Waypoints (0 = never, 1 = fade out, 2 = always)
tacticalPing = 1; // Tactical Ping (0 = disabled, 1 = enabled)


// Personal awareness
// Personal awareness
weaponInfo = 2;           // Weapon info       (0 = never, 1 = fade out, 2 = always)
weaponInfo = 2; // Weapon info (0 = never, 1 = fade out, 2 = always)
stanceIndicator = 2;     // Stance indicator   (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)
staminaBar = 1; // Stamina bar (0 = disabled, 1 = enabled)
weaponCrosshair = 1;   // Weapon crosshair (0 = disabled, 1 = enabled)
weaponCrosshair = 1; // Weapon crosshair (0 = disabled, 1 = enabled)
visionAid = 1;         // Vision aid (0 = disabled, 1 = enabled)
visionAid = 1; // Vision aid (0 = disabled, 1 = enabled)


// View
// View
thirdPersonView = 1;   // 3rd person view (0 = disabled, 1 = enabled)
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)
cameraShake = 1; // Camera shake (0 = disabled, 1 = enabled)


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


// Misc
// Misc
mapContent = 1;       // Extended map content (0 = disabled, 1 = enabled)
mapContent = 1; // Extended map content (0 = disabled, 1 = enabled)
autoReport = 1;       // Automatic reporting (0 = disabled, 1 = enabled)
autoReport = 1; // Automatic reporting (0 = disabled, 1 = enabled)
multipleSaves = 1;     // Multiple saves (0 = disabled, 1 = enabled)
multipleSaves = 1; // Multiple saves (0 = disabled, 1 = enabled)
};
};
};
};
Line 128: Line 157:
class Regular
class Regular
{
{
displayName = $STR_Difficulty1;   //Name of the difficulty preset.
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
class Options
{
{
// Simulation
// Simulation
reducedDamage = 0;   // Reduced damage (0 = disabled, 1 = enabled)
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 = 1; // Tactical Ping (0 = disabled, 1 = enabled)


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)


// Personal awareness
// Personal awareness
weaponInfo = 2;           // Weapon info       (0 = never, 1 = fade out, 2 = always)
weaponInfo = 2; // Weapon info (0 = never, 1 = fade out, 2 = always)
stanceIndicator = 2;     // Stance indicator   (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)
staminaBar = 1; // Stamina bar (0 = disabled, 1 = enabled)
weaponCrosshair = 1;   // Weapon crosshair (0 = disabled, 1 = enabled)
weaponCrosshair = 1; // Weapon crosshair (0 = disabled, 1 = enabled)
visionAid = 0;       // Vision aid (0 = disabled, 1 = enabled)
visionAid = 0; // Vision aid (0 = disabled, 1 = enabled)


// View
// View
thirdPersonView = 1;   // 3rd person view (0 = disabled, 1 = enabled)
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)
cameraShake = 1; // Camera shake (0 = disabled, 1 = enabled)


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


// Misc
// Misc
mapContent = 1;       // Extended map content (0 = disabled, 1 = enabled)
// mapContent = 1; // Extended map content (0 = disabled, 1 = enabled) // before Arma 3 v1.68
autoReport = 1;       // Automatic reporting (0 = disabled, 1 = enabled)
mapContentFriendly = 1; // Map friendlies (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
multipleSaves = 1;     // Multiple saves (0 = disabled, 1 = enabled)
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)
};
};
};
};
Line 167: Line 205:
class Veteran
class Veteran
{
{
displayName = $STR_Difficulty2;   //Name of the difficulty preset.
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
class Options
{
{
// Simulation
// Simulation
reducedDamage = 0;   // Reduced damage (0 = disabled, 1 = enabled)
reducedDamage = 0; // Reduced damage (0 = disabled, 1 = enabled)


// Situational awareness
// Situational awareness
groupIndicators = 0;     // Group indicators   (0 = never, 1 = limited distance, 2 = always)
groupIndicators = 0; // Group indicators (0 = never, 1 = limited distance, 2 = always)
friendlyTags = 0;         // Friendly name tags (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)
enemyTags = 0; // Enemy name tags (0 = never, 1 = limited distance, 2 = always)
detectedMines = 0;       // Detected mines     (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)
commands = 1; // Commands (0 = never, 1 = fade out, 2 = always)
waypoints = 1;           // Waypoints         (0 = never, 1 = fade out, 2 = always)
waypoints = 1; // Waypoints (0 = never, 1 = fade out, 2 = always)
tacticalPing = 0; // Tactical Ping (0 = disabled, 1 = enabled)


// Personal awareness
// Personal awareness
weaponInfo = 1;           // Weapon info       (0 = never, 1 = fade out, 2 = always)
weaponInfo = 1; // Weapon info (0 = never, 1 = fade out, 2 = always)
stanceIndicator = 1;     // Stance indicator   (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)
staminaBar = 0; // Stamina bar (0 = disabled, 1 = enabled)
weaponCrosshair = 0; // Weapon crosshair (0 = disabled, 1 = enabled)
weaponCrosshair = 0; // Weapon crosshair (0 = disabled, 1 = enabled)
visionAid = 0;       // Vision aid (0 = disabled, 1 = enabled)
visionAid = 0; // Vision aid (0 = disabled, 1 = enabled)


// View
// View
thirdPersonView = 0; // 3rd person view (0 = disabled, 1 = enabled)
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)
cameraShake = 1; // Camera shake (0 = disabled, 1 = enabled)


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


// Misc
// Misc
mapContent = 0;       // Extended map content (0 = disabled, 1 = enabled)
mapContent = 0; // Extended map content (0 = disabled, 1 = enabled) // before Arma 3 v1.68
autoReport = 0;       // Automatic reporting (0 = disabled, 1 = enabled)
mapContentFriendly = 0; // Map friendlies (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
multipleSaves = 0;   // Multiple saves (0 = disabled, 1 = enabled)
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)
};
};
};
};
Line 207: Line 252:
class Custom
class Custom
{
{
displayName = $STR_Difficulty_Custom;     //Name of the difficulty preset.
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
// All options of the Custom preset are set by the engine. The values in config
class Options
class Options
{
{
// Simulation
// Simulation
reducedDamage = 0;   // Reduced damage (0 = disabled, 1 = enabled)
reducedDamage = 0; // Reduced damage (0 = disabled, 1 = enabled)


// Situational awareness
// Situational awareness
groupIndicators = 0;     // Group indicators   (0 = never, 1 = limited distance, 2 = always)
groupIndicators = 0; // Group indicators (0 = never, 1 = limited distance, 2 = always)
friendlyTags = 0;         // Friendly name tags (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)
enemyTags = 0; // Enemy name tags (0 = never, 1 = limited distance, 2 = always)
detectedMines = 0;       // Detected mines     (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)
commands = 0; // Commands (0 = never, 1 = fade out, 2 = always)
waypoints = 0;           // Waypoints         (0 = never, 1 = fade out, 2 = always)
waypoints = 0; // Waypoints (0 = never, 1 = fade out, 2 = always)
tacticalPing = 0; // Tactical Ping (0 = disabled, 1 = enabled)


// Personal awareness
// Personal awareness
weaponInfo = 1;           // Weapon info       (0 = never, 1 = fade out, 2 = always)
weaponInfo = 1; // Weapon info (0 = never, 1 = fade out, 2 = always)
stanceIndicator = 0;     // Stance indicator   (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)
staminaBar = 0; // Stamina bar (0 = disabled, 1 = enabled)
weaponCrosshair = 0; // Weapon crosshair (0 = disabled, 1 = enabled)
weaponCrosshair = 0; // Weapon crosshair (0 = disabled, 1 = enabled)
visionAid = 0;       // Vision aid (0 = disabled, 1 = enabled)
visionAid = 0; // Vision aid (0 = disabled, 1 = enabled)


// View
// View
thirdPersonView = 0; // 3rd person view (0 = disabled, 1 = enabled)
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)
cameraShake = 0; // Camera shake (0 = disabled, 1 = enabled)


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


// Misc
// Misc
mapContent = 0;       // Extended map content (0 = disabled, 1 = enabled)
mapContent = 0; // Extended map content (0 = disabled, 1 = enabled) // before Arma 3 v1.68
autoReport = 0;       // Automatic reporting (0 = disabled, 1 = enabled)
mapContentFriendly = 0; // Map friendlies (0 = disabled, 1 = enabled) // since  Arma 3 v1.68
multipleSaves = 0;   // Multiple saves (0 = disabled, 1 = enabled)
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)
</syntaxhighlight>
 
 
Arma 3 v1.63 PUB DEV export (includes squad radar):
<syntaxhighlight lang=cpp>
class CfgDifficultyPresets
{
class Recruit
{
description = "Regular man who just enrolled into the army.";
levelAI = "AILevelLow";
class Options
{
reducedDamage = 1;
groupIndicators = 2;
friendlyTags = 2;
enemyTags = 0;
detectedMines = 2;
commands = 2;
waypoints = 2;
weaponInfo = 2;
stanceIndicator = 2;
staminaBar = 1;
weaponCrosshair = 1;
visionAid = 1;
squadRadar = 1;
thirdPersonView = 1;
cameraShake = 1;
scoreTable = 1;
deathMessages = 1;
vonID = 1;
mapContent = 1;
autoReport = 1;
multipleSaves = 1;
};
displayName = "Recruit";
optionDescription = "Regular man who just enrolled into the army.";
optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa";
};
class Regular
{
description = "Just finished training, no real combat experience.";
levelAI = "AILevelMedium";
class Options
{
reducedDamage = 0;
groupIndicators = 1;
friendlyTags = 1;
enemyTags = 0;
detectedMines = 1;
commands = 1;
waypoints = 2;
weaponInfo = 2;
stanceIndicator = 2;
staminaBar = 1;
weaponCrosshair = 1;
visionAid = 0;
squadRadar = 1;
thirdPersonView = 1;
cameraShake = 1;
scoreTable = 1;
deathMessages = 1;
vonID = 1;
mapContent = 1;
autoReport = 1;
multipleSaves = 1;
};
};
displayName = "Regular";
optionDescription = "Just finished training, no real combat experience.";
optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa";
};
};
class Veteran
{
description = "Has survived several contacts with the enemy.";
levelAI = "AILevelHigh";
class Options
{
reducedDamage = 0;
groupIndicators = 0;
friendlyTags = 0;
enemyTags = 0;
detectedMines = 0;
commands = 1;
waypoints = 1;
weaponInfo = 1;
stanceIndicator = 1;
staminaBar = 0;
weaponCrosshair = 0;
visionAid = 0;
squadRadar = 0;
thirdPersonView = 0;
cameraShake = 1;
scoreTable = 1;
deathMessages = 1;
vonID = 1;
mapContent = 0;
autoReport = 0;
multipleSaves = 0;
};
displayName = "Veteran";
optionDescription = "Has survived several contacts with the enemy.";
optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa";
};
class Custom
{
description = "Custom difficulty set by the player.";
levelAI = "AILevelMedium";
class Options
{
reducedDamage = 0;
groupIndicators = 0;
friendlyTags = 0;
enemyTags = 0;
detectedMines = 0;
commands = 0;
waypoints = 0;
weaponInfo = 1;
stanceIndicator = 0;
staminaBar = 0;
weaponCrosshair = 0;
visionAid = 0;
squadRadar = 0;
thirdPersonView = 0;
cameraShake = 0;
scoreTable = 0;
deathMessages = 0;
vonID = 0;
mapContent = 0;
autoReport = 0;
multipleSaves = 0;
};
displayName = "Custom";
optionDescription = "Custom difficulty set by the player.";
optionPicture = "\A3\Ui_f\data\Logos\arma3_white_ca.paa";
};
defaultPreset = "Regular";
myArmorCoef = 1.5;
groupArmorCoef = 1.5;
fadeDistanceStart = 40;
fadeDistanceSpan = 10;
recoilCoef = 1;
visionAidCoef = 0.8;
divingLimitMultiplier = 1;
animSpeedCoef = 0;
cancelThreshold = 0;
showCadetHints = 1;
showCadetWP = 1;
};
};
</syntaxhighlight>
</syntaxhighlight></spoiler>
 
{{Feature|Informative|Extraction script can be found on the [[Biki Export Scripts#{{PAGENAME}}|Biki Export Scripts]] page.}}
=Difficulty Menu Before Arma 3 1.58=
= Difficulty Overhaul =
{{warning| This part of documentation is obsolete since Arma 3 1.58 and left here only for backwards reference.}}
== Phase 1 ==
* Class '''CfgDifficulties''' will be left in config for backwards compatibility. Game will use class '''CfgDifficultyPresets''' from now on. Because of this and change of particular flags, it is recommended for both client and server to use the new exe, so the difficulty in MP works flawlessly (if the versions won't match, MP will work, but certain flags may not be enforced on clients).
* Transform difficulty levels to presets (i. e. unlike the current state, each preset will have exactly defined values, if they don't match, preset will be changed to Custom).
* Reduce number of presets to '''three plus Custom''' to simplify choosing of difficulty. ''Recruit'' and ''Regular'' will be mostly identical to what they were, ''Veteran'' will use the values of former Elite. 
* '''Vision Aid''' flag will be added. It shows "bubbles" which help to spot units. Before it was available only in config and enabled on ''Recruit'' difficulty.
* '''Unlimited Saves''' flag will be set to Enabled on ''Regular'' difficulty.
* '''VON ID''' will be set to Enabled on all difficulties, since by default we want to know who's speaking.
* '''Clock Indicator''' flag will be removed. Clock Indicator was switched off long time ago, only the flag remained in code.
* '''Game Options''' button and difficulty indicator in '''MP Create Game''' dialogue. The button will allow users to set difficulty flags without shutting down the server.


==Extended armor==  
== Phase 2 ==
* Difficulty options will be divided to groups and some of them renamed for better comprehensibility.
* '''Extended HUD Info''' will be split to:
** '''Weapon Info''' (weapon, magazine and round count in the top right corner of the screen).
** '''Commands''' (command and informational icons displayed in the 3D space - heal, get in, injured in etc.).
* Instead of separate options for displaying UI elements permanently, ComboBoxes with multiple values (Show, Hide, Fade out or Limited distance) will be introduced. Work on them is currently in progress and will be finished in Phase 3.
* Indicator of required position in formation will become part of Group Indicators.
* AI sliders will be visible on all of the AI Level presets.
* UI helpers in the 3D space that fade out (commands, waypoints) will be able to be brought back by the J key, the same way as the [[Arma 3: Task Framework#Task Overhaul|new tasks]] do.
* '''Auto Guide AT''' will be removed, since it has no impact on ammunition guidance. Moreover it influences target marker (square) and lock indicator (diamond) of various weapons, which should be part of the weapon itself not difficulty. From now on, the target marker and lock indicator will be dependent purely on [[CfgWeapons Config Reference#canLock.3D2|canLock]] parameter of the weapon in a following way:
** canLock == 0 - indicator is hidden
** canLock == 1 - indicator is hidden (left only for backwards compatibility)
** canLock == 2 - indicator is shown
* Parameters in class '''Flags''' in '''CfgDifficultyPresets''' will be changed (names, their count, some of them will have int value instead of bool) according to the needs of the new system. Class '''Flags''' will be renamed to class '''Options''' to reflect the new state.
* Script command '''[[difficultyEnabled]]''' connected to the former difficulty system will become obsolete and will always return false.
* New script command '''[[difficultyOption]]''' will be added instead.


:{|style="background:transparent"
== Phase 3 ==
|-valign=top
* Added explanatory images and descriptions of the difficulty options.
|'''Description''':            ||Decreases damage of player and his associated group.
* Added '''Hide''' option to Weapon Info.
|-valign=top
* Added '''Limited distance''' option to Friendly and Enemy Name Tags, Detected Mines and Group Indicators.
|'''Config path''':            ||
* Added new server config parameter [[server.cfg#Arma_3_-_Forced_difficulty|forcedDifficulty]]. More details could be found in [https://forums.bistudio.com/topic/188661-difficulty-overhaul/page-9#entry3020303 this post].
|-valign=top
* Tweaked UI in MP Create Game display to indicate more clearly which difficulty is selected, including indication of the forced difficulty.
|'''Profile flag name''':             ||'''Armor'''
* Fixed unintentional disabling of the Difficulty tab in Game Options display when mission is not running.
|-valign=top
|'''Difficulty availability''': ||


<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
= Related Commands =  
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
* [[:Category:Command Group: Difficulty|Command Group: Difficulty]]
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Friendly TAG==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Friendly unit identification and distance to the player, works only if weapon crosshair is also enabled.
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''FriendlyTag'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Enemy TAG==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Enemy unit identification and distance to the player.
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''EnemyTag'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Show detected mines==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Shows exact location of a mine in the 3d scene.
|-valign=top
|'''Config path''':            ||Cursor >> ''explosive''
|-valign=top
|'''Profile flag name''':            ||'''MineTag'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Extended HUD info==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':             ||Shows leader, health state of group, target aquisition and tasks.
|-valign=top
|'''Config path''':             ||Cursor >> ''select, leader, iconInFormation, mission, attack, unitHealer, unitBleeding, unitInjured, me''
|-valign=top
|'''Profile flag name''':             ||'''HUD'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td></tr>
</table>
|}
 
==Permanent extended HUD info==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':             ||Extended HUD info stays after lost visual contact (no fading).
|-valign=top
|'''Config path''':            ||Cursor >> ''select, leader, iconInFormation, mission, attack, unitHealer, unitBleeding, unitInjured, me''
|-valign=top
|'''Profile flag name''':            ||'''HUDPerm'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==HUD waypoints info==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Shows waypoint, type of waypoint and distance to it.
|-valign=top
|'''Config path''':            ||Cursor >>''iconMove'',''mission''
|-valign=top
|'''Profile flag name''':            ||'''HUDWp'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==HUD waypoints info permanently==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||HUD Waypoints info stays after lost visual contact.
|-valign=top
|'''Config path''':            ||Cursor >>''iconMove'',''mission''
|-valign=top
|'''Profile flag name''':            ||'''HUDWpPerm'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==HUD show group==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Shows icons around player's group members.
|-valign=top
|'''Config path''':            ||Cursor >> ''select''
|-valign=top
|'''Profile flag name''':            ||'''HUDGroupInfo'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Stance Indicator==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Shows HUD element that indicates player's current stance
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''stanceIndicator'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Auto report==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||The player's unit reports enemy units, wounds and death of units in player's group. <br/><b>Note:</b> As of Arma 3 v1.24,
 
disabling auto report has no effect in multiplayer, it's always enabled (hardcoded).<br> (See http://feedback.arma3.com/view.php?id=18967)
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''AutoSpot'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Extended map info==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Markers of friendly and enemy locations and units are shown on the map.
|-valign=top
|'''Config path''':            ||all mine icons (in explosives config), unit icons (in characters config) <br /> IslandMap >> ''iconPlayer''
|-valign=top
|'''Profile flag name''':            ||'''Map'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Weapon crosshair==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Weapon crosshair shown in 1st and 3rd person view.
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''WeaponCursor'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td></tr>
</table>
|}
 
==Auto guide AT==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Automatic target aiming of projectiles with flag ''canLock&#061;1''.
|-valign=top
|'''Config path''':            ||Cursor >> ''lock_target''
|-valign=top
|'''Profile flag name''':            ||'''AutoGuideAT'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Clock indicator==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Shows directional watch of detected targets in the lower cornes of the screen.
|-valign=top
|'''Config path''':            ||GroupDir >> ''image''
|-valign=top
|'''Profile flag name''':            ||'''ClockIndicator'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==3rd person view==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||External camera view.
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''thirdPersonView'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Super AI==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Sets a skill of all AI units to maximum. Was removed in Arma 3 according to dwarden https://forums.bistudio.com/topic/188661-
 
difficulty-overhaul/page-2#entry2989575
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''ultraAI'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Auto Aim==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Weapon locks on target if cursor is in target's proximity.
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''autoAim'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Camera Shake==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Camera shakes if player is near an explosion.
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''CameraShake'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Unlimited saves==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Feature broken. It should allow for more than one save games for player.
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''UnlimitedSaves'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Killed by==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Shows in camera view, who killed the player.
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''DeathMessages'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td></tr>
</table>
|}
 
==Multiplayer score==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Shows score in MP.
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''NetStats'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task/}}</td></tr>
</table>
|}
 
==VON ID==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Identifiaction of the speaking character in MP during communication with CapsLock.
|-valign=top
|'''Config path''':            ||
|-valign=top
|'''Profile flag name''':            ||'''VonID'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
==Allow full HUD info==
 
:{|style="background:transparent"
|-valign=top
|'''Description''':            ||Shows weapon's info, info in driven vehicles, compass.
|-valign=top
|'''Config path''':            ||Switching between configs ''unitInfoType'' and ''unitInfoTypeLite'' in ''cfgVehicles'' of each vehicle
|-valign=top
|'''Profile flag name''':      ||'''ExtendetInfoType'''
|-valign=top
|'''Difficulty availability''': ||
 
<table border="1" cellspacing="0" cellpadding="10" style="border-collapse:collapse;">
  <tr><td colspan="2">Recruit</td><td colspan="2">Regular</td><td colspan="2">Veteran</td><td colspan="2">Expert</td></tr>
  <tr><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td
 
width=50px><small>Changable</small></td><td width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td><td
 
width=50px><small>On/Off</small></td><td width=50px><small>Changable</small></td></tr>
<tr><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task/}}</td><td>{{task}}</td><td>{{task}}</td></tr>
</table>
|}
 
<br><br>
 
=Server Side Difficulties Override=
It is possible to override certain difficulties settings in MP by including the following autogenerated (ultraAI added manually as non-existent in default
 
CfgDifficulties) config in ''<profilename>.Arma3Profile'' file in server profile:
 
<syntaxhighlight lang="cpp">
class Difficulties
{
    class Recruit
    {
        class Flags
        {
            3rdPersonView = 1;
            armor = 1;
            /* autoAim = 0; - cannot be changed */
            autoGuideAT = 1;
            autoSpot = 1;
            autoTrimEnabled = 1;
            cameraShake = 0;
            clockIndicator = 1;
            deathMessages = 1;
            enemyTag = 0;
            extendetInfoType = 1;
            friendlyTag = 1;
            hud = 1;
            hudGroupInfo = 1;
            hudPerm = 1;
            hudWp = 1;
            hudWpPerm = 1;
            map = 1;
            mineTag = 1;
            netStats = 1;
            roughLanding = 1;
            stanceIndicator = 1;
            stressDamageEnabled = 0;
            ultraAI = 0;
            unlimitedSaves = 1;
            vonID = 1;
            weaponCursor = 1;
            windEnabled = 0;
        };
        precisionEnemy = 0.4;
        precisionFriendly = 0.65;
        skillEnemy = 0.4;
        skillFriendly = 0.65;
    };
    class Regular
    {
        class Flags
        {
            3rdPersonView = 1;
            armor = 1;
            /* autoAim = 0; - cannot be changed */
            /* autoGuideAT = 0; - cannot be changed */
            autoSpot = 1;
            autoTrimEnabled = 0;
            cameraShake = 1;
            clockIndicator = 1;
            deathMessages = 1;
            enemyTag = 0;
            extendetInfoType = 1;
            friendlyTag = 1;
            hud = 1;
            hudGroupInfo = 1;
            hudPerm = 1;
            hudWp = 1;
            hudWpPerm = 1;
            map = 1;
            mineTag = 1;
            netStats = 1;
            roughLanding = 0;
            stanceIndicator = 1;
            stressDamageEnabled = 1;
            ultraAI = 0;
            unlimitedSaves = 0;
            vonId = 1;
            weaponCursor = 1;
            windEnabled = 1;
        };
        precisionEnemy = 0.5;
        precisionFriendly = 1;
        skillEnemy = 0.6;
        skillFriendly = 0.75;
    };
    class Veteran
    {
        class Flags
        {
            3rdPersonView = 1;
            /* armor = 0; - cannot be changed */
            /* autoAim = 0; - cannot be changed */
            /* autoGuideAT = 0; - cannot be changed */
            autoSpot = 1;
            /* autoTrimEnabled = 0; - cannot be changed */
            cameraShake = 1;
            clockIndicator = 1;
            deathMessages = 1;
            /* enemyTag = 0; - cannot be changed */
            extendetInfoType = 0;
            /* friendlyTag = 0; - cannot be changed */
            hud = 1;
            hudGroupInfo = 1;
            /* hudPerm = 0; - cannot be changed */
            hudWp = 1;
            hudWpPerm = 1;
            /* map = 0; - cannot be changed */
            /* mineTag = 0; - cannot be changed */
            netStats = 1;
            /* roughLanding = 0; - cannot be changed */
            stanceIndicator = 1;
            /* stressDamageEnabled = 1; - cannot be changed */
            ultraAI = 0;
            /* unlimitedSaves = 0; - cannot be changed */
            vonId = 0;
            weaponCursor = 1;
            /* windEnabled = 1; - cannot be changed */
        };
        precisionEnemy = 0.75;
        precisionFriendly = 1;
        skillEnemy = 0.85;
        skillFriendly = 0.85;
    };
    class Mercenary
    {
        class Flags
        {
            /* 3rdPersonView = 0; - cannot be changed */
            /* armor = 0; - cannot be changed */
            /* autoAim = 0; - cannot be changed */
            /* autoGuideAT = 0; - cannot be changed */
            autoSpot = 0;
            /* autoTrimEnabled = 0; - cannot be changed */
            /* cameraShake = 1; - cannot be changed */
            /* clockIndicator = 0; - cannot be changed */
            deathMessages = 1;
            /* enemyTag = 0; - cannot be changed */
            /* extendetInfoType = 0; - cannot be changed */
            /* friendlyTag = 0; - cannot be changed */
            hud = 1;
            /* hudGroupInfo = 0; - cannot be changed */
            /* hudPerm = 0; - cannot be changed */
            /* hudWp = 0; - cannot be changed */
            /* hudWpPerm = 0; - cannot be changed */
            /* map = 0; - cannot be changed */
            /* mineTag = 0; - cannot be changed */
            netStats = 1;
            /* roughLanding = 0; - cannot be changed */
            /* stanceIndicator = 0; - cannot be changed */
            /* stressDamageEnabled = 1; - cannot be changed */
            /* ultraAI = 0; - cannot be changed */
            /* unlimitedSaves = 0; - cannot be changed */
            vonID = 0;
            weaponCursor = 1;
            /* windEnabled = 1; - cannot be changed */
        };
        precisionEnemy = 0.85;
        precisionFriendly = 1;
        skillEnemy = 0.85;
        skillFriendly = 1;
    };
};


</syntaxhighlight>
{{GameCategory|arma3|Editing}}

Revision as of 20:43, 31 March 2021

The Arma 3 logo black.png1.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.

20170725165627 1.jpg

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 logo black.png2.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 logo black.png1.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 logo black.png1.68 Shows friendly units on the map.
mapContentEnemy Enemy
1
1
0
0 = disabled, 1 = enabled Arma 3 logo black.png1.68 Shows enemy units on the map.
mapContentMines Mines
1
1
0
0 = disabled, 1 = enabled Arma 3 logo black.png1.68 Shows detected mines on the map.
tacticalPing Tactical Ping
1
1
0
0 = disabled, 1 = enabled 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 = 1;		// Tactical Ping		(0 = disabled, 1 = enabled)

			// 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 = 1;		// Tactical Ping		(0 = disabled, 1 = enabled)


			// 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 = enabled)

			// 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 = enabled)

			// 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)
		};
	};
};
↑ Back to spoiler's top

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

Difficulty Overhaul

Phase 1

  • Class CfgDifficulties will be left in config for backwards compatibility. Game will use class CfgDifficultyPresets from now on. Because of this and change of particular flags, it is recommended for both client and server to use the new exe, so the difficulty in MP works flawlessly (if the versions won't match, MP will work, but certain flags may not be enforced on clients).
  • Transform difficulty levels to presets (i. e. unlike the current state, each preset will have exactly defined values, if they don't match, preset will be changed to Custom).
  • Reduce number of presets to three plus Custom to simplify choosing of difficulty. Recruit and Regular will be mostly identical to what they were, Veteran will use the values of former Elite.
  • Vision Aid flag will be added. It shows "bubbles" which help to spot units. Before it was available only in config and enabled on Recruit difficulty.
  • Unlimited Saves flag will be set to Enabled on Regular difficulty.
  • VON ID will be set to Enabled on all difficulties, since by default we want to know who's speaking.
  • Clock Indicator flag will be removed. Clock Indicator was switched off long time ago, only the flag remained in code.
  • Game Options button and difficulty indicator in MP Create Game dialogue. The button will allow users to set difficulty flags without shutting down the server.

Phase 2

  • Difficulty options will be divided to groups and some of them renamed for better comprehensibility.
  • Extended HUD Info will be split to:
    • Weapon Info (weapon, magazine and round count in the top right corner of the screen).
    • Commands (command and informational icons displayed in the 3D space - heal, get in, injured in etc.).
  • Instead of separate options for displaying UI elements permanently, ComboBoxes with multiple values (Show, Hide, Fade out or Limited distance) will be introduced. Work on them is currently in progress and will be finished in Phase 3.
  • Indicator of required position in formation will become part of Group Indicators.
  • AI sliders will be visible on all of the AI Level presets.
  • UI helpers in the 3D space that fade out (commands, waypoints) will be able to be brought back by the J key, the same way as the new tasks do.
  • Auto Guide AT will be removed, since it has no impact on ammunition guidance. Moreover it influences target marker (square) and lock indicator (diamond) of various weapons, which should be part of the weapon itself not difficulty. From now on, the target marker and lock indicator will be dependent purely on canLock parameter of the weapon in a following way:
    • canLock == 0 - indicator is hidden
    • canLock == 1 - indicator is hidden (left only for backwards compatibility)
    • canLock == 2 - indicator is shown
  • Parameters in class Flags in CfgDifficultyPresets will be changed (names, their count, some of them will have int value instead of bool) according to the needs of the new system. Class Flags will be renamed to class Options to reflect the new state.
  • Script command difficultyEnabled connected to the former difficulty system will become obsolete and will always return false.
  • New script command difficultyOption will be added instead.

Phase 3

  • Added explanatory images and descriptions of the difficulty options.
  • Added Hide option to Weapon Info.
  • Added Limited distance option to Friendly and Enemy Name Tags, Detected Mines and Group Indicators.
  • Added new server config parameter forcedDifficulty. More details could be found in this post.
  • Tweaked UI in MP Create Game display to indicate more clearly which difficulty is selected, including indication of the forced difficulty.
  • Fixed unintentional disabling of the Difficulty tab in Game Options display when mission is not running.

Related Commands