Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
pekar0201

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

Recommended Posts

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:

Share this post


Link to post
Share on other sites



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?

Edited by HellBoy (see edit history)

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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 раз в секунду.

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

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

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.