{"name":"scriptNull","operator":null,"title":"scriptNull","type":"command","url":"https://community.bistudio.com/wiki/scriptNull","revid":363804,"updated":"2024-04-21T18:03:23Z","groups":["Variables"],"status":"ok","replaced_by":[],"games":[{"game":"arma3","name":"Arma 3","version":"1.32"}],"since":{"game":"arma3","name":"Arma 3","version":"1.32"},"arma3_since":"1.32","branch":null,"locality":{"argument":null,"effect":null,"server_exec":false},"exec":null,"description":"A non-existing or completed Script Handle. To compare non-existent scripts use isNull or isEqualTo:\n\n```sqf\nscriptNull == scriptNull;            // ERROR! == cannot be used with script object\nisNull scriptNull;                    // true\nscriptNull isEqualTo scriptNull;    // true\n```","syntaxes":[{"syntax":"scriptNull","since":null,"effect":null,"exec":null,"params":[],"returns":{"type":"Script Handle","types":["Script Handle"],"description":"NULL script","text":"Script Handle - NULL script"},"form":"nullary","operator":null,"left":null,"right":null}],"examples":[{"text":"Wait until previous script is finished before starting a new one:\n\n```sqf\n0 spawn\n{\n    _script = scriptNull;\n    for \"_i\" from 1 to 10 do\n    {\n        waitUntil { isNull _script };\n        _script = _i spawn\n        {\n            hint format [\"script %1 started\", _this];\n            sleep 1;\n            hint format [\"script %1 finished\", _this];\n            sleep 0.2;\n        };\n    };\n};\n```","code":["0 spawn\n{\n\t_script = scriptNull;\n\tfor \"_i\" from 1 to 10 do\n\t{\n\t\twaitUntil { isNull _script };\n\t\t_script = _i spawn\n\t\t{\n\t\t\thint format [\"script %1 started\", _this];\n\t\t\tsleep 1;\n\t\t\thint format [\"script %1 finished\", _this];\n\t\t\tsleep 0.2;\n\t\t};\n\t};\n};"]},{"text":"```sqf\nif (scriptDone (_obj getVariable [\"TAG_objScript\", scriptNull])) then\n{\n    _scriptHandle = _obj spawn { waitUntil { damage _this > 0.9 }; hint \"Critical Damage!\"; };\n    _obj setVariable [\"TAG_objScript\", _scriptHandle];\n};\n```","code":["if (scriptDone (_obj getVariable [\"TAG_objScript\", scriptNull])) then\n{\n\t_scriptHandle = _obj spawn { waitUntil { damage _this > 0.9 }; hint \"Critical Damage!\"; };\n\t_obj setVariable [\"TAG_objScript\", _scriptHandle];\n};"]},{"text":"```sqf\nstr scriptNull; // <NULL-script>\n```","code":["str scriptNull; // <NULL-script>"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["controlNull","displayNull","grpNull","locationNull","objNull","taskNull","teamMemberNull","configNull","typeName","isNull","scriptDone","spawn","execVM"],"notes":[],"categories":["Arma 3: New Scripting Commands","Arma 3: Scripting Commands","Command Group: Variables","Introduced with Arma 3 version 1.32","Scripting Commands"]}