[Любая игра] DeadMute

Тема в разделе "Утверждённые плагины", создана пользователем Satan, 17 дек 2011.

  1. Satan

    Satan

    Сообщения:
    162
    Симпатии:
    338
    Описание: Плагин отключает микрофон игроку после смерти и включает при возрождении. Также отключается мирокфон игроку который перезашел на сервер и выбрал команду

    Настройки: в консоль sm_rcon DeadMute_enabled 1 - включить плагин (по умолчанию)
    sm_rcon DeadMute_enabled 0 - выключить плагин

    Требования: нет

    Обновил: добавил кварс

    P.S. Плагин написан "на колене" поэтому возможны ошибки.. если что пишите, исправлю.

    P.S.P.S. Незабываем говорить спасибо.

    Исходник:
    PHP:
    #include <sourcemod>
    #include <sdktools>

    new Handle:g_enbool:g_enabled;

    public 
    OnPluginStart()
    {

        
    g_en CreateConVar("DeadMute_enabled""1""Включить/Выключить отключение микрофона трупам"_true0.0true1.0);
        
    g_enabled GetConVarBool(g_en);
        
    HookConVarChange(g_enOnConVarChanged);

        
    HookEvent("player_spawn",         OnPlayerSpawn);
        
    HookEvent("player_death",         OnPlayerDeath);
        
        
    AddCommandListener(ChooseTeam,        "jointeam");
    }


    public 
    Action:OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
    {

        if (!
    g_enabled)
            return 
    Plugin_Handled;

        new 
    client GetClientOfUserId(GetEventInt(event"userid"));
        
        if (
    IsFakeClient(client))
            return 
    Plugin_Continue;
        
        if (
    IsPlayerAlive(client) && GetClientListeningFlags(client) == VOICE_MUTED)
            
    SetClientListeningFlags(clientVOICE_NORMAL);
        
        return 
    Plugin_Continue;
    }

    public 
    Action:OnPlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
    {

        if (!
    g_enabled)
            return 
    Plugin_Handled;

        new 
    client   =     GetClientOfUserId(GetEventInt(event"userid"));
        
        if (
    IsFakeClient(client))
            return 
    Plugin_Handled;
        
        if (
    GetClientListeningFlags(client) != VOICE_MUTED)
            
    SetClientListeningFlags(clientVOICE_MUTED);
        
        return 
    Plugin_Continue;
    }


    public 
    Action:ChooseTeam(client, const String:command[], args)  
    {
        if (!
    g_enabled)
            return 
    Plugin_Continue;

        if (
    client == 0)
            return 
    Plugin_Continue;
            
        
    decl String:teamString[3];
        
    GetCmdArg(1teamStringsizeof(teamString));
        new 
    Target_Team StringToInt(teamString);
        
        if (
    Target_Team && !IsPlayerAlive(client))
            
    SetClientListeningFlags(clientVOICE_MUTED);
            
        return 
    Plugin_Continue;
    }

    public 
    OnConVarChanged(Handle:convar, const String:oldValue[], const String:newValue[])
    {
        
    g_enabled bool:StringToInt(newValue);
    }
     

    Вложения:

    • DeadMute.smx
      Размер файла:
      3,1 КБ
      Просмотров:
      165
    • DeadMute.sp
      Размер файла:
      1,8 КБ
      Просмотров:
      174
    Последнее редактирование: 18 дек 2011
    stas-1997, GoDtm666, XtS и 4 другим нравится это.
  2. -xp-

    -xp-

    Сообщения:
    82
    Симпатии:
    7
    СПАСИБО ДРУЖИЩЕ!!!

    Потестил пока без косяков.

    А то эти нытики и неадекваты надоели!
     
  3. Satan

    Satan

    Сообщения:
    162
    Симпатии:
    338
    -xp-, обновил по твоей просьбе
     
    XaKER42rus и -xp- нравится это.
  4. -xp-

    -xp-

    Сообщения:
    82
    Симпатии:
    7
    ОТЛИЧНО! :good:
     
  5. XaKER42rus

    XaKER42rus

    Сообщения:
    137
    Симпатии:
    6
    Только в нем проблема нащет мута если админ ставит мут то в следущем раунде мут снимает этот плагин...
     
  6. -xp-

    -xp-

    Сообщения:
    82
    Симпатии:
    7
    Плагин написан "на колене" поэтому возможны ошибки.. если что пишите, исправлю.

    Поправит наверное?:)

    P.S. Если это возможно конечно-же!
     
    Последнее редактирование: 19 дек 2011
  7. Рамис Минабутдинов

    Рамис Минабутдинов

    Сообщения:
    1
    Симпатии:
    0
    Спасибо супер
     
  8. GoDtm666

    GoDtm666

    Сообщения:
    522
    Симпатии:
    558
    Молодец, хорошая идея.
     
  9. Stubin

    Stubin

    Сообщения:
    27
    Симпатии:
    0
    Здравствуйте а можно еще добавить чтобы умершие игроки не смогли использовать чат ???
     
  10. Черная вдова

    Черная вдова

    Сообщения:
    1.621
    Симпатии:
    234
    можно разрешаю
     
    Reiko1231 нравится это.