SQF Syntax: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (fixed link)
Line 60: Line 60:
* [[Statement]]
* [[Statement]]
* [[Block]]
* [[Block]]
* [[Missions#Locations_of_Mission_Files|Location of script files]]


[[Category: Syntax]]
[[Category: Syntax]]

Revision as of 05:13, 7 May 2007

SQF syntax 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