Arma 3 Scripting

Event Scripts

  • Also known as Event based scripts, Init.sqs, Initintro.sqs, init.sqf, init.sqs, onPlayerRespawn.sqf

Topic · Markdown · JSON · original wiki page

Default Scripts Location

Game Path
Operation Flashpoint v1.00 DTA/scripts.pbo
Armed Assault v1.00 Ca.pbo/data/scripts
Arma 2 v1.00 Ca.pbo/data/scripts
Arma 2: Operation Arrowhead v1.50 Ca.pbo/data/scripts
Arma 3 v1.00 functions_f.pbo/scripts
Take On Helicopters v1.00 data_h.pbo/data/scripts

Event Scripts are scripts that are executed upon specific events. Not all event scripts are executed directly by the engine.

To use an Event Script, create a file of the given name in the mission directory.

Note

Available Scripts

File Present in Details
File Operation Flashpoint v1.00 Operation Flashpoint: Resistance v1.75 Armed Assault v1.00 Arma 2 v1.00 Arma 2: Operation Arrowhead v1.50 Arma 3 v1.00 Take On Helicopters v1.00 Can suspend
exit.sqf
Executed when mission is finished (before debriefing screen).
In Arma 3, see also "Ended" and "MPEnded" Mission Event Handlers.
params ["_endType"];
- endType: String
✓ ✓ ✓ ✓ ✓
exit.sqs
Executed when mission is finished (before debriefing screen).
In Arma 3, see also "Ended" and "MPEnded" Mission Event Handlers.
params ["_endType"];
- endType: String
✓ ✓ ✓ ✓ ✓ ✓
init.sqf
Executed when mission is started (before briefing screen).
✓ ✓ ✓ ✓ ✓ ✓
init.sqs
Executed when mission is started (before briefing screen).
✓ ✓ ✓ ✓ ✓ ✓ ✓
init3DEN.sqf
Executed when loading a scenario in Eden Editor if the file is present. Useful for executing scenario-specific editor functionality.
✓ ✗
initIntro.sqf
Executed when intro, outro win or outro lose is started.

Note

Arma 3: Functional in Arma 3 only for intro.

✓ ✓ ✓ ✓ ✓ ✓
initIntro.sqs
Executed when intro, outro win or outro lose is started.

Note

Arma 3: Functional in Arma 3 only for intro.

✓ ✓ ✓ ✓ ✓ ✓
initJIPcompatible.sqf
Executed locally by Arma 2: Multiplayer Framework when a player joins mission (includes both mission start and JIP). Also executed locally on server at mission start.
✓ ✓
initPlayerLocal.sqf
Executed locally when player joins mission (includes both mission start and JIP). See Initialisation Order for details about when exactly the script is executed.
params ["_player", "_didJIP"];
- player: Object
- didJIP: Boolean
✓ ✓
initPlayerServer.sqf
Executed only on server when a player joins mission (includes both mission start and JIP). See Initialisation Order for details about when exactly the script is executed.
This script relies on BIS_fnc_execVM and remoteExec. If CfgRemoteExec's class Functions is set to mode = 0 or 1, the script will never be executed.
Therefore, initPlayerServer.sqf should be avoided - use this method instead.
params ["_playerUnit", "_didJIP"];
- playerUnit: Object
- didJIP: Boolean
✓ ✓
initServer.sqf
Executed only on server when mission is started. See Initialisation Order for details about when exactly the script is executed.
✓ ✓
missionFlow.fsm
Executed on post-init when mission is started. See BIS_fnc_missionFlow.
✓
onFlare.sqs
Executed when a flare is lit after being fired from grenade launcher.
params ["_colorRGB", "_shooter", "_projectile", "_instigator"];
- colorRGB: Color (RGBA)
- shooter: Object
- Arma 3 v2.10 projectile: Object - the flare itself
- Arma 3 v2.18 instigator: Object - shot instigator
✓ ✓ ✓ ✓ ✓ ✓
onPlayerKilled.sqf
Executed when player is killed in singleplayer or in multiplayer mission.
params ["_oldUnit", "_killer", "_respawn", "_respawnDelay"];
- oldUnit: Object
- killer: Object
- respawnType: Number
- respawnDelay: Number
✓ ✓
onPlayerKilled.sqs
Executed when player is killed in singleplayer or in multiplayer mission with "NONE" respawn type.
params ["_player", "_killer"];
- player: Object
- killer: Object
✓ ✓ ✓ ✓ ✓ ✗ ✓
onPlayerRespawn.sqf
Executed locally when player respawns in a multiplayer mission.
This event script will also fire at the beginning of a mission if respawnOnStart is 0 or 1, oldUnit will be objNull in this instance.
This script will not fire at mission start if respawnOnStart equals -1.
params ["_newUnit", "_oldUnit", "_respawn", "_respawnDelay"];
- newUnit: Object
- oldUnit: Object
- respawnType: Number
- respawnDelay: Number
✓ ✓
onPlayerRespawn.sqs
Executed when player is killed in multiplayer mission with "INSTANT" or "BASE" respawn type. It will not work if dta\scripts\onPlayerRespawn.sqs does not exist.
params ["_player", "_killer", "_respawnDelay"];
- player: Object
- killer: Object
- respawnDelay: Number
✓
onPlayerRespawnAsSeagull.sqs
Executed when player is killed in multiplayer mission with "SEAGULL" respawn type, or when the type is "GROUP" or "SIDE", but no remaining respawn slots are left.
This script will replace the default respawn sequence.

