Поиск Блок микро и чата после перезапуска карты

Сообщения
365
Реакции
75
Предупреждения
15
Помог
1 раз(а)
Всем привет. Подскажите есть ли такой плагин, который блочит микро и чат всем игрокам после перезапуска карты на определенное время.
Это необходимо только тогда, когда сменилась карта. Если надо объясню зачем это мне нужно.
Если нету придется заказывать тогда :smile3:
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
GALAXY, можно самому склепать с помощью таска и пары хуков: RG_CSGameRules_CanPlayerHearPlayer и RG_CSGameRules_CheckMapConditions
 
Сообщения
365
Реакции
75
Предупреждения
15
Помог
1 раз(а)
Minni, ну то что ты можешь я знаю) вообщем я так понимаю в открытом доступе такого нет плагина. Да и зачем он кому то нужен :pardon:
 
Сообщения
1,701
Реакции
1,512
Помог
26 раз(а)
Ненормативная лексика, завуалированный мат
Не тестировал.
Код:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

#define TIME_BLOCK_VOICE_CHAT            120.0

new Float:g_flTimeReuseHear[MAX_PLAYERS + 1];

new HookChain:g_iForward_CanPlayerHearPlayer_Pre;

public plugin_init()
{
    register_plugin("Block All Chats On Map Start", "1.0", "Ноунейм");

    register_clcmd("say", "@Command_Say");
    register_clcmd("say_team", "@Command_Say");

    g_iForward_CanPlayerHearPlayer_Pre = RegisterHookChain(RG_CSGameRules_CanPlayerHearPlayer, "@CCSGameRules_CanPlayerHearPlayer_Pre", false);
}

@Command_Say(const iPlayer)
{
    new Float:flTime = get_gametime();

    if (flTime < TIME_BLOCK_VOICE_CHAT)
    {
        client_print(iPlayer, print_chat, "Чат запрещен ещё %.0f секунд", TIME_BLOCK_VOICE_CHAT - flTime);
        return PLUGIN_HANDLED_MAIN;
    }

    return HC_CONTINUE;
}

@CCSGameRules_CanPlayerHearPlayer_Pre(const iListener, const iSender)
{
    new Float:flTime = get_gametime();

    if (flTime < TIME_BLOCK_VOICE_CHAT)
    {
        if (g_flTimeReuseHear[iSender] < flTime)
            client_print(iSender, print_chat, "Запрещено говорить в начале карты. Осталось: %.0f секунд", TIME_BLOCK_VOICE_CHAT - flTime);

        g_flTimeReuseHear[iSender] = flTime + 1.0;

        SetHookChainReturn(ATYPE_INTEGER, false);

        return HC_BREAK;
    }

    DisableHookChain(g_iForward_CanPlayerHearPlayer_Pre);

    return HC_CONTINUE;
}
 
Последнее редактирование модератором:
Сообщения
365
Реакции
75
Предупреждения
15
Помог
1 раз(а)
fl0wer, ого. Спасибо большое. Сегодня обязательно протестирую.
 

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

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