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

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

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

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

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

HELP!!! Кик игрока если нет UID игрока в whitelist

Всем доброго времени суток. Я новичок во всех этих скриптовых делах, по этому и прошу о помощи.
Нужно реализовать скрипт для сервера DayZ 1.04 который будет проверять игрока каждые 3 мин на присутствие UID в whitelist если нет UID в whitelist то кикнуть игрока.

За ранние спасибо.

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

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


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

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

  • 0

Troy1 ссылку на вайтлист ты забыл указать

 

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


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





  • 0

Troy1 По существу

 

Подключили вайтлист в файле (вне класса) миссии (ну или init.c)

#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\WhiteList\\Server_WhiteList_Class.c" //Server_WhiteList
ref Server_WhiteList_Class Server_WhiteList = new Server_WhiteList_Class();

 

проинитили в OnInit() в классе миссии

добавили функцию проверки и вызываем ее по таймеру

 

class CustomMission : MissionServer
{	
		//тут остальной код в классе

	override void OnInit()
	{
		super.OnInit(); //это вставлять всегда обязательно!
		Server_WhiteList.Init();
		
		//Запуска функции CheckPlayersOnFly() каждые 60сек (60000мс) которая будет проверять на лету игроков по вайтлисту
		GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(CheckPlayersOnFly, 60000, true); //имя функции , время, true = повторять

		//тут остальной код в функции
	}

	//Функция будет проверять на лету игроков по вайтлисту
	void CheckPlayersOnFly();
	{
		array<Man> players = new array<Man>;
		GetGame().GetPlayers( players );
		for ( int i = 0; i < players.Count(); ++i ) //перебираем всех игроков
		{
			if (players[i].GetIdentity() && players[i].IsAlive()) //если игрок подключен и живой
            {
				if (!Server_WhiteList.CheckWBListConnectAllow(players[i], players[i].GetIdentity())
				{
					Server_WhiteList.KickPlayer(players[i], players[i].GetIdentity(),2); //IF KICK //2 = not white listed
				}
            }
		}
	}
		//тут остальной код в классе
}

 

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

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


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

Troy1 на тему с вайтлистом

а то откуда кто знает про какой вайтлист идет речь

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


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

BorizzK Спасибо по пробую. Ссылка с темы.

 

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

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


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

Troy1 ну я собственно выше уже все расписал

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


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

BorizzK Спасибо работает.:relaxed: 
Ещё один вопрос а можно добавить вывод сообщение игроку за что его кикнуло ?

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


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

Troy1 Там вроде пишется перед киком

Тк установлен таймаут кака

Увеличте таймаут в файле конфига ну скажем на 10 сек

Ему напишет а потом кикнет

Все есть внутри скрипта

Откройте почитайте

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


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

BorizzK Не понял маленько ?

Что за Тк и Кака?

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


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

Troy1 так как установлен таймаут кика

Файл откройте, прочтите каменты

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


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

BorizzK Какой именно файл открыть и прочитать Server_WhiteList_Class этот или тот который сегодня написали?

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

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


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

Troy1 сам вайтлист

Там есть сообщуги

Ну или вставте сообщение игроку тут, внутри условия

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


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

Если вам нужен вайтлист в любом виде - лучше реализуйте через BEC. Будет кикать еще до подключения к миру. Имеет команды, авторестартит и прочие радости.

https://github.com/XxFri3ndlyxX/Battleye-Bec-DayZ-Auto_Restart

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


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

SinSin BEC Стоит у меня но он только выполняет рестарты. А вайт лист в BEC не работает с UID!

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


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

BorizzKМожно пример?

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


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

spiritofkill А я говорю что ВЕС Не видит UID в вайт листе он видит только GUID! Я сам только вчера проверял.
И вот тому доказательства. https://github.com/XxFri3ndlyxX/Battleye-Bec-DayZ-Auto_Restart/blob/master/battleye/Bec/Config/WhiteList.txt

 

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

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


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

Если пиратка, то вайтлист нужен, на лицухе он вообще не нужен.

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

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
1 час назад, BorizzK сказал:

danisimus Почему не нужен?

Не вижу смысла на лицухе делать вайтлист 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
3 часа назад, spiritofkill сказал:

Troy1 почему бы по GUID не сделать?

По GUID Сложнее так как его нужно получить клиенту до входа на сервер и вписать в вайт лист на сервере.
А как получить GUID с клиента если бы кто то поделился кодом на C# было бы супер.

Но отмечу сразу что GUID приватного клиента отличается от пиратского, даже тот же UID меняется.

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


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

Troy1 непонятные заморочки, когда уже есть все готовое и работает. Ну да ладно, тебе виднее, тут есть Вайт скриптовый но с GUID по моему.

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
3 минуты назад, spiritofkill сказал:

Troy1 непонятные заморочки, когда уже есть все готовое и работает. Ну да ладно, тебе виднее, тут есть Вайт скриптовый но с GUID по моему.

Хорошо покажи как будет лаунчер автоматический получать и отправлять GUID на сервер.
И то отправить я его смогу но как получить его ?

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

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


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

Troy1 Что тебе показать? в ВЕС все реализовано. А так как хочешь ты, дали тебе темуЮ там по UID и все работает.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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