SQF Syntax: Difference between revisions
mNo edit summary |
m (→Rules) |
||
Line 12: | Line 12: | ||
Example: | Example: | ||
STATEMENT 1; | |||
STATEMENT 2; | |||
BLOCK | |||
{ | { | ||
STATEMENT 3; | |||
STATEMENT 4; | |||
}; | }; | ||
Revision as of 19:02, 21 December 2006
SQF syntax was introduced in Operation Flashpoint: 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
- Commands and blocks are followed by semicolons (;)
The latter rule tells the game engine where one command 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, you may also define C-like comments:
- 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.