scriptNull: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
m (Fix Script link)
(2 intermediate revisions 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]]:
* {{hl|c= [[scriptNull]] <nowiki>==</nowiki> [[scriptNull]]; // ERROR! <nowiki>==</nowiki> cannot be used with script object}}
<sqf>
* {{hl|[[isNull]] [[scriptNull]]; // true}}
scriptNull == scriptNull; // ERROR! == cannot be used with script object
* {{hl|[[scriptNull]] [[isEqualTo]] [[scriptNull]]; // true}}
isNull scriptNull; // true
scriptNull isEqualTo scriptNull; // true
</sqf>


|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:
<code>[] spawn
<sqf>
[] spawn
{
{
_script = scriptNull;
_script = scriptNull;
for "_i" from 1 to 10 do {
for "_i" from 1 to 10 do
waitUntil {isNull _script};
{
_script = _i spawn {
waitUntil { isNull _script };
_script = _i spawn
{
hint format ["script %1 started", _this];
hint format ["script %1 started", _this];
sleep 1;
sleep 1;
Line 28: Line 33:
};
};
};
};
};</code>
};
</sqf>


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


|x3= <code>str scriptNull; // <NULL-script></code>
|x3= <sqf>str scriptNull; // <NULL-script></sqf>


|seealso= [[controlNull]] [[displayNull]] [[grpNull]] [[locationNull]] [[objNull]] [[taskNull]] [[teamMemberNull]] [[configNull]] [[typeName]] [[isNull]] [[scriptDone]] [[spawn]] [[execVM]]
|seealso= [[controlNull]] [[displayNull]] [[grpNull]] [[locationNull]] [[objNull]] [[taskNull]] [[teamMemberNull]] [[configNull]] [[typeName]] [[isNull]] [[scriptDone]] [[spawn]] [[execVM]]
}}
}}

Revision as of 10:55, 29 December 2022

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:
[] 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