Raised This Month: $51 Target: $400
 12% 

[plugin request] Permanent Mute


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
saitama19
Junior Member
Join Date: Feb 2017
Old 07-10-2023 , 22:48   [plugin request] Permanent Mute
Reply With Quote #1

Hi, i need 1 plugin to mute someone microphone forever in every map
for example permanently mute this Steam ID -> STEAM_0:1:544251234

Can someone please create this or does it already exist somewhere? thanks
saitama19 is offline
bigdaddy424
Senior Member
Join Date: Oct 2021
Location: Jupiter
Old 07-11-2023 , 10:33   Re: [plugin request] Permanent Mute
Reply With Quote #2

when connected to server press esc to load main menu then select player list, choose player and click ;mute in-game voice and you should be alright
__________________
bigdaddy424 is offline
mlibre
Veteran Member
Join Date: Nov 2015
Location: return PLUGIN_CONTINUE
Old 07-11-2023 , 10:44   Re: [plugin request] Permanent Mute
Reply With Quote #3

untesting

PHP Code:
#include <amxmodx>
#include <fakemeta>

#if AMXX_VERSION_NUM > 182
#define client_disconnect client_disconnected
#endif

new Trie:g_Id

new g_noVoice[33]

public 
plugin_init()
{
    
register_forward(FM_Voice_SetClientListening"FM_Voice_SetClientListening_Pre")
    
    
g_Id TrieCreate()
    
    new const 
blackLists[] = 
    {
        
"BOT",
        
"HLTV",
        
"STEAM_0:1:544251234",
        
"STEAM_0:1:222222222",
        
"STEAM_0:1:333333333"
    
}
    
    for(new 
isizeof blackListsi++)
    {
        
TrieSetCell(g_IdblackLists[i], 1)
    }
}

public 
plugin_end()
{
    
TrieDestroy(g_Id)
}

public 
client_putinserver(id)
{
    new 
authid[32]; get_user_authid(idauthidcharsmax(authid))

    if(
TrieKeyExists(g_Idauthid))
    {
        
g_noVoice[id] = 1
    
}


public 
client_disconnect(id)
{
    if(
g_noVoice[id])
    {
        
g_noVoice[id] = 0
    
}


public 
FM_Voice_SetClientListening_Pre(receiversenderbool:bListen)
{
    if(
g_noVoice[sender])
    {
        
client_print(senderprint_center"you are silenced")
        
        
engfunc(EngFunc_SetClientListeningreceiversender0)
        
        return 
FMRES_SUPERCEDE
    
}
    
    return 
FMRES_IGNORED

__________________
mlibre is offline
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 07-11-2023 , 13:32   Re: [plugin request] Permanent Mute
Reply With Quote #4

I made something a while ago which automatically mutes players upon joining the server. You could give them access to use the voice chat by the /vrm chat command.

It's not exactly what u asked for, but might be useful for some to use.

PHP Code:
/* Sublime AMXX Editor v2.2 */

#include <amxmodx>
#include <cromchat>
// #include <amxmisc>
// #include <cstrike>
// #include <engine>
#include <fakemeta>
// #include <hamsandwich>
// #include <fun>
// #include <xs>
// #include <sqlx>

#pragma semicolon 1

#if AMXX_VERSION_NUM < 183
    
const MAX_PLAYERS 32;
#endif

#define PLUGIN  "VoiceRecordManager [VRM]"
#define VERSION "1.0"
#define AUTHOR  "LadderGoat"

new bool:g_bAdmin[MAX_PLAYERS 1];
new 
bool:g_bMuted[MAX_PLAYERS 1];
new 
bool:g_bPlayerMuted[MAX_PLAYERS 1][MAX_PLAYERS 1];

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR);

    
register_clcmd("say /vrm""cmdVoiceRecordMenu");

    
register_forward(FM_Voice_SetClientListening"forwardSetClientListening");
}

public 
client_putinserver(id)
{
    if(
get_user_flags(id) & ADMIN_KICK)
    {
        
g_bAdmin[id] = true;
        
g_bMuted[id] = false;
    }

    else
    {
        
g_bAdmin[id] = false;
        
g_bMuted[id] = true;
    }

    new 
iPlayers[MAX_PLAYERS], iNum;
    
get_players(iPlayersiNum);

    for(new 
iiNumi++)
    {
        
g_bPlayerMuted[id][i] = false;
    }
}

public 
client_disconnected(id)
{
    
g_bAdmin[id] = false;
    
g_bMuted[id] = false;

    new 
iPlayers[MAX_PLAYERS], iNum;
    
get_players(iPlayersiNum);

    for(new 
iiNumi++)
    {
        
g_bPlayerMuted[id][i] = false;
    }
}

public 
cmdVoiceRecordMenu(id)
{
    new 
mMenu menu_create("\r[VRM]\w Voice Record Manager - Main Menu""vrmMenuHandler");

    
menu_additem(mMenu"Mute a player");

    new 
szTemp[100];
    
formatex(szTempcharsmax(szTemp), "%sVoice Record access management %s"g_bAdmin[id] ? "" "\d"g_bAdmin[id] ? "" "\r [NO ACCESS]");

    
menu_additem(mMenuszTemp);

    
menu_display(idmMenu);
}

public 
vrmMenuHandler(idmMenuiItem)
{
    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(mMenu);
        return 
PLUGIN_HANDLED;
    }

    switch(
iItem)
    {
        case 
0cmdMuteMenu(id);
        case 
1:
        {
            if(!
g_bAdmin[id])
            {
                
ColorChat(idGREEN"[VRM]^1 Only admins can access this menu.");
                return 
PLUGIN_HANDLED;
            }

            
cmdAccessMenu(id);
        }
    }
    return 
PLUGIN_HANDLED;
}

