Lou Montana/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
(Second Description.ext sharing)
m (Update w/ links)
 
(145 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<!--
[[Category: Sandbox]]
Level 2 titles: categories (Mission informations, Starting gear, etc.)
{{Feature|informative|To go on [[Initialisation Order]].}}
Level 3 titles: sub-categories are left possible – e.g "Mission informations/Overview/xxx" (currently none)
Level 4 titles: settings themselves
-->


<table>
{| class="wikitable sortable align-center align-left-col-1"
<tr><td rowSpan="2" style="min-width: 18em">{{toclimit|limit=2}}</td><td>The Description.ext file sets the overall mission attributes, and defines some global entities that will be available to other scripts. It is placed in mission's [[Mission_Editor:_External#Mission_Folder|root]] folder. It uses the same syntax and structure as the [[Config.cpp]] file, but supports only a limited number of the full set of Config.cpp classes. Many, such as CfgAmmo, won't work.
|+ Order of Initialisation (use column sorting for respective machine order)
! rowspan="2" class="unsortable" style="text-align: center" | Task
! rowspan="2" | Exec Environment
! rowspan="1" colspan="5" class="unsortable" | Machine
|-
! Single Player
! Dedicated Server
! Hosted Server
! Multiplayer Client
! [[Multiplayer Scripting#Join In Progress|JIP]] MP Client


In '''[[:Category:Operation_Flashpoint:_Elite|OFP:Elite]]''' this file is required for MP missions. If this is not included, a "-1 error" is shown when selecting the mission and the mission won't load. </td></tr>
|-
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>recompile</syntaxhighlight> {{Link|Arma 3: Functions Library#Attributes 3|attribute}} are recompiled
| {{n/a}}
| 1 <!-- Single Player -->
| 1 <!-- Dedicated Server -->
| 1 <!-- Hosted Server -->
| 1 <!-- Multiplayer Client -->
| 1 <!-- JIP MP Client -->


<tr><td>{{Important|In [[2D Editor]], scenario has to be saved or re-loaded before changes to ''Description.ext'' takes effect.
|-
'''In [[Eden Editor]], changes are refreshed automatically upon scenario preview.}}</td></tr>
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>preInit</syntaxhighlight> {{Link|Arma 3: Functions Library#Attributes 3|attribute}} are called
</table>
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| 2 <!-- Single Player -->
| 2 <!-- Dedicated Server -->
| 2 <!-- Hosted Server -->
| 2 <!-- Multiplayer Client -->
| 2 <!-- JIP MP Client -->


|-
| Object Init Event Handlers are called
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| 3 <!-- Single Player -->
| 3 <!-- Dedicated Server -->
| 3 <!-- Hosted Server -->
| 3 <!-- Multiplayer Client -->
| {{Icon|unchecked}} <!-- JIP MP Client -->


== Mission informations ==
|-
This section helps you find out how to customise Mission overall external appearance, from [[Mission Overview]] to [[Loading Screens]].
| Expressions of [[Eden Editor: Configuring Attributes|Eden Editor entity attributes]] are called<ref name="isPlayer"><sqf inline>isPlayer _entity</sqf> does not return [[true]] immediately. Once the entity has become a [[player]], it is transferred to the client.</ref>
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| 4 <!-- Single Player -->
| 4 <!-- Dedicated Server -->
| 4 <!-- Hosted Server -->
| {{Icon|unchecked}} <!-- Multiplayer Client -->
| {{Icon|unchecked}} <!-- JIP MP Client -->


|-
| Object initialisation fields are called
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| 5 <!-- Single Player -->
| 5 <!-- Dedicated Server -->
| 5 <!-- Hosted Server -->
| 4 <!-- Multiplayer Client -->
| 3 <!-- JIP MP Client -->


<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma|1.00}}</div>
|- style="background-color: #95F0AD"
==== header ====
| [[Event Scripts#init.sqs|init.sqs]] is executed
</div>
|
class Header
| 6 <!-- Single Player -->
{
| <!-- Dedicated Server -->
gameType = CTF; {{codecomment|// Game type}}
| <!-- Hosted Server -->
minPlayers = 1; {{codecomment|// minimum number of players the mission supports}}
| <!-- Multiplayer Client -->
maxPlayers = 10; {{codecomment|// maximum number of players the mission supports}}
| <!-- JIP MP Client -->
};
See [[Multiplayer Game Types]] for more detailed informations.


|- style="background-color: #95F0AD"
| [[Event Scripts#init.sqf|init.sqf]] is executed
| [[Scheduler#Scheduled Environment|Scheduled]]<ref name="enginewaits">Note '''in single player''' that while the environment is [[Scheduler#Scheduled Environment|Scheduled]] ([[canSuspend]] returns true), the engine seems to wait until the script is done executing, essentially behaving similarly to an [[Scheduler#Unscheduled Environment|Unscheduled environment]] - infinite loops will freeze the game, [[uiSleep]] may pause the game for up to ~20s (postInit), [[waitUntil]] can cause catastrophic issues, etc.</ref>
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


==== onLoadMission ====
|-
Displays a message while the mission is loading. Note that a mission that takes very little time to load will only display the message for a short time.
| Expressions of [[Eden Editor: Configuring Attributes|Eden Editor scenario attributes]] are called<ref name="playerCommandNotAvailable">[[player]] is not available immediately.</ref>
Care should be taken to see whether your message is readable in that timeframe.
| [[Scheduler#Unscheduled Environment|Unscheduled]]
onLoadMission = "YourMissionName";
| <!-- Single Player -->
The '''OnLoadMission''' option is used to present the mission name to the user.
| <!-- Dedicated Server -->
In MP this is the name you see when selecting a mission and also the name that is presented to the Multiplayer browser.
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


|- style="background-color: #95DEF0"
| Persistent functions are called
|
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


==== onLoadIntro ====
|-
Displays a message while the intro is loading.
| [[Modules]] are initialised
onLoadIntro = "YourMessage"
|
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| {{Icon|unchecked}} <!-- JIP MP Client -->


|- style="background-color: #DEF0AD"
| [[Event Scripts#initServer.sqf|initServer.sqf]] is executed
| [[Scheduler#Scheduled Environment|Scheduled]]
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| {{n/a}} <!-- Multiplayer Client -->
| {{n/a}} <!-- JIP MP Client -->


==== onLoadMissionTime ====
|- style="background-color: #DEF0AD"
Define whether you will see the time and date displayed while the mission loads. Effect unkown in Arma 3.
| [[Event Scripts#initPlayerLocal.sqf|initPlayerLocal.sqf]] is executed
onLoadMissionTime = 1; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
| [[Scheduler#Scheduled Environment|Scheduled]]
| <!-- Single Player -->
| {{n/a}} <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


|- style="background-color: #DEF0AD"
| [[Event Scripts#initPlayerServer.sqf|initPlayerServer.sqf]] is executed on the server
| [[Scheduler#Scheduled Environment|Scheduled]]
| <!-- Single Player -->
| {{n/a}} <!-- Dedicated Server -->
| ?? <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


==== onLoadIntroTime ====
|-
Define whether you will see the time and date displayed while the intro loads. 1 means visible, 0 hidden. Default: 0
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>postInit</syntaxhighlight> {{Link|Arma 3: Functions Library#Attributes 3|attribute}} are called
onLoadIntroTime = 1; {{codecomment|// 0: disabled - 1: enabled. Default: 0}}
| [[Scheduler#Scheduled Environment|Scheduled]]<ref name="enginewaits"/>
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma2oa|1.51}}</div>
|- style="background-color: #95DEF0"
| [[Event Scripts#init.sqs|init.sqs]] is executed
| [[Scheduler#Scheduled Environment|Scheduled]]
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


==== loadScreen ====
|- style="background-color: #95DEF0"
</div>
| [[Event Scripts#init.sqf|init.sqf]] is executed
You can define a picture to be shown while the mission is loaded.
| [[Scheduler#Scheduled Environment|Scheduled]]
The path is relative to the mission folder.
| <!-- Single Player -->
loadScreen = "pictures\intro.paa";
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


|-
| [[remoteExec]]'s [[Multiplayer Scripting#Join In Progress|JIP]] queue
| {{n/a}}
| {{n/a}} <!-- Single Player -->
| {{n/a}} <!-- Dedicated Server -->
| {{n/a}} <!-- Hosted Server -->
| {{n/a}} <!-- Multiplayer Client -->
| 42 <!-- JIP MP Client -->


<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.56}}</div>
|- style="background-color: #EEE"
==== briefingName ====
| ''Scenario going''
</div>
| {{n/a}}
Mission name displayed in the mission selection menu.
| <!-- Single Player -->
briefingName = "TAG 1-5 CO My super mission";
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


|-
| [[Event Scripts#exit.sqf|exit.sqf]]
|
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


<div><div style="float: left; margin-right: 0.5em;">{{GVI|TKOH|1.00}}</div>
|-
==== CfgLoadingTexts ====
| [[Event Scripts#exit.sqs|exit.sqs]]
</div>
|
Define mission specific [[Loading_Screens#Texts|loading texts]].
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


|-
| {{Link|Arma 3: Mission Event Handlers#Ended|"Ended" Mission Event Handler}}
|
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


[[File:2013-03-08_00004.jpg|thumb|Example load screen]]
|-
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
| {{Link|Arma 3: Mission Event Handlers#MPEnded|"MPEnded" Mission Event Handler}}
==== onLoadName ====
|
</div>
| <!-- Single Player -->
String (usually mission name) shown during [[Loading Screens|mission loading]]. The string is shown in a slightly larger font above the loadScreen. For example:
| <!-- Dedicated Server -->
author = "Varanon";
| <!-- Hosted Server -->
OnLoadName = "Point Insertion";
| <!-- Multiplayer Client -->
OnLoadMission = "A group of NATO soldiers is tasked with sabotaging a coastal defense.";
| <!-- JIP MP Client -->
loadScreen = "images\loadScreen.paa";
This produces the pictured result. The [[#onLoadMission|onLoadMission]] text is placed below the load screen and the [[#header|header gameType]] determines the game type on top of the box.
<div style="clear: right;"></div>


|}


<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== author ====
</div>
Mission author's name. The default loading screen shows this string below the [[#onLoadName|onLoadName]] in a smaller font prefixed by "by ".


== See Also ==


<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
* [[Arma 3: Functions Library]]<!--
==== overviewPicture ====
* [[Arma 2: Functions Library]] -->
</div>
* [[Arma 3: Remote Execution]], [[BIS_fnc_MP]] <!-- keep? -->
Path to image which will be displayed when the mission is highlighted on the mission selection screen. Image should be .paa format and in 2:1 aspect ratio – ideally 1024x512 (Arma 3).
* [[Eden Editor: Configuring Attributes|Eden Editor: Configuring Attributes]]
 
* [[Event Scripts]]
 
* [[Scheduler]]
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== overviewText ====
</div>
Text to be displayed below the [[#overviewPicture|overviewPicture]] on the mission selection screen when the mission is available to play.
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== overviewTextLocked ====
</div>
Text to be displayed below the [[#overviewPicture|overviewPicture]] on the mission selection screen when the mission is locked from play.
 
 
 
 
 
== Respawn/Revive ==
This section talks about respawn and revive actions.<br />
* for Arma 2, see [[First Aid]].
* for Arma 3, see [[Arma 3 Respawn]], [[Arma 3 Revive]] and [[Arma 3 Respawn: New Respawn Screen|Arma 3 New Respawn Screen]].
 
 
==== respawn ====
Sets respawn type.
 
Can be one of:
* '''0''' or '''"NONE"''' - No respawn
* '''1''' or '''"BIRD"''' - Respawn as a seagull
* '''2''' or '''"INSTANT"''' - Respawn just where you died.
* '''3''' or '''"BASE"''' - Respawn in base.
** Requires a marker named:
*** ''respawn_west''
*** ''respawn_east''
*** ''respawn_guerrila''
*** ''respawn_civilian''
** Add markers named with the prefix 'respawn_west' with any suffix (eg: respawn_westABC, respawn_west1, respawn_west_2, etc) for multiple random respawn points. Similarly for east, guerrilla and civilian.
** Vehicle respawn in base requires a marker named:
*** ''respawn_vehicle_west''
*** ''respawn_vehicle_east''
*** ''respawn_vehicle_guerrila''
*** ''respawn_vehicle_civilian''
* '''4''' or '''"GROUP"''' - Respawn in your group (if there's no AI left, you'll become a seagull).
* {{GVI|arma|1.08}} '''5''' or '''"SIDE"''' - Respawn into an AI unit on your side (if there's no AI left, you'll become a seagull). With this respawn type, team switch is also available to any AI controlled playable units.
 
 
==== respawnButton ====
Enable or disable the respawn button in the menu for INSTANT and BASE respawn types.
respawnButton = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
==== respawnDelay ====
Set respawn delay in seconds.
respawnDelay = 42;
 
 
==== respawnVehicleDelay ====
Set vehicle respawn delay in seconds.
respawnVehicleDelay = 11;
 
 
==== respawnDialog ====
Show the scoreboard and respawn countdown timer for a player if he is killed with [[#respawn|respawn]] type 3.
respawnDialog = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
==== respawnOnStart ====
Respawn player when he joins the game. Available only for INSTANT and BASE respawn types.
respawnOnStart =  1; {{codecomment|// Respawn on start. Run respawn script on start.}}
respawnOnStart =  0; {{codecomment|// Dont respawn on start. Run respawn script on start.}}
respawnOnStart = -1; {{codecomment|// Dont respawn on start. Don't run respawn script on start.}}
 
 
==== respawnTemplates ====
Respawn templates from [[Arma_3_Respawn#Respawn_Templates|CfgRespawnTemplates]]. You can combine any number of them together.
respawnTemplates[] = { "Counter", "Wave" };
{{Important|
Side specific respawn templates can be specified with ''respawnTemplates'''''SIDE'''''[]'' where '''SIDE''' can be any playable side (West, East, Guer, Civ).
When such is undefined, general respawnTemplates are used instead.}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma|1.00}}</div>
==== respawnWeapons ====
</div>
Set weapons players will receive upon respawn. [[#respawnMagazines|respawnMagazines]] has to be defined as well.
respawnWeapons[] = { "arifle_Katiba_GL_F" };
{{Important|
Side specific respawn weapons can be specified with ''respawnWeapons'''''SIDE'''''[]'' where '''SIDE''' can be any playable side (West, East, Guer, Civ).<br />
Corresponding ''respawnMagazines'''''SIDE'''''[]'' has to be defined as well.}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma|1.00}}</div>
==== respawnMagazines ====
</div>
Set magazines players will receive upon respawn. [[#respawnWeapons|respawnWeapons]] has to be defined as well.
respawnMagazines[] = { "30Rnd_65x39_caseless_green", "30Rnd_65x39_caseless_green" };
{{Important|
Side specific respawn weapons can be specified with ''respawnMagazines'''''SIDE'''''[]'' where '''SIDE''' can be any playable side (West, East, Guer, Civ).<br />
Corresponding ''respawnWeapons'''''SIDE'''''[]'' has to be defined as well.}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.62}}</div>
==== ReviveMode ====
</div>
Define if Revive mode is enabled.
ReviveMode = 1; {{codecomment|// 0: disabled - 1: enabled - 2: controlled by player attributes. Default: 0}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.62}}</div>
==== ReviveUnconsciousStateMode ====
</div>
ReviveUnconsciousStateMode = 0; {{codecomment|// 0: basic - 1: advanced - 2: realistic. Default: 0 – see [[Arma 3 Revive#Damage Modeling|damage model]] for more detailed informations.}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.62}}</div>
==== ReviveRequiredTrait ====
</div>
Define if only a medic (or unit with medic [[setUnitTrait|trait]]) can perform a revive.
ReviveRequiredTrait = 0; {{codecomment|// 0: disable - 1: enable. Default: 0}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.62}}</div>
==== ReviveRequiredItems ====
</div>
Define if a medical item (first aid kit or medkit) is required to begin a revive process.
ReviveRequiredItems = 2; {{codecomment|// 0: none - 1: medkit - 2: medkit or first aid kit. Default: ?}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.62}}</div>
==== ReviveRequiredItemsFakConsumed ====
</div>
Define if a first aid kit is consumed on reviving a teammate
ReviveRequiredItemsFakConsumed = 1; {{codecomment|// 0: disable - 1: enable. Default: ?}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.62}}</div>
==== ReviveMedicSpeedMultiplier ====
</div>
Speed multiplier for revive performed by medic
ReviveMedicSpeedMultiplier = 2; {{codecomment|// medic revive will be two times faster compared to another soldier}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.62}}</div>
==== reviveDelay  ====
</div>
The time in seconds it takes to revive an incapacitated unit. Having a Medikit will halve this time.
reviveDelay = 6; {{codecomment|// Default: 6}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.62}}</div>
==== reviveForceRespawnDelay  ====
</div>
The time in seconds it takes for an incapacitated unit to force their respawn.
reviveForceRespawnDelay = 3; {{codecomment|// Default: 3}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.62}}</div>
==== reviveBleedOutDelay  ====
</div>
The time in seconds it takes for a unit to bleed out.
reviveBleedOutDelay = 300; {{codecomment|// Default: 120}}
 
 
 
 
 
== Mission keys ==
Mission keys are used to lock/unlock certain missions until you completed other ones. It can also be used in mission to know which missions you finished.<br />
Activated keys can be found in user profile (e.g documents\''username.Arma3profile'') under ''activeKeys'' section.<br />
See also commands [[activateKey]], [[isKeyActive]] and [[deActivateKey]] for more detailed informations.
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma|1.00}}</div>
==== keys ====
</div>
List of keys (needed for keysLimit)
keys[] = { "key1", "key2", "key3" };
Note that unlike other 'text' items, [[Stringtable.xml|stringtable]] translations ($STR_*) cannot be used
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma|1.00}}</div>
==== keysLimit ====
</div>
Number of keys from the [[#keys|keys]] list needed for unlock a mission.
keysLimit = 2;
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma|1.00}}</div>
==== doneKeys ====
</div>
Name of key(s) needed for mark a mission in SP missions list as completed.
doneKeys[] = { "key4" };
Note that unlike other 'text' items, [[Stringtable.xml|stringtable]] translations ($STR_*) cannot be used
 
 
 
 
 
== player's UI ==
This section explains HUD customisation possibilities.<br />
See also commands:
* [[showCompass]], [[shownCompass]], [[visibleCompass]]
* [[showGPS]], [[shownGPS]], [[visibleGPS]]
* [[showHUD]], [[shownHUD]]
* [[showWatch]], [[shownWatch]], [[visibleWatch]]
* [[showUAVFeed]], [[shownUAVFeed]] {{GVI|arma3|1.16}}
* [[showPad]], [[shownPad]] {{GVI|ofp|1.00}}
 
 
==== showHUD ====
Enables/Disables the following IGUI elements:
* Vehicle and Unit Info
* Radar and Tactical Display
* Vehicle Compass
* Tank Direction Indicator
* Commanding Menu
* Group Info Bar
showHUD = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
The effect of using the above ''showHUD'' param is different from the effects of [[showHUD]] scripting command, both methods are rather complementary to each other.<br />
As of Arma 3 v1.49.131879 ''showHUD'' param could be an array to allow control over separate HUD elements, for example:
showHUD[] = {
true, {{codecomment|// Scripted HUD (same as showHUD command)}}
true, {{codecomment|// Vehicle + soldier info}}
false, {{codecomment|// Vehicle radar [HIDDEN]}}
false, {{codecomment|// Vehicle compass [HIDDEN]}}
true, {{codecomment|// Tank direction indicator}}
true, {{codecomment|// Commanding menu}}
true, {{codecomment|// Group Bar}}
true, {{codecomment|// HUD Weapon Cursors}}
true {{codecomment|// Vehicle display panels}}
};
'''NOTE:''' adding new ''showHUD[]'' array param to ''description.ext'' will also disable scripted command [[showHUD]] entirely.
 
 
==== showCompass ====
Defines if the compass is visible.
showCompass = 0; {{codecomment|// 0: disable - 1: enable. Default: 1}}
 
==== showGPS ====
Enables/Disables the GPS
showGPS = 0; {{codecomment|// 0: disable - 1: enable. Default: 1}}
In [[ArmA]] ''1.04'' toggle this option to disable the mini map attached to the GPS.
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.00}}</div>
==== showGroupIndicator ====
</div>
When set to 1, changes default GPS mini map into a radar like display that indicates group members relative position to the player
showGroupIndicator = 1; {{codecomment|// 0: disabled - 1: enabled. Default: 0. <b>Has no effect since custom panels were introduced in Arma 3</b>}}
 
 
==== showMap ====
Defines if the map is shown after the mission starts.
showMap = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma|1.00}}</div>
==== showNotePad ====
</div>
In ArmA, defines if the NotePad is shown after the mission starts.
showNotePad = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|ofp|1.00}}</div>
==== showPad ====
</div>
Defines if the NotePad is shown after the mission starts. '''Only in OFP:CWC'''.
showPad = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
==== showWatch ====
Defines if the watch is visible.
showWatch = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.16}}</div>
==== showUAVFeed ====
</div>
Enables/Disables the UAV Feed.
showUAVFeed = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.60}}</div>
==== showSquadRadar ====
Defines if the Squad Radar is visible.
showSquadRadar = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 0}}
 
 
 
 
 
== Starting gear ==
Starting gear points to briefing-available equipment. For respawn equipment, see [[#Respawn/Revive]].<br />
See also [[:Category:Command_Group:_Weapon_Pool|Command Group: Weapon Pool]]  for more detailed informations about weapon pool system.
 
 
==== weapons ====
Set weapons available to players during the briefing.
class Weapons
{
class AK74 { count = 8; };
class RPG7V { count = 2; };
class Binocular { count = 2; };
};
 
 
==== magazines ====
Set magazines available to players during the briefing.
class Magazines
{
class 30Rnd_545x39_AK { count = 32; };
class PG7V { count = 6; };
class HandGrenade { count = 16; };
};
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma2oa|1.51}}</div>
==== backpacks ====
</div>
Set [[ArmA 2 OA: Backpacks|backpacks]] available to players during the briefing.
class Backpacks
{
class US_Patrol_Pack_EP1 { count = 4; };
class US_Assault_Pack_EP1 { count = 4; };
};
 
 
==== weaponPool ====
Allows equipment transferred from one campaign mission to the next to be available during the briefing in the gear menu.
weaponPool = 1;
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma2oa|1.56}}</div>
==== allowSubordinatesTakeWeapons ====
</div>
Allows subordinates (i.e., not leaders) to equip items defined in [[#weapons|weapons]], [[#magazines|magazines]] and [[#backpacks|backpacks]].
allowSubordinatesTakeWeapons = 1; {{codecomment|// 0: disabled - 1: enabled. Default: ?}}
 
 
 
 
 
== Corpse & wreck management ==
This section explains how to use game-included '''garbage collector''' ('''GC''') for better performances.<br />
See also commands:
* [[addToRemainsCollector]]
* [[isInRemainsCollector]]
* [[removeFromRemainsCollector]]
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.32}}</div>
==== corpseManagerMode ====
</div>
Sets the mode for corpse removal manager.
corpseManagerMode = 0; {{codecomment|// Default: 0 for SP, 2 for MP}}
* 0 = None - None of the units are managed by the manager
* 1 = All - All units are managed by the manager
* 2 = None_But_Respawned - Only units that can respawn are managed by the manager
* 3 = All_But_Respawned - All units are managed by the manager with exception of respawned (opposite to mode 2)
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== corpseLimit ====
</div>
Corpse limit before which ( <= ) [[#corpseRemovalMaxTime|corpseRemovalMaxTime]] applies and after which ( > ) [[#corpseRemovalMinTime|corpseRemovalMinTime]] applies.
corpseLimit = 1;
Default value: 15
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== corpseRemovalMinTime ====
</div>
Remove all bodies that have been dead longer than '''corpseRemovalMinTime''' when [[#corpseLimit|corpseLimit]] is breached.
corpseRemovalMinTime = 60; {{codecomment|// seconds. Default: 10}}
Default value: 10
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== corpseRemovalMaxTime ====
</div>
Maximum time a corpse can remain on the ground if total number of corpses is equal or under [[#corpseLimit|corpseLimit]].
corpseRemovalMaxTime = 1200; {{codecomment|// seconds. Default: 3600}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.32}}</div>
==== wreckManagerMode ====
</div>
Sets the mode for wreck removal manager.
wreckManagerMode = 0; {{codecomment|// Default: 0 for SP, 2 for MP}}
0 = None - None of the vehicles are managed by the manager
1 = All - All vehicles are managed by the manager
2 = None_But_Respawned - Only vehicles that can respawn are managed by the manager
3 = All_But_Respawned - All vehicles are managed by the manager with exception of respawned (opposite to mode 2)
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== wreckLimit ====
</div>
Vehicle wreck limit before which ( <= ) [[#wreckRemovalMaxTime|wreckRemovalMaxTime]] applies and after which ( > ) [[#wreckRemovalMinTime|wreckRemovalMinTime]] applies .
wreckLimit = 1; {{codecomment|//seconds. Default: 15}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== wreckRemovalMinTime ====
</div>
Remove all wrecks that have existed longer than '''wreckRemovalMinTime''' when [[#wreckLimit|wreckLimit]] is breached.
wreckRemovalMinTime = 60; {{codecomment|// seconds. Default: 10}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== wreckRemovalMaxTime ====
</div>
Maximum time a wreck can remain on the ground if total number of wrecks is equal or under [[#wreckLimit|wreckLimit]].
wreckRemovalMaxTime = 1200; {{codecomment|// seconds. Default: 36000 (10 hours)}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.66}}</div>
==== minPlayerDistance ====
</div>
The minimum distance between corpse or wreck and nearest player before the corpse or wreck is allowed to be removed by the garbage collector.
minPlayerDistance = 50; {{codecomment|// meters. Default: 0}}
 
 
 
 
 
== Mission parameters ==
Mission parameters allow you to add settings to your creation. These settings are in-game accessible only in Multiplayer mode, but can also be accessed by commands for a scripted use in Singleplayer mode.<br />
for Arma 3, see [[Arma 3 Mission Parameters]].<br />
See also commands [[BIS_fnc_getParamValue]] ([[paramsArray]] usage is not recommended).
 
 
==== titleParam%, valuesParam%, defValueParam%, textParam% ====
'''titleParam1''' and '''titleParam2''' (% in title is replaced either by 1 or 2) are multiplayer options.
These options are seen in the lobby of a multiplayer game.
These options can be useful for setting time limits and score limits in such games as Capture the Flag and Death Matches.
Other popular uses include accelerate time, setting the mission difficulty or switching the intro on/off.
 
{{Important|While '''param1'''/'''param2''' were introduced in OFP:CWC and can still be used in later titles, it is highly recommended to use config class [[#params|params]].
}}
 
In the mission '''param1''' and '''param2''' have the values of the chosen options.
titleParam1 = "Time limit:";
valuesParam1[] = { 0, 300, 600, 900 };
defValueParam1 = 900;
textsParam1[] = { "Unlimited", "5 min", "10 min", "15 min" };
titleParam2 = "Score to win:";
valuesParam2[] = { 10000, 5, 7, 10, 15, 20, 25, 30 };
defValueParam2 = 5;
textsParam2[] = { "Unlimited", 5, 7, 10, 15, 20, 25, 30 };
 
Example:
hint format ["param1 = %1\nparam2 = %2", param1, param2];
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma2|1.03}}</div>
==== params ====
</div>
See [[Arma 3 Mission Parameters]] for more detailed informations.
 
 
 
 
 
== Mission settings ==
These are non-editable, mission maker design settings.
They can be used for a smoother experience, briefing/debriefing behaviour, saving options, etc.<br />
See also [[Debriefing]] for more detailed informations.
 
 
==== aiKills ====
Enables scorelist for AI players
aiKills = 1;
 
 
==== briefing ====
Skip briefing screen for SP missions. If no briefing.html is present, it is skipped anyway.
briefing = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
Briefing will still be displayed until all clients are connected and done loading.
 
 
==== debriefing ====
Defines if the debriefing is shown or not at the end of the mission.
debriefing = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== CfgDebriefing ====
</div>
Define custom mission endings or override the default endings (found under CfgDebriefing in the game's config file).
class CfgDebriefing
{
{{codecomment|// Used when all players die in MP}}
class endDeath
{
title = "Both teams have died.";
description = "Everyone was killed by the bomb.";
picture = "KIA";
};
};
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== CfgDebriefingSections ====
</div>
Define custom sections to be displayed on the debriefing screen. Useful for custom scoring systems or displaying player achievements.
class CfgDebriefingSections
{
class bPoints
{
title = "Blufor Points";
variable = "BLU_P";
};
class oPoints
{
title = "Opfor Points";
variable = "OPF_P";
};
};
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma2oa|1.62}}</div>
==== disableChannels ====
</div>
Disable global, side, command and system chat. MOTD and admin say have exception and will show in global. Introduced in Arma 2 Arrowhead BETA 1.60.93398.
{{codecomment|// old syntax}}
disableChannels[] = { <channelID>, <channelID> … };
Example:  disableChannels[] = { 0, 1, 2 };
{{codecomment|// new syntax}}
disableChannels[] = { { <channelID>, <disableChat>, <disableVoice> }, … };
Example:  disableChannels[] = { { 0, true, true }, { 1, true, false }, … };
 
*channelID number correspondence:
**0 = Global
**1 = Side
**2 = Command
**3 = Group
**4 = Vehicle
**5 = Direct
**6 = System
 
*disableChat: [[Boolean|boolean]]
*disableVoice: [[Boolean|boolean]]
 
 
==== disabledAI ====
Multiplayer setting that removes all playable units which do not have a human player.<br />
When AI is disabled, a player logging out will '''not''' have AI take control of his character.
{{Important|Disabling AI units will prevent [[JIP]] into playable units.}}
disabledAI = 1; {{codecomment|// 0: disabled - 1: enabled. Default: 0}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.42}}</div>
==== disableRandomization ====
</div>
Disables randomization on certain objects, object types or object kinds in the mission.
disableRandomization[] = { "All", "AllVehicles", "B_G_Offroad_01_F", "myCar", "MyUnitName", "B_Soldier_F" };
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== enableDebugConsole ====
</div>
Allows access to the [[Mission_Editor:_Debug_Console_(Arma_3)|Debug Console]] outside of the editor during normal gameplay
enableDebugConsole = 2; {{codecomment|// dangerous in MP}}
* 0 = Default behavior, available only in editor
* 1 = Available in SP and for hosts / logged in admins
* 2 = Available for everyone
 
Alternative since {{GVI|arma3|1.72}}
enableDebugConsole[] = {"76561198XXXXXXXXX"}; {{codecomment|// player with the UID and admin has access}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma2oa|1.62}}</div>
==== enableItemsDropping ====
</div>
Disable dropping items while swimming. Introduced in BETA 1.60.93965.
enableItemsDropping = 0; {{codecomment|// 0: disabled - 1: enabled. Default: ?}}
 
 
==== enableTeamSwitch ====
Enables or disables [[Team Switch]] functionality in MP when [[#respawn|respawn]] type is 5 (SIDE).
enableTeamSwitch = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.34}}</div>
==== forceRotorLibSimulation ====
</div>
Force enable or disable RotorLib.
forceRotorLibSimulation = 1; {{codecomment|// 0: options based - 1: enabled - 2: disabled. Default: 0}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== joinUnassigned ====
</div>
By default a new player is not auto assigned a free playable slot in the mission lobby in Multiplayer.
Disable this setting to make him auto assigned to the side with least players.
joinUnassigned = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
==== minScore, avgScore, maxScore ====
Set minimum, average and maximum score for your mission.
Score is related to the star display in the debriefing screen (OFP:CWC).
The score can be influenced during a missions progress by using the [[addRating]] command.
minScore = 0;
avgScore = 1800;
maxScore = 75000;
{{Important|
Values have to follow this formula: '''minScore < avgScore < maxScore'''. Any other combinations can lead to game freeze upon mission end.
}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma|1.00}}</div>
==== onCheat ====
</div>
Executes custom statement when player enters GETALLGEAR cheat (see: [[ArmA:_Cheats#GETALLGEAR|GETALLGEAR]]).
onCheat = "[[hint]] [[str]] [[_this]]";
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma2oa|1.62}}</div>
==== onPauseScript ====
</div>
Executes a custom SQF script or function in [[Scheduler#Scheduled_Environment|scheduled environment]] ([[execVM]]) when player brings up Game Pause screen (presses 'Esc' button).
[[Display]] parameter of the resulting [[dialog]] is available via (''_this'' [[select]] 0) inside the script.
onPauseScript = "myOnPauseScript.sqf";
onPauseScript[] = { myOnPauseFunction1, myOnPauseFunction2 }; {{codecomment|// Arma 3}}
'''NOTE:''' The script or function executes in its own namespace, so in order to pass external global variable to the script you need to explicitly indicate namespace passed variable defined in. For example, while expression like myVar = "123"; defined elsewhere usually is treated as if myVar belongs to [[missionNamespace]], inside onPauseScript you have to be explicit about it:
[[hint]] [[str]] myVar; {{codecomment|// Undefined variable myVar error!}}
[[hint]] [[str]] ([[missionNamespace]] [[getVariable]] "myVar"); {{codecomment|// 123}}
The above is also true if defining global variable inside onPauseScript for use elsewhere:
myVar2 = "345"; {{codecomment|// incorrect}}
[[missionNamespace]] [[setVariable]] ["myVar2", "345"]; {{codecomment|// correct}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma|1.00}}</div>
==== saving ====
</div>
Toggle saving possibility.
saving = 0; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|TKOH|1.00}}</div>
==== scriptedPlayer ====
</div>
When scripted player is enabled, game no longer shows "No player select" error message upon mission start when no player unit is present.
scriptedPlayer = 1; {{codecomment|// 0: disabled - 1: enabled. Default: 1}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.60}}</div>
==== skipLobby ====
</div>
When enabled, joining player will join the mission bypassing role selection screen. The joinUnassigned param will be set to 1 automatically, so that player receives 1st available role from mission template. When leaving such mission, player will go straight back to server browser.
skipLobby = 1; {{codecomment|// 0: disabled - 1: enabled. Default: 0}}
 
 
 
 
 
== Server security ==
This section underlines mission security settings for server. They can secure or break your mission, so be sure to use them wisely.
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|0.50}}</div>
==== allowFunctionsLog ====
</div>
Allows functions to log to the RPT file. Set it to 1/true to allow RPT logging.
allowFunctionsLog = 1; {{codecomment|// 0: disabled - 1: enabled. Default: ?}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.00}}</div>
==== allowFunctionsRecompile ====
</div>
As a security measure, functions are by default protected against rewriting during the mission.
This restriction does not apply in missions previewed from the editor and in missions with the following attribute in Description.ext
allowFunctionsRecompile = 1; {{codecomment|// 0: disabled - 1: enabled. Default: 0}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.50}}</div>
==== CfgRemoteExec ====
</div>
Define [[remoteExec]] and [[remoteExecCall]] restrictions. See [[CfgRemoteExec]] for more detailed explanations.
class CfgRemoteExec
{
{{codecomment|// List of script functions allowed to be sent from client via remoteExec}}
class Functions
{
{{codecomment|// RemoteExec modes:
// 0-turned off
// 1-turned on, taking whitelist into account
// 2-turned on, ignoring whitelist (default, because of backward compatibility)}}
mode = 2;
{{codecomment|// Ability to send jip messages: 0-disabled, 1-enabled (default)}}
jip = 1;
{{codecomment|// your functions here}}
class BIS_fnc_aFunction
{
allowedTargets = 0; {{codecomment|// can target anyone (default)}}
jip = 0; {{codecomment|// sending jip messages is disabled for this function}}
{{codecomment|// (overrides settings in the Functions class)}}
};
class YourFunctionOne { allowedTargets = 1; }; {{codecomment|// can target only clients}}
class YourFunctionTwo { allowedTargets = 2; }; {{codecomment|// can target only the server}}
};
{{codecomment|// List of script commands allowed to be sent from client via remoteExec}}
class Commands
{
{{codecomment|// your commands here}}
class setDir
{
allowedTargets = 2; {{codecomment|// can target only the server}}
jip = 0; {{codecomment|// sending jip is turned off}}
{{codecomment|// (overrides settings in the Commands class)}}
};
};
};
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.32}}</div>
==== CfgRemoteExecCommands ====
</div>
Define commands available for remote execution with [[BIS_fnc_MP]]. See [[CfgRemoteExecCommands]] for more detailed explanations.
class CfgRemoteExecCommands {}; {{codecomment|// disable remote execution of all commands}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.66}}</div>
==== CfgDisabledCommands ====
</div>
Disable certain script commands. See [[CfgDisabledCommands]] for more detailed explanations.
 
 
 
 
 
== Tasks ==
Tasks are part of the mission. This section deals with the settings for them.<br />
See also [[Arma 3 Tasks Overhaul]], [[Shared Objectives]].
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.42}}</div>
==== taskManagement_markers2D ====
</div>
Use new 2D markers
taskManagement_markers2D = 1; {{codecomment|// 0: disabled - 1: enabled. Default: 0}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.42}}</div>
==== taskManagement_markers3D ====
</div>
Use new 3D markers
taskManagement_markers3D = 1; {{codecomment|// 0: disabled - 1: enabled. Default: 0}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.42}}</div>
==== taskManagement_propagate ====
</div>
Propagate shared tasks to subordinates
taskManagement_propagate = 1; {{codecomment|// 0: disabled - 1: enabled. Default: 0}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.42}}</div>
==== taskManagement_drawDist ====
</div>
3D marker maximum draw distance in meters. within this range, unassigned tasks are drawn on screen.
taskManagement_drawDist = 2500; {{codecomment|// in meters. Default: 2000}}
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.53}}</div>
==== CfgTaskTypes ====
</div>
Define Task types and their icons.
class CfgTaskTypes
{
class Attack
{
icon    = \A3\UI_F_MP_Mark\Data\Tasks\Types\Attack_ca.paa;
icon3D  = \A3\UI_F_MP_Mark\Data\Tasks\Types3D\Attack_ca.paa;
};
class Defend
{
icon    = \A3\UI_F_MP_Mark\Data\Tasks\Types\Defend_ca.paa;
icon3D  = \A3\UI_F_MP_Mark\Data\Tasks\Types3D\Defend_ca.paa;
};
};
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.12}}</div>
==== CfgTaskDescriptions ====
</div>
Define Task titles and descriptions.
class CfgTaskDescriptions
{
class myTask1
{
title = "myTaskTitle";
description = "myTaskDescription";
marker = "myTaskDestinationMarker";
};
class myTask2
{
title = $STR_myTask2Title;
description = $STR_myTask2Description;
marker = $STR_myTask2Marker;
};
};
 
 
 
 
 
== Custom content definition ==
These class definitions allow for mission-defined content like sounds, music, or more advanced content like functions.
 
 
==== CfgCameraEffects ====
Configure custom [[cameraEffect]].
class CfgCameraEffects
{
class Array
{
class External
{
type = 0;
duration = 6; {{codecomment|// 3 seconds for some reason}}
file = ""; {{codecomment|//some kind of custom .p3d file for camera}}
};
class AutoTerminate: External
{
type = 3; {{codecomment|// CamChained}}
chain[] = { "External", "Terminate" }; {{codecomment|// Terminate will trigger after 3 seconds}}
};
};
};
 
Example:
"AutoTerminate" [[spawn]] {
[[showCinemaBorder]] false;
_dur = [[getNumber]] ([[missionConfigFile]] >> "CfgCameraEffects" >> "Array" >> _this >> "duration");
_cam = "camera" [[camCreate]] ([[player]] [[modelToWorld]] [0, -100, 50]);
_cam [[camSetTarget]] [[player]];
_cam [[camSetRelPos]] [0, -0.1, 1.8];
_cam [[camCommit]] _dur / 2;
_cam [[cameraEffect]] [_this, "Back"];
[[waitUntil]] {[[camCommitted]] _cam};
[[camDestroy]] _cam;
};
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma2|1.00}}</div>
==== CfgFunctions ====
</div>
Define functions for your mission. See [[Functions|Functions Library]] for more detailed informations.
 
 
==== CfgIdentities ====
Define the identities of individual units, you can specify the face, type of glasses worn, voice, tone of voice and name of an identity.
You then give a specific unit this identity by using the command [[setIdentity]] in the mission.  '''Note''':  ''nameSound'' is only valid for Arma 3.
class CfgIdentities
{
class MyLittleSoldier
{
name = "Givens";
nameSound = "Givens"; {{codecomment|// Arma 3 only!}}
face = "whiteHead_06";
glasses = "None";
speaker = "Male05ENG";
pitch = 1.1;
};
};
Example:
player [[setIdentity]] "MyLittleSoldier";
See [[:Category:CfgIdentities|CfgIdentities]] for more detailed informations and valid options for face, glasses, speaker etc.
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.75}}</div>
==== CfgLeaflets ====
</div>
Define leaflets for your missions. See [[Arma 3 Leaflets]] for more information.
 
 
==== CfgMusic ====
Defines music you can play with [[playMusic]].
class CfgMusic
{
tracks[] = {};
class MarsIntro
{
name = "";
sound[] = { "\music\filename.ogg", db + 0, 1.0 };
};
class Ludwig9
{
name = "";
sound[] = { "\music\filename.ogg", db + 10, 1.0 };
};
};
'''Name''' can be left blank as in the examples above. Only specify a name if you wish to access these sounds via the environment options of a trigger.<br />
'''Title''' is the text string that will be displayed on the screen when the sound file is played. See also [[Stringtable.csv]]/[[Stringtable.xml]].
 
{{Important|Setting volume (db) of music far from zero will disable [[fadeMusic]] command. Optimal values are from -10 to 10.}}
 
Example:
[[playMusic]] "MarsIntro";
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.12}}</div>
==== CfgNotifications ====
</div>
Define custom notifications to be shown with [[BIS_fnc_showNotification]]. See [[Notification]] for more detailed informations.
class CfgNotifications
{
class MyNotification
{
{{codecomment|// NOTE: title, iconPicture, iconText and description are filled by BIS_fnc_showNotification arguments}}
title = "";          {{codecomment|// Title displayed as text on black background}}
iconPicture = "";    {{codecomment|// Small icon displayed in left part}}
iconText = "";      {{codecomment|// Short text displayed over the icon}}
description = "";    {{codecomment|// Brief description displayed as structured text}}
color[] = {1,1,1,1}; {{codecomment|// Icon and description color}}
duration = 5;        {{codecomment|// How many seconds will the notification be displayed}}
priority = 0;        {{codecomment|// Priority; higher number <nowiki>=</nowiki> more important}}
difficulty[] = {};  {{codecomment|// Required difficulty settings - all difficulty settings have to be enabled}}
};
};
 
 
==== CfgRadio ====
Defines radio sentences you can play with *Radio commands: [[customRadio]], [[vehicleRadio]], [[groupRadio]], [[sideRadio]], [[globalRadio]]
class CfgRadio
{
sounds[] = {};
class RadioMsg1
{
name = "";
sound[] = { "\sound\filename1.ogg", db - 100, 1.0 };
title = "I am ready for your orders.";
};
class RadioMsg2
{
name = "";
sound[] = { "\sound\filename2", db - 100, 1.0 }; {{codecomment|// .wss implied}}
title = { $STR_RADIO_2 };
};
};
Note that the location of the sound file is relative to the mission.
 
Use in missions:
unit [[sideRadio]] "RadioMsg2";
 
 
==== CfgSFX ====
See [[CfgSFX]] for more information.
 
 
==== CfgSounds ====
General sounds that can be used for dialog, voiceovers in the briefing etc.<br />
See also commands [[playSound]], [[say]], [[say2D]] and [[say3D]].
class CfgSounds
{
sounds[] = {};
class wolf1
{
{{codecomment|// how the sound is referred to in the editor (e.g. trigger effects)}}
name = "my_wolf_sound";
{{codecomment|// filename, volume, pitch, distance}}
sound[] = {"fx\wolf1.ogg", 1, 1, 100};
{{codecomment|// subtitle delay in seconds, subtitle text}}
titles[] = { 1, "*wolf growls*" };
};
class wolf2
{
name = "my_other_wolf_sound";
sound[] = {"fx\wolf2.ogg", 1, 1, 100};
titles[] = { 1, "*wolf growls*" };
};
};
Example:
[[playSound]] "wolf1";  {{codecomment|// use the class name!}}
[[player]] [[say]] ["wolf1", 100];
See [http://ofp.toadlife.net/downloads/tutorials/tutorial_sound/tutorial_sound.html| OFP ToadLife's tutorial] for more detailed informations.
 
'''NOTE:''' Since Arma 3 v1.49.131710 it is possible to define AddOn sounds in mission config. In order to make engine look for the sound in AddOn, the sound path must start with '''@''' (instead of '''\''') for example:
class CfgSounds
{
sounds[] = {};
class addonsound1
{
name = "sound from addon";
{{codecomment|// start path to sound file in AddOn with @}}
sound[] = { "@a3\Ui_F_Curator\Data\Sound\CfgSound\visionMode", 0.8, 1, 100 };
titles[] = { 0, "" };
};
};
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.24}}</div>
==== CfgUnitInsignia ====
</div>
Define custom unit insignia (shoulder patches). See [[Arma 3 Unit Insignia]] for more detailed informations.
class CfgUnitInsignia
{
class 111thID
{
displayName = "111th Infantry Division"; {{codecomment|// Name displayed in [[Arsenal]]}}
author = "Bohemia Interactive"; {{codecomment|// Author displayed in Arsenal}}
texture = "\a3\UI_F_Bootcamp\Data\CfgUnitInsignia\B_111thID_texture_ca.paa"; {{codecomment|// Image path}}
textureVehicle = ""; {{codecomment|// Does nothing currently, reserved for future use}}
};
};
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.50}}</div>
==== CfgUnitTemplates ====
</div>
This class is used to create units templates. For now, this is only used with the function [[BIS_fnc_unitHeadgear]].
class CfgUnitTemplates
{
{{codecomment|// Classic selectRandom
// [myUnit, "MyFirstTemplate"] call bis_fnc_unitHeadgear;}}
class MyFirstTemplate: Default
{
headgearList[] =
{
"H_Cap_blk",
"H_Cap_grn",
"H_Cap_oli_hs"
};
facewearList[] =
{
"G_Bandanna_beast",
"G_Bandanna_blk",
"G_Bandanna_khk"
};
};
{{codecomment|// the probabilities will be considered, weighted random
// [myUnit, "MySecondTemplate"] call bis_fnc_unitHeadgear;}}
class MySecondTemplate: Default
{
headgearList[] =
{
"H_Cap_blk", 0.9,
"H_Cap_grn", 0.6,
"H_Cap_oli_hs", 0.55
};
facewearList[] =
{
"G_Bandanna_beast", 0.5,
"G_Bandanna_blk", 0.5,
"G_Bandanna_khk", 0.5
};
};
};
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.69}}</div>
==== CfgVehicles ====
</div>
This class can only be used to [[createSoundSource|create sound sources]], since Arma 3 v1.69.141183.<br />
See also [[#CfgSFX|CfgSFX]] for more detailed informations.
class CfgVehicles
{
class MyOwlSound {{codecomment|// class name to be used with createSoundSource}}
{
sound = "MyOwl"; {{codecomment|// reference to [[#CfgSFX|CfgSFX]] class}}
};
};
 
 
<div><div style="float: left; margin-right: 0.5em;">{{GVI|arma3|1.42}}</div>
==== CfgVehicleTemplates ====
</div>
This class is used to create vehicle templates used by the [[Vehicle_Customization (VhC)||Vehicle Customization system]].
class CfgVehicleTemplates
{
class BIS_Offroad_01_default
{
displayName = "Default";
author = "Bohemia Interactive";
textureList[] =
{
"guerilla_01", 1,
"guerilla_02", 1
};
animationList[] =
{
"HideBumper1", 1,
"HideBumper2", 1
};
};
};
 
 
==== rscTitles ====
Defines custom UI [[Dialog Control|displays]]. To show such displays, use [[cutRsc]] or [[titleRsc]].
 
 
[[Category:ArmA: Mission Editing]]
[[Category:Mission Editor]]
[[Category:Sandbox]]

Latest revision as of 00:29, 18 March 2024

Order of Initialisation (use column sorting for respective machine order)
Task Exec Environment Machine
Single Player Dedicated Server Hosted Server Multiplayer Client JIP MP Client
Functions with recompile attribute are recompiled N/A 1 1 1 1 1
Functions with preInit attribute are called Unscheduled 2 2 2 2 2
Object Init Event Handlers are called Unscheduled 3 3 3 3 Unchecked
Expressions of Eden Editor entity attributes are called[1] Unscheduled 4 4 4 Unchecked Unchecked
Object initialisation fields are called Unscheduled 5 5 5 4 3
init.sqs is executed 6
init.sqf is executed Scheduled[2]
Expressions of Eden Editor scenario attributes are called[3] Unscheduled
Persistent functions are called
Modules are initialised Unchecked
initServer.sqf is executed Scheduled N/A N/A
initPlayerLocal.sqf is executed Scheduled N/A
initPlayerServer.sqf is executed on the server Scheduled N/A ??
Functions with postInit attribute are called Scheduled[2]
init.sqs is executed Scheduled
init.sqf is executed Scheduled
remoteExec's JIP queue N/A N/A N/A N/A N/A 42
Scenario going N/A
exit.sqf
exit.sqs
"Ended" Mission Event Handler
"MPEnded" Mission Event Handler


See Also

  1. isPlayer _entity does not return true immediately. Once the entity has become a player, it is transferred to the client.
  2. 2.0 2.1 Note in single player that while the environment is Scheduled (canSuspend returns true), the engine seems to wait until the script is done executing, essentially behaving similarly to an Unscheduled environment - infinite loops will freeze the game, uiSleep may pause the game for up to ~20s (postInit), waitUntil can cause catastrophic issues, etc.
  3. player is not available immediately.