getVariable – Talk

From Bohemia Interactive Community
Jump to navigation Jump to search
(another way...)
m (Text replacement - "Killzone Kid" to "Killzone_Kid")
 
(5 intermediate revisions by 3 users not shown)
Line 7: Line 7:
This also works:
This also works:


_check = _obj getVariable "myVar";
  _check = _obj getVariable "myVar";
if (isNil "_check") then
  if (isNil "_check") then
{
  {
  // initialize it
      // initialize it
};
  };


--[[User:Raedor|raedor]] 10:47, 12 January 2008 (CET)
--[[User:Raedor|raedor]] 10:47, 12 January 2008 (CET)
== misleading comment ==
<dl class="command_description">
<dt></dt>
<dd class="notedate">Posted on May 17, 2015 - 20:42 (UTC)</dd>
<dt class="note">[[User:Waffle SS.|Waffle SS.]]</dt>
<dd class="note">
'''defaultValue''' is processed even if the default isn't used.
<code style="display: block">[[player]] '''getVariable''' ["yolo",call {[[hint]] "!"; [[true]]}];</code>
The [[hint]] will '''always''' print, even if the "yolo" variable exists.
</dd>
</dl>
The comment is valid but misleading, so I moved it here. It is not true that the default value will be processed even if the variable is defined. It will be processed before when code is compiling, in order to obtain default value. It is simple array, and like with every array, if you put expression into it it will be executed in order to obtain the value.
<code style="display: block">_arr = [1,2,3,4,5,6,7,8,9, call {hint "OMG11!!!! 10th element must be magical!!1!!!"}];</code> [[User:Killzone_Kid|Killzone_Kid]] ([[User talk:Killzone_Kid|talk]]) 23:37, 17 May 2015 (CEST)

Latest revision as of 13:48, 12 March 2024

Only way I found to see if variable had even been assigned:

 if (format ["%1", _obj getVariable "myVar"] == "<NULL>") then {
  // initialize it
 };

--Doolittle 06:14, 11 January 2008 (CET)

This also works:

  _check = _obj getVariable "myVar";
  if (isNil "_check") then
  {
     // initialize it
  };

--raedor 10:47, 12 January 2008 (CET)

misleading comment

Posted on May 17, 2015 - 20:42 (UTC)
Waffle SS.
defaultValue is processed even if the default isn't used. player getVariable ["yolo",call {hint "!"; true}]; The hint will always print, even if the "yolo" variable exists.

The comment is valid but misleading, so I moved it here. It is not true that the default value will be processed even if the variable is defined. It will be processed before when code is compiling, in order to obtain default value. It is simple array, and like with every array, if you put expression into it it will be executed in order to obtain the value. _arr = [1,2,3,4,5,6,7,8,9, call {hint "OMG11!!!! 10th element must be magical!!1!!!"}]; Killzone_Kid (talk) 23:37, 17 May 2015 (CEST)