scriptNull: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(see also)
m (Some wiki formatting)
 
(67 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma 3 |= Game name
|game1= arma3
|version1= 1.32


|1.32|= Game version
|gr1= Variables
____________________________________________________________________________________________


| A non-existing [[Script]] or script that has finished ([[scriptDone]]). This value is not equal to anything, including itself (added since Arma 3 1.29.127075) |= Description
|descr= A non-existing or [[scriptDone|completed]] [[Script Handle]]. To compare non-existent scripts use [[isNull]] or [[isEqualTo]]:
____________________________________________________________________________________________
<sqf>
scriptNull == scriptNull; // ERROR! == cannot be used with script object
isNull scriptNull; // true
scriptNull isEqualTo scriptNull; // true
</sqf>


| '''scriptNull''' |= Syntax
|s1= [[scriptNull]]


| [[Script]] - NULL script |= Return value
|r1= [[Script Handle]] - NULL script
____________________________________________________________________________________________


 
|x1= Wait until previous script is finished before starting a new one:
|x1= <code>_script = [[scriptNull]];
<sqf>
[[for]] "_i" [[from]] 1 [[to]] 10 [[do]] {
0 spawn
[[waitUntil]] {[[isNull]] _script};
{
_script = 0 [[spawn]] {
_script = scriptNull;
[[hint]] "script started";
for "_i" from 1 to 10 do
[[sleep]] 1;
{
[[hint]] "script finished";
waitUntil { isNull _script };
_script = _i spawn
{
hint format ["script %1 started", _this];
sleep 1;
hint format ["script %1 finished", _this];
sleep 0.2;
};
};
};
};</code> |= Example 1
};
</sqf>


 
|x2= <sqf>
|x2= <code>[[if]] ([[scriptDone]] (_obj [[getVariable]] ["objScript", [[scriptNull]]])) [[then]] {
if (scriptDone (_obj getVariable ["TAG_objScript", scriptNull])) then
_obj [[setVariable]] ["objScript", _obj [[spawn]] {
{
[[waitUntil]] {[[damage]] _this > 0.9};
_scriptHandle = _obj spawn { waitUntil { damage _this > 0.9 }; hint "Critical Damage!"; };
[[hint]] "Critical Damage!";
_obj setVariable ["TAG_objScript", _scriptHandle];
}];
};
};</code> |= Example 1
</sqf>


____________________________________________________________________________________________
|x3= <sqf>str scriptNull; // <NULL-script></sqf>
 
|[[controlNull]], [[displayNull]], [[grpNull]], [[locationNull]], [[objNull]], [[taskNull]], [[teamMemberNull]], [[configNull]], [[typeName]], [[isNull]], [[scriptDone]], [[spawn]], [[execVM]]  |= See also


|seealso= [[controlNull]] [[displayNull]] [[grpNull]] [[locationNull]] [[objNull]] [[taskNull]] [[teamMemberNull]] [[configNull]] [[typeName]] [[isNull]] [[scriptDone]] [[spawn]] [[execVM]]
}}
}}
<h3 style="display:none">Notes</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>
<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]

Latest revision as of 19:03, 21 April 2024

Hover & click on the images for description

Description

Description:
A non-existing or completed Script Handle. To compare non-existent scripts use isNull or isEqualTo:
scriptNull == scriptNull; // ERROR! == cannot be used with script object isNull scriptNull; // true scriptNull isEqualTo scriptNull; // true
Groups:
Variables

Syntax

Syntax:
scriptNull
Return Value:
Script Handle - NULL script

Examples

Example 1:
Wait until previous script is finished before starting a new one:
0 spawn { _script = scriptNull; for "_i" from 1 to 10 do { waitUntil { isNull _script }; _script = _i spawn { hint format ["script %1 started", _this]; sleep 1; hint format ["script %1 finished", _this]; sleep 0.2; }; }; };
Example 2:
if (scriptDone (_obj getVariable ["TAG_objScript", scriptNull])) then { _scriptHandle = _obj spawn { waitUntil { damage _this > 0.9 }; hint "Critical Damage!"; }; _obj setVariable ["TAG_objScript", _scriptHandle]; };
Example 3:
str scriptNull; // <NULL-script>

Additional Information

See also:
controlNull displayNull grpNull locationNull objNull taskNull teamMemberNull configNull typeName isNull scriptDone spawn execVM

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