Revive Teammates [Modular] 1.1.0

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
154
Реакции
46
Помог
5 раз(а)
Ошибка
застревание игрока при оживлении трупа, который ушел в спектры
ОС
Linux
Amx Mod X
1.9.0.5294
Билд
3.12.0.782-dev
ReGamedll
5.21.0.577-dev
Версия Metamod
1.3.0.131
Список метамодулей
-
Список плагинов
-
Автор плагина
Albertio
Версия плагина
1.1.0
Исходный код
https://dev-cs.ru/resources/1441/
Просьба помочь исправить критический баг в плагине Revive Teammates [Modular] 1.1.0
Меня убили и тут же начали возрождать при этом я успел в спектора зайти а мой труп лежал и игрок который возрождал в нем застрял
возможно кто-то сможет реализовать предложенное решение
в форварде loop_pre проверят команду игрока, и если она == TEAM_SPECTATOR || == TEAM_UNASSIGNED то ретурнить.
p.s. автор данного плагина остался без ноутбука и доработать самостоятельно его не может
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
3,256
Реакции
1,436
Помог
121 раз(а)
Ну вообще странно, т.к. все проверки по коду есть.
Проверка на зрителя при создании трупа:
Код:
public MessageHook_ClCorpse()
...

    static TeamName:iPlTeam;
    iPlTeam = get_member(iPlayer, m_iTeam);

    if(iPlTeam == TEAM_SPECTATOR)
        return PLUGIN_HANDLED;
Проверка на то, сменил ли игрок команду после того как его труп был создан:
Код:
public Corpse_Think(const iEnt)
...
    iPlTeam = get_member(iPlayer, m_iTeam);
    iEntTeam = get_entvar(iEnt, var_team);
...
    if(iEntTeam != iPlTeam)
    {
        UTIL_NotifyClient(iActivator, print_team_red, "RT_CHANGE_TEAM");
        return;
    }
 
Сообщения
850
Реакции
144
Помог
25 раз(а)
Точно такое же замечал на последней версии. Вообще, можно попробовать взять сток из unstuck плагина, и влепить его. И если игрок застрял - заюзать сток.
 
Сообщения
154
Реакции
46
Помог
5 раз(а)
Проверка на зрителя при создании трупа:
Проверка на то, сменил ли игрок команду после того как его труп был создан:
Тут видимо это не работает, т.к. проверка происходит при создании трупа, а когда труп уже создан его начинают оживлять, чел переходит в спектры после чего возникает проблема (но это как я понимаю, мб ошибаюсь)
 
Сообщения
3,256
Реакции
1,436
Помог
121 раз(а)
Сильно не копался в плагине, но возможно вот это поможет:
Код:
    if(iEntTeam != iPlTeam)
    {
        UTIL_NotifyClient(iActivator, print_team_red, "RT_CHANGE_TEAM");
+       UTIL_ResetEntityThink(g_eForwards[ReviveCancelled], iEnt, iPlayer, iActivator, eCurrentMode);
        return;
    }
 
Сообщения
658
Реакции
462
Помог
10 раз(а)
Прикрепляйте видеопример ошибки(видео с демки), т.к. не понятно что значит застревание
Под застреванием можно все что угодно подписать, как флажок flfrozen, maxspeed в 1.0 или же вообще стак в обьекте-трупе
7 Фев 2023
Иначе это все выглядит как гадание на кофейной гуще
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу