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
  • 0
Troy1

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

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

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

Edited by Troy1 (see edit history)

Share this post


Link to post
Share on other sites

Recommended Posts










  • 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
				}
            }
		}
	}
		//тут остальной код в классе
}

 

Edited by BorizzK (see edit history)

Share this post


Link to post
Share on other sites
  • 0

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

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

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
  • 0

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

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

Share this post


Link to post
Share on other sites
  • 0

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

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

Share this post


Link to post
Share on other sites
  • 0

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

Edited by Troy1 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

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

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

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

Share this post


Link to post
Share on other sites
  • 0

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

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

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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

 

Edited by Troy1 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

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

Edited by danisimus (see edit history)

Share this post


Link to post
Share on other sites
  • 0
1 час назад, BorizzK сказал:

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

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

Share this post


Link to post
Share on other sites
  • 0
3 часа назад, spiritofkill сказал:

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

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

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

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0
3 минуты назад, spiritofkill сказал:

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

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

Edited by Troy1 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

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

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

×
×
  • 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.