Note

Arma 3: onPlayerRespawnAsSeagull.sqs was renamed to playerRespawnSeagullScript.sqs in Arma 3.


params ["_player", "_killer", "_seagull"];
- player: Object
- killer: Object
- seagull: Object
✓ ✓ ✓ ✓ ✓ ✗ ✓
onPlayerRespawnOtherUnit.sqs
Executed when player is killed in multiplayer mission with "GROUP" or "SIDE" respawn type. This script will replace the default respawn sequence.

Note

Arma 3: onPlayerRespawnOtherUnit.sqs was renamed to playerRespawnOtherUnit.sqs in Arma 3.


params ["_player", "_killer", "_newUnit"];
- player: Object
- killer: Object
- newUnit: Object
✓ ✓ ✓ ✓ ✓ ✗ ✓
onPlayerResurrect.sqs
Executed when player is respawned in multiplayer mission with "INSTANT" or "BASE" respawn type. It will not work if dta\scripts\onPlayerResurrect.sqs does not exist.

Note

Arma 3: onPlayerResurrect.sqs was renamed to playerResurrectScript.sqs in Arma 3.


params ["_player"];
- player: Object
✓ ✗
pauseOnLoad.sqf
Executed when pause menu is activated.
To make it work in MP or Arma 3, use onPauseScript = "pauseOnLoad.sqf"; in Description.ext.
params ["_pauseMenuDisplay"];
- pauseMenuDisplay: Display
✓ ✓ ✓ ✓
playerKilledScript.sqs
Executed locally when player is killed in singleplayer or in multiplayer mission with "NONE" respawn type.
Overrides default behavior of mission death screen in single player. Game may become unplayable if not scripted correctly. Avoid use if not experienced with this script.
params ["_player", "_killer"];
- player: Object
- killer: Object
Unknown Unknown Unknown Unknown Unknown ✓ Unknown
playerRespawnScript.sqs
Executed locally and immediately when player is killed in multiplayer mission with "BASE" or "INSTANT" respawn type.
Overrides default behavior of multiplayer respawn. Game may become unplayable if not scripted correctly. Avoid use if not experienced with this script.
params ["_player", "_killer", "_respawnDelay"];
- player: Object
- killer: Object
- respawnDelay: Number
Unknown Unknown Unknown Unknown Unknown ✓ Unknown
playerRespawnSeagullScript.sqs
Executed when player is killed in multiplayer mission with "SEAGULL" respawn type, or when the type is "GROUP" or "SIDE", but no remaining respawn slots are left.
This script will replace the default respawn sequence.

Note

Arma 3: onPlayerRespawnAsSeagull.sqs was renamed to playerRespawnSeagullScript.sqs in Arma 3.


params ["_player", "_killer", "_seagull"];
- player: Object
- killer: Object
- seagull: Object
✗ ✗ ✗ ✗ ✗ ✓ ✗
playerRespawnOtherUnit.sqs
Executed when player is killed in multiplayer mission with "GROUP" or "SIDE" respawn type. This script will replace the default respawn sequence.

Note

Arma 3: onPlayerRespawnOtherUnit.sqs was renamed to playerRespawnOtherUnit.sqs in Arma 3.


params ["_player", "_killer", "_newUnit"];
- player: Object
- killer: Object
- newUnit: Object
✗ ✗ ✗ ✗ ✗ ✓ ✗
playerResurrectScript.sqs
Executed when player is respawned in multiplayer mission with "INSTANT" or "BASE" respawn type. It will not work if dta\scripts\onPlayerResurrect.sqs does not exist.

Note

Arma 3: onPlayerResurrect.sqs was renamed to playerResurrectScript.sqs in Arma 3.


params ["_player"];
- player: Object
✗ ✗ ✗ ✗ ✗ ✓ ✗
teamSwitchScript.sqs
Executed after a Team Switch is done. Not triggered by selectPlayer.
params ["_oldUnit", "_newUnit"];
- oldUnit: Object
- newUnit: Object
✗ ✓