Script File: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\[\[SQF[ _]syntax" to "[[SQF Syntax")
m (Text replacement - "\[\[SQS[ _]syntax" to "[[SQS Syntax")
Line 1: Line 1:
{{TOC|side}}
{{TOC|side}}
A [[{{PAGENAME}}|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 Syntax|SQF]] or (deprecated) [[SQS syntax]].
A [[{{PAGENAME}}|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 Syntax|SQF]] or (deprecated) [[SQS Syntax]].
{{Feature | Informative | See [[:Category:Community Tools#Code Edition|Community Tools - Code Edition]] for recommended text editors.}}
{{Feature | Informative | See [[:Category:Community Tools#Code Edition|Community Tools - Code Edition]] for recommended text editors.}}


Line 6: Line 6:
== Syntax ==
== Syntax ==


In [[:Category:Operation Flashpoint|{{ofp}}]], scripts are limited to [[SQS syntax]].
In [[:Category:Operation Flashpoint|{{ofp}}]], scripts are limited to [[SQS Syntax]].
* See [[exec]]
* See [[exec]]


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.
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]]


Line 28: Line 28:


; exec
; exec
: [[exec]] starts a thread for a script in [[SQS syntax]].
: [[exec]] starts a thread for a script in [[SQS Syntax]].


; execVM
; execVM
Line 49: Line 49:
* [[:Category:Syntax|Syntax]]
* [[:Category:Syntax|Syntax]]
** [[SQF Syntax]]
** [[SQF Syntax]]
** [[SQS syntax]]
** [[SQS Syntax]]
* [[Statement]]
* [[Statement]]




[[Category:Scripting Topics]]
[[Category:Scripting Topics]]

Revision as of 23:07, 24 March 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