Перейти к содержимому


Фотография

#lock сервера в скрипте


Лучший Ответ SteelRat , 14 October 2017 - 21:42

у меня работает, должно и у вас, что то делаете не так.

Это серверные команды, они должны исполняться только на сервере.

 

 

 


порезались скрины, не читаемо)

if (time >= _restartTime) then {
	ServerRestart = true;
	getText(configfile >> "ServerConfig" >> "Restart" >> "Message" >> "restartServer") remoteExec ["systemchat", -2];
} else {

	if (time >= _serverLockTime && !_serverLocked) then {
		private _v = _serverCommandPassword serverCommand "#lock";
		if (_v) then {
			_serverLocked = true;
			getText(configfile >> "ServerConfig" >> "Restart" >> "Message" >> "serverLocked") remoteExec ["systemchat", -2];
		};
	};

	if (time >= _initRestartTime && {_loopTimeMsg != _initRestartLoopTimeMsg}) then {
		_loopTimeMsg = _initRestartLoopTimeMsg;
		_restartLoopTime = _initRestartLoopTimeMsg;
		_restartTimeMsg = time;
	};

	if (time >= _restartTimeMsg) then {
		private _msg = getText(configfile >> "ServerConfig" >> "Restart" >> "Message" >> "restartServerIn");
		private _time = round(_restartTime - time);
		_msg = format["%1 %2", _msg, [_time, "HH:MM:SS"] call BIS_fnc_secondsToString];
		_msg remoteExec ["systemchat", -2];
		_restartTimeMsg = time + _loopTimeMsg;
	};
};
{
	if (alive _x) then {
		_serverCommandPassword serverCommand format["#kick %1", owner _x];
	};
} foreach (allplayers - entities "HeadlessClient_F");

_timeout = diag_tickTime + 30;
//_serverCommandPassword serverCommand "#restartserver";
_serverCommandPassword serverCommand "#shutdown";
Перейти к сообщению


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 OFFLINE   GordonFr

GordonFr

    Рядовой

  • Пользователи
  • 9 сообщений
  • Откуда:Иркутск

Отправлено 10 October 2017 - 08:12

И снова здравствуйте.
Подскажите как закрыть сервер на время выполнения скрипта (В самом скрипте).
Пытался что то типо: "password" serverCommand "#lock"; в самом скрипте, не работает


  • 0

#2 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 14 October 2017 - 21:42   Лучший Ответ

у меня работает, должно и у вас, что то делаете не так.

Это серверные команды, они должны исполняться только на сервере.

 

Прикрепленный файл  screenday_01.jpg   67.91К   0 Количество загрузок:

Прикрепленный файл  screenday_02.jpg   55.36К   0 Количество загрузок:

Прикрепленный файл  screenday_03.jpg   53.05К   0 Количество загрузок:

 

 


порезались скрины, не читаемо)

if (time >= _restartTime) then {
	ServerRestart = true;
	getText(configfile >> "ServerConfig" >> "Restart" >> "Message" >> "restartServer") remoteExec ["systemchat", -2];
} else {

	if (time >= _serverLockTime && !_serverLocked) then {
		private _v = _serverCommandPassword serverCommand "#lock";
		if (_v) then {
			_serverLocked = true;
			getText(configfile >> "ServerConfig" >> "Restart" >> "Message" >> "serverLocked") remoteExec ["systemchat", -2];
		};
	};

	if (time >= _initRestartTime && {_loopTimeMsg != _initRestartLoopTimeMsg}) then {
		_loopTimeMsg = _initRestartLoopTimeMsg;
		_restartLoopTime = _initRestartLoopTimeMsg;
		_restartTimeMsg = time;
	};

	if (time >= _restartTimeMsg) then {
		private _msg = getText(configfile >> "ServerConfig" >> "Restart" >> "Message" >> "restartServerIn");
		private _time = round(_restartTime - time);
		_msg = format["%1 %2", _msg, [_time, "HH:MM:SS"] call BIS_fnc_secondsToString];
		_msg remoteExec ["systemchat", -2];
		_restartTimeMsg = time + _loopTimeMsg;
	};
};
{
	if (alive _x) then {
		_serverCommandPassword serverCommand format["#kick %1", owner _x];
	};
} foreach (allplayers - entities "HeadlessClient_F");

_timeout = diag_tickTime + 30;
//_serverCommandPassword serverCommand "#restartserver";
_serverCommandPassword serverCommand "#shutdown";

  • 1




Яндекс.Метрика