Arma 3 Scripting

Command in Multiplayer, Variables

publicVariable

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

Description

Reliably broadcasts missionNamespace variable and its current value to all computers (server/client).

Variables broadcast with publicVariable during a mission will be available to JIP clients with the value they held at the time.

Such variables are persistent and sent to the JIP client before the first batch of client-side Event Scripts (such as init.sqf) is run.

Important

Using publicVariable too frequently and/or with a lot of data can cause other aspects of the game to experience bandwidth problems.

The following Data Types are supported:

Type Number Boolean Object Group String Text Array Code Nothing (nil) HashMap
Since Operation Flashpoint v1.34 Armed Assault v1.00 Armed Assault v1.09 Arma 3 v1.26 Arma 3 v2.02

Important

It is not possible (and illogical) to transfer a local entity reference, such as scripts, displays or local objects.

Also, note that Team Member is not supported.

Syntax

publicVariable varName

Parameters:

Returns: Nothing

Examples

Example 1

TAG_MyPublicVariable = 0;
TAG_MyPublicVariable = 1;
publicVariable "TAG_MyPublicVariable";    // other clients will receive the "TAG_MyPublicVariable" variable with a 1 value

TAG_MyPublicVariable = 2;                // needs to be broadcast again - synchronisation is not automatic

Example 2

JIP example:

if (isNil "TAG_CurrentTarget") then    // has the variable already been set and broadcast?
{
    TAG_CurrentTarget = objNull;    // if not, set it on the local machine
};

player doTarget TAG_CurrentTarget;

Example 3

TAG_BossName = "EvilBigBoss";

publicVariable TAG_BossName;    // wrong - will try to publicVariable "EvilBigBoss" variable, that does not exist
publicVariable "TAG_BossName";    // correct - important, do not forget the QUOTES

See also

Multiplayer Scripting · Initialisation Order · addPublicVariableEventHandler · publicVariableClient · publicVariableServer · Variables · Event Scripts