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

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

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

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

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

Скрипт на ванильный замок

Ребята нужен скрипт, чтобы ванильный замок запоминал владельца и повторно не вводил пароль
А просто спокойно мог открывать воротину
По типу как кодлок модовый но без новой модели и без меню ввода 
Если что готов купить 

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


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

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

  • 0
2 часа назад, Thomas сказал:

@123new Мне уже стыдно второй раз кидать) image.png.504ea2ac99a920b2ec4e5d421868ea44.png

учитесь разбирать ошибки и скриптить, это в ваших интересах

modded class CombinationLock extends ItemBase
{
	ref array <string>  EnteredPassword = new ref array <string>;
	
	override void UnlockServer( EntityAI player, EntityAI parent )
	{
		super.UnlockServer( player, parent );
		if(player)
		{
			private PlayerBase player_b = PlayerBase.Cast(player);
			private PlayerIdentity p_identity = player_b.GetIdentity();
			if(p_identity)
			{
				private string Steam64ID_Player = p_identity.GetPlainId();
				if(!IsKnownUser(Steam64ID_Player))
				{
					EnteredPassword.Insert(Steam64ID_Player);
				}
			}
		}
	}
	bool IsKnownUser(string Steam64ID)
	{
		if(EnteredPassword.Find(Steam64ID) >= 0)
		{
			return true;
		} else
		{
			return false;
		}
	}
}

modded class ActionDialCombinationLockOnTarget
{

	override void OnFinishProgressServer( ActionData action_data )
	{	
		private bool used_custom = false;
		private string Steam64ID_Player = "uncnown";
		if(action_data.m_Player)
		{
			PlayerIdentity p_identity = action_data.m_Player.GetIdentity();
			if(p_identity)
			{
				Steam64ID_Player = p_identity.GetPlainId();
			}
		}
		if(Steam64ID_Player != "uncnown")
		{
			ConstructionActionData construction_action_data = action_data.m_Player.GetConstructionActionData();
			CombinationLock combination_lock =  construction_action_data.GetCombinationLock();
			if ( combination_lock )
			{
				if(combination_lock.IsKnownUser(Steam64ID_Player))
				{
					used_custom = true;
					combination_lock.DialNextNumber();
					EntityAI target_entity = EntityAI.Cast( action_data.m_Target.GetObject() );
					combination_lock.UnlockServer( action_data.m_Player, target_entity.GetHierarchyParent() );
				}
			}
		}
		if(!used_custom)
		{
			super.OnFinishProgressServer( action_data );
		}
	}
}

сервер запускается нормально. На сервере не тестил

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

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


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





  • 0
modded class CombinationLock extends ItemBase
{
	ref array <string>  EnteredPassword = new ref array <string>;
	
	override void UnlockServer( EntityAI player, EntityAI parent )
	{
		super.UnlockServer( player, parent );
		if(player)
		{
			private PlayerIdentity p_identity = player.GetIdentity();
			if(p_identity)
			{
				private string Steam64ID_Player = p_identity.GetPlainId();
				if(!IsKnownUser(Steam64ID_Player))
				{
					EnteredPassword.insert(Steam64ID_Player);
				}
			}
		}
	}
	bool IsKnownUser(string Steam64ID)
	{
		if(EnteredPassword.Contains(Steam64ID))
		{
			return true;
		} else
		{
			return false;
		}
	}
}

+

modded class ActionDialCombinationLockOnTarget
{

	override void OnFinishProgressServer( ActionData action_data )
	{	
		private bool used_custom = false;
		private string Steam64ID_Player = "uncnown";
		if(action_data.m_Player)
		{
			PlayerIdentity p_identity = action_data.m_Player.GetIdentity();
			if(p_identity)
			{
				private string Steam64ID_Player = p_identity.GetPlainId();
			}
		}
		if(Steam64ID_Player != "uncnown")
		{
			ConstructionActionData construction_action_data = action_data.m_Player.GetConstructionActionData();
			CombinationLock combination_lock =  construction_action_data.GetCombinationLock();
			if ( combination_lock )
			{
				if(combination_lock.IsKnownUser(Steam64ID_Player))
				{
					used_custom = true;
					combination_lock.DialNextNumber();
					EntityAI target_entity = EntityAI.Cast( action_data.m_Target.GetObject() );
					combination_lock.UnlockServer( action_data.m_Player, target_entity.GetHierarchyParent() );
				}
			}
		}
		if(!used_custom)
		{
			super.OnFinishProgressServer( action_data );
		}
	}
}

В теории этого достаточно, не проверял код. Должен до рестарта введенные верные пароли запоминать.

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
3 минуты назад, Thomas сказал:
private string Steam64ID_Player = p_identity.GetPlainId();

на

Steam64ID_Player = p_identity.GetPlainId();

 

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


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

@123new Мне уже стыдно второй раз кидать) image.png.504ea2ac99a920b2ec4e5d421868ea44.png

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


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

@123new Большое спасибо, работает 

 

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


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

Интересный скрипт)А куда добавлять?На серверную или клиентскую часть?

 

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


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

Интересный скрипт)А куда добавлять?На серверную или клиентскую часть?

 

серверной думается достаточно))

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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