Script File: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "{{SideTOC}}" to "{{TOC|side}}") |
Lou Montana (talk | contribs) m (Text replacement - "\{\{( *)Informative( *)\|" to "{{$1Feature$2|$2Informative$2|") |
||
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]]. | ||
{{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 38: | Line 38: | ||
: [[spawn]] starts a thread for provided [[Code]]. | : [[spawn]] starts a thread for provided [[Code]]. | ||
{{Informative | | {{Feature | Informative | | ||
* [[execVM]] is almost like using {{Inline code|[[spawn]] [[compile]] [[preprocessFile]]}}. | * [[execVM]] is almost like using {{Inline code|[[spawn]] [[compile]] [[preprocessFile]]}}. | ||
* [[spawn]] and [[execVM]] both add the thread to the [[Scheduler]] and provide a [[Script (Handle)|script handle]] which allows you to check if the spawned script is done (using [[scriptDone]]).}} | * [[spawn]] and [[execVM]] both add the thread to the [[Scheduler]] and provide a [[Script (Handle)|script handle]] which allows you to check if the spawned script is done (using [[scriptDone]]).}} |
Revision as of 01:02, 7 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.
Syntax
In Operation Flashpoint, scripts are limited to SQS syntax.
- See exec
The already existing (since OFP v1.85) SQF syntax was introduced for scripts in Armed Assault. SQS syntax is still usable but is considered deprecated since.
![](/wikidata/images/a/a9/Script_Execution.png)
Script Execution Diagram
Executing Instance: script, function or game engine
Executing Instance: script, function or game engine
Execution
Scripts can be executed from several points in the game:
- Other scripts
- Other functions
- Init fields and (de)activation triggers in the Mission Editor
- Event Handlers in addon config files
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.