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

mute menu


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
El Abuelo Loco
Senior Member
Join Date: Jun 2020
Old 01-05-2021 , 14:07   mute menu
Reply With Quote #1

I'm using this menu mute plugin, it works, but the 6 that says "Admin menu" I can mute but not unmute. any solution?

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

#define PLUGIN     "OA-Advance MuteMenu"
#define VERSION "1.0"
#define AUTHOR     "Destro"

new g_mute[33][33], g_voiceoff[33][2]

new 
g_item[64]

new 
g_callback
new cvar_alltalkcvar_voiceenable
new g_maxplayers

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)

    
register_clcmd("say /mute""show_menu_mute")

    
register_forward(FM_Voice_SetClientListening"fwd_voice_setclientlistening")
    
    
g_callback menu_makecallback"callback_menu")
    
    
cvar_alltalk get_cvar_pointer("sv_alltalk")
    
cvar_voiceenable get_cvar_pointer("sv_voiceenable")
    
g_maxplayers get_maxplayers()
}

public 
client_putinserver(id)
{
    for(new 
1<= g_maxplayersi++)
    {
        
g_mute[id][i] = 0
        g_mute
[i][id] = 0
    
}
}


public 
fwd_voice_setclientlistening(receiversenderlisten
{
    if(
receiver == sender)
        return 
FMRES_IGNORED
        
    
if((g_voiceoff[receiver][0] || g_voiceoff[sender][0]) ||
    !
player_audible(receiversender) || g_mute[receiver][sender])
    {
        
engfunc(EngFunc_SetClientListeningreceiversender0)
        return 
FMRES_SUPERCEDE
    
}

    return 
FMRES_IGNORED
}

public 
show_menu_mute(id)
{
    if(!
get_pcvar_num(cvar_voiceenable))
    {
        
chat_color(id"!g[Only-Pro] !tVoice esta desacticado (sv_voiceenable 0)")
        return
    }

    new 
menu menu_create("\rOnly-Pro - MuteMenu:""menu_mute")
    
menu_additem(menu"Mutear/Desmutear""1"0g_callback)
    
menu_additem(menu"Desmutear a todos""2"0g_callback)

    
formatex(g_itemcharsmax(g_item), "Voice \y[%s]"g_voiceoff[id][0]?"OFF":"ON")
    
menu_additem(menug_item"3"0g_callback)
    
    
formatex(g_itemcharsmax(g_item), "Alltalk \y[%s]", (g_voiceoff[id][1] || !get_pcvar_num(cvar_alltalk))?"OFF":"ON")
    
menu_additem(menug_item"4"0g_callback)
    
    
menu_additem(menu"Quienes me mutearon?^n""5"0g_callback)
    
    if(
get_user_flags(id)&ADMIN_KICK)
        
menu_additem(menu"\yAdmin Mute Menu""6"0g_callback)
    
    
menu_setprop(menuMPROP_EXITNAME"Salir")
    
menu_display(idmenu0
}

public 
callback_menu(idmenuitem)
{
    new 
data[3], null[2]
    
menu_item_getinfo(menuitemnull[0], data2null1null[0])
    switch(
str_to_num(data))
    {
        case 
1: if(g_voiceoff[id][0]) return ITEM_DISABLED
        
case 2: if(g_voiceoff[id][0]) return ITEM_DISABLED
        
case 4: if(g_voiceoff[id][0] || !get_pcvar_num(cvar_alltalk)) return ITEM_DISABLED
        
case 5: if(g_voiceoff[id][0]) return ITEM_DISABLED
    
}
    return 
ITEM_ENABLED
}

public 
menu_mute(idmenuitem)
{
    if(
item == MENU_EXIT || !get_pcvar_num(cvar_voiceenable))
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    new 
data[3], null[2]
    
menu_item_getinfo(menuitemnull[0], data2null1null[0])
    
    switch(
str_to_num(data))
    {
        case 
1show_menu_muteaplayer(id)
        case 
2: {
            
chat_color(id"!g[Only-Pro] !tTodos los players fueron desmuteados")
            for(new 
1<= g_maxplayersi++) g_mute[id][i] = 0
        
}
        case 
3: {
            
g_voiceoff[id][0] = !(g_voiceoff[id][0])
            
show_menu_mute(id)
        }
        case 
4: {
            
g_voiceoff[id][1] = !(g_voiceoff[id][1])
            
show_menu_mute(id)
        }
        case 
5show_menu_mutelist(id)
        case 
6show_menu_adminmute(id)
    }

    
menu_destroy(menu)
    return 
PLUGIN_HANDLED
}

public 
show_menu_muteaplayer(id)
{
    new 
name[32], data[11]
    new 
menu menu_create("\rMutear a un player:""menu_muteaplayer")

    for(new 
1<= g_maxplayersi++)
    {
        if(!
is_user_connected(i) || id == i) continue
        
        if((!
get_pcvar_num(cvar_alltalk) || g_voiceoff[id][1]) && get_user_team(id) != 3
        
&& get_user_team(id) != get_user_team(i)) continue
            
        
get_user_name(iname31)
        
        
formatex(data10"%d %d"iget_user_userid(i))
        
        if(
g_mute[id][i])
        {
            
formatex(g_itemcharsmax(g_item), "%s \y[Muteado]"name)
            
menu_additem(menug_itemdata)
        }
        else 
menu_additem(menunamedata)
    }
    
menu_setprop(menuMPROP_EXITNAME"Salir")
    
menu_display(idmenu0)
}


public 
menu_muteaplayer(idmenuitem)
{
    if(
item == MENU_EXIT || !get_pcvar_num(cvar_voiceenable))
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    new 
data[11], null[2]
    
menu_item_getinfo(menuitemnull[0], data10null1null[0])
    
    new 
player
    
if(!check_player_menu(dataplayer))
    {
        
show_menu_muteaplayer(id)
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    
g_mute[id][player] = !(g_mute[id][player])
    
    static 
name[32]
    
get_user_name(playername31)
    
    if(
g_mute[id][player])
    {
        
formatex(g_itemcharsmax(g_item), "%s \y[Muteado]"name)
        
menu_item_setname(menuitemg_item)
    }
    else 
menu_item_setname(menuitemname)

    
player_menu_info(idnull[0], null[0], null[1])
    
menu_display(idmenunull[1])
    return 
PLUGIN_HANDLED
}


public 
show_menu_adminmute(id)
{
    new 
name[32], data[14]
    new 
menu menu_create("\rMutear a un player para todos:""menu_adminmute")

    for(new 
1<= g_maxplayersi++)
    {
        if(!
is_user_connected(i) || id == i) continue
        
        
get_user_name(iname31)
        
formatex(data13"%d %d"iget_user_userid(i))
        
menu_additem(menunamedata)
    }
    
menu_setprop(menuMPROP_EXITNAME"Salir")
    
menu_display(idmenu0)
}

public 
menu_adminmute(idmenuitem)
{
    if(
item == MENU_EXIT || !get_pcvar_num(cvar_voiceenable))
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    new 
data[14], null[2], name[32]
    
menu_item_getinfo(menuitemnull[0], data13name31null[0])
    
    new 
player
    
if(!check_player_menu(dataplayer))
    {
        
show_menu_adminmute(id)
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    for(new 
1<= g_maxplayersi++)
    {
        
g_mute[i][player] = 1
        
if(!is_user_connected(i) || == player) continue
        
        
chat_color(i"!g[Only-Pro] !y%s !tfue muteado para todos por un admin.Puedes desmutearlo desde el !y/mute"name)
    }
    
    
player_menu_info(idnull[0], null[0], null[1])
    
menu_display(idmenunull[1])
    return 
PLUGIN_HANDLED
}

//---------------------------------
public show_menu_mutelist(id)
{
    new 
name[32]
    new 
menu menu_create("\rPlayers que te mutearon:""menu_mutelist")

    for(new 
1<= g_maxplayersi++)
    {
        if(!
is_user_connected(i) || id == || !g_mute[i][id]) continue
        
        if((!
get_pcvar_num(cvar_alltalk) || g_voiceoff[i][1]) && get_user_team(id) != 3
        
&& get_user_team(id) != get_user_team(i)) continue
            
        
get_user_name(iname31)
        
menu_additem(menuname"0")
    }
    
menu_setprop(menuMPROP_EXITNAME"Salir")
    
menu_display(idmenu0)
}

public 
menu_mutelist(idmenuitem)
{
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED
}
//----------------------------------
stock check_player_menu(data[], &return_player)
{
    static 
strid[6], struserid[8]
    
parse(datastrid5struserid7)
    
    
return_player str_to_num(strid)
    if(
is_user_connected(return_player) && get_user_userid(return_player) == str_to_num(struserid))
        return 
1
        
    
return 0
}

stock player_audible(receiversender)
{
    if(!
get_pcvar_num(cvar_alltalk))
        return 
1
        
    
if(!g_voiceoff[receiver][1])
        return 
1
    
    
if(is_user_alive(receiver))
    {
        if(!
is_user_alive(sender))
            return 
0
        
if(get_user_team(receiver) == get_user_team(sender))
            return 
1
        
return 0
    
}
    return 
1
}

stock chat_color(const id, const input[], any:...)
{
    new 
count 1players[32], i
    
static msg[191]

    if(
numargs() == 2copy(msg190input)
    else 
vformat(msg190input3)
    
    
replace_all(msg190"!g""^4")
    
replace_all(msg190"!y""^1")
    
replace_all(msg190"!t""^3")
    
    if(
idplayers[0] = id; else get_players(playerscount"ch")

    static 
SayText;if(!SayTextSayText get_user_msgid("SayText")
    for(
0counti++) {
        if(
is_user_connected(players[i])) {
            
message_begin(MSG_ONE_UNRELIABLESayText_players[i])
            
write_byte(players[i])
            
write_string(msg)
            
message_end()
        }
    }

El Abuelo Loco is offline
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 01:57.


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