A conditional assignment can be done via the following syntax:
_msg = if (alive player) then {"you're alive"} else {"you're dead"}
Also available as Markdown and JSON, or read the original wiki page.
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;.
variable = value
Parameters:
variable: Anything - see Identifiervalue: AnythingReturns: Nothing
Important
The returned value is not equivalent to nil. See #Notes below for additional information.
_value = 5;
_mygroup = group player;
_greeting = "Hello!";
private _enemyTank = myTank1;
A conditional assignment can be done via the following syntax:
_msg = if (alive player) then {"you're alive"} else {"you're dead"}
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"
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