Как проверить, запущен ли скрипт и работает, аль нет?

Запущен ли скрипт

Best Answer SteelRat , 19 March 2015 - 20:33
TankiSD, как вариант: в начале скрипта пишешь:
mySuperScriptStatus = true;
а в конце:mySuperScriptStatus = false;
Затем в любом инерисующем вас скрипте пишитеif (mySuperScriptStatus) then {hint "script working"} else {hint "script not working"};PS Надеюсь правильно вас понял
По сути это самый правильный и менее накладный способ мониторить требуемое условие, с лёгкой правкой
В начало скрипта
mySuperScriptStatus = true;
А в местах где нужно провести проверку
if (isNil "mySuperScriptStatus") then { // скрипт не работает } else { // скрипт работает };
ЗЫ
Или так
mySuperScriptStatus = [] execVM "mySuperScript.sqf";
А в местах где нужно провести проверку
if (isNil "mySuperScriptStatus") then { // скрипт не работает } else { // скрипт работает };Go to the full post

#1
OFFLINE
Posted 19 March 2015 - 12:12
#2
OFFLINE
Posted 19 March 2015 - 12:26
используй для таких моментов hint "Запущен"; очень просто и полезно. А работает ли он это смотря что за скрипт. hint ставь после тех строк которые вызывают сомнение. И в стиме в установке параметров запуска пропиши -showScriptErrors, выведет ошибки на экран.
#3
OFFLINE
Posted 19 March 2015 - 12:50
не не.
Я не про это.
Я имею ввиду, работает ли скрипт в данный момент, т.е. запущен ли он, или нет.
#4
OFFLINE
Posted 19 March 2015 - 13:09
mySuperScriptStatus = true;
а в конце:
mySuperScriptStatus = false;
Затем в любом инерисующем вас скрипте пишите
if (mySuperScriptStatus) then {hint "script working"} else {hint "script not working"};PS Надеюсь правильно вас понял
Edited by vlad333000, 19 March 2015 - 15:50.
#6
OFFLINE
Posted 19 March 2015 - 14:27
vlad333000, Я так понимаю для тестов это можно в экшен запилить и проверять когда потребуется так?
P.S. И попутно вопросик)) Не пойму, что делает команда scriptDone
Edited by Djon, 19 March 2015 - 14:30.
#7
OFFLINE
Posted 19 March 2015 - 14:34
script_handler = [parameters] execVM "scriptname.sqf"; waitUntil {hint "script working..."; scriptDone script_handler }; hint "script stop working";
Edited by vlad333000, 19 March 2015 - 15:51.
#9
OFFLINE
#10
OFFLINE
Posted 19 March 2015 - 15:32
Такая конструкция сразу же остановит выполнения какого либо кода будь то циклы или еще что-то?
terminate _script;
#12
OFFLINE
#13
OFFLINE
Posted 19 March 2015 - 20:33 Best Answer
TankiSD, как вариант: в начале скрипта пишешь:
mySuperScriptStatus = true;
а в конце:mySuperScriptStatus = false;
Затем в любом инерисующем вас скрипте пишитеif (mySuperScriptStatus) then {hint "script working"} else {hint "script not working"};PS Надеюсь правильно вас понял
По сути это самый правильный и менее накладный способ мониторить требуемое условие, с лёгкой правкой
В начало скрипта
mySuperScriptStatus = true;
А в местах где нужно провести проверку
if (isNil "mySuperScriptStatus") then { // скрипт не работает } else { // скрипт работает };
ЗЫ
Или так
mySuperScriptStatus = [] execVM "mySuperScript.sqf";
А в местах где нужно провести проверку
if (isNil "mySuperScriptStatus") then { // скрипт не работает } else { // скрипт работает };
Edited by SteelRat, 19 March 2015 - 20:34.
#14
OFFLINE
Posted 20 March 2015 - 20:14
Всё работает, спасибо!
Спасибо всем за отклик товарищи!!!