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

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

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

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

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

Здравствуйте! Как сделать, чтобы с сервера автоматически кикало игроков без ника ( с ником survivor)? Заранее благодарен за помощь!

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


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

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

  • 0
Только что, PREFIX сказал:

тяжелый случай.

Твой - да. Если ты не в состоянии перечитать сообщения человека, которому я ответил. Цитирую: «Кто поможет с данным скриптом? готов оплатить его - надоели Survivor. BEC почему то не работает c badnames.txt». 


Ты думаешь он не знает про CF Tools? Или просто он не хочет юзать его?) Платить ежемесячно за одну нужную ему функцию?)

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


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

Всем спасибо - попробую через cfcloud поюзать

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


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

Вы б чем собачиться, лучше б человеку помогли.

 

05.05.2023 в 13:28, MaxPayne86 сказал:

Кто поможет с данным скриптом? готов оплатить его - надоели Survivor. BEC почему то не работает c badnames.txt

По сути все что надо описали еще тут

А скриптом я б сделал примерно так.

Важно - код не тестил:

modded class MissionServer extends MissionBase
{
	// Bad NickName Tags
	array <string> BadNickNamesTags = {"Survivor","Player"};
	
	bool EnableWriteScriptLog = true; //Set true for enable logs in script.log filename
	string Tag_Script_Log = "[Check NickName Players]"; // Tag for logs in script.log filename	
	
	override void OnClientReadyEvent(PlayerIdentity identity, PlayerBase player)
	{
		super.OnClientReadyEvent(identity,player);
		
		if(identity)
		{
			if(identity.GetName())
			{
				private string Name_P = identity.GetName();				
				private string UID_P = identity.GetPlainId();
				private string Game_UID_P = identity.GetId();
				private string Game_ID_P = identity.GetPlayerId().ToString();					
				private string TEMP_MESSage_log = "[Player Name: " + Name_P + " Steam64ID: " + UID_P + " GAME_UID: " + Game_UID_P + "]";
				
				bool searched_block = false;
				foreach(string NameTag:BadNickNamesTags)
				{
					if((NameTag) && (!searched_block))
					{
						if(Name_P.Contains(NameTag))
						{
							if(EnableWriteScriptLog)
							{
								Print(Tag_Script_Log + " Detected a '" + NameTag + "' in playername, Enabled next kick! " + TEMP_MESSage_log);
							}
							searched_block = true;
						}
					}
				}
				if(searched_block)
				{
					if(EnableWriteScriptLog)
					{
						Print(Tag_Script_Log + " Started a Kick player! " + TEMP_MESSage_log);
					}
					RunPlayerDisconnect(player);
				}
			}
		}
		
	}
	void RunPlayerDisconnect(PlayerBase player)
	{	
		if( player ) 
		{			
			GetGame().GetMission().OnEvent(ClientDisconnectedEventTypeID, new ClientDisconnectedEventParams(player.GetIdentity(), player, 0, false));
		}
	}
}

Сервермодом, в 5_Mission сунуть достаточно.

P.S. Причину кика скриптом не выведешь, насколько знаю. Т.е. просто вышвыривает в гл меню. Разве что поиграться на тему нотификации игроку перед киком, но не тестил как будет отображаться.

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

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


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

Твой - да. Если ты не в состоянии перечитать сообщения человека, которому я ответил. Цитирую: «Кто поможет с данным скриптом? готов оплатить его - надоели Survivor. BEC почему то не работает c badnames.txt». 


Ты думаешь он не знает про CF Tools? Или просто он не хочет юзать его?) Платить ежемесячно за одну нужную ему функцию?)

я с ним в дискорде пообщался он не знает про сфклауд.

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


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

Вы б чем собачиться, лучше б человеку помогли.

 

По сути все что надо описали еще тут

А скриптом я б сделал примерно так.

Важно - код не тестил:

modded class MissionServer extends MissionBase { // Bad NickName Tags array <string> BadNickNamesTags = {"Survivor","Player"}; bool EnableWriteScriptLog = true; //Set true for enable logs in script.log filename string Tag_Script_Log = "[Check NickName Players]"; // Tag for logs in script.log filename override void OnClientReadyEvent(PlayerIdentity identity, PlayerBase player) { super.OnClientReadyEvent(identity,player); if(identity) { if(identity.GetName()) { private string Name_P = identity.GetName(); private string UID_P = identity.GetPlainId(); private string Game_UID_P = identity.GetId(); private string Game_ID_P = identity.GetPlayerId().ToString(); private string TEMP_MESSage_log = "[Player Name: " + Name_P + " Steam64ID: " + UID_P + " GAME_UID: " + Game_UID_P + "]"; bool searched_block = false; foreach(string NameTag:BadNickNamesTags) { if((NameTag) && (!searched_block)) { if(Name_P.Contains(NameTag)) { if(EnableWriteScriptLog) { Print(Tag_Script_Log + " Detected a '" + NameTag + "' in playername, Enabled next kick! " + TEMP_MESSage_log); } searched_block = true; } } } if(searched_block) { if(EnableWriteScriptLog) { Print(Tag_Script_Log + " Started a Kick player! " + TEMP_MESSage_log); } RunPlayerDisconnect(player); } } } } void RunPlayerDisconnect(PlayerBase player) { if( player ) { GetGame().GetMission().OnEvent(ClientDisconnectedEventTypeID, new ClientDisconnectedEventParams(player.GetIdentity(), player, 0, false)); } } }


modded class MissionServer extends MissionBase
{
	// Bad NickName Tags
	array <string> BadNickNamesTags = {"Survivor","Player"};
	
	bool EnableWriteScriptLog = true; //Set true for enable logs in script.log filename
	string Tag_Script_Log = "[Check NickName Players]"; // Tag for logs in script.log filename	
	
	override void OnClientReadyEvent(PlayerIdentity identity, PlayerBase player)
	{
		super.OnClientReadyEvent(identity,player);
		
		if(identity)
		{
			if(identity.GetName())
			{
				private string Name_P = identity.GetName();				
				private string UID_P = identity.GetPlainId();
				private string Game_UID_P = identity.GetId();
				private string Game_ID_P = identity.GetPlayerId().ToString();					
				private string TEMP_MESSage_log = "[Player Name: " + Name_P + " Steam64ID: " + UID_P + " GAME_UID: " + Game_UID_P + "]";
				
				bool searched_block = false;
				foreach(string NameTag:BadNickNamesTags)
				{
					if((NameTag) && (!searched_block))
					{
						if(Name_P.Contains(NameTag))
						{
							if(EnableWriteScriptLog)
							{
								Print(Tag_Script_Log + " Detected a '" + NameTag + "' in playername, Enabled next kick! " + TEMP_MESSage_log);
							}
							searched_block = true;
						}
					}
				}
				if(searched_block)
				{
					if(EnableWriteScriptLog)
					{
						Print(Tag_Script_Log + " Started a Kick player! " + TEMP_MESSage_log);
					}
					RunPlayerDisconnect(player);
				}
			}
		}
		
	}
	void RunPlayerDisconnect(PlayerBase player)
	{	
		if( player ) 
		{			
			GetGame().GetMission().OnEvent(ClientDisconnectedEventTypeID, new ClientDisconnectedEventParams(player.GetIdentity(), player, 0, false));
		}
	}
}

Сервермодом, в 5_Mission сунуть достаточно.

P.S. Причину кика скриптом не выведешь, насколько знаю. Т.е. просто вышвыривает в гл меню. Разве что поиграться на тему нотификации игроку перед киком, но не тестил как будет отображаться.

 

KickSurvivors/scripts/5_Mission/mission.c(1): Variable 'BadNickNamesTags' is not strong ref (missing autoptr?)

08.03.2019 в 22:58, BorizzK сказал:

override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity) { super.InvokeOnConnect(player, identity); if (identity.GetName().ToLower() == "Survivor") { GetGame().DisconnectPlayer(identity); } }


	override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity)
	{
		super.InvokeOnConnect(player, identity);
		if (identity.GetName().ToLower() == "Survivor")
		{
			GetGame().DisconnectPlayer(identity);
		}
	}
		

Но персы могут лочиться в базе

 

 

сервер сразу упадёт в таком случае

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


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

KickSurvivors/scripts/5_Mission/mission.c(1): Variable 'BadNickNamesTags' is not strong ref (missing autoptr?)

modded class MissionServer extends MissionBase
{
	// Bad NickName Tags
	ref array <string> BadNickNamesTags = {"Survivor","Player"};
	
	bool EnableWriteScriptLog = true; //Set true for enable logs in script.log filename
	string Tag_Script_Log = "[Check NickName Players]"; // Tag for logs in script.log filename	
	
	override void OnClientReadyEvent(PlayerIdentity identity, PlayerBase player)
	{
		super.OnClientReadyEvent(identity,player);
		
		if(identity)
		{
			if(identity.GetName())
			{
				private string Name_P = identity.GetName();				
				private string UID_P = identity.GetPlainId();
				private string Game_UID_P = identity.GetId();
				private string Game_ID_P = identity.GetPlayerId().ToString();					
				private string TEMP_MESSage_log = "[Player Name: " + Name_P + " Steam64ID: " + UID_P + " GAME_UID: " + Game_UID_P + "]";
				
				bool searched_block = false;
				foreach(string NameTag:BadNickNamesTags)
				{
					if((NameTag) && (!searched_block))
					{
						if(Name_P.Contains(NameTag))
						{
							if(EnableWriteScriptLog)
							{
								Print(Tag_Script_Log + " Detected a '" + NameTag + "' in playername, Enabled next kick! " + TEMP_MESSage_log);
							}
							searched_block = true;
						}
					}
				}
				if(searched_block)
				{
					if(EnableWriteScriptLog)
					{
						Print(Tag_Script_Log + " Started a Kick player! " + TEMP_MESSage_log);
					}
					RunPlayerDisconnect(player);
				}
			}
		}
		
	}
	void RunPlayerDisconnect(PlayerBase player)
	{	
		if( player ) 
		{			
			GetGame().GetMission().OnEvent(ClientDisconnectedEventTypeID, new ClientDisconnectedEventParams(player.GetIdentity(), player, 0, false));
		}
	}
}

 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
05.05.2023 в 17:28, MaxPayne86 сказал:

Кто поможет с данным скриптом? готов оплатить его - надоели Survivor. BEC почему то не работает c badnames.txt

У меня отлично работает 

 

Только сам вайт лист у меня не используется, а вот черный список отрабатывает как надо!!!

 

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

Поддержка