Event Scripts: Difference between revisions
Lou Montana (talk | contribs) m (Add __NOEDITSECTION__ to prevent wonky edits and keep the column width small) |
Lou Montana (talk | contribs) (Remove description and parameters columns) |
||
Line 45: | Line 45: | ||
{| class="bikitable sortable" style="text-align: center" | {| class="bikitable sortable" style="text-align: center" | ||
! rowspan="2" | File | ! rowspan="2" | File | ||
! colspan="7" | Present in | ! colspan="7" | Present in | ||
|- | |- | ||
Line 58: | Line 56: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== exit.sqf === | === exit.sqf === | ||
Executed when mission is finished (before debriefing screen). In Arma 3, "ended" [[addMissionEventHandler|mission event handler]] has the same functionality. | |||
<syntaxhighlight lang="cpp">params ["_endType"];</syntaxhighlight> | |||
* endType: [[String]] | * endType: [[String]] | ||
| <!-- OFP --> | | <!-- OFP --> | ||
Line 72: | Line 70: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== exit.sqs === | === exit.sqs === | ||
Executed when mission is finished (before debriefing screen). In Arma 3, "ended" [[addMissionEventHandler|mission event handler]] has the same functionality. | |||
<syntaxhighlight lang="cpp">params ["_endType"];</syntaxhighlight> | |||
* endType: [[String]] | * endType: [[String]] | ||
| <!-- OFP --> | | <!-- OFP --> | ||
Line 86: | Line 84: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== init.sqf === | === init.sqf === | ||
Executed when mission is started (before briefing screen) | |||
| <!-- OFP --> | | <!-- OFP --> | ||
| <!-- OFPR --> | | <!-- OFPR --> | ||
Line 99: | Line 96: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== init.sqs === | === init.sqs === | ||
Executed when mission is started (before briefing screen) | |||
| ✔ <!-- OFP --> | | ✔ <!-- OFP --> | ||
| ✔ <!-- OFPR --> | | ✔ <!-- OFPR --> | ||
Line 112: | Line 108: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== init3DEN.sqf === | === init3DEN.sqf === | ||
Executed when loading a scenario in [[Eden Editor]] if the file is present. Useful for executing scenario-specific editor functionality. | |||
| <!-- OFP --> | | <!-- OFP --> | ||
| <!-- OFPR --> | | <!-- OFPR --> | ||
Line 125: | Line 120: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== initIntro.sqf === | === initIntro.sqf === | ||
Executed when intro, outro win or outro lose is started. | |||
| <!-- OFP --> | | <!-- OFP --> | ||
| <!-- OFPR --> | | <!-- OFPR --> | ||
Line 138: | Line 132: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== initIntro.sqs === | === initIntro.sqs === | ||
Executed when intro, outro win or outro lose is started. | |||
| <!-- OFP --> | | <!-- OFP --> | ||
| ✔ <!-- OFPR --> | | ✔ <!-- OFPR --> | ||
Line 151: | Line 144: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== initJIPcompatible.sqf === | === 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. | |||
| <!-- OFP --> | | <!-- OFP --> | ||
| <!-- OFPR --> | | <!-- OFPR --> | ||
Line 164: | Line 156: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== initPlayerLocal.sqf === | === initPlayerLocal.sqf === | ||
Executed locally when player joins mission (includes both mission start and JIP). See [[Functions Library (Arma 3)#Initialization_Order|initialization order]] for details about when the script is exactly executed. | |||
<syntaxhighlight lang="cpp">params ["_player", "_didJIP"];</syntaxhighlight> | |||
* player: [[Object]] | * player: [[Object]] | ||
* didJIP: [[Boolean]] | * didJIP: [[Boolean]] | ||
Line 179: | Line 171: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== initPlayerServer.sqf === | === 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.<br> | |||
This script relies on [[BIS_fnc_execVM]] and [[remoteExec]]. If [[CfgRemoteExec]]'s <tt>class Functions</tt> is set to mode = 0 or 1, the script will never be executed. Therefore, initPlayerServer.sqf should be avoided. | This script relies on [[BIS_fnc_execVM]] and [[remoteExec]]. If [[CfgRemoteExec]]'s <tt>class Functions</tt> is set to mode = 0 or 1, the script will never be executed. Therefore, initPlayerServer.sqf should be avoided. | ||
<syntaxhighlight lang="cpp">params ["_playerUnit", "_didJIP"];</syntaxhighlight> | |||
* playerUnit: [[Object]] | * playerUnit: [[Object]] | ||
* didJIP: [[Boolean]] | * didJIP: [[Boolean]] | ||
Line 195: | Line 187: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== initServer.sqf === | === initServer.sqf === | ||
Executed only on server when mission is started. See [[Initialization Order]] for details about when the script is exactly executed. | |||
| | | | ||
| <!-- OFP --> | | <!-- OFP --> | ||
Line 208: | Line 200: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== onFlare.sqs === | === onFlare.sqs === | ||
Executed when a flare is lit after being fired from grenade launcher. | |||
<syntaxhighlight lang="cpp">params ["_colorRGB", "_shooter"];</syntaxhighlight> | |||
* colorRGB: [[Color]] | * colorRGB: [[Color]] | ||
* shooter: [[Object]] | * shooter: [[Object]] | ||
Line 223: | Line 215: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== onPlayerKilled.sqf === | === onPlayerKilled.sqf === | ||
Executed when player is [[Arma_3_Respawn#Files|killed]] in singleplayer or in multiplayer mission. | |||
<syntaxhighlight lang="cpp">params [ | |||
"_oldUnit", | "_oldUnit", | ||
"_killer", | "_killer", | ||
Line 245: | Line 237: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== onPlayerKilled.sqs === | === onPlayerKilled.sqs === | ||
Executed when player is killed in singleplayer or in multiplayer mission with "NONE" [[Description.ext#respawn|respawn type]]. | |||
<syntaxhighlight lang="cpp">params ["_player", "_killer"];</syntaxhighlight> | |||
* player: [[Object]] | * player: [[Object]] | ||
* killer: [[Object]] | * killer: [[Object]] | ||
Line 260: | Line 252: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== onPlayerRespawn.sqf === | === onPlayerRespawn.sqf === | ||
Executed locally when player [[Arma_3_Respawn#Files|respawns]] in a multiplayer mission. This event script will also fire at the beginning of a mission if [[Description.ext#respawnOnStart|respawnOnStart]] is 0 or 1, oldUnit will be [[objNull]] in this instance. This script will not fire at mission start if [[Description.ext#respawnOnStart|respawnOnStart]] equals -1. | |||
<syntaxhighlight lang="cpp">params [ | |||
"_newUnit", | "_newUnit", | ||
"_oldUnit", | "_oldUnit", | ||
Line 282: | Line 274: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== onPlayerRespawn.sqs === | === onPlayerRespawn.sqs === | ||
Executed when player is killed in multiplayer mission with "INSTANT" or "BASE" [[Description.ext#respawn|respawn type]]. It will not work if ''dta\scripts\onPlayerRespawn.sqs'' does not exist. | |||
<syntaxhighlight lang="cpp">params [ | |||
"_player", | "_player", | ||
"_killer", | "_killer", | ||
Line 302: | Line 294: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== onPlayerRespawnAsSeagull.sqs === | === onPlayerRespawnAsSeagull.sqs === | ||
Executed when player is killed in multiplayer mission with "SEAGULL" [[Description.ext#respawn|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. | |||
<syntaxhighlight lang="cpp">params [ | |||
"_player", | "_player", | ||
"_killer", | "_killer", | ||
Line 322: | Line 314: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== onPlayerRespawnOtherUnit.sqs === | === onPlayerRespawnOtherUnit.sqs === | ||
Executed when player is killed in multiplayer mission with "GROUP" or "SIDE" [[Description.ext#respawn|respawn type]]. This script will replace the default respawn sequence. | |||
<syntaxhighlight lang="cpp">params [ | |||
"_player", | "_player", | ||
"_killer", | "_killer", | ||
Line 342: | Line 334: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== onPlayerResurrect.sqs === | === onPlayerResurrect.sqs === | ||
Executed when player is respawned in multiplayer mission with "INSTANT" or "BASE" [[Description.ext#respawn|respawn type]]. It will not work if ''dta\scripts\onPlayerResurrect.sqs'' does not exist. | |||
<syntaxhighlight lang="cpp">params ["_player"];</syntaxhighlight> | |||
* player: [[Object]] | * player: [[Object]] | ||
| <!-- OFP --> | | <!-- OFP --> | ||
Line 356: | Line 348: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== pauseOnLoad.sqf === | === pauseOnLoad.sqf === | ||
Executed when pause menu is activated. | |||
To make it work in MP or Arma 3, use <syntaxhighlight lang="cpp">onPauseScript = "pauseOnLoad.sqf";</syntaxhighlight> in [[Description.ext#onPauseScript|Description.ext]] | To make it work in MP or Arma 3, use <syntaxhighlight lang="cpp">onPauseScript = "pauseOnLoad.sqf";</syntaxhighlight> in [[Description.ext#onPauseScript|Description.ext]] | ||
<syntaxhighlight lang="cpp">params ["_pauseMenuDisplay"];</syntaxhighlight> | |||
* pauseMenuDisplay: [[Display]] | * pauseMenuDisplay: [[Display]] | ||
| <!-- OFP --> | | <!-- OFP --> | ||
Line 372: | Line 364: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== playerKilledScript.sqs === | === playerKilledScript.sqs === | ||
Executed locally when player is killed in singleplayer or in multiplayer mission with "NONE" [[Description.ext#respawn|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. | |||
<syntaxhighlight lang="cpp">params ["_player", "_killer"];</syntaxhighlight> | |||
* player: [[Object]] | * player: [[Object]] | ||
* killer: [[Object]] | * killer: [[Object]] | ||
Line 387: | Line 379: | ||
|- | |- | ||
| style=" | | style="text-align: left" | | ||
=== playerRespawnScript.sqs === | === playerRespawnScript.sqs === | ||
Executed locally and immediately when player is killed in multiplayer mission with "BASE" or "INSTANT" [[Description.ext#respawn|respawn type]]. Overrides default behavior of multiplayer respawn. Game may become unplayable if not scripted correctly. Avoid use if not experienced with this script. | |||
<syntaxhighlight lang="cpp">params [ | |||
"_player", | "_player", | ||
"_killer", | "_killer", |
Revision as of 16:36, 16 May 2020
Event Scripts are scripts which 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.
init* scripts | (on)Player* scripts | other scripts |
---|---|---|
Available Scripts
File | Present in | |||||||
---|---|---|---|---|---|---|---|---|
1.00 | 1.75 | -wrong parameter ("Arma") defined!-1.00 | 1.00 | 1.50 | 1.00 | 1.00 | ||
exit.sqfExecuted when mission is finished (before debriefing screen). In Arma 3, "ended" mission event handler has the same functionality. params ["_endType"];
|
✔ | ✔ | ✔ | ✔ | ||||
exit.sqsExecuted when mission is finished (before debriefing screen). In Arma 3, "ended" mission event handler has the same functionality. params ["_endType"];
|
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
init.sqfExecuted when mission is started (before briefing screen) |
✔ | ✔ | ✔ | ✔ | ✔ | |||
init.sqsExecuted when mission is started (before briefing screen) |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
init3DEN.sqfExecuted when loading a scenario in Eden Editor if the file is present. Useful for executing scenario-specific editor functionality. |
✔ | |||||||
initIntro.sqfExecuted when intro, outro win or outro lose is started. |
✔ | ✔ | ✔ | |||||
initIntro.sqsExecuted when intro, outro win or outro lose is started. |
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
initJIPcompatible.sqfExecuted locally by Multiplayer framework when a player joins mission (includes both mission start and JIP). Also executed locally on server at mission start. |
✔ | ✔ | ||||||
initPlayerLocal.sqfExecuted 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"];
|
✔ | |||||||
initPlayerServer.sqfExecuted 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. params ["_playerUnit", "_didJIP"];
|
✔ | |||||||
initServer.sqfExecuted only on server when mission is started. See Initialization Order for details about when the script is exactly executed. |
✔ | |||||||
onFlare.sqsExecuted when a flare is lit after being fired from grenade launcher. params ["_colorRGB", "_shooter"];
|
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
onPlayerKilled.sqfExecuted when player is killed in singleplayer or in multiplayer mission. params [
"_oldUnit",
"_killer",
"_respawn",
"_respawnDelay"
];
|
✔ | |||||||
onPlayerKilled.sqsExecuted when player is killed in singleplayer or in multiplayer mission with "NONE" respawn type. params ["_player", "_killer"];
|
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
onPlayerRespawn.sqfExecuted 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"
];
|
✔ | |||||||
onPlayerRespawn.sqsExecuted 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"
];
|
✔ | |||||||
onPlayerRespawnAsSeagull.sqsExecuted 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.sqsExecuted 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"
];
|
✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ||
onPlayerResurrect.sqsExecuted 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"];
|
✔ | |||||||
pauseOnLoad.sqfExecuted when pause menu is activated. To make it work in MP or Arma 3, useonPauseScript = "pauseOnLoad.sqf";
params ["_pauseMenuDisplay"];
|
✔ | ✔ | ✔ | |||||
playerKilledScript.sqsExecuted 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.sqsExecuted 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"
];
|
? | ? | ? | ? | ? | ✔ | ? |