SQF Syntax: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Added category.)
m (Mentioned SQF meaning Status Quo Function)
Line 1: Line 1:
'''SQF syntax''' was introduced in [[Operation Flashpoint: Resistance Version History|OFP: Resistance]] and is the common [[Syntax|syntax]] since [[Armed Assault]]. An alternative syntax is the [[SQS syntax]] (deprecated since Armed Assault).
[[SQF syntax]] (where SQF stands for Status Quo Function) was introduced in [[Operation Flashpoint: Resistance Version History|OFP: Resistance]] and is the common [[Syntax|syntax]] since [[Armed Assault]]. An alternative syntax is the [[SQS syntax]] (deprecated since Armed Assault).


== Rules ==
== Rules ==

Revision as of 18:21, 29 April 2015

SQF syntax (where SQF stands for Status Quo Function) was introduced in OFP: Resistance and is the common syntax since Armed Assault. An alternative syntax is the SQS syntax (deprecated since Armed Assault).

Rules

Binding rules:

  • Curled braces ({ }) group code to blocks
  • Statements (thus also blocks) are followed by semicolons (;)

The latter rule tells the game engine where one statement ends and the next starts.

Example:

STATEMENT 1;
STATEMENT 2;

BLOCK
{
    STATEMENT 3;
    STATEMENT 4; 
};

While SQS syntax is line based, SQF syntax is based on structured expressions. End-of-line has no special meaning - it is considered to be equivalent to space or tab, and is therefore not required, even when ending a statement.

Comments

A comment is any free text which is ignored by the game engine. In SQF syntax you can write comments using the command comment.

Example:

comment "This is a comment";


If a file is loaded with preprocessFile, execVM or spawn, you may also define C-like comments (does not work for loadFile):

Line comment
A line comment starts with // and makes the rest of the line a comment.
Block comment
A block comment starts with /* and ends with */. All text in between is considered a comment.

Examples:

// This is a line comment

/*
This is
a very long
block comment
*/

Language Constructs

Read the article Control Structures for information about the control structures available in SQF syntax.

See also