Lou Montana/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
(First Description.ext sharing)
m (Update w/ links)
 
(146 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<!-- sub-categories (2 equal signs) are left possible – for "Mission informations/Overview/*" for example -->
[[Category: Sandbox]]
<table>
{{Feature|informative|To go on [[Initialisation Order]].}}
<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.


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>
{| class="wikitable sortable align-center align-left-col-1"
|+ 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


<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>recompile</syntaxhighlight> {{Link|Arma 3: Functions Library#Attributes 3|attribute}} are recompiled
</table>
| {{n/a}}
| 1 <!-- Single Player -->
| 1 <!-- Dedicated Server -->
| 1 <!-- Hosted Server -->
| 1 <!-- Multiplayer Client -->
| 1 <!-- JIP MP Client -->


|-
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>preInit</syntaxhighlight> {{Link|Arma 3: Functions Library#Attributes 3|attribute}} are called
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| 2 <!-- Single Player -->
| 2 <!-- Dedicated Server -->
| 2 <!-- Hosted Server -->
| 2 <!-- Multiplayer Client -->
| 2 <!-- JIP MP Client -->


= Mission informations =
|-
| 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 -->


<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma|1.00}}</div>
|-
=== header ===
| 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>
</div>
| [[Scheduler#Unscheduled Environment|Unscheduled]]
See [[Multiplayer Game Types]]
| 4 <!-- Single Player -->
| 4 <!-- Dedicated Server -->
| 4 <!-- Hosted Server -->
| {{Icon|unchecked}} <!-- Multiplayer Client -->
| {{Icon|unchecked}} <!-- 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. Care should be taken to see whether your message is readable in that timeframe.
| Object initialisation fields are called
onLoadMission = "YourMissionName";
| [[Scheduler#Unscheduled Environment|Unscheduled]]
The '''OnLoadMission''' option is used to present the mission name to the user. In MP this is the name you see when selecting a mission and also the name that is presented to the MultiPlayer browser.
| 5 <!-- Single Player -->
| 5 <!-- Dedicated Server -->
| 5 <!-- Hosted Server -->
| 4 <!-- Multiplayer Client -->
| 3 <!-- JIP MP Client -->


=== onLoadIntro ===
|- style="background-color: #95F0AD"
Displays a message while the intro is loading.
| [[Event Scripts#init.sqs|init.sqs]] is executed
onLoadIntro = "YourMessage"
|
| 6 <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


=== onLoadMissionTime ===
|- style="background-color: #95F0AD"
Define whether you will see the time and date displayed while the mission loads. 1 means visible, 0 hidden. Default: 1. Effect unkown in Arma 3
| [[Event Scripts#init.sqf|init.sqf]] is executed
onLoadMissionTime = 1;
| [[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 -->


=== onLoadIntroTime ===
|-
Define whether you will see the time and date displayed while the intro loads. 1 means visible, 0 hidden. Default: 0
| Expressions of [[Eden Editor: Configuring Attributes|Eden Editor scenario attributes]] are called<ref name="playerCommandNotAvailable">[[player]] is not available immediately.</ref>
onLoadIntroTime = 1;
| [[Scheduler#Unscheduled Environment|Unscheduled]]
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma2oa|1.51}}</div>
|- style="background-color: #95DEF0"
=== loadScreen ===
| Persistent functions are called
</div>
|
You can define a picture to be shown while the mission is loaded.
| <!-- Single Player -->
The path is relative to the mission folder.
| <!-- Dedicated Server -->
loadScreen = "pictures\intro.paa";
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.56}}</div>
|-
=== briefingName ===
| [[Modules]] are initialised
</div>
|
Mission name displayed in the mission selection menu.
| <!-- Single Player -->
briefingName = "TAG 1-5 CO My super mission";
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| {{Icon|unchecked}} <!-- JIP MP Client -->


<div><div style="float: right; margin-left: 0.5em;">{{GVI|TKOH|1.00}}</div>
|- style="background-color: #DEF0AD"
=== CfgLoadingTexts ===
| [[Event Scripts#initServer.sqf|initServer.sqf]] is executed
</div>
| [[Scheduler#Scheduled Environment|Scheduled]]
Define mission specific [[Loading_Screens#Texts|loading texts]].
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| {{n/a}} <!-- Multiplayer Client -->
| {{n/a}} <!-- JIP MP Client -->


<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|0.50}}</div>
|- style="background-color: #DEF0AD"
=== onLoadName ===
| [[Event Scripts#initPlayerLocal.sqf|initPlayerLocal.sqf]] is executed
</div>
| [[Scheduler#Scheduled Environment|Scheduled]]
String (usually mission name) shown during [[Loading Screens|mission loading]]. The string is shown in a slightly larger font above the loadScreen. For example:
| <!-- Single Player -->
author = "Varanon";
| {{n/a}} <!-- Dedicated Server -->
OnLoadName = "Point Insertion";
| <!-- Hosted Server -->
OnLoadMission = "A group of NATO soldiers is tasked with sabotaging a coastal defense.";
| <!-- Multiplayer Client -->
loadScreen = "images\loadScreen.paa";
| <!-- JIP MP Client -->
This produces the pictured result. The [[#onLoadMission|onLoadMission]] text is placed below the load screen and the [[#header|header gameType]] determines the game time on top of the box.
[[Loading Screens]]


<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|0.50}}</div>
|- style="background-color: #DEF0AD"
=== author ===
| [[Event Scripts#initPlayerServer.sqf|initPlayerServer.sqf]] is executed on the server
</div>
| [[Scheduler#Scheduled Environment|Scheduled]]
Mission author's name. The default loading screen shows this string below the [[#onLoadName|onLoadName]] in a smaller font prefixed by "by ". See [[Loading Screens]]
| <!-- Single Player -->
| {{n/a}} <!-- Dedicated Server -->
| ?? <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|0.50}}</div>
|-
=== overviewPicture ===
| [[Arma 3: Functions Library|Functions]] with <syntaxhighlight lang="cpp" inline>postInit</syntaxhighlight> {{Link|Arma 3: Functions Library#Attributes 3|attribute}} are called
</div>
| [[Scheduler#Scheduled Environment|Scheduled]]<ref name="enginewaits"/>
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).
| <!-- Single Player -->
See also [[Mission Overview]]
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|0.50}}</div>
|- style="background-color: #95DEF0"
=== overviewText ===
| [[Event Scripts#init.sqs|init.sqs]] is executed
</div>
| [[Scheduler#Scheduled Environment|Scheduled]]
Text to be displayed below the [[#overviewPicture|overviewPicture]] on the mission selection screen when the mission is available to play.
| <!-- Single Player -->
See also [[Mission Overview]]
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|0.50}}</div>
|- style="background-color: #95DEF0"
=== overviewTextLocked ===
| [[Event Scripts#init.sqf|init.sqf]] is executed
</div>
| [[Scheduler#Scheduled Environment|Scheduled]]
Text to be displayed below the [[#overviewPicture|overviewPicture]] on the mission selection screen when the mission is locked from play.
| <!-- Single Player -->
[[Mission Overview]]
| <!-- 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 -->


|- style="background-color: #EEE"
| ''Scenario going''
| {{n/a}}
| <!-- Single Player -->
| <!-- 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 -->


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


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


=== respawn ===
|-
Sets respawn type.
|  {{Link|Arma 3: Mission Event Handlers#MPEnded|"MPEnded" Mission Event Handler}}
|
| <!-- Single Player -->
| <!-- Dedicated Server -->
| <!-- Hosted Server -->
| <!-- Multiplayer Client -->
| <!-- JIP MP Client -->


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.
[[#respawnDelay|respawnDelay]], [[#respawnVehicleDelay|respawnVehicleDelay]], [[#respawnDialog|respawnDialog]]


=== respawnButton ===
Enable or disable the respawn button in the menu for INSTANT and BASE respawn types. Default is 1 (enabled).
respawnButton = 0;
[[#respawn|respawn]], [[#respawnDialog|respawnDialog]]


=== respawnDelay ===
== See Also ==
Set respawn delay in seconds.
respawnDelay = 42;
[[#respawn|respawn]], [[#respawnVehicleDelay|respawnVehicleDelay]], [[#respawnDialog|respawnDialog]]


=== respawnVehicleDelay ===
* [[Arma 3: Functions Library]]<!--
Set vehicle respawn delay in seconds.
* [[Arma 2: Functions Library]] -->
respawnVehicleDelay = 11;
* [[Arma 3: Remote Execution]], [[BIS_fnc_MP]] <!-- keep? -->
[[#respawn|respawn]], [[#respawnDelay|respawnDelay]], [[#respawnDialog|respawnDialog]]
* [[Eden Editor: Configuring Attributes|Eden Editor: Configuring Attributes]]
 
* [[Event Scripts]]
=== respawnDialog ===
* [[Scheduler]]
Show the scoreboard and respawn countdown timer for a player if he is killed with respawnType 3. Default is 1 (true).
respawnDialog = 0;
[[#respawn|respawn]], [[#respawnDelay|respawnDelay]], [[#respawnVehicleDelay|respawnVehicleDelay]]
 
=== respawnOnStart ===
1 to respawn player when he joins the game. Available only for INSTANT and BASE respawn types.
respawnOnStart =  1; // Respawn on start. Run respawn script on start.
respawnOnStart =  0; // Dont respawn on start. Run respawn script on start.
respawnOnStart = -1; // Dont respawn on start. Don't run respawn script on start.
[[#respawn|respawn]], [[#respawnDelay|respawnDelay]], [[#respawnVehicleDelay|respawnVehicleDelay]]
 
=== respawnTemplates ===
Respawn templates from [[Arma_3_Respawn#Respawn_Templates|CfgRespawnTemplates]]. You can combine any number of them together.
respawnTemplates[] = {"Counter","Wave"};
Side specific respawn templates can be specified with "<i>respawnTemplates<b>SIDE</b>[]</i>" where <i><b>SIDE</b></i> can be any playable side (e.g. <i>respawnTemplatesEast[]</i>). When such is undefined, general respawnTemplates are used instead.
[[#respawn|respawn]], [[#respawnDelay|respawnDelay]], [[#respawnVehicleDelay|respawnVehicleDelay]], [[Arma 3 Respawn]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma|1.00}}</div>
=== respawnWeaponsWest ===
=== respawnWeaponsEast ===
=== respawnWeaponsGuer ===
=== respawnWeaponsCiv ===
</div>
Set weapons corresponding side players will receive upon respawn. Its corresponding ''respawnMagazinesX'' has to be defined as well.
respawnWeaponsGuer[] = { "arifle_Katiba_GL_F" };
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma|1.00}}</div>
=== respawnMagazinesWest ===
=== respawnMagazinesEast ===
=== respawnMagazinesGuer ===
=== respawnMagazinesCiv ===
</div>
Set magazines corresponding side players will receive upon respawn. Its corresponding ''respawnWeaponsX'' has to be defined as well.
respawnMagazinesGuer[] = { "30Rnd_65x39_caseless_green", "30Rnd_65x39_caseless_green" };
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.62}}</div>
=== ReviveMode ===
</div>
ReviveMode = 1; // 0: disabled, 1: enabled, 2: controlled by player attributes
[[Arma 3 Revive|Revive]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.62}}</div>
=== ReviveUnconsciousStateMode ===
</div>
ReviveUnconsciousStateMode = 0; // 0: basic, 1: advanced, 2: realistic
[[Arma 3 Revive|Revive]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.62}}</div>
=== ReviveRequiredTrait ===
</div>
ReviveRequiredTrait = 0; // 0: none, 1: medic trait is required
[[Arma 3 Revive|Revive]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.62}}</div>
=== ReviveRequiredItems ===
</div>
ReviveRequiredItems = 2; // 0: none, 1: medkit, 2: medkit or first aid kit
[[Arma 3 Revive|Revive]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.62}}</div>
=== ReviveRequiredItemsFakConsumed ===
</div>
ReviveRequiredItemsFakConsumed = 1; // 0: first aid kit is not consumed upon revive, 1: first aid kit is consumed
[[Arma 3 Revive|Revive]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.62}}</div>
=== ReviveMedicSpeedMultiplier ===
</div>
Speed multiplier for revive performed by medic
ReviveMedicSpeedMultiplier = 2;
[[Arma 3 Revive|Revive]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.62}}</div>
=== reviveDelay  ===
</div>
The time it takes to revive an incapacitated unit (default: 6 seconds). Having a Medikit will halve this time.
reviveDelay = 6;
[[Arma 3 Revive|Revive]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.62}}</div>
=== reviveForceRespawnDelay  ===
</div>
The time it takes for an incapacitated unit to force their respawn (default: 3 seconds).
reviveForceRespawnDelay = 3;
[[Arma 3 Revive|Revive]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.62}}</div>
=== reviveBleedOutDelay  ===
</div>
The time it takes for a unit to bleed out (default: 2 minutes).
reviveBleedOutDelay = 120;
[[Arma 3 Revive|Revive]]
 
 
 
 
 
= Mission keys =
 
<div><div style="float: right; margin-left: 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 $STR_ variables (in the stringtable.csv for the mission) cannot be used
[[#keysLimit|keysLimit]], [[#doneKeys|doneKeys]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma|1.00}}</div>
=== keysLimit ===
</div>
Number of keys from the [[#keys|keys]] list needed for unlock a mission.
keysLimit = 2;
[[#keys|keys]], [[#doneKeys|doneKeys]]
 
<div><div style="float: right; margin-left: 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 $STR_ variables (in the stringtable.csv for the mission) cannot be used
 
Keys can be activated using [[activateKey]] and checked by [[isKeyActive]].
[[#keys|keys]], [[#keysLimit|keysLimit]]
 
 
 
 
 
= player's UI =
 
=== 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;
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, // Scripted HUD (same as showHUD command)
true, // Vehicle + soldier info
false, // Vehicle radar [HIDDEN]
false, // Vehicle compass [HIDDEN]
true, // Tank direction indicator
true, // Commanding menu
true, // Group Bar
true, // HUD Weapon Cursors
true // Vehicle display panels
};
'''NOTE:''' adding new ''showHUD[]'' array param to ''description.ext'' will also disable scripted command [[showHUD]] entirely.
[[showHUD]], [[shownHUD]]
 
=== showCompass ===
Defines if the compass is visible.
showCompass = 0;
[[showCompass]], [[shownCompass]], [[visibleCompass]]
 
=== showGPS ===
Enables/Disables the GPS
showGPS = 0;
In [[ArmA]] ''1.04'' toggle this option to disable the mini map attached to the GPS.
[[showGPS]], [[shownGPS]], [[visibleGPS]]
 
<div><div style="float: right; margin-left: 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; // <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;
[[showMap]], [[shownMap]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma|1.00}}</div>
=== showNotePad ===
</div>
In ArmA, defines if the NotePad is shown after the mission starts.
showNotePad = 0;
 
<div><div style="float: right; margin-left: 0.5em;">only in {{GVI|ofp|1.00}}</div>
=== showPad ===
</div>
Defines if the NotePad is shown after the mission starts. Arma:CWC only.
showPad = 0;
[[showPad]], [[shownPad]]
 
=== showWatch ===
Defines if the watch is visible.
showWatch = 0;
[[showWatch]], [[shownWatch]], [[visibleWatch]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.16}}</div>
=== showUAVFeed ===
</div>
Enables/Disables the UAV Feed. Default: 1.
showUAVFeed = 0;
[[showUAVFeed]], [[shownUAVFeed]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.60}}</div>
=== showSquadRadar ===
Defines if the Squad Radar is visible.
showSquadRadar = 0;
 
 
 
 
 
= Starting gear =
 
=== weapons ===
Set weapons available to players during the briefing.
class Weapons
{
class AK74 { count = 8; };
class RPG7V { count = 2; };
class Binocular { count = 2; };
};
[[#magazines|magazines]], [[#backpacks|backpacks]]
 
=== 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; };
};
[[#weapons|weapons]], [[#backpacks|backpacks]]
 
<div><div style="float: right; margin-left: 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;};
};
[[#weapons|weapons]], [[#magazines|magazines]]
 
=== weaponPool ===
Allows equipment transferred from one campaign mission to the next to be available during the briefing in the gear menu.
weaponPool = 1;
See also [[:Category:Command_Group:_Weapon_Pool|Command Group: Weapon Pool]].
 
<div><div style="float: right; margin-left: 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;
 
 
 
 
 
= Corpse & wreck management =
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.32}}</div>
=== corpseManagerMode ===
</div>
Sets the mode for corpse removal manager.
corpseManagerMode = 0;
0 = None - None of the units are managed by the manager<br />
1 = All - All units are managed by the manager<br />
2 = None_But_Respawned - Only units that can respawn are managed by the manager<br />
3 = All_But_Respawned - All units are managed by the manager with exception of respawned (opposite to mode 2)<br />
Default value: 0 for SP, 2 for MP<br />
[[#wreckManagerMode|wreckManagerMode]], [[addToRemainsCollector]], [[isInRemainsCollector]], [[removeFromRemainsCollector]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|0.50}}</div>
=== corpseLimit ===
</div>
Corpse limit before which ( <= ) [[#corpseRemovalMaxTime|corpseRemovalMaxTime]] applies and after which ( > ) [[#corpseRemovalMinTime|corpseRemovalMinTime]] applies (see below).
corpseLimit = 1;
Default value: 15
[[#wreckeLimit|wreckLimit]]
 
<div><div style="float: right; margin-left: 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; //seconds
Default value: 10
[[#wreckeRemovalMinTime|wreckRemovalMinTime]]
 
<div><div style="float: right; margin-left: 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; //seconds
Default value: 3600
[[#wreckeRemovalMaxTime|wreckRemovalMaxTime]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.32}}</div>
=== wreckManagerMode ===
</div>
Sets the mode for wreck removal manager.
wreckManagerMode = 0;
0 = None - None of the vehicles are managed by the manager<br />
1 = All - All vehicles are managed by the manager<br />
2 = None_But_Respawned - Only vehicles that can respawn are managed by the manager<br />
3 = All_But_Respawned - All vehicles are managed by the manager with exception of respawned (opposite to mode 2)<br />
Default value: 0 for SP, 2 for MP<br />
[[#corpseManagerMode|corpseManagerMode]], [[addToRemainsCollector]], [[isInRemainsCollector]], [[removeFromRemainsCollector]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|0.50}}</div>
=== wreckLimit ===
</div>
Vehicle wreck limit before which ( <= ) [[#wreckRemovalMaxTime|wreckRemovalMaxTime]] applies and after which ( > ) [[#wreckRemovalMinTime|wreckRemovalMinTime]] applies (see below).
wreckLimit = 1;
Default value: 15<br />
[[#corpseLimit|corpseLimit]]
 
<div><div style="float: right; margin-left: 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; //seconds
Default value: 10<br />
[[#corpseRemovalMinTime|corpseRemovalMinTime]]
 
<div><div style="float: right; margin-left: 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; //seconds
Default value: 36000 (10 hrs)<br />
[[#corpseRemovalMaxTime|corpseRemovalMaxTime]]
 
<div><div style="float: right; margin-left: 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; //meters
Default value: 0<br />
[[#corpseRemovalMaxTime|corpseRemovalMaxTime]]
 
 
 
 
 
= Mission parameters =
 
=== titleParam% ===
'''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.
 
In the mission '''param1''' and '''param2''' have the values of the chosen options. Many people will assign a variable in the [[Init.sqs|init.sqs]] file to '''param1''' for simplicity, an example of this would be to assign variable ''timelimit''&nbsp;=&nbsp;'''param1'''.
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};
 
=== valuesParam% ===
See [[#titleParam%|titleParam%]]
[[#titleParam%|titleParam%]]
 
=== defValueParam% ===
See [[#titleParam%|titleParam%]]
[[#titleParam%|titleParam%]]
 
=== textsParam% ===
See [[#titleParam%|titleParam%]]
[[#titleParam%|titleParam%]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma2|1.03}}</div>
=== params ===
</div>
See [[Arma 3 Mission Parameters]]
 
 
 
 
 
= Mission settings =
 
=== 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;
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;
 
<div><div style="float: right; margin-left: 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
{
// Used when all players die in MP
class endDeath
{
title = "Both teams have died.";
description = "Everyone was killed by the bomb.";
picture = "KIA";
};
};
[[Debriefing]]
 
<div><div style="float: right; margin-left: 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";
};
};
[[Debriefing]]
 
<div><div style="float: right; margin-left: 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.
disableChannels[] = { <channelID>, <channelID> … }; // old syntax
Example:  disableChannels[] = { 0, 1, 2 };
disableChannels[] = { { <channelID>, <disableChat>, <disableVoice> }, … }; // new syntax
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 ===
When 1, removes all playable units which do not have a human player. When 0, a logging out player will have AI take control of his character. Default value is 0. (MP)
disabledAI = 1;
Disabling all the AI units will prevent [[JIP]] into playable units.
 
<div><div style="float: right; margin-left: 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: right; margin-left: 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; //dangerous in MP
0 = Default behavior, available only in editor<br />
1 = Available in SP and for hosts / logged in admins<br />
2 = Available for everyone<br />
 
Alternative since 1.72
// player with the UID and admin has access
enableDebugConsole[] = {"76561198XXXXXXXXX"};
[[Mission_Editor:_Debug_Console]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma2oa|1.62}}</div>
=== enableItemsDropping ===
</div>
Disable dropping items while swimming. Introduced in BETA 1.60.93965.
enableItemsDropping = 0; // 0 = Disable, 1 = Enable - default = ?
 
=== enableTeamSwitch ===
Enables or disables [[Team Switch]] functionality in MP when [[#respawn|respawn]] type is 5 (SIDE). Default is 1.
enableTeamSwitch = 0; //Manual team switch disabled
[[#respawn|respawn]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.34}}</div>
=== forceRotorLibSimulation ===
</div>
Force enable or disable RotorLib.
forceRotorLibSimulation = 1; //force enable
Default value: 0 - options based; 1 - force enable; 2 - force disable<br />
 
<div><div style="float: right; margin-left: 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. Set it to 0/false to make him auto assigned to the side with least players.
joinUnassigned = 0; // 0 = Disable, 1 = Enable - default: 1
 
=== minScore ===
Set minimum score for your mission. Score is related to the star display in the debriefing screen. The score can be influenced during a missions progress by using the [[addRating]] command.
minScore = 0;
Values have to follow this formula: ''minScore < avgScore < maxScore''. Any other combinations can lead to game freeze upon mission end.
[[#avgScore|avgScore]], [[#maxScore|maxScore]]
 
=== avgScore ===
Set average score for your mission. Score is related to the star display in the debriefing screen. The score can be influenced during a missions progress by using the [[addRating]] command.
avgScore = 1800;
Values have to follow this formula: ''minScore < avgScore < maxScore''. Any other combinations can lead to game freeze upon mission end.
[[#minScore|minScore]], [[#maxScore|maxScore]]
 
=== maxScore ===
Set maximum score for your mission. Score is related to the star display in the debriefing screen. The score can be influenced during a missions progress by using the [[addRating]] command.
maxScore = 75000;
Values have to follow this formula: ''minScore < avgScore < maxScore''. Any other combinations can lead to game freeze upon mission end.
[[#minScore|minScore]], [[#avgScore|avgScore]]
 
<div><div style="float: right; margin-left: 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: right; margin-left: 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};//(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; //Undefined variable myVar error!
[[hint]] [[str]] ([[missionNamespace]] [[getVariable]] "myVar"); //123
The above is also true if defining global variable inside onPauseScript for use elsewhere:
myVar2 = "345"; //incorrect!
[[missionNamespace]] [[setVariable]] ["myVar2", "345"]; //correct!
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma|1.00}}</div>
=== saving ===
</div>
Toggle saving.
saving = 0; // disable saving
Default value: 1
 
<div><div style="float: right; margin-left: 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;
 
<div><div style="float: right; margin-left: 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; //enabled
Default value: 0
 
 
 
 
 
= Server security =
 
<div><div style="float: right; margin-left: 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;//true
0 = Disable<br />
1 = Enable<br />
[[BIS_fnc_error]]
 
<div><div style="float: right; margin-left: 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;
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.50}}</div>
=== CfgRemoteExec ===
</div>
Define remoteExec restrictions.
class CfgRemoteExec
{
// List of script functions allowed to be sent from client via remoteExec
class Functions
{
// RemoteExec modes:
// 0-turned off
// 1-turned on, taking whitelist into account
// 2-turned on, ignoring whitelist (default, because of backward compatibility)
mode = 2;
// Ability to send jip messages: 0-disabled, 1-enabled (default)
jip = 1;
// your functions here
class BIS_fnc_aFunction
{
allowedTargets = 0; // can target anyone (default)
jip = 0;            // sending jip messages is disabled for this function
// (overrides settings in the Functions class)
};
class YourFunctionOne { allowedTargets = 1; }; // can target only clients
class YourFunctionTwo { allowedTargets = 2; }; // can target only the server
};
// List of script commands allowed to be sent from client via remoteExec
class Commands
{
// your commands here
class setDir
{
allowedTargets = 2; // can target only the server
jip = 0; // sending jip is turned off
// (overrides settings in the Commands class)
};
};
};
[[CfgRemoteExec]], [[remoteExec]], [[remoteExecCall]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.32}}</div>
=== CfgRemoteExecCommands ===
</div>
Define commands available for remote execution with [[BIS_fnc_MP]]. See [[CfgRemoteExecCommands]] for more info.
class CfgRemoteExecCommands {}; //disable remote execution of all commands
[[CfgRemoteExecCommands]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.66}}</div>
=== CfgDisabledCommands ===
</div>
Disables certain script commands. See [[CfgDisabledCommands]] for detailed info.
[[CfgDisabledCommands]]
 
 
 
 
 
= Tasks =
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.42}}</div>
=== taskManagement_markers2D ===
</div>
0: do not use new 2D markers (default), 1: replace task markers with new 2D markers
taskManagement_markers2D = 1;
[[Shared Objectives]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.42}}</div>
=== taskManagement_markers3D ===
</div>
0: do not use new 3D markers (default), 1: replace task waypoints with new 3D markers
taskManagement_markers3D = 1;
[[Shared Objectives]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.42}}</div>
=== taskManagement_propagate ===
</div>
0: do not propagate (default), 1: propagate shared tasks to subordinates
taskManagement_propagate = 1;
[[Shared Objectives]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.42}}</div>
=== taskManagement_drawDist ===
</div>
3d marker draw distance in meters (default: 2000). within this range, unassigned tasks are drawn on screen.
taskManagement_drawDist = 2500;
[[Shared Objectives]]
 
<div><div style="float: right; margin-left: 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;
};
};
[[Arma 3 Tasks Overhaul]]
 
<div><div style="float: right; margin-left: 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;
};
};
[[Arma 3 Tasks Overhaul]]
 
 
 
 
 
= Custom content definition =
 
=== CfgCameraEffects ===
Configure custom [[cameraEffect]]
class CfgCameraEffects
{
class Array
{
class External
{
type = 0;
duration = 6; //3 seconds for some reason
file = ""; //some kind of custom .p3d file for camera
};
class AutoTerminate: External
{
type = 3; //CamChained
chain[] = {"External","Terminate"}; //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: right; margin-left: 0.5em;">{{GVI|arma2|1.00}}</div>
=== CfgFunctions ===
</div>
Define functions for your mission. See [[Functions|Functions Library]] for detailed info.
[[Functions|Functions Library]]
 
=== 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"; // Arma 3 only!
face = "whiteHead_06";
glasses = "None";
speaker = "Male05ENG";
pitch = 1.1;
};
};
Usage:
myUnit setIdentity "MyLittleSoldier"
See [[:Category:CfgIdentities]] for valid options for: face, glasses, speaker etc.
[[setIdentity]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.75}}</div>
=== CfgLeaflets ===
</div>
Define leaflets for your missions. See [[Arma 3 Leaflets]] for more information.
[[Functions|Functions Library]]
 
=== 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]]
 
{{Important|Setting volume (db) of music far from zero will disable [[fadeMusic]] command. Optimal values are from -10 to 10.}}
 
Use in missions:
[[playMusic]]  "MarsIntro"
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.12}}</div>
=== CfgNotifications ===
</div>
Define custom notifications to be shown with [[BIS_fnc_showNotification]]
class CfgNotifications
{
class MyNotification
{
// NOTE: title, iconPicture, iconText and description are filled by BIS_fnc_showNotification arguments
title = "";          // Title displayed as text on black background
iconPicture = "";    // Small icon displayed in left part
iconText = "";      // Short text displayed over the icon
description = "";    // Brief description displayed as structured text
color[] = {1,1,1,1}; // Icon and description color
duration = 5;        // How many seconds will the notification be displayed
priority = 0;        // Priority; higher number = more important
difficulty[] = {};  // Required difficulty settings - all difficulty settings have to be enabled
};
};
[[BIS_fnc_showNotification]], [[Notification]]
 
=== 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 }; // .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.
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*" };
};
};
Use in missions:
[[playSound]] "wolf1";  // use the class name!
[[player]] [[say]] ["wolf1", 100];
See [http://ofp.toadlife.net/downloads/tutorials/tutorial_sound/tutorial_sound.html|OFP ToadLife tutorial] for more 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, "" };
};
};
 
The following will play Vision Mode change sound from AddOn:
[[playSound]] "addonsound1";
[[player]] [[say]] "addonsound1";
[[player]] [[say2D]] "addonsound1";
[[player]] [[say3D]] "addonsound1";
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.24}}</div>
=== CfgUnitInsignia ===
</div>
Defines custom unit insignia (shoulder patches).
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}}
};
};
[[Arma 3 Unit Insignia]]
 
<div><div style="float: right; margin-left: 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
{
// 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"
};
};
// 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
};
};
};
[[BIS_fnc_unitHeadgear]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.69}}</div>
=== CfgVehicles ===
</div>
This class can only be used to create sound sources, since Arma 3 v1.69.141183
class CfgVehicles
{
class MyOwlSound // class name to be used with createSoundSource
{
sound = "MyOwl"; // reference to CfgSFX class
};
};
[[CfgSFX]], [[createSoundSource]]
 
<div><div style="float: right; margin-left: 0.5em;">{{GVI|arma3|1.42}}</div>
=== CfgVehicleTemplates ===
</div>
This class is used to create vehicle templates used by the 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
};
};
};
[[Vehicle_Customization (VhC)]]
 
=== rscTitles ===
Defines custom UI [[Dialog Control|displays]]. To show such displays, use [[cutRsc]] or [[titleRsc]].
 
 
[[Category:ArmA: Mission Editing]]
[[Category:Mission Editor]]

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.