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

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

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

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

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

Убийство игрока при попытки выйти с сервера в состоянии бессознания (унка)

Добрый день товарищи, собственно сабж, может у кого то завалялся готовый скрипт и он готов им поделиться или подскажет направление написания.

Очень прошу и заранее спасибо!

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

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


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

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

  • 0

В общем пофиксили

в missionServer.c есть метод HandleBody в нём есть условие, если игрок выходит в бессознанке или со связанными руками, то убивать его.С учетом того, что сохранение игрока в БД происходит ДО выполнения этой функции, мы и получаем дюп.Ибо мы игрока в БД уже сохранили, а потом его убили - строка player.SetHealth("", "", 0.0);
У себя мы просто заменили player.SetHealth("", "", 0.0); на player.Delete();

Но вы должны понимать, что вместе с таким фиксом дюпа, у вас будут удаляться тушки игроков, которые вышли в бессознанке или со связанными руками.То есть например в пвп, игрок вася стреляет в игрока петю, петя падает в бессознанку и выходит из сервера, вот тушка пети вместе с лутом пропадёт.Стоит оно того или нет, решать вам.

Чуть позже добавлю мод в стим и кину ссылку

	
	void HandleBody(PlayerBase player)
	{
		if (player.IsAlive() && !player.IsRestrained() && !player.IsUnconscious())
		{
			// remove the body
			player.Delete();	
		}
		else if (player.IsUnconscious() || player.IsRestrained())
		{
			// kill character
			player.SetHealth("", "", 0.0);
		}
	}

 

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

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


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

@sovcomrad какой скрипт то?
Это ваниль же, когда выход в унке = смерть

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


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

@sovcomrad какой скрипт то?
Это ваниль же, когда выход в унке = смерть

слушай, ну я тестил на ванили, не работает

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


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

слушай, ну я тестил на ванили, не работает

Как бы только что на ванили такое провернул = работает.

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


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

ванили у вас не той системы....?

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

Поддержка