public 
cmdMuteMenu(id)
{
    if(
is_user_connected(id))
    {
        new 
mMenu menu_create("\r[VRM]\w Voice Record Manager - Mute Menu""vrmMuteMenuHandler");

        new 
iPlayers[MAX_PLAYERS], iNumszName[MAX_PLAYERS 1], szUserId[MAX_PLAYERS 1], iPlayerszTemp[512];
        
get_players(iPlayersiNum"ch");

        for(new 
iiNumi++) 
        {
            
iPlayer iPlayers[i];

            
get_user_name(iPlayerszNamecharsmax(szName));

            if(
id == iPlayer)
                
formatex(szTempcharsmax(szTemp), "\d%s"szName);

            else
                
formatex(szTempcharsmax(szTemp), "%s %s"szNameg_bPlayerMuted[id][iPlayer] ? "\r[MUTED]" "");

            
num_to_str(get_user_userid(iPlayer), szUserIdcharsmax(szUserId));

            
menu_additem(mMenuszTempszUserId);
        }
        
menu_display(idmMenu);
    }
}

public 
vrmMuteMenuHandler(idmMenuiItem)
{
    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(mMenu);
        return 
PLUGIN_HANDLED;
    }

    new 
szData[6], szName[64];
    new 
iItemAccessiItemCallback;
    
menu_item_getinfo(mMenuiItemiItemAccessszDatacharsmax(szData), szNamecharsmax(szName), iItemCallback);

    new 
iUserId str_to_num(szData);
    new 
iPlayer find_player("k"iUserId);

    if(!
is_user_connected(iPlayer))
    {
        
ColorChat(idGREEN"[VRM]^1 The player you are looking for is no longer connected.");
        
menu_display(idmMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
id == iPlayer)
    {
        
ColorChat(idGREEN"[VRM]^1 You can't mute yourself.");
        
menu_display(idmMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bPlayerMuted[id][iPlayer])
        
g_bPlayerMuted[id][iPlayer] = false;

    else
        
g_bPlayerMuted[id][iPlayer] = true;

    
get_user_name(iPlayerszNamecharsmax(szName));

    
ColorChat(idGREEN"[VRM]^1 You %s^4 %s"g_bPlayerMuted[id][iPlayer] ? "muted" "unmuted"szName);

    
cmdMuteMenu(id);

    return 
PLUGIN_HANDLED;
}

public 
cmdAccessMenu(id)
{
    if(
is_user_connected(id))
    {
        new 
mMenu menu_create("\r[VRM]\w Voice Record Manager - Access Menu""vrmAccessMenuHandler");

        new 
iPlayers[MAX_PLAYERS], iNumszName[MAX_PLAYERS 1], szUserId[MAX_PLAYERS 1], iPlayerszTemp[512];
        
get_players(iPlayersiNum"ch");

        for(new 
iiNumi++) 
        {
            
iPlayer iPlayers[i];

            
get_user_name(iPlayerszNamecharsmax(szName));

            if(
id == iPlayer)
                
formatex(szTempcharsmax(szTemp), "\d%s"szName);

            else
                
formatex(szTempcharsmax(szTemp), "%s%s%s%s"g_bAdmin[iPlayer] ? "\d" "\w"szNameg_bMuted[iPlayer] ? " \r[MUTED]" ""g_bAdmin[iPlayer] ? " \r[IMMUNITY]" "");

            
num_to_str(get_user_userid(iPlayer), szUserIdcharsmax(szUserId));

            
menu_additem(mMenuszTempszUserId);
        }
        
menu_display(idmMenu);
    }
}

public 
vrmAccessMenuHandler(idmMenuiItem)
{
    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(mMenu);
        return 
PLUGIN_HANDLED;
    }

    new 
szData[6], szName[64], szAdminName[MAX_PLAYERS];
    new 
iItemAccessiItemCallback;
    
menu_item_getinfo(mMenuiItemiItemAccessszDatacharsmax(szData), szNamecharsmax(szName), iItemCallback);

    new 
iUserId str_to_num(szData);
    new 
iPlayer find_player("k"iUserId);

    if(!
is_user_connected(iPlayer))
    {
        
ColorChat(idGREEN"[VRM]^1 The player you are looking for is no longer connected.");
        
menu_display(idmMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
id == iPlayer)
    {
        
ColorChat(idGREEN"[VRM] Why would you do that?"szName);
        
menu_display(idmMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bAdmin[iPlayer])
    {
        
ColorChat(idGREEN"[VRM]^1 This user is imune from muting.");
        
menu_display(idmMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bMuted[iPlayer])
        
g_bMuted[iPlayer] = false;

    else
        
g_bMuted[iPlayer] = true;

    
get_user_name(iPlayerszNamecharsmax(szName));
    
get_user_name(idszAdminNamecharsmax(szAdminName));

    
ColorChat(0GREEN"[VRM] %s^1 has %s^3 %s."szAdminNameg_bMuted[iPlayer] ? "taken access from" "granted access to"szName);

    
menu_display(idmMenu);

    return 
PLUGIN_HANDLED;
}

public 
forwardSetClientListening(iReceiveriSenderbool:bListen)
{
    if(
iReceiver == iSender)
        return 
FMRES_SUPERCEDE;
    
    if(
g_bMuted[iSender])
    {
        
engfunc(EngFunc_SetClientListeningiReceiveriSenderfalse);
        
forward_return(FMV_CELLfalse);
        return 
FMRES_SUPERCEDE;
    }
    else
    {
        if(
g_bPlayerMuted[iReceiver][iSender])
        {
            
engfunc(EngFunc_SetClientListeningiReceiveriSenderfalse);
            
forward_return(FMV_CELLfalse);
            return 
FMRES_SUPERCEDE;
        }
    }
    
engfunc(EngFunc_SetClientListeningiReceiveriSendertrue);
    
forward_return(FMV_CELLtrue);
    return 
FMRES_SUPERCEDE;

__________________

Last edited by Napoleon_be; 07-11-2023 at 13:36.
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 10:47.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode