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

Упомянутые в теме пользователи:

Показано с 1 по 5 из 5

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Новичок Аватар для Lilacx
    Регистрация
    31.05.2023
    Сообщений
    23
    Поблагодарил(а)
    0
    Получено благодарностей: 9 (сообщений: 7).
    Репутация: 9

    Предложение по анти-снайпу

    Приветствую!

    Ранее я уже писал тему о проблеме снайпа, которая демотивирует многих игроков.
    В ответ была реализована фича с отображением локации "Неизвестно" при нахождении игрока на кросс-сервере.

    Глобально это проблему не решило так как по самому факту смены статуса легко понять, что человек зашёл в арену, и по таймингу можно отследить конец боя.

    Предложение:
    Добавить задержку обновления локации в списке друзей при переходе на кросс-сервер или при смене зоны внутри него.

    После входа в кросс-сервер (или смены арены внутри него) локация игрока остаётся прежней ещё 60 секунд, а потом уже обновляется на "Неизвестно" или на реальную арену.

    Пример:
    Игрок заходит из Даларана в арену Награнд →
    в течение 60 секунд в списке друзей всё ещё отображается «Даларан»,
    и только после минуты меняется на «Неизвестно» (или «Арена Награнда»).

    Так как система уже умеет подменять строку "Неизвестно", доработку можно сделать прямо в том же месте, где сервер отправляет обновление статуса друзьям (SMSG_FRIEND_STATUS или аналогичная функция в PlayerSocial).

    Логика примерно такая:

    Код:
    if (player->IsInCrossServer()) {
        time_t now = time(nullptr);
        if (now - player->GetLastZoneChangeTime() < 60)
            locationString = player->GetLastKnownZoneName(); // показываем предыдущую зону
        else
            locationString = "Unknown"; // или реальную арену
    }

    То есть вместо мгновенной замены — просто добавляется таймер в 60 секунд.
    Никаких глобальных изменений или лишней нагрузки это не создаёт.

    Преимущества:
    • Полностью устраняет возможность отслеживать находится ли игрок на арене
    • Не ломает функционал списка друзей.
    • Легко реализуется — текущее решение уже затрагивает вывод локации.
    • Не требует изменения клиентской части.

  2. 1 пользователь сказал cпасибо Lilacx за это полезное сообщение:

    Anime 1love (02.11.2025)

Похожие темы

  1. Уу.Эээ,йа,йа.йа.
    от Всегдазима в разделе WoW Circle 3.3.5a x5
    Ответов: 1
    Последнее сообщение: 11.08.2021, 23:53
  2. йзйзйзййзйзз
    от evix в разделе Нарушители
    Ответов: 1
    Последнее сообщение: 31.01.2019, 13:26
  3. Ответов: 0
    Последнее сообщение: 04.03.2017, 02:54
  4. Ответов: 1
    Последнее сообщение: 28.05.2016, 08:28
  5. Ответов: 1
    Последнее сообщение: 09.10.2014, 06:23

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •