Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
pekar0201

Кик игроков перед рестартом

Рекомендованные сообщения

1. Откройте ваш Init.sqf и вставьте это к вашим остальным DZE_Variables (переменным(Конфиг тоесть)):

 

DZE_kick_before_restart = true; //Enable the kick before restart true/false
DZE_kick_time = [1,59]; //Time to kick players [1,59] will kick at 1 hr and 59 minutes uptime


2. Откройте Player_UpdateGui.sqf и найдите:

 

_blood = "";

 

3. Ниже этого вставьте: 

 

if (DZE_kick_before_restart) then {
	_Serverhours = floor((servertime)/60/60);
	_Serverminutes = floor((servertime)/60) - (_Serverhours*60);
	_ServerKickhours = DZE_kick_time select 0;
	_ServerKickminutes = DZE_kick_time select 1;
	if ((_Serverhours == _ServerKickhours)&&(_Serverminutes == _ServerKickminutes)) exitWith {
		[] spawn {
			systemChat "SERVER: Restart detected! Logging you out to prevent gear loss..";
			cutText [format["Restart detected! Logging you out to prevent gear loss.."], "PLAIN DOWN"];
			sleep 8;
			(findDisplay 49) closeDisplay 0;
			PVDZE_plr_Save = [player,(magazines player),true,true];
			publicVariableServer "PVDZE_plr_Save";
			player setVariable ["combattimeout",0,true];
			disableUserInput true;
			sleep 3;
			endMission 'loser'
		};
	};
};

Вот и всё, теперь можете забыть о потере лута при рестартах :)
Если вам понравилось, не забывайте ставить +  :good:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MagicByte MagicByte MagicByte

1. Откройте ваш Init.sqf и вставьте это к вашим остальным DZE_Variables (переменным(Конфиг тоесть)):

 

DZE_kick_before_restart = true; //Enable the kick before restart true/false
DZE_kick_time = [1,59]; //Time to kick players [1,59] will kick at 1 hr and 59 minutes uptime

 

2. Откройте Player_UpdateGui.sqf и найдите:

 

_blood = "";

 

3. Ниже этого вставьте: 

 

if (DZE_kick_before_restart) then {
	_Serverhours = floor((servertime)/60/60);
	_Serverminutes = floor((servertime)/60) - (_Serverhours*60);
	_ServerKickhours = DZE_kick_time select 0;
	_ServerKickminutes = DZE_kick_time select 1;
	if ((_Serverhours == _ServerKickhours)&&(_Serverminutes == _ServerKickminutes)) exitWith {
		[] spawn {
			systemChat "SERVER: Restart detected! Logging you out to prevent gear loss..";
			cutText [format["Restart detected! Logging you out to prevent gear loss.."], "PLAIN DOWN"];
			sleep 8;
			(findDisplay 49) closeDisplay 0;
			PVDZE_plr_Save = [player,(magazines player),true,true];
			publicVariableServer "PVDZE_plr_Save";
			player setVariable ["combattimeout",0,true];
			disableUserInput true;
			sleep 3;
			endMission 'loser'
		};
	};
};

Вот и всё, теперь можете забыть о потере лута при рестартах :)

Если вам понравилось, не забывайте ставить +  :good:

На какое время дефолтные настройки. Как поменять на рестарты, если раз в 3 часа, или 4?

Изменено пользователем HellBoy (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На какое время дефолтные настройки. Как поменять на рестарты, если раз в 3 часа, или 4?

DZE_kick_time = [1,59]; - Тоесть будет кикать игроков когда сервер будет включен 1 час, 59минут...

Думаю всё понятно... :wink: 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это кик игроков по аптайм(времени работы) сервера.

А сервер иногда запускают ручками => никакого кика по времени не будет.

Время начинает тикать с момента захода на сервер первого игрока..., да и то с оговоркой, что в первые 5 минут, оно не синхронизировано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

P.S.

1. Как вариант, мб кому и полезно будет.

2.

 _Serverhours = floor((servertime)/60/60);

 

После данной строки, можно сразу ставить условие -

 

 if (_Serverhours == (DZE_kick_time select 0)) then

..........

И только при условии, что час уже совпал, получать минуты

 

_Serverminutes = floor((servertime)/60) - (_Serverhours*60);

 

Далее делать вторую проверку

 

 if (_Serverminutes == (DZE_kick_time select 1)) then

.....

 

*Сравнения IF самые быстрые. - Не зачем производить лишние вычисления минут, если часы расходятся.

 

3. У updateGUI частота обновления достаточно высокая. Мб лучше в собственный скрипт запихать с условием

while {true} do

...

и выставить

uiSleep 30;

 

т.е. два раза в минуту делать данную проверку, вместо того чтоб дергать ее вместе гуи по 10 раз в секунду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

боюсь что игрок может потерять технику при сбое)

задумка интересна, но я бы не рискнул...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: Makliion
      Всем добрый вечер..
      У меня такой вопрос где найти или заказать скрипт для обыска зомбей & игроков 
      что-бы каждую вещь снимать через действие а не тупо через таб
      Шлем отдельно
      Рюкзак отдельно
      ну и на все остальные слоты
      искал долго не нашёл ничего
      есть мод на обыск но он просто открывает  инвентарь и все 
       
    • Автор: Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. На сервере есть трейдер зоны и базы игроков. 
      Если в течение определённого времени, на пример 1 - 2 часа с машиной не кто не взаимодействует и машина не находится в зоне трейдера или на теретории базы, то машина отлетает в гараж или на штраф стоянку.
      На сервере используется TraderPlus.
       
      Есть такие решения у кого?
      За ранние благодарю.
    • Автор: Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. Нужно сделать так, что бы на всей карте был запрет на строительство. 
      Если нужно построить например базу с палатками, то нужно установить верстак или флаг, который установит зону для строительства с радиусом примерно 20-25 метров от центра и желательно что бы зона была квадратной.
      Есть такие решения у кого?
      За ранние благодарю.
    • Автор: BR0wi
      Подскажите где найти людей, которые делаю моды на заказ. К кому вообще обращаться? Или что бы реализовать свои идеи нужно самому "год" сидеть и изучать все механики модинга?
    • Автор: CubeIn
      Приветствую господа, хочу создать новый проект, уникальный, но для этого нужен маппер.
      Я оставлю здесь свой дискрод, напишите в лс, кто готов взяться за крупный проект.
      4me#4542
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.

Поддержка