scriptNull: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Some wiki formatting)
m (Some wiki formatting)
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:
|gr1= Variables
|gr1= Variables


|descr= A non-existing [[Script]] or script that has finished ([[scriptDone]]). To compare non-existent scripts use [[isNull]] or [[isEqualTo]]:
|descr= A non-existing or [[scriptDone|completed]] [[Script Handle]]. To compare non-existent scripts use [[isNull]] or [[isEqualTo]]:
<sqf>
<sqf>
scriptNull == scriptNull; // ERROR! == cannot be used with script object
scriptNull == scriptNull; // ERROR! == cannot be used with script object
Line 15: Line 15:
|s1= [[scriptNull]]
|s1= [[scriptNull]]


|r1= [[Script]] - NULL script
|r1= [[Script Handle]] - NULL script


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


|x2= <sqf>
|x2= <sqf>
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];
}];
};
};
</sqf>
</sqf>

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