Event Scripts: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (→‎Available Scripts: adding display param + some GGG corrections)
mNo edit summary
Line 30: Line 30:


; onPauseScript
; onPauseScript
: ''launches pauseOnLoad.'''sqf'''''
: Since Arma 2 - launches ''pauseOnLoad.'''sqf''''' [http://forums.bistudio.com/showthread.php?108466-Detect-load-game-or-ESC-menu&p=1763523&viewfull=1#post1763523 ]
: Launched when pause menu is activated.
: Launched when pause menu is activated.
: To make it work in MP, use ''onPauseScript = "myScript.sqf"'' in [[description.ext]]
: To make it work in MP, use ''onPauseScript = "myScript.sqf"'' in [[description.ext]]
:
:
: An [[Array|array]] is passed to the script: [display]
: An [[Array|array]] is passed to the script: [ [[Display|display]] ]
: [http://forums.bistudio.com/showthread.php?108466-Detect-load-game-or-ESC-menu&p=1763523&viewfull=1#post1763523 Topic reference]


; onPlayerKilled
; onPlayerKilled

Revision as of 01:28, 1 March 2012

Event scripts are scripts which are fired by the game engine upon specific events. These scripts can be written in SQS syntax or SQF syntax (Armed Assault only, recommended).

The file extensions of the script depend on the used syntax. If you are using SQS syntax, the file extension is .sqs, else .sqf.

Note that these scripts must be in sqs syntax - if you write an onPlayer*.sqf, it won't be executed - the default onPlayer*.sqs contained in the ca.pbo file will get executed instead. One easy way around this is to create both the .sqf and .sqs files, inside the .sqs files you can just put this piece of code

_this execVM onPlayer*.sqf

Remember to replace the * with the appropriate type.

Available Scripts

init
Launched when mission is started (before briefing screen).
initIntro
Launched when intro is started.
exit
Launched when mission is finished (before debriefing screen).
One argument of type Number is passed to the script: The number of game end.
onFlare
Launched when illuminating shell is lit.
An array is passed to the script: [[r, g, b], gunner]
r, g, b: Number - the light color
gunner: Object - the unit who fired the flare shell
onPauseScript
Since Arma 2 - launches pauseOnLoad.sqf [1]
Launched when pause menu is activated.
To make it work in MP, use onPauseScript = "myScript.sqf" in description.ext
An array is passed to the script: [ display ]
onPlayerKilled
Launched when the player dies permanently, and does not become a seagull.
Passed an array: [player, killer]
player: object - the player killed
killer: object - the unit that killed player - is the player in suicide/collision case
This script replaces the default death sequence. Make sure you place the command enableEndDialog somewhere in your script, as this will then cause the dialog that allows you to load, retry, or quit to appear.
Since ArmA this script is only executed if respawn in Description.ext is set to NONE (0). If respawn is set to some other value, then the onPlayerKilled script is not executed.
onPlayerRespawnAsSeagull
Launched when the player dies and becomes a seagull.
Passed an array: [player, killer, seagull]
player: object - the player killed
killer: object - the unit that killed player - is the player in suicide/collision case
seagull: object - the seagull the player is about to possess.
This script will replace the default seagulling sequence. Make sure you place the command enableEndDialog somewhere in your script, as this will then cause the dialog that allows you to load, retry, or quit to appear.
Since ArmA this script is only executed if respawn in Description.ext is set to BIRD(1), or to GROUP (4) and all the group is dead.
onPlayerRespawnOtherUnit
Launched when the player dies and respawns into another unit member.
Passed an array: [player, killer, new]
player: object - the player killed
killer: object - the unit that killed player
new: object - the new unit the player is about to possess.
This script will replace the default respawn sequence.
Since ArmA, this script is only executed if respawn in Description.ext is set to GROUP (4) and there is another group member still alive.

See also