Script File: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\{\{( *)Informative( *)\|" to "{{$1Feature$2|$2Informative$2|")
Line 9: Line 9:
* See [[exec]]
* See [[exec]]


The already existing (since OFP v1.85) [[SQF syntax]] was introduced for scripts in [[{{arma1}}]]. [[SQS syntax]] is still usable but is considered deprecated since.
The already existing ({{Since|ofp|1.85}}) [[SQF syntax]] was introduced for scripts in [[{{arma1}}]]. [[SQS syntax]] is still usable but is considered deprecated since.
* See [[execVM]], [[spawn]]
* See [[execVM]], [[spawn]]




[[Image: Script_Execution.png|frame|right||Script Execution Diagram<br>'''Executing Instance:''' script, [[Function|function]] or game engine]]
[[Image: Script_Execution.png|frame|right||Script Execution Diagram<br>'''Executing Instance:''' script, [[Function|function]] or game engine]]
== Execution ==
== Execution ==



Revision as of 10:54, 12 February 2021

A script file is multiple commands and arguments defining wanted behaviour from the game, all grouped together in a textfile. This code does a specific task handled by the game engine. The common extensions for Arma scripts are .sqf and .sqs, depending on the used syntax: SQF or (deprecated) SQS syntax.

See Community Tools - Code Edition for recommended text editors.


Syntax

In Operation Flashpoint, scripts are limited to SQS syntax.

The already existing (Template:Since) SQF syntax was introduced for scripts in Armed Assault. SQS syntax is still usable but is considered deprecated since.


Script Execution Diagram
Executing Instance: script, function or game engine

Execution

Scripts can be executed from several points in the game:


The commands to execute scripts are:

exec
exec starts a thread for a script in SQS syntax.
execVM
execVM preprocesses and compiles a SQF syntax script file and starts a thread for it.
call
call adds provided Code to the stack and wait for it to execute, then returns the code's last returned value.
spawn
spawn starts a thread for provided Code.


See also