Difference between revisions of "setVariable"

From Bohemia Interactive Community
Jump to navigation Jump to search
m
Line 40: Line 40:
 
|mp= The variable space of the object is '''local to each client'''. '''By default''' changes are not broadcasted. <br> Since Arma 2: '''When''' the '''public''' parameter for supported types. If public, the value will be '''synchronized''' also for a JIP player. |= Multiplayer
 
|mp= The variable space of the object is '''local to each client'''. '''By default''' changes are not broadcasted. <br> Since Arma 2: '''When''' the '''public''' parameter for supported types. If public, the value will be '''synchronized''' also for a JIP player. |= Multiplayer
  
| [[6thSense.eu:EG|MP editing guide]], [[getVariable]], [[setVariable (VBS2)]] |= See also
+
| [[6thSense.eu:EG|MP editing guide]], [[getVariable]] |= See also
  
 
}}
 
}}

Revision as of 14:20, 28 August 2012

Introduced with Armed Assault version 1.001.00Arguments of this scripting command have to be local to the client the command is executed onEffects of this scripting command are not broadcasted over the network and remain local to the client the command is executed on
Hover & click on the images for descriptions

Description

Description:
Set variable to given value in the variable space of given element. To remove a variable, set it to nil (e.g. player setVariable ["varname",nil]). All available data type combinations:
Multiplayer:
The variable space of the object is local to each client. By default changes are not broadcasted.
Since Arma 2: When the public parameter for supported types. If public, the value will be synchronized also for a JIP player.

Syntax

Syntax:
objectName setVariable [name, value (, public)]
Parameters:
objectName: Object or Location. Arma 2 also supports: Namespace, Group, Control, Task
[name, value]: Array
name: String
value: Any_Value
public: Boolean - Only available for Object types. If public is true then the value is broadcast to all computers.
Return Value:
Nothing

Examples

Example 1:
_myTruck setVariable ["myVariable", 123, true];

Additional Information

See also:
MP editing guidegetVariable

Notes

i
Only post proven facts here. Report bugs on the feedback tracker. Use the Talk page or the Forums for discussions.

Notes

Unknown
According to Suma, beginning with ArmA version 1.08, "setVariable now should work on any entity which can be targeted by AI, including soldier and game logic units. This includes most buildings, but not other static objects. Using it with buildings one should be aware the building may be discarded because of streaming. In such case the variable space is lost. When used for buildings, the storage should therefore be considered non-reliable." Reference: Make setVariable work on other things than just vehicles
Posted on 3 November, 2009 - 19:40 (CEST)
.kju
Public variable parameter works also for groups in ArmA II. Ref: A2 CIT.
Posted on January 18, 2010 - 17:27 (CEST)
Lou Montana
this command doesn't work with tasks in Arma 2 1.05
Posted on February 8, 2010 - 18:42 (CEST)
LaKing
In Arma 2 1.05 the missionNamespace object allows only the two main Arguments by syntax. Publishing the Variable afterwards works fine.
Posted on January 25, 2011 - 02:48 (CEST)
Lou Montana
this command does work with tasks in Arma 2 OA 1.57
Posted on 19 July, 2011
kju
My finds with 1.59 are:
Posted on 8 May, 2012
Krause
IMPORTANT: This will not work on groups if you do it from the init line (you'll experience locality issues). Do something like this instead: Put this on init line: b_GroupSetup = [group this, "3/B", "Tank", "Platoon"]execvm "grouptest.sqf"; grouptest.sqf: if (isserver) then { private ["_GroupSelect", "_GroupDesig", "_GroupType", "_GroupSize"]; _GroupSelect = _this select 0; _GroupDesig = _this select 1; _GroupType = _this select 2; _GroupSize = _this select 3; _GroupSelect setvariable ["groupDetails", [_GroupDesig, _GroupType, _GroupSize, 0, [], ""], true]; };

Bottom Section