Event Scripts: Difference between revisions
m (Linked safer alternative to initPlayerServer.sqf) |
Lou Montana (talk | contribs) m (Text replacement - "Category:Eden Editor" to "Eden Editor") |
||
(17 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC____NOEDITSECTION__ | |||
{| class="wikitable float-right" | |||
|+ Default Scripts Location | |||
! Game | |||
! Path | |||
|- | |||
| {{GVI|ofp|1.00}} | |||
| {{hl|DTA/scripts.pbo}} | |||
|- | |||
| {{GVI|arma1|1.00}} | |||
| rowspan="3" | {{hl|Ca.pbo/data/scripts}} | |||
|- | |||
| {{GVI|arma2|1.00}} | |||
|- | |||
| {{GVI|arma2oa|1.50}} | |||
|- | |||
| {{GVI|arma3|1.00}} | |||
| {{hl|functions_f.pbo/scripts}} | |||
|- | |||
| {{GVI|TKOH|1.00}} | |||
| {{hl|data_h.pbo/data/scripts}} | |||
|} | |||
Event Scripts are [[Script File|scripts]] that are executed upon specific events. Not all event scripts are executed directly by the engine. | Event Scripts are [[Script File|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 Editor: External|mission directory]]. | To use an Event Script, create a file of the given name in the [[Mission Editor: External|mission directory]]. | ||
{| class="wikitable" | {| class="wikitable valign-top-row-2" | ||
! init* scripts | ! init* scripts | ||
! (on)Player* scripts | ! (on)Player* scripts | ||
! Other Scripts | ! Other Scripts | ||
|- | |- | ||
| style=" | | style="padding-right: 2em" | | ||
{{Columns|2| | {{Columns|2| | ||
* {{ | * {{Link|#init.sqf}} | ||
* {{ | * {{Link|#init.sqs}} | ||
* {{ | * {{Link|#init3DEN.sqf}} | ||
* {{ | * {{Link|#initIntro.sqf}} | ||
* {{ | * {{Link|#initIntro.sqs}} | ||
* {{ | * {{Link|#initJIPcompatible.sqf}} | ||
* {{ | * {{Link|#initPlayerLocal.sqf}} | ||
* {{ | * {{Link|#initPlayerServer.sqf}} | ||
* {{ | * {{Link|#initServer.sqf}} | ||
}} | }} | ||
| style=" | | style="padding-right: 2em" | | ||
{{Columns|2| | {{Columns|2| | ||
* {{ | * {{Link|#onPlayerKilled.sqf}} | ||
* {{ | * {{Link|#onPlayerKilled.sqs}} | ||
* {{ | * {{Link|#onPlayerRespawn.sqf}} | ||
* {{ | * {{Link|#onPlayerRespawn.sqs}} | ||
* {{ | * {{Link|#onPlayerRespawnAsSeagull.sqs}} | ||
* {{ | * {{Link|#onPlayerRespawnOtherUnit.sqs}} | ||
* {{ | * {{Link|#onPlayerResurrect.sqs}} | ||
* {{ | * {{Link|#playerKilledScript.sqs}} | ||
* {{ | * {{Link|#playerRespawnScript.sqs}} | ||
* {{Link|#playerRespawnSeagullScript.sqs}} | |||
* {{Link|#playerRespawnOtherUnit.sqs}} | |||
* {{Link|#playerResurrectScript.sqs}} | |||
}} | }} | ||
| style=" | | style="padding-right: 2em" | | ||
* {{ | * {{Link|#exit.sqf}} | ||
* {{ | * {{Link|#exit.sqs}} | ||
* {{ | * {{Link|#missionFlow.fsm}} | ||
* {{ | * {{Link|#onFlare.sqs}} | ||
* {{ | * {{Link|#pauseOnLoad.sqf}} | ||
* {{ | * {{Link|#teamSwitchScript.sqs}} | ||
|} | |} | ||
{{Feature| | |||
{{Feature|informative|See [[Initialisation Order]] to learn when initialisation scripts are executed.}} | |||
== Available Scripts == | == Available Scripts == | ||
{| class="wikitable sortable" style="text-align: center | |||
{| class="wikitable sortable align-center align-left-col-1" | |||
! rowspan="2" style="text-align: center" | File | |||
! colspan="7" | Present in | ! colspan="7" | Present in | ||
! Details | |||
|- class="sticky-top" | |- class="sticky-top" | ||
! {{GVI|ofp|1.00}} | ! {{GVI|ofp|1.00}} | ||
Line 56: | Line 84: | ||
! {{GVI|arma2oa|1.50}} | ! {{GVI|arma2oa|1.50}} | ||
! {{GVI|arma3|1.00}} | ! {{GVI|arma3|1.00}} | ||
! {{GVI| | ! {{GVI|tkoh|1.00}} | ||
! Can [[canSuspend|suspend]] | |||
|- | |- | ||
| | |||
=== exit.sqf === | === exit.sqf === | ||
Executed when mission is finished (before debriefing screen). In Arma 3 | Executed when mission is finished (before debriefing screen). | ||
< | In {{arma3}}, see also [[Arma 3: Mission Event Handlers#Ended|"Ended"]] and [[Arma 3: Mission Event Handlers#MPEnded|"MPEnded"]] [[Arma 3: Mission Event Handlers|Mission Event Handlers]]. | ||
<sqf>params ["_endType"];</sqf> | |||
* endType: [[String]] | * endType: [[String]] | ||
| <!-- OFP --> | | <!-- OFP --> | ||
Line 71: | Line 100: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| {{Icon|checked}} <!-- TKOH --> | | {{Icon|checked}} <!-- TKOH --> | ||
| {{Icon|checked}} <!-- suspension --> | |||
|- | |- | ||
| | |||
=== exit.sqs === | === exit.sqs === | ||
Executed when mission is finished (before debriefing screen). In Arma 3 | Executed when mission is finished (before debriefing screen). | ||
< | In {{arma3}}, see also [[Arma 3: Mission Event Handlers#Ended|"Ended"]] and [[Arma 3: Mission Event Handlers#MPEnded|"MPEnded"]] [[Arma 3: Mission Event Handlers|Mission Event Handlers]]. | ||
<sqf>params ["_endType"];</sqf> | |||
* endType: [[String]] | * endType: [[String]] | ||
| <!-- OFP --> | | <!-- OFP --> | ||
Line 87: | Line 118: | ||
|- | |- | ||
| | |||
=== init.sqf === | === init.sqf === | ||
Executed when mission is started (before briefing screen) | Executed when mission is started (before briefing screen). | ||
| <!-- OFP --> | | <!-- OFP --> | ||
| <!-- OFPR --> | | <!-- OFPR --> | ||
Line 97: | Line 128: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| {{Icon|checked}} <!-- TKOH --> | | {{Icon|checked}} <!-- TKOH --> | ||
| {{Icon|checked}} <!-- suspension --> | |||
|- | |- | ||
| | |||
=== init.sqs === | === init.sqs === | ||
Executed when mission is started (before briefing screen) | Executed when mission is started (before briefing screen). | ||
| {{Icon|checked}} <!-- OFP --> | | {{Icon|checked}} <!-- OFP --> | ||
| {{Icon|checked}} <!-- OFPR --> | | {{Icon|checked}} <!-- OFPR --> | ||
Line 109: | Line 141: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| {{Icon|checked}} <!-- TKOH --> | | {{Icon|checked}} <!-- TKOH --> | ||
| <!-- suspension --> | |||
|- | |- | ||
| | |||
=== init3DEN.sqf === | === init3DEN.sqf === | ||
Executed when loading a scenario in [[Eden Editor]] if the file is present. Useful for executing scenario-specific editor functionality. | Executed when loading a scenario in [[:Category:Eden Editor|Eden Editor]] if the file is present. Useful for executing scenario-specific editor functionality. | ||
| <!-- OFP --> | | <!-- OFP --> | ||
| <!-- OFPR --> | | <!-- OFPR --> | ||
Line 121: | Line 154: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| <!-- TKOH --> | | <!-- TKOH --> | ||
| {{Icon|unchecked}} <!-- suspension --> | |||
|- | |- | ||
| | |||
=== initIntro.sqf === | === initIntro.sqf === | ||
Executed when intro, outro win or outro lose is started. | Executed when intro, outro win or outro lose is started. | ||
Line 133: | Line 167: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| {{Icon|checked}} <!-- TKOH --> | | {{Icon|checked}} <!-- TKOH --> | ||
| {{Icon|checked}} <!-- suspension --> | |||
|- | |- | ||
| | |||
=== initIntro.sqs === | === initIntro.sqs === | ||
Executed when intro, outro win or outro lose is started. | Executed when intro, outro win or outro lose is started. | ||
Line 145: | Line 180: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| {{Icon|checked}} <!-- TKOH --> | | {{Icon|checked}} <!-- TKOH --> | ||
| <!-- suspension --> | |||
|- | |- | ||
| | |||
=== initJIPcompatible.sqf === | === 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. | 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. | ||
Line 159: | Line 195: | ||
|- | |- | ||
| | |||
=== initPlayerLocal.sqf === | === initPlayerLocal.sqf === | ||
Executed locally when player joins mission (includes both mission start and JIP). See [[ | Executed locally when player joins mission (includes both mission start and JIP). See [[Initialisation Order]] for details about when exactly the script is executed. | ||
< | <sqf>params ["_player", "_didJIP"];</sqf> | ||
* player: [[Object]] | * player: [[Object]] | ||
* didJIP: [[Boolean]] | * didJIP: [[Boolean]] | ||
Line 172: | Line 208: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| <!-- TKOH --> | | <!-- TKOH --> | ||
| {{Icon|checked}} <!-- suspension --> | |||
|- | |- | ||
| | |||
=== initPlayerServer.sqf === | === initPlayerServer.sqf === | ||
Executed only on server when a player joins mission (includes both mission start and JIP). See [[ | 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.<br> | ||
This script relies on [[BIS_fnc_execVM]] and [[remoteExec]]. If [[CfgRemoteExec]]'s | This script relies on [[BIS_fnc_execVM]] and [[remoteExec]]. If [[CfgRemoteExec]]'s {{hl|class Functions}} is set to mode = 0 or 1, the script will never be executed. | ||
< | Therefore, {{hl|initPlayerServer.sqf}} should be avoided - use {{Link|https://www.reddit.com/r/armadev/comments/8fkitd/initplayerserversqf_therefore_initplayerserversqf/dy5k5pf/|this method}} instead. | ||
<sqf>params ["_playerUnit", "_didJIP"];</sqf> | |||
* playerUnit: [[Object]] | * playerUnit: [[Object]] | ||
* didJIP: [[Boolean]] | * didJIP: [[Boolean]] | ||
Line 188: | Line 226: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| <!-- TKOH --> | | <!-- TKOH --> | ||
| {{Icon|checked}} <!-- suspension --> | |||
|- | |- | ||
| | |||
=== initServer.sqf === | === initServer.sqf === | ||
Executed only on server when mission is started. See [[ | Executed only on server when mission is started. See [[Initialisation Order]] for details about when exactly the script is executed. | ||
| <!-- OFP --> | | <!-- OFP --> | ||
| <!-- OFPR --> | | <!-- OFPR --> | ||
Line 200: | Line 239: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| <!-- TKOH --> | | <!-- TKOH --> | ||
| {{Icon|checked}} <!-- suspension --> | |||
|- | |- | ||
| | |||
=== missionFlow.fsm === | === missionFlow.fsm === | ||
Executed on post-init when mission is started. See [[BIS_fnc_missionFlow]]. | Executed on post-init when mission is started. See [[BIS_fnc_missionFlow]]. | ||
Line 212: | Line 252: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| <!-- TKOH --> | | <!-- TKOH --> | ||
| <!-- suspension --> | |||
|- | |- | ||
| | |||
=== onFlare.sqs === | === onFlare.sqs === | ||
Executed when a flare is lit after being fired from grenade launcher. | Executed when a flare is lit after being fired from grenade launcher. | ||
< | <sqf>params ["_colorRGB", "_shooter", "_projectile"];</sqf> | ||
* colorRGB: [[Color|Color (RGBA)]] | * colorRGB: [[Color|Color (RGBA)]] | ||
* shooter: [[Object]] | * shooter: [[Object]] | ||
* {{GVI|arma3|2.10|size= 0.75}} projectile: [[Object]] - the flare itself | |||
| <!-- OFP --> | | <!-- OFP --> | ||
| {{Icon|checked}} <!-- OFPR --> | | {{Icon|checked}} <!-- OFPR --> | ||
Line 227: | Line 269: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| {{Icon|checked}} <!-- TKOH --> | | {{Icon|checked}} <!-- TKOH --> | ||
| <!-- suspension --> | |||
|- | |- | ||
| | |||
=== onPlayerKilled.sqf === | === onPlayerKilled.sqf === | ||
Executed when player is [[ | Executed when player is [[Arma 3: Respawn#Files|killed]] in singleplayer or in multiplayer mission. | ||
< | <sqf>params ["_oldUnit", "_killer", "_respawn", "_respawnDelay"];</sqf> | ||
* oldUnit: [[Object]] | * oldUnit: [[Object]] | ||
* killer: [[Object]] | * killer: [[Object]] | ||
Line 244: | Line 287: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| <!-- TKOH --> | | <!-- TKOH --> | ||
| {{Icon|checked}} <!-- suspension --> | |||
|- | |- | ||
| | |||
=== onPlayerKilled.sqs === | === onPlayerKilled.sqs === | ||
Executed when player is killed in singleplayer or in multiplayer mission with "NONE" [[Description.ext#respawn|respawn type]]. | Executed when player is killed in singleplayer or in multiplayer mission with "NONE" [[Description.ext#respawn|respawn type]]. | ||
< | <sqf>params ["_player", "_killer"];</sqf> | ||
* player: [[Object]] | * player: [[Object]] | ||
* killer: [[Object]] | * killer: [[Object]] | ||
Line 257: | Line 301: | ||
| {{Icon|checked}} <!-- A2 --> | | {{Icon|checked}} <!-- A2 --> | ||
| {{Icon|checked}} <!-- A2OA --> | | {{Icon|checked}} <!-- A2OA --> | ||
| | | {{Icon|unchecked}} <!-- A3 --> | ||
| {{Icon|checked}} <!-- TKOH --> | | {{Icon|checked}} <!-- TKOH --> | ||
| <!-- suspension --> | |||
|- | |- | ||
| | |||
=== onPlayerRespawn.sqf === | === onPlayerRespawn.sqf === | ||
Executed locally when player [[ | 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. | |||
<sqf>params ["_newUnit", "_oldUnit", "_respawn", "_respawnDelay"];</sqf> | |||
* newUnit: [[Object]] | * newUnit: [[Object]] | ||
* oldUnit: [[Object]] | * oldUnit: [[Object]] | ||
Line 276: | Line 323: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| <!-- TKOH --> | | <!-- TKOH --> | ||
| {{Icon|checked}} <!-- suspension --> | |||
|- | |- | ||
| | |||
=== 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. | 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. | ||
< | <sqf>params ["_player", "_killer", "_respawnDelay"];</sqf> | ||
* player: [[Object]] | * player: [[Object]] | ||
* killer: [[Object]] | * killer: [[Object]] | ||
Line 292: | Line 340: | ||
| <!-- A3 --> | | <!-- A3 --> | ||
| <!-- TKOH --> | | <!-- TKOH --> | ||
| <!-- suspension --> | |||
|- | |- | ||
| | |||
=== 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. | 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. | ||
{{Feature | arma3 | | This script will replace the default respawn sequence. | ||
< | {{Feature|arma3|{{hl|onPlayerRespawnAsSeagull.sqs}} was renamed to {{hl|{{Link|#playerRespawnSeagullScript.sqs}}}} in {{arma3}}.}} | ||
<sqf>params ["_player", "_killer", "_seagull"];</sqf> | |||
* player: [[Object]] | * player: [[Object]] | ||
* killer: [[Object]] | * killer: [[Object]] | ||
Line 307: | Line 357: | ||
| {{Icon|checked}} <!-- A2 --> | | {{Icon|checked}} <!-- A2 --> | ||
| {{Icon|checked}} <!-- A2OA --> | | {{Icon|checked}} <!-- A2OA --> | ||
| {{Icon|unchecked}} <!-- A3 --> | |||
| {{Icon|checked}} <!-- TKOH --> | | {{Icon|checked}} <!-- TKOH --> | ||
| <!-- suspension --> | |||
|- | |- | ||
| | |||
=== 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. | 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. | ||
{{Feature|arma3| | {{Feature|arma3|{{hl|onPlayerRespawnOtherUnit.sqs}} was renamed to {{hl|{{Link|#playerRespawnOtherUnit.sqs}}}} in {{arma3}}.}} | ||
< | <sqf>params ["_player", "_killer", "_newUnit"];</sqf> | ||
* player: [[Object]] | * player: [[Object]] | ||
* killer: [[Object]] | * killer: [[Object]] | ||
Line 324: | Line 375: | ||
| {{Icon|checked}} <!-- A2 --> | | {{Icon|checked}} <!-- A2 --> | ||
| {{Icon|checked}} <!-- A2OA --> | | {{Icon|checked}} <!-- A2OA --> | ||
| {{Icon|unchecked}} <!-- A3 --> | |||
| {{Icon|checked}} <!-- TKOH --> | | {{Icon|checked}} <!-- TKOH --> | ||
| <!-- suspension --> | |||
|- | |- | ||
| | |||
=== 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 | Executed when player is respawned in multiplayer mission with "INSTANT" or "BASE" [[Description.ext#respawn|respawn type]]. It will not work if {{hl|dta\scripts\onPlayerResurrect.sqs}} does not exist. | ||
{{Feature | arma3 | | {{Feature|arma3|{{hl|onPlayerResurrect.sqs}} was renamed to {{hl|{{Link|#playerResurrectScript.sqs}}}} in {{arma3}}.}} | ||
< | <sqf>params ["_player"];</sqf> | ||
* player: [[Object]] | * player: [[Object]] | ||
| <!-- OFP --> | | <!-- OFP --> | ||
Line 339: | Line 391: | ||
| <!-- A2 --> | | <!-- A2 --> | ||
| <!-- A2OA --> | | <!-- A2OA --> | ||
| {{Icon|unchecked}} <!-- A3 --> | |||
| <!-- TKOH --> | | <!-- TKOH --> | ||
| <!-- suspension --> | |||
|- | |- | ||
| | |||
=== pauseOnLoad.sqf === | === pauseOnLoad.sqf === | ||
Executed when pause menu is activated. | Executed when pause menu is activated. | ||
To make it work in MP or | To make it work in MP or {{arma3}}, use <syntaxhighlight lang="cpp" inline>onPauseScript = "pauseOnLoad.sqf";</syntaxhighlight> in [[Description.ext#onPauseScript|Description.ext]]. | ||
< | <sqf>params ["_pauseMenuDisplay"];</sqf> | ||
* pauseMenuDisplay: [[Display]] | * pauseMenuDisplay: [[Display]] | ||
| <!-- OFP --> | | <!-- OFP --> | ||
Line 357: | Line 410: | ||
| <!-- A3 --> | | <!-- A3 --> | ||
| {{Icon|checked}} <!-- TKOH --> | | {{Icon|checked}} <!-- TKOH --> | ||
| {{Icon|checked}} <!-- suspension --> | |||
|- | |- | ||
| | |||
=== 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. | 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. | ||
<sqf>params ["_player", "_killer"];</sqf> | |||
* player: [[Object]] | * player: [[Object]] | ||
* killer: [[Object]] | * killer: [[Object]] | ||
Line 372: | Line 427: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| ? <!-- TKOH --><!-- Untested --> | | ? <!-- TKOH --><!-- Untested --> | ||
| <!-- suspension --> | |||
|- | |- | ||
| | |||
=== 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. | 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. | ||
<sqf>params ["_player", "_killer", "_respawnDelay"];</sqf> | |||
* player: [[Object]] | * player: [[Object]] | ||
* killer: [[Object]] | * killer: [[Object]] | ||
Line 388: | Line 445: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| ? <!-- TKOH --><!-- Untested --> | | ? <!-- TKOH --><!-- Untested --> | ||
| <!-- suspension --> | |||
|- | |- | ||
| | | | ||
=== playerRespawnSeagullScript.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. | |||
{{Feature|arma3|{{hl|{{Link|#onPlayerRespawnAsSeagull.sqs}}}} was renamed to {{hl|playerRespawnSeagullScript.sqs}} in {{arma3}}.}} | |||
<sqf>params ["_player", "_killer", "_seagull"];</sqf> | |||
* player: [[Object]] | |||
* killer: [[Object]] | |||
* seagull: [[Object]] | |||
| {{Icon|unchecked}} <!-- OFP --> | |||
| {{Icon|unchecked}} <!-- OFPR --> | |||
| {{Icon|unchecked}} <!-- A1 --> | |||
| {{Icon|unchecked}} <!-- A2 --> | |||
| {{Icon|unchecked}} <!-- A2OA --> | |||
| {{Icon|checked}} <!-- A3 --> | |||
| {{Icon|unchecked}} <!-- TKOH --> | |||
| <!-- suspension --> | |||
|- | |||
| | |||
=== playerRespawnOtherUnit.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. | |||
{{Feature|arma3|{{hl|{{Link|#onPlayerRespawnOtherUnit.sqs}}}} was renamed to {{hl|playerRespawnOtherUnit.sqs}} in {{arma3}}.}} | |||
<sqf>params ["_player", "_killer", "_newUnit"];</sqf> | |||
* player: [[Object]] | |||
* killer: [[Object]] | |||
* newUnit: [[Object]] | |||
| {{Icon|unchecked}} <!-- OFP --> | |||
| {{Icon|unchecked}} <!-- OFPR --> | |||
| {{Icon|unchecked}} <!-- A1 --> | |||
| {{Icon|unchecked}} <!-- A2 --> | |||
| {{Icon|unchecked}} <!-- A2OA --> | |||
| {{Icon|checked}} <!-- A3 --> | |||
| {{Icon|unchecked}} <!-- TKOH --> | |||
| <!-- suspension --> | |||
|- | |||
| | |||
=== playerResurrectScript.sqs === | |||
Executed when player is respawned in multiplayer mission with "INSTANT" or "BASE" [[Description.ext#respawn|respawn type]]. It will not work if {{hl|dta\scripts\onPlayerResurrect.sqs}} does not exist. | |||
{{Feature|arma3|{{hl|{{Link|#onPlayerResurrect.sqs}}}} was renamed to {{hl|playerResurrectScript.sqs}} in {{arma3}}.}} | |||
<sqf>params ["_player"];</sqf> | |||
* player: [[Object]] | |||
| {{Icon|unchecked}} <!-- OFP --> | |||
| {{Icon|unchecked}} <!-- OFPR --> | |||
| {{Icon|unchecked}} <!-- A1 --> | |||
| {{Icon|unchecked}} <!-- A2 --> | |||
| {{Icon|unchecked}} <!-- A2OA --> | |||
| {{Icon|checked}} <!-- A3 --> | |||
| {{Icon|unchecked}} <!-- TKOH --> | |||
| <!-- suspension --> | |||
|- | |||
| | |||
=== teamSwitchScript.sqs === | === teamSwitchScript.sqs === | ||
Executed ''after'' a [[Team Switch]] is done. '''Not''' triggered by [[selectPlayer]]. | Executed ''after'' a [[Team Switch]] is done. '''Not''' triggered by [[selectPlayer]]. | ||
< | <sqf>params ["_oldUnit", "_newUnit"];</sqf> | ||
* oldUnit: [[Object]] | * oldUnit: [[Object]] | ||
* newUnit: [[Object]] | * newUnit: [[Object]] | ||
| <!-- OFP --> | | {{Icon|unchecked}} <!-- OFP --> | ||
| <!-- OFPR --> | | <!-- OFPR --> | ||
| <!-- A1 --> | | <!-- A1 --> | ||
Line 403: | Line 516: | ||
| {{Icon|checked}} <!-- A3 --> | | {{Icon|checked}} <!-- A3 --> | ||
| <!-- TKOH --> | | <!-- TKOH --> | ||
| <!-- suspension --> | |||
|} | |} | ||
{{Feature | | {{Feature|informative|Additional initialization scripts can be executed using functions with [[Arma 3: Functions Library#Attributes|preInit or postInit]] attribute.}} | ||
[[Category: Event Handlers]] | [[Category: Event Handlers]] | ||
[[Category: Scripting Topics]] | [[Category: Scripting Topics]] | ||
[[Category: Mission Editing]] | [[Category: Mission Editing]] |
Revision as of 14:26, 9 July 2023
Game | Path |
---|---|
![]() |
DTA |
![]() |
Ca.pbo |
![]() | |
![]() | |
![]() |
functions_f.pbo |
![]() |
data_h.pbo |
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.
init* scripts | (on)Player* scripts | Other Scripts |
---|---|---|
Available Scripts
File | Present in | Details | ||||||
---|---|---|---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Can suspend | |
exit.sqfExecuted when mission is finished (before debriefing screen). In Arma 3, see also "Ended" and "MPEnded" Mission Event Handlers.
|
![]() |
![]() |
![]() |
![]() |
![]() | |||
exit.sqsExecuted when mission is finished (before debriefing screen). In Arma 3, see also "Ended" and "MPEnded" Mission Event Handlers.
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() | ||
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 Arma 2: 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 Initialisation Order for details about when exactly the script is executed. |
![]() |
![]() | ||||||
initPlayerServer.sqfExecuted 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. |
![]() |
![]() | ||||||
initServer.sqfExecuted only on server when mission is started. See Initialisation Order for details about when exactly the script is executed. |
![]() |
![]() | ||||||
missionFlow.fsmExecuted on post-init when mission is started. See BIS_fnc_missionFlow. |
![]() |
|||||||
onFlare.sqsExecuted when a flare is lit after being fired from grenade launcher.
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||
onPlayerKilled.sqfExecuted when player is killed in singleplayer or in multiplayer mission. |
![]() |
![]() | ||||||
onPlayerKilled.sqsExecuted when player is killed in singleplayer or in multiplayer mission with "NONE" respawn type. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
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. |
![]() |
![]() | ||||||
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. |
![]() |
|||||||
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. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
onPlayerRespawnOtherUnit.sqsExecuted when player is killed in multiplayer mission with "GROUP" or "SIDE" respawn type. This script will replace the default respawn sequence. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
onPlayerResurrect.sqsExecuted when player is respawned in multiplayer mission with "INSTANT" or "BASE" respawn type. It will not work if dta
|
![]() |
![]() |
||||||
pauseOnLoad.sqfExecuted when pause menu is activated. To make it work in MP or Arma 3, use
|
![]() |
![]() |
![]() |
![]() | ||||
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. |
? | ? | ? | ? | ? | ![]() |
? | |
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. |
? | ? | ? | ? | ? | ![]() |
? | |
playerRespawnSeagullScript.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. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
playerRespawnOtherUnit.sqsExecuted when player is killed in multiplayer mission with "GROUP" or "SIDE" respawn type. This script will replace the default respawn sequence. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
playerResurrectScript.sqsExecuted when player is respawned in multiplayer mission with "INSTANT" or "BASE" respawn type. It will not work if dta
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
teamSwitchScript.sqsExecuted after a Team Switch is done. Not triggered by selectPlayer. |
![]() |
![]() |