Difference between revisions of "setVariable"
Jump to navigation
Jump to search
m (Category listings by {{uc:{{PAGENAME}}}}) |
Fred Gandt (talk | contribs) (Added example + general tidy including rewording of nonsense statement - should be checked for truth.) |
||
Line 11: | Line 11: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
− | | Set variable to given value in the variable space of given element. | + | | Set variable to given value in the variable space of given element. |
− | + | <br> | |
− | To remove a variable, set it to [[nil]] (e.g. player setVariable ["varname",nil]). | + | To remove a variable, set it to [[nil]] (e.g. {{Inline code|[[player]] [[setVariable]] ["varname", [[nil]]<nowiki>]</nowiki>;}}). |
− | + | <br> | |
+ | <br> | ||
All available data type combinations: | All available data type combinations: | ||
− | |||
* [[Namespace]] setVariable [[Array]] | * [[Namespace]] setVariable [[Array]] | ||
* [[Control]] setVariable [[Array]] | * [[Control]] setVariable [[Array]] | ||
Line 36: | Line 36: | ||
| [[Nothing]] |= Return value | | [[Nothing]] |= Return value | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
− | |||
− | |mp= The variable space of the object is '''local to each client''' | + | |x1= <code>_myTruck [[setVariable]] ["myPublicVariable", 123, [[true]]<nowiki>]</nowiki>;</code> |= Example 1 |
+ | |||
+ | |x2= <code>_myTruck [[setVariable]] ["myLocalVariable", ["321", _var], [[false]]<nowiki>]</nowiki>;</code> |= Example 2 | ||
+ | |||
+ | |mp= The variable space of the object is '''local to each client''' and '''by default''' changes are not broadcast. | ||
+ | <br> | ||
+ | Since Arma 2: '''If''' the '''public''' parameter for supported types is ''<tt>true</tt>'', the value will be '''synchronized''' also for a [[Join In Progress|JIP]] player. |= Multiplayer | ||
| [[6thSense.eu:EG|MP editing guide]], [[getVariable]] |= See also | | [[6thSense.eu:EG|MP editing guide]], [[getVariable]] |= See also |
Revision as of 01:18, 11 April 2014
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]; };