Script File: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "{{Inline code|" to "{{ic|")
m (Text replacement - "\[\[SQF[ _]syntax" to "[[SQF 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 9: Line 9:
* 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 31: Line 31:


; execVM
; execVM
: [[execVM]] [[preprocessFileLineNumbers|preprocesses]] and [[compile|compiles]] a [[SQF syntax]] script file and starts a thread for it.
: [[execVM]] [[preprocessFileLineNumbers|preprocesses]] and [[compile|compiles]] a [[SQF Syntax]] script file and starts a thread for it.


; call
; call
Line 48: Line 48:
* [[Function|Functions]]
* [[Function|Functions]]
* [[:Category:Syntax|Syntax]]
* [[:Category:Syntax|Syntax]]
** [[SQF syntax]]
** [[SQF Syntax]]
** [[SQS syntax]]
** [[SQS syntax]]
* [[Statement]]
* [[Statement]]

Revision as of 23:03, 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