Как убрать в админке пункт "Отключить микрофон"

Тема в разделе "Counter-Strike: Source", создана пользователем djeck993, 1 сен 2013.

  1. djeck993

    djeck993

    Сообщения:
    40
    Симпатии:
    8
    Здравствуйте, установил
    SourceComms и нужда
    пункта в админке
    "Отключить микрофон"
    пропала. Подскажите как
    убрать данный пункт из
    админки чтобы его небыло
    видно и воспользоваться им
    нельзя было?
     
    Последнее редактирование: 1 сен 2013
  2. R1KO

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

    Сообщения:
    5.973
    Симпатии:
    2.980
    Re: Как убрать в админкепункт "Отключитьмикрофон"

    вырежи из sp.. хотя надо и себе убрать.. погодь, сейчас выложу.
     
    djeck993 нравится это.
  3. R1KO

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

    Сообщения:
    5.973
    Симпатии:
    2.980
    Re: Как убрать в админкепункт "Отключитьмикрофон"

    пробуй
     

    Вложения:

    • basecomm.rar
      Размер файла:
      12,9 КБ
      Просмотров:
      129
    Последнее редактирование: 2 сен 2013
    Ирина Спирина нравится это.
  4. White Wolf

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

    Сообщения:
    1.189
    Симпатии:
    413
    Исходник выкладывать уже запрещено?
     
  5. R1KO

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

    Сообщения:
    5.973
    Симпатии:
    2.980
    White Wolf, нужен исходник открой папку scripting от sm 1.5.0

    мне было лень загружать файлы или паковать в архив.
     
    Последнее редактирование: 8 сен 2015
  6. ★Сириус★

    ★Сириус★

    Сообщения:
    748
    Симпатии:
    199
    удали эти сроки из исходника basecomm.sp

    PHP:
        /* Account for late loading */ 
        
    new Handle:topmenu
        if (
    LibraryExists("adminmenu") && ((topmenu GetAdminTopMenu()) != INVALID_HANDLE)) 
        { 
            
    OnAdminMenuReady(topmenu); 
        } 
    PHP:
    public OnAdminMenuReady(Handle:topmenu

        
    /* Block us from being called twice */ 
        
    if (topmenu == hTopMenu
        { 
            return; 
        } 
         
        
    /* Save the Handle */ 
        
    hTopMenu topmenu
         
        
    /* Build the "Player Commands" category */ 
        
    new TopMenuObject:player_commands FindTopMenuCategory(hTopMenuADMINMENU_PLAYERCOMMANDS); 
         
        if (
    player_commands != INVALID_TOPMENUOBJECT
        { 
            
    AddToTopMenu(hTopMenu,  
                
    "sm_gag"
                
    TopMenuObject_Item
                
    AdminMenu_Gag
                
    player_commands
                
    "sm_gag"
                
    ADMFLAG_CHAT); 
        } 
    }
    и скомпилируй плагин, и не будет у тебя этого пункта в меню

    Добавлено через 3 минуты
    сам просто использую SourceComms и так сделал уже давно
     
    Последнее редактирование: 2 сен 2013
    Leckter Hannibal нравится это.
  7. R1KO

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

    Сообщения:
    5.973
    Симпатии:
    2.980
    Последнее редактирование: 2 сен 2013
  8. Ylarlde

    Ylarlde

    Сообщения:
    20
    Симпатии:
    11
    Не должно.
     
  9. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.563
    Симпатии:
    1.149
    Достаточно просто закоментировать
    PHP:
                AddToTopMenu(hTopMenu,   
                
    "sm_gag",  
                
    TopMenuObject_Item,  
                
    AdminMenu_Gag,  
                
    player_commands,  
                
    "sm_gag",  
                
    ADMFLAG_CHAT); 
     
    Ylarlde нравится это.
  10. Ylarlde

    Ylarlde

    Сообщения:
    20
    Симпатии:
    11
    Совершенно верно.
     
  11. ★Сириус★

    ★Сириус★

    Сообщения:
    748
    Симпатии:
    199
    не будет
     
  12. R1KO

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

    Сообщения:
    5.973
    Симпатии:
    2.980
    ★Сириус★, ага
    не заметил что не удалял
    new Handle:hTopMenu;
     
  13. Aleksandros

    Aleksandros

    Сообщения:
    167
    Симпатии:
    3
    Народ дайте рабочую версию, потестил версии "Рико" и "Сириуса", они не работают, т.е. пункт не убирается.
     
  14. pashek71

    pashek71

    Сообщения:
    171
    Симпатии:
    18
    Это просто невозможно, перезапусти сервер после установки плагина
     
  15. Aleksandros

    Aleksandros

    Сообщения:
    167
    Симпатии:
    3
    Что невозможно? Я перезапускал естественно.
     
  16. CaJI9pA

    CaJI9pA Олимпиец

    Сообщения:
    166
    Симпатии:
    37
    Не подскажите какой флаг относится к SourceComms чтобы выдавать игрокам функцию мута, вместо стандартной
     
  17. .SN.

    .SN.

    Сообщения:
    41
    Симпатии:
    0
    В исходник залезь и посмотри.
     
  18. Samoletik1337

    Samoletik1337

    Сообщения:
    69
    Симпатии:
    14
    Тут чет не так как у вас, посмотрите правильно заккоментил?
    UPD
    Ох, дату то создания темы я и не посмотрел вот почему не сходится то исходники xDDD

    PHP:


    #include <sourcemod>
    #include <sdktools>
    #undef REQUIRE_PLUGIN
    #include <adminmenu>

    #pragma semicolon 1

    public Plugin:myinfo =
    {
        
    name "Basic Comm Control",
        
    author "AlliedModders LLC",
        
    description "Provides methods of controlling communication.",
        
    version SOURCEMOD_VERSION,
        
    url "http://www.sourcemod.net/"
    };

    new 
    bool:g_Muted[MAXPLAYERS+1];        // Is the player muted?
    new bool:g_Gagged[MAXPLAYERS+1];    // Is the player gagged?

    ConVar g_Cvar_Deadtalk;                // Holds the handle for sm_deadtalk
    ConVar g_Cvar_Alltalk;                // Holds the handle for sv_alltalk
    new bool:g_Hooked false;            // Tracks if we've hooked events for deadtalk

    TopMenu hTopMenu;

    new 
    g_GagTarget[MAXPLAYERS+1];

    #include "basecomm/gag.sp"
    #include "basecomm/natives.sp"
    #include "basecomm/forwards.sp"

    public APLRes:AskPluginLoad2(Handle:myselfbool:lateString:error[], err_max)
    {
        
    CreateNative("BaseComm_IsClientGagged"Native_IsClientGagged);
        
    CreateNative("BaseComm_IsClientMuted",  Native_IsClientMuted);
        
    CreateNative("BaseComm_SetClientGag",   Native_SetClientGag);
        
    CreateNative("BaseComm_SetClientMute",  Native_SetClientMute);
        
    RegPluginLibrary("basecomm");

        return 
    APLRes_Success;
    }

    public 
    OnPluginStart()
    {
        
    LoadTranslations("common.phrases");
        
    LoadTranslations("basecomm.phrases");

        
    g_Cvar_Deadtalk CreateConVar("sm_deadtalk""0""Controls how dead communicate. 0 - Off. 1 - Dead players ignore teams. 2 - Dead players talk to living teammates."0true0.0true2.0);
        
    g_Cvar_Alltalk FindConVar("sv_alltalk");

        
    RegAdminCmd("sm_mute"Command_MuteADMFLAG_CHAT"sm_mute <player> - Removes a player's ability to use voice.");
        
    RegAdminCmd("sm_gag"Command_GagADMFLAG_CHAT"sm_gag <player> - Removes a player's ability to use chat.");
        
    RegAdminCmd("sm_silence"Command_SilenceADMFLAG_CHAT"sm_silence <player> - Removes a player's ability to use voice or chat.");

        
    RegAdminCmd("sm_unmute"Command_UnmuteADMFLAG_CHAT"sm_unmute <player> - Restores a player's ability to use voice.");
        
    RegAdminCmd("sm_ungag"Command_UngagADMFLAG_CHAT"sm_ungag <player> - Restores a player's ability to use chat.");
        
    RegAdminCmd("sm_unsilence"Command_UnsilenceADMFLAG_CHAT"sm_unsilence <player> - Restores a player's ability to use voice and chat.");

        
    g_Cvar_Deadtalk.AddChangeHook(ConVarChange_Deadtalk);
        
    g_Cvar_Alltalk.AddChangeHook(ConVarChange_Alltalk);

        
    /* Account for late loading */
        
    TopMenu topmenu;
        if (
    LibraryExists("adminmenu") && ((topmenu GetAdminTopMenu()) != null))
        {
            
    OnAdminMenuReady(topmenu);
        }
    }

    public 
    OnAdminMenuReady(Handle aTopMenu)
    {
        
    TopMenu topmenu TopMenu.FromHandle(aTopMenu);

        
    /* Block us from being called twice */
        
    if (topmenu == hTopMenu)
        {
            return;
        }

        
    /* Save the Handle */
        
    hTopMenu topmenu;

        
    /* Build the "Player Commands" category */
        //TopMenuObject player_commands = hTopMenu.FindCategory(ADMINMENU_PLAYERCOMMANDS);

        //if (player_commands != INVALID_TOPMENUOBJECT)
        //{
        //hTopMenu.AddItem("sm_gag", AdminMenu_Gag, player_commands, "sm_gag", ADMFLAG_CHAT);
        //}
    }

    public 
    ConVarChange_Deadtalk(Handle:convar, const String:oldValue[], const String:newValue[])
    {
        if (
    g_Cvar_Deadtalk.IntValue)
        {
            
    HookEvent("player_spawn"Event_PlayerSpawnEventHookMode_Post);
            
    HookEvent("player_death"Event_PlayerDeathEventHookMode_Post);
            
    g_Hooked true;
        }
        else if (
    g_Hooked)
        {
            
    UnhookEvent("player_spawn"Event_PlayerSpawn);
            
    UnhookEvent("player_death"Event_PlayerDeath);   
            
    g_Hooked false;
        }
    }


    public 
    bool:OnClientConnect(clientString:rejectmsg[], maxlen)
    {
        
    g_Gagged[client] = false;
        
    g_Muted[client] = false;

        return 
    true;
    }

    public 
    Action:OnClientSayCommand(client, const String:command[], const String:sArgs[])
    {
        if (
    client && g_Gagged[client])
        {
            return 
    Plugin_Stop;
        }

        return 
    Plugin_Continue;
    }

    public 
    void ConVarChange_Alltalk(ConVar convar, const char[] oldValue, const char[] newValue)
    {
        
    int mode g_Cvar_Deadtalk.IntValue;

        for (
    int i 1<= MaxClientsi++)
        {
            if (!
    IsClientInGame(i))
            {
                continue;
            }
       
            if (
    g_Muted[i])
            {
                
    SetClientListeningFlags(iVOICE_MUTED);
            }
            else if (
    g_Cvar_Alltalk.BoolValue)
            {
                
    SetClientListeningFlags(iVOICE_NORMAL);
            }
            else if (!
    IsPlayerAlive(i))
            {
                if (
    mode == 1)
                {
                    
    SetClientListeningFlags(iVOICE_LISTENALL);
                }
                else if (
    mode == 2)
                {
                    
    SetClientListeningFlags(iVOICE_TEAM);
                }
            }
        }
    }

    public 
    Event_PlayerSpawn(Event event, const String:name[], bool:dontBroadcast)
    {
        new 
    client GetClientOfUserId(event.GetInt("userid"));

        if (!
    client)
        {
            return;
        }

        if (
    g_Muted[client])
        {
            
    SetClientListeningFlags(clientVOICE_MUTED);
        }
        else
        {
            
    SetClientListeningFlags(clientVOICE_NORMAL);
        }
    }

    public 
    Event_PlayerDeath(Event event, const String:name[], bool:dontBroadcast)
    {
        
    int client GetClientOfUserId(event.GetInt("userid"));

        if (!
    client)
        {
            return;
        }

        if (
    g_Muted[client])
        {
            
    SetClientListeningFlags(clientVOICE_MUTED);
            return;
        }

        if (
    g_Cvar_Alltalk.BoolValue)
        {
            
    SetClientListeningFlags(clientVOICE_NORMAL);
            return;
        }

        
    int mode g_Cvar_Deadtalk.IntValue;
        if (
    mode == 1)
        {
            
    SetClientListeningFlags(clientVOICE_LISTENALL);
        }
        else if (
    mode == 2)
        {
            
    SetClientListeningFlags(clientVOICE_TEAM);
        }
    }


     
    Последнее редактирование: 4 дек 2016 в 19:17