[CS: Source] На админе выходящего в наблюдатели выполняется команда

Тема в разделе "Требуется", создана пользователем console1988, 31 июл 2015.

  1. console1988

    console1988

    Сообщения:
    84
    Симпатии:
    5
    Нужен небольшой плагин. Его суть:
    Когда админ с каким то флагом например ban выходит в наблюдатели на нём сервер выполняет команду. Какую конкретно уже скажу в ЛС
    Когда админ выходит из наблюдателей в игру на нём выполняется другая команда

    На Админе с флагом z ROOT
    Никакая команда не должна выполняться.

    На пользователях тоже ничего ненадо выполнять
     
  2. gibs

    gibs Фитиль народного волненья

    Сообщения:
    536
    Симпатии:
    133
    PHP:
    #pragma semicolon 1

    #include <sourcemod>
    #include <cstrike>

    public OnPluginStart()
    {
        
    HookEvent("player_team"Event_PlayerTeam);
    }

    public 
    Event_PlayerTeam(Handle:event, const String:name[], bool:dontBroadcast)
    {
        new 
    client GetClientOfUserId(GetEventInt(event"userid"));
        new 
    bits GetUserFlagBits(client);
        if(
    bits && !(bits ADMFLAG_ROOT))
        {
            new 
    new_team GetEventInt(event"team");
            if(
    new_team != CS_TEAM_SPECTATOR)
                return;
            
            new 
    old_team GetEventInt(event"oldteam");
            if(
    old_team <= 1)
                return;
            
            
    ServerCommand("sm_kick #%d"GetClientUserId(client));
        }
    }
     
  3. AlmazON

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

    Сообщения:
    4.509
    Симпатии:
    1.962
    А ты уверен, что все эти return будут оптимальнее, чем расписать функцию на выполнение? Оффтоп
     
  4. console1988

    console1988

    Сообщения:
    84
    Симпатии:
    5
    этот код выполняет условие если админ зашёл в наблюдатели

    а как сделать условие, чтобы он еще выполнял команду когда админ заходит за Т
    и заходит за КТ?

    и кстати срабатывает через раз
     
    Последнее редактирование: 1 авг 2015