Event Scripts

From Bohemia Interactive Community
Revision as of 18:42, 6 September 2019 by Lou Montana (talk | contribs) (Add parameters syntax, adjust column width, fix global presentation)
Jump to navigation Jump to search

Event scripts are scripts which are executed by the game engine upon specific events.

To use an event script, create a file of given name in the mission directory.

Available Scripts

File Description Arguments Present in
Logo A0.png1.00 ofpr version.gif1.75 -wrong parameter ("Arma") defined!-1.00 Logo A2.png1.00 A2 OA Logo.png1.50 Arma 3 logo black.png1.00 tkoh logo small.png1.00
init.sqs Executed when mission is started (before briefing screen)
init.sqf Executed when mission is started (before briefing screen)
initIntro.sqs Executed when intro, outro win or outro lose is started.
initIntro.sqf Executed when intro, outro win or outro lose is started.
exit.sqs Executed when mission is finished (before debriefing screen). In Arma 3, "ended" mission event handler has the same functionality.
params ["_endType"];
exit.sqf Executed when mission is finished (before debriefing screen). In Arma 3, "ended" mission event handler has the same functionality.
params ["_endType"];
onFlare.sqs Executed when a flare is lit after being fired from grenade launcher.
params ["_colorRGB", "_shooter"];
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"];
onPlayerKilled.sqs Executed when player is killed in singleplayer or in multiplayer mission with "NONE" respawn type.
params ["_player", "_killer"];
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.
params [
	"_player",
	"_killer",
	"_seagull"
];
onPlayerRespawnOtherUnit.sqs Executed when player is killed in multiplayer mission with "GROUP" or "SIDE" respawn type. This script will replace the default respawn sequence.
params [
	"_player",
	"_killer",
	"_newUnit"
];
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"
];
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.
params ["_player"];
initJIPcompatible.sqf Executed locally by Multiplayer framework when a player joins mission (includes both mission start and JIP). Also executed locally on server at mission start.
initServer.sqf Executed only on server when mission is started. See Initialization Order for details about when the script is exactly executed.
initPlayerServer.sqf Executed only on server when a player joins mission (includes both mission start and JIP). See Initialization Order for details about when the script is exactly 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.

params ["_playerUnit", "_didJIP"];
init3DEN.sqf Executed when loading a scenario in Eden Editor if the file is present. Useful for executing scenario-specific editor functionality.
initPlayerLocal.sqf Executed locally when player joins mission (includes both mission start and JIP). See initialization order for details about when the script is exactly executed.
params ["_player", "_didJIP"];
onPlayerKilled.sqf Executed when player is killed in singleplayer or in multiplayer mission.
params [
	"_oldUnit",
	"_killer",
	"_respawn",
	"_respawnDelay"
];
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"
];
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"];
? ? ? ? ? ?
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"
];
? ? ? ? ? ?
Additional init scripts can be executed using functions with preInit or postInit attribute.

See also