Code: Difference between revisions

From Bohemia Interactive Community
Category: Data Types
m (→‎Introduction: better explanation?)
m (Add precompiled info back)
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==Introduction==
'''Code''' represents data consisting of commands and their parameters.
It is defined in script by being wrapped in <sqf inline>{</sqf>/<sqf inline>}</sqf> brackets, and is precompiled by the game engine.


The contents of [[SQF Syntax|SQF]] and [[SQS Syntax|SQS]] files are Code.


'''Code''' is a string like <u>paramater</u> passed or used by '''some''' of the scripting commands. [[addEventHandler|AddEventHandler]] eg [[onMapSingleClick|OnMapSingleClick]] eg.
Examples:
<sqf>
while { alive player } do { sleep 1; hintSilent format ["Health: %1/100", round ((1 - damage player) * 100)]; };
unit addEventHandler ["Killed", { systemChat format ["%1 is dead", name (_this select 0)]; }];
onMapSingleClick { systemChat format ["You clicked at %1", _pos]; };
</sqf>




The text body that makes up '''Code''' are also scripting commands.  Eg commands that will be executed 'at some time'.
{{Feature|informative|See [[Code vs. Strings]] for more information on code/string data typing.}}
 
 
'''Code''' should be represented by enclosing curly brace. '''{''' code.... '''}'''
 
 
[[ArmA|Armed Assault]] formalised this 'convention' by creating a Code '''Type'''. In previous versions it was a prefered style to write such strings in curled braces, but it was also possible to write them in quotation marks (exactly like [[String]]s). ArmA functions that are marked as requiring '''Code''' must be presented with curled braces.
 
==Description==
 
Part of code (compiled), in curled braces:
 
 
==Examples==
 
'''{'''_x [[setDamage]] 1'''}''' [[forEach]] ArrayToKill




[[Category: Data Types]]
[[Category: Data Types]]

Latest revision as of 17:38, 2 March 2026

Code represents data consisting of commands and their parameters. It is defined in script by being wrapped in {/} brackets, and is precompiled by the game engine.

The contents of SQF and SQS files are Code.

Examples:

while { alive player } do { sleep 1; hintSilent format ["Health: %1/100", round ((1 - damage player) * 100)]; }; unit addEventHandler ["Killed", { systemChat format ["%1 is dead", name (_this select 0)]; }]; onMapSingleClick { systemChat format ["You clicked at %1", _pos]; };


See Code vs. Strings for more information on code/string data typing.