бинд аллтока для админа

Тема в разделе "Team Fortress 2", создана пользователем Тимур Баранов, 1 авг 2013.

  1. Тимур Баранов

    Тимур Баранов

    Сообщения:
    7
    Симпатии:
    1
    Хотелось бы сделать бинд который при нажатии ключал бы аллток админу (что бы его все слышали) при отпускании все возвращалось на место. собстна нужна только SM_ команда которая отвечает за эту функцию. че то как ни искал, ни где не нашел.
     
  2. Ваня Олейник

    Ваня Олейник

    Сообщения:
    74
    Симпатии:
    14
    bind "z" "sm_rcon sv_alltalk 1" - bind "x" "sm_rcon sv_alltalk 0" - выключить
     
  3. Тимур Баранов

    Тимур Баранов

    Сообщения:
    7
    Симпатии:
    1
    как я понимаю в данный момент включиться общий алтак. я хочу что бы обе команды слышали только меня. а не друг друга. играешь допустим. и надо сделать замечание игроку из другой команды, но что бы команды при этом друг друга не слышали.
    тоесть эквивалет первого пункта comms comands в source mode
    а чтоб с нажиманием отпусканием лучше так:
    alias +alltalkon "sm_rcon sv_alltalk 1; +voicerecord"
    alias -alltalkon "-voicerecord; sm_rcon sv_alltalk 0"
    bind "x" "+alltalkon"
     
    Последнее редактирование: 1 авг 2013
  4. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    Пробуй
    PHP:
    #include <sourcemod>
    #include <sdktools_voice>

    new bool:IsClientAdmin[MAXPLAYERS 1] = {false, ...};

    public 
    OnClientPostAdminCheck(client)
    {
        if (
    GetUserAdmin(client) != INVALID_ADMIN_ID)
        {
            
    IsClientAdmin[client] = true;
        }
    }

    public 
    OnClientDisconnect(client)
    {
        if (
    IsClientAdmin[client])
        {
            
    IsClientAdmin[client] = false;
        }
    }

    public 
    Action:OnPlayerRunCmd(client, &buttons, &impulseFloat:vel[3], Float:angles[3], &weapon)
    {
        if (
    IsClientAdmin[client])
        {
            new 
    bool:check buttons IN_USE true false;
            
    SetClientListeningFlags(clientcheck VOICE_LISTENALL VOICE_SPEAKALL VOICE_NORMAL);
            
    PrintCenterText(client"Теперь вы %sможете говорить со всеми"check "" "не ");
        }
    }
    Нажимать E (использовать)
     
    Последнее редактирование: 1 авг 2013
  5. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    The End Is Near..., Брать постоянно GetUserAdmin в OnPlayerRunCmd - это же пипец... Тем более ты КАЖДЫЙ OnPlayerRunCmd для всех админов ставишь флаги разговора - нужно кешировать все...
     
  6. Тимур Баранов

    Тимур Баранов

    Сообщения:
    7
    Симпатии:
    1
    решил вопрос. при наличии на сервере плагина Admin Sentinel все работает и выглядит вот так:
    alias "+admintalk" "sm_talktoserver 1; +voicerecord"
    alias "-admintalk" "-voicerecord; sm_talktoserver 0;"
    bind "x" "+admintalk"
     
    KorDen нравится это.