[Любая игра] [Easy] Mute Players for vote

Тема в разделе "Отклонённые плагины", создана пользователем Александр Руднев, 8 ноя 2014.

  1. Александр Руднев

    Александр Руднев

    Сообщения:
    16
    Симпатии:
    6
    [Easy] Mute Players for vote

    Этот плагин выключает микрофон игрокам во время проведения голосования.

    PHP:
    #include <basecomm>

    new bool:tbool:p[MAXPLAYERS 1];
    public 
    OnPluginStart() CreateTimer(1.0vote_TIMER_REPEAT);

    public 
    Action:vote(Handle:hTimer) {
        if(
    IsVoteInProgress() && !t) {
            
    PrintToChatAll("\x05[\x01Vote\x05] \x01на время голосования всем отключён микрофон.");
            for(new 
    1<= MaxClientsi++) if(IsValidClient(i))
            { 
    m(i); } 
            
    true; }
        else if(!
    IsVoteInProgress() && t) {
            
    PrintToChatAll("\x05[\x01Vote\x05] \x01всем игрокам снова включён микрофон.");
            for(new 
    1<= MaxClientsi++) if(IsValidClient(i))
            { 
    u(i); }
            
    false; } 
        return 
    Plugin_Continue; }

    stock bool:IsValidClient(iClientbool:bReplay true
    {if(
    iClient <= || iClient MaxClients) return false; if(!IsClientInGame(iClient)) return false; if(bReplay && (IsClientSourceTV(iClient) || IsClientReplay(iClient))) return false; return true;}

    stock m(iClient) {p[iClient] = BaseComm_IsClientMuted(iClient); if(!p[iClient]) BaseComm_SetClientMute(iClienttrue);}
    stock u(iClient) if(!p[iClient]) BaseComm_SetClientMute(iClientfalse);

    stock ClearTimer(&Handle:hTimer) {if(hTimer != INVALID_HANDLE) {KillTimer(hTimer);    hTimer INVALID_HANDLE;}}
    Видел похожий плагин на иностранных серверах во время голосования всем отключался микрофон, что предотвращало лаги (особенно на посещаемых серверах)
    плагин не имеет переменных, минимум нагрузки. Тестировался долгое время в игре cs:go, ошибок замеченно не было.
     

    Вложения:

    Последнее редактирование: 8 ноя 2014
  2. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.566
    Симпатии:
    1.988
    Ты вообще можешь отличить переменные от кваров? Я думаю, про них велась речь, ибо переменных у тебя, похоже, даже больше нужного.
    И повторяющийся таймер в придачу)
    Это то для цикла проверок столько, включая на нулевой индекс и MaxClients?! У кого списал, да не подумал?
    Оффтоп
     
    Серый™ нравится это.
  3. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.000
    Симпатии:
    2.992
    Александр Руднев, я писал такой же в приват, но куда оптимальней.
     
  4. White Wolf

    White Wolf [] (int _n) -> double { return (_n % 2) == 0;}); Супер-модератор

    Сообщения:
    1.193
    Симпатии:
    424
    Плагин отклонён. Нечитабельность исходного кода.