isNull: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Some wiki formatting)
 
(63 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| ofp |= Game name
|game1= ofp
|version1= 1.00


|1.00|= Game version
|game2= ofpe
|version2= 1.00


|arg= global |= Arguments in MP
|game3= arma1
____________________________________________________________________________________________
|version3= 1.00


|   Checks whether the tested item is Null.<br>
|game4= arma2
Which null type the item has to be equal to depends on the type of object tested:<br>
|version4= 1.00
* [[Object]]s -> [[objNull]]
* [[Control]]s -> [[controlNull]]
* [[Display]]s -> [[displayNull]]
* [[Group]]s -> [[grpNull]]
* [[Location]]s -> [[locationNull]] (since ARMA 2)
* [[Task]]s -> [[taskNull]] (since ARMA 2)


Note: A test via <nowiki>==</nowiki> does not work, because, for example, [[objNull]] is not equal to anything, not even to itself. |= Description
|game5= arma2oa
____________________________________________________________________________________________
|version5= 1.50


| '''isNull''' obj |= Syntax
|game6= tkoh
|version6= 1.00


|p1 = obj: [[Object]], [[Control]], [[Display]], [[Group]] (or [[Location]], [[Task]] since ARMA 2) |= Parameter 1
|game7= arma3
|version7= 0.50


| [[Boolean]] |= Return value
|arg= global
____________________________________________________________________________________________


|x1 = <code>[[if]] ([[isNull]] obj) [[then]] {[[hint]] "doesn't exist";};</code>
|gr1= Variables


| [[controlNull]], [[displayNull]], [[grpNull]], [[locationNull]], [[objNull]], [[taskNull]], [[teamMemberNull]] |= See also
|descr= Checks whether the tested item is null.<br>
Which null type the item has to be equal to depends on the type of game entity tested:


}}
{{{!}} class="wikitable" style="text-align: center"
! [[:Category:Data Types|Type]]
{{!}} [[Object]]
{{!}} [[Group]]
{{!}} [[Control]]
{{!}} [[Display]]
{{!}} [[Location]]
{{!}} [[Task]]
{{!}} [[Script Handle|Script]]
{{!}} [[Config]]
{{!}} [[Diary Record]]
{{!}} [[Team Member]]
{{!}}-
! Null value
{{!}} [[objNull]]
{{!}} [[grpNull]]
{{!}} [[controlNull]]
{{!}} [[displayNull]]
{{!}} [[locationNull]]
{{!}} [[taskNull]]
{{!}} [[scriptNull]]
{{!}} [[configNull]]
{{!}} [[diaryRecordNull]]
{{!}} [[teamMemberNull]]
{{!}}- style="font-size: .85em"
! Since
{{!}} {{GVI|ofp|1.00}}
{{!}} {{GVI|ofp|1.00}}
{{!}} {{GVI|arma1|1.00}}
{{!}} {{GVI|arma1|1.00}}
{{!}} {{GVI|arma2|1.00}}
{{!}} {{GVI|arma2|1.00}}
{{!}} {{GVI|arma3|1.30}}
{{!}} {{GVI|arma3|1.54}}
{{!}} {{GVI|arma3|2.00}}
{{!}} {{GVI|arma3|2.10}}
{{!}}}
 
{{Feature|important|2= A test via [[a == b|==]] does '''not''' work because a null value is not equal to anything, not even itself ([[configNull]] being the exception).
See also [[isEqualTo]].}}
 
|s1= [[isNull]] entity
 
|p1= entity: [[Object]], [[Control]], [[Display]], [[Group]], [[Location]], [[Task]], [[Script Handle]], [[Config]] or [[Diary Record]]
 
|r1= [[Boolean]]


<h3 style="display:none">Notes</h3>
|x1= <sqf>
<dl class="command_description">
if (isNull obj) then
<!-- Note Section BEGIN -->
{
hint "obj variable is defined but obj is null";
};
</sqf>


<dd class="notedate">Posted on September 04, 2014
|x2= [[Diary Record]] support before {{GVI|arma3|2.00}}:
<dt class="note">'''[[User:Pierre MGI|Pierre MGI]]'''
<sqf>
<dd class="note">
private _nullRecord = objNull createDiaryRecord []; // wrong parameters = failure to create a record = null value
<br>locationNull could be confusing when testing destinationTask :
private _createdRecord = player createDiaryRecord ["Diary", ["title", "description"]];
if a task is created, taskDestination returns an array working as position : _mytask_distance = (taskDestination (currentTask player)) distance player;
if (_createdRecord isEqualTo _nullRecord) then { hint "Failed" };
<br>When task completed Hint format ["%1", taskDestination (currentTask player)] returns <null> while !isnull taskdestination.. <br>leads to an error.
</sqf>
<br>correct test : _destination_task = taskDestination (currentTask player); if (!isNil "_destination_tsk") then {...
<br>
<br>}}


<dd class="notedate">Posted on September 04, 2014
[[Team Member]] support before {{GVI|arma3|2.10}}:
<dt class="note">'''[[User:Pierre MGI|Pierre MGI]]'''
<sqf>private _isNull = _teamMember isEqualTo teamMemberNull;</sqf>
<dd class="note">
<br>Isnull (currentTask player) works but returns <null> taskDestination when triggered by succedded for example,
<br>isnull taskdestination... leads to an error,
<br>isnil "your_var for taskDestination" works for task completed
<!-- Note Section END -->
</dl>


<h3 style="display:none">Bottom Section</h3>
|seealso= [[controlNull]] [[displayNull]] [[grpNull]] [[locationNull]] [[objNull]] [[taskNull]] [[teamMemberNull]] [[scriptNull]] [[configNull]] [[typeName]]
[[Category:Scripting Commands|ISNULLOBJ]]
}}
[[Category:Scripting Commands OFP 1.96|ISNULLOBJ]]
[[Category:Scripting Commands OFP 1.46|ISNULLOBJ]]
[[Category:Scripting Commands ArmA|ISNULLOBJ]]
[[Category:Command_Group:_Object_Information|{{uc:{{PAGENAME}}}}]]
[[Category:Command_Group:_Variables|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]

Latest revision as of 11:04, 29 December 2022

Hover & click on the images for description

Description

Description:
Checks whether the tested item is null.
Which null type the item has to be equal to depends on the type of game entity tested:
Type Object Group Control Display Location Task Script Config Diary Record Team Member
Null value objNull grpNull controlNull displayNull locationNull taskNull scriptNull configNull diaryRecordNull teamMemberNull
Since Logo A0.png1.00 Logo A0.png1.00 Logo A1 black.png1.00 Logo A1 black.png1.00 Logo A2.png1.00 Logo A2.png1.00 Arma 3 logo black.png1.30 Arma 3 logo black.png1.54 Arma 3 logo black.png2.00 Arma 3 logo black.png2.10
A test via == does not work because a null value is not equal to anything, not even itself (configNull being the exception). See also isEqualTo.
Groups:
Variables

Syntax

Syntax:
isNull entity
Parameters:
entity: Object, Control, Display, Group, Location, Task, Script Handle, Config or Diary Record
Return Value:
Boolean

Examples

Example 1:
if (isNull obj) then { hint "obj variable is defined but obj is null"; };
Example 2:
Diary Record support before Arma 3 logo black.png2.00:
private _nullRecord = objNull createDiaryRecord []; // wrong parameters = failure to create a record = null value private _createdRecord = player createDiaryRecord ["Diary", ["title", "description"]]; if (_createdRecord isEqualTo _nullRecord) then { hint "Failed" };
Team Member support before Arma 3 logo black.png2.10:
private _isNull = _teamMember isEqualTo teamMemberNull;

Additional Information

See also:
controlNull displayNull grpNull locationNull objNull taskNull teamMemberNull scriptNull configNull typeName

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note