@NeoLight3

Как отправить сообщение о смерти игрока в чат, только 1 раз?

У меня есть объект класса Life, в котором есть булевое поле death.
Я хочу проработать событие, при котором когда поле меняется с false (не мёртв) на true (мёртв)
Сервер отправлял ТОЛЬКО 1 РАЗ сообщение в чат.
Проблема в том что поле death, может быть со значением true некоторое время (из-за того что у игрока выскакивает меню Respawn, где до тех пор пока он не зареспавнится, его поле будет true), и из-за этого скрипт может сработать несколько раз.
public void CheckDeathPlayers()
        {
			for (int i = 0; i < UserList.users.Count; i++)
            {
				BetterNetworkUser player = UserList.users[i];
				Life plife = player.player.GetComponent<Life>();
                if (plife.bool_2)
                {
					DeathMsg(player.name, plife.string_0);
                }
            }
        }


P.S Доступа к исходному коду игры у меня нет, я просто пишу плагин под эту игру.
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
mezastel
@mezastel
Финансовая математика, программирование
Сделайте HashSet<string> в котором имена всех умерших игроков. Когда игрок умерает, проверьте, есть ли в этом HashSet имя. Если нет - делаете уведомление и добавляете это имя, а если уже есть - просто игнорите это событие.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы