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

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

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

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

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

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

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


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

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

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

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

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


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

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


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



  • 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, в противном случае мы будем считать, что вы согласны с этим.