Можно ли обойти mp_freezetime?

Сообщения
702
Реакции
54
Появился интересный вопрос, можно ли обойти mp_freezetime и разморозить какую-то команду или игрока?
Не охота просто выставлять его в 0 и пилить свою заморозку с оповещением, а вот чтоб таймер шёл для всех, но кто-то уже был разморожен это было бы куда кстати :)

Пробовал разморозить просто, но не сработало:
Код:
set_entvar(id, var_flags, get_entvar(id, var_flags) & ~FL_FROZEN);
Или же подменить на время условно циферки таймера, чтобы вернуть его в состояние, как буд-то мы ещё под влиянием mp_freezetime.
p.s. Как само время подменить, я знаю:
Код:
message_begin(MSG_ALL, get_user_msgid("RoundTime");
write_short(Time);
message_end();
А как визуально сделать, как буд-то ещё freezetime идёт, нет.

UPD: не знаю почему, но когда создаёшь тему, решение приходит быстрее :D В общем, надо создать таймер времени до конца раунда, т.к не нашёл ничего такого в инклудах, замораживать вручную и размораживать каждого в своё время, при этом меняя таймер сначала на сколько сек заморозил, потом на оставшееся время до конца раунда. Код позже скину.
 
Последнее редактирование:
Сообщения
57
Реакции
155
Помог
1 раз(а)
ThePhoenix, var_maxspeed выставить в хуке ResetMaxSpeed

Как-то так:

Код:
#define SPEED_FREEZETIME 300.0

RegisterHookChain(RG_CBasePlayer_ResetMaxSpeed, "HC_CBasePlayer_ResetMaxSpeed_Post", true);

public HC_CBasePlayer_ResetMaxSpeed_Post(iPlayer)
{
    if(get_member_game(m_bFreezePeriod) && get_member(iPlayer, m_iTeam) == TEAM_TERRORIST)
    {
        set_entvar(iPlayer, var_maxspeed, SPEED_FREEZETIME);
    }
}
 
Последнее редактирование:

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

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