Arma 3 Scripting

Command in Variables

a = b

Also available as Markdown and JSON, or read the original wiki page.

Description

Assigns the result of expression on the right to the variable on the left. Technically this is not a command and it is not listed in supportInfo; this is more of a compiler instruction.

Important

The following structure is invalid: a = b = c = 4;.

Syntax

variable = value

Parameters:

Returns: Nothing

Important

The returned value is not equivalent to nil. See #Notes below for additional information.

Examples

Example 1

_value = 5;

Example 2

_mygroup = group player;

Example 3

_greeting = "Hello!";

Example 4

private _enemyTank = myTank1;

See also

Operators

Community notes

Kronzky

A conditional assignment can be done via the following syntax:

_msg = if (alive player) then {"you're alive"} else {"you're dead"}
Alef

It's possible to assign to Numbers. Numbers values are not changed. Useful instead of assigning to nul or nil when a result is of no use.

[player] execVM "myScript.sqf"
Dedmen

This operator actually does not return a Nil. It really returns pure Nothing. Not Nil Nothing.

This can cause problems. For example:

_var1 = call {
    _var2 = "";
};

The return value of the "call" is the return value of the "=" operator.

If it were a nil then of cause "_var = nil;" would work just fine.

But in reality this causes a "Generic Error in expression" because you can't assign pure Nothing to anything