Zumbis Online
Frases filosóficas Zplague:
....
Os membros mais ativos da semana

Adsense

[AJUDA] como colocar esse plugin somente para quem tem flag C

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[AJUDA] como colocar esse plugin somente para quem tem flag C

Mensagem por thekillerscs em 20/1/2014, 10:35 am

bom galera eu queria colocar esse plugin somente para adm ter acesso a ele todos tem acesso a ele ate players free
Código:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN    "mute menu"
#define VERSION "1.0"
#define AUTHOR    "cheap_suit"

#define MAX_PLAYERS 32

new bool:g_mute[MAX_PLAYERS+1][MAX_PLAYERS+1]
new g_menuposition[MAX_PLAYERS+1]
new g_menuplayers[MAX_PLAYERS+1][32]
new g_menuplayersnum[MAX_PLAYERS+1]

new cvar_alltalk
new g_maxclients

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_cvar(PLUGIN, VERSION, FCVAR_SPONLY|FCVAR_SERVER)

    register_clcmd("say mute", "clcmd_say", ADMIN_IMMUNITY)
    register_clcmd("say_team mute", "clcmd_say", ADMIN_IMMUNITY)
    register_clcmd(" say /mute", "clcmd_say", ADMIN_IMMUNITY)
    register_clcmd("say_team mute", "clcmd_say", ADMIN_IMMUNITY)

    register_forward(FM_Voice_SetClientListening, "fwd_voice_setclientlistening")
    register_menucmd(register_menuid("mute menu"), 1023, "action_mutemenu")
 
    cvar_alltalk = get_cvar_pointer("sv_alltalk")
    g_maxclients = global_get(glb_maxClients)
}

public client_putinserver(id)
    clear_list(id)
 
public client_disconnect(id)
    clear_list(id)

clear_list(id)
{
    for(new i = 0; i <= g_maxclients; ++i)
        g_mute[id][i] = false
}

public clcmd_say(id)
{
    static say_args[10]
    read_args(say_args, 9)
    remove_quotes(say_args)
 
    if(say_args[0] == '/' && containi(say_args, "mute") != -1)
    {
        display_mutemenu(id, g_menuposition[id] = 0)
        return PLUGIN_HANDLED_MAIN
    }
    return PLUGIN_CONTINUE
}

public fwd_voice_setclientlistening(receiver, sender, listen)
{
    if(receiver == sender)
        return FMRES_IGNORED
     
    if(g_mute[receiver][sender])
    {
        engfunc(EngFunc_SetClientListening, receiver, sender, 0)
        return FMRES_SUPERCEDE
    }
    return FMRES_IGNORED
}

display_mutemenu(id, pos)
{
    if(pos < 0)
        return
     
    static team[11]
    get_user_team(id, team, 10)
 
    new at = get_pcvar_num(cvar_alltalk)
    get_players(g_menuplayers[id], g_menuplayersnum[id],
    at ? "c" : "ce", at ? "" : team)

      new start = pos * 8
      if(start >= g_menuplayersnum[id])
            start = pos = g_menuposition[id]

      new end = start + 8
    if(end > g_menuplayersnum[id])
            end = g_menuplayersnum[id]
 
    static menubody[512] 
      new len = format(menubody, 511, "\wMute Menu^n^n")

    static name[32]
 
    new b = 0, i
    new keys = MENU_KEY_0
 
      for(new a = start; a < end; ++a)
    {
            i = g_menuplayers[id][a]
            get_user_name(i, name, 31)
     
        if(i == id)
        {
            ++b
            len += format(menubody[len], 511 - len, "\d#  %s %s\w^n", name, g_mute[id][i] ? "(Muted)" : "")
        }
        else
        {
            keys |= (1<<b)
            len += format(menubody[len], 511 - len, "%s%d. %s %s\w^n", g_mute[id][i] ? "\y" : "\w", ++b, name, g_mute[id][i] ? "(Muted)" : "")
        }
    }

      if(end != g_menuplayersnum[id])
    {
            format(menubody[len], 511 - len, "^n9. %s...^n0. %s", "More", pos ? "Back" : "Exit")
            keys |= MENU_KEY_9
      }
      else
        format(menubody[len], 511-len, "^n0. %s", pos ? "Back" : "Exit")
 
      show_menu(id, keys, menubody, -1, "mute menu")
}


public action_mutemenu(id, key)
{
    switch(key)
    {
            case 8: display_mutemenu(id, ++g_menuposition[id])
        case 9: display_mutemenu(id, --g_menuposition[id])
            default:
        {
            new player = g_menuplayers[id][g_menuposition[id] * 8 + key]
         
            g_mute[id][player] = g_mute[id][player] ? false : true
            display_mutemenu(id, g_menuposition[id])
         
            static name[32]
            get_user_name(player, name, 31)
            client_print(id, print_chat, "Voce foi %smuted %s", g_mute[id][player] ? "" : "un", name)
            }
      }
    return PLUGIN_HANDLED
}

obirgado
avatar
thekillerscs
Humano
Humano

Masculino Número de Mensagens : 45
Ammo Packs : 1374
Honra : 1
Data de inscrição : 03/08/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [AJUDA] como colocar esse plugin somente para quem tem flag C

Mensagem por william em 20/1/2014, 10:47 am

alguem coloca tambem para jogadores vips para mim o meu ta bugado
avatar
william
Humano
Humano

Masculino Número de Mensagens : 154
Ammo Packs : 1288
Honra : 0
Data de inscrição : 02/11/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [AJUDA] como colocar esse plugin somente para quem tem flag C

Mensagem por Leozinho em 20/1/2014, 12:31 pm

Não estou intendendo pra que você quer colocar restrição pra admin com flag "C" se quer que todos tenham acesso ao menu..

____________________________________________

avatar
Leozinho
Administrador
Administrador

Masculino Número de Mensagens : 2854
Ammo Packs : 2672
Honra : 78
Data de inscrição : 20/11/2011

Ver perfil do usuário leozinho.zp

Voltar ao Topo Ir em baixo

Re: [AJUDA] como colocar esse plugin somente para quem tem flag C

Mensagem por thekillerscs em 20/1/2014, 12:51 pm

eu quero coloca so pra adm ter acesso a ele
avatar
thekillerscs
Humano
Humano

Masculino Número de Mensagens : 45
Ammo Packs : 1374
Honra : 1
Data de inscrição : 03/08/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [AJUDA] como colocar esse plugin somente para quem tem flag C

Mensagem por Leozinho em 20/1/2014, 1:12 pm

Então quando for criar um tópico explique melhor pois ninguém tem bola de cristal.

"bom galera eu queria colocar esse plugin somente para adm ter acesso a ele todos tem acesso a ele ate players free"

SMA
Código:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN    "mute menu"
#define VERSION "1.0"
#define AUTHOR    "cheap_suit"

#define MAX_PLAYERS 32

new bool:g_mute[MAX_PLAYERS+1][MAX_PLAYERS+1]
new g_menuposition[MAX_PLAYERS+1]
new g_menuplayers[MAX_PLAYERS+1][32]
new g_menuplayersnum[MAX_PLAYERS+1]

new cvar_alltalk
new g_maxclients

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   register_cvar(PLUGIN, VERSION, FCVAR_SPONLY|FCVAR_SERVER)
   
   register_clcmd("say mute", "clcmd_say", ADMIN_IMMUNITY)
   register_clcmd("say_team mute", "clcmd_say", ADMIN_IMMUNITY)
   register_clcmd(" say /mute", "clcmd_say", ADMIN_IMMUNITY)
   register_clcmd("say_team mute", "clcmd_say", ADMIN_IMMUNITY)
   
   register_forward(FM_Voice_SetClientListening, "fwd_voice_setclientlistening")
   register_menucmd(register_menuid("mute menu"), 1023, "action_mutemenu")
   
   cvar_alltalk = get_cvar_pointer("sv_alltalk")
   g_maxclients = global_get(glb_maxClients)
}

public client_putinserver(id)
   clear_list(id)

public client_disconnect(id)
   clear_list(id)

clear_list(id)
{
   for(new i = 0; i <= g_maxclients; ++i)
      g_mute[id][i] = false
}

public clcmd_say(id)
{
   static say_args[10]
   read_args(say_args, 9)
   remove_quotes(say_args)
   
   if(say_args[0] == '/' && containi(say_args, "mute") != -1)
   {
      if(get_user_flags(id) & ADMIN_KICK)
      {
         display_mutemenu(id, g_menuposition[id] = 0)
         return PLUGIN_HANDLED_MAIN
      }
      else
      {
         client_print(id, print_chat, "Apenas adm tem acesso a este menu!!!")
         return PLUGIN_HANDLED
      }
   }
   return PLUGIN_CONTINUE
}

public fwd_voice_setclientlistening(receiver, sender, listen)
{
   if(receiver == sender)
      return FMRES_IGNORED
   
   if(g_mute[receiver][sender])
   {
      engfunc(EngFunc_SetClientListening, receiver, sender, 0)
      return FMRES_SUPERCEDE
   }
   return FMRES_IGNORED
}

display_mutemenu(id, pos)
{
   if(pos < 0)
      return
   
   static team[11]
   get_user_team(id, team, 10)
   
   new at = get_pcvar_num(cvar_alltalk)
   get_players(g_menuplayers[id], g_menuplayersnum[id],
   at ? "c" : "ce", at ? "" : team)
   
   new start = pos * 8
   if(start >= g_menuplayersnum[id])
      start = pos = g_menuposition[id]
   
   new end = start + 8
   if(end > g_menuplayersnum[id])
      end = g_menuplayersnum[id]
   
   static menubody[512] 
   new len = format(menubody, 511, "\wMute Menu^n^n")
   
   static name[32]
   
   new b = 0, i
   new keys = MENU_KEY_0
   
   for(new a = start; a < end; ++a)
   {
      i = g_menuplayers[id][a]
      get_user_name(i, name, 31)
      
      if(i == id)
      {
         ++b
         len += format(menubody[len], 511 - len, "\d#  %s %s\w^n", name, g_mute[id][i] ? "(Muted)" : "")
      }
      else
      {
         keys |= (1<<b)
         len += format(menubody[len], 511 - len, "%s%d. %s %s\w^n", g_mute[id][i] ? "\y" : "\w", ++b, name, g_mute[id][i] ? "(Muted)" : "")
      }
   }
   
   if(end != g_menuplayersnum[id])
   {
      format(menubody[len], 511 - len, "^n9. %s...^n0. %s", "More", pos ? "Back" : "Exit")
      keys |= MENU_KEY_9
   }
   else
      format(menubody[len], 511-len, "^n0. %s", pos ? "Back" : "Exit")
   
   show_menu(id, keys, menubody, -1, "mute menu")
}


public action_mutemenu(id, key)
{
   switch(key)
   {
      case 8: display_mutemenu(id, ++g_menuposition[id])
      case 9: display_mutemenu(id, --g_menuposition[id])
      default:
      {
         new player = g_menuplayers[id][g_menuposition[id] * 8 + key]
         
         g_mute[id][player] = g_mute[id][player] ? false : true
         display_mutemenu(id, g_menuposition[id])
         
         static name[32]
         get_user_name(player, name, 31)
         client_print(id, print_chat, "Voce foi %smuted %s", g_mute[id][player] ? "" : "un", name)
      }
   }
   return PLUGIN_HANDLED
}

____________________________________________

avatar
Leozinho
Administrador
Administrador

Masculino Número de Mensagens : 2854
Ammo Packs : 2672
Honra : 78
Data de inscrição : 20/11/2011

Ver perfil do usuário leozinho.zp

Voltar ao Topo Ir em baixo

Re: [AJUDA] como colocar esse plugin somente para quem tem flag C

Mensagem por GeForce9876 em 20/1/2014, 6:58 pm

O que a falta de uma ,"Virgula" faz com uma frase: 
"bom galera eu queria colocar esse plugin somente para adm ter acesso a ele todos tem acesso a ele ate players free"
"bom galera eu queria colocar esse plugin somente para adm ter acesso a ele, todos tem acesso a ele até players free"

____________________________________________

----------------------------------
Zplague MOD 4EVER
SEMPRE O MELHOR

Pra tu Junin
avatar
GeForce9876
Humano
Humano

Nick : Kal@ng0
Masculino Número de Mensagens : 67
Ammo Packs : 2383
Honra : 3
Data de inscrição : 06/12/2010

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [AJUDA] como colocar esse plugin somente para quem tem flag C

Mensagem por Leozinho em 21/1/2014, 4:18 pm

Resolvido ?

____________________________________________

avatar
Leozinho
Administrador
Administrador

Masculino Número de Mensagens : 2854
Ammo Packs : 2672
Honra : 78
Data de inscrição : 20/11/2011

Ver perfil do usuário leozinho.zp

Voltar ao Topo Ir em baixo

Re: [AJUDA] como colocar esse plugin somente para quem tem flag C

Mensagem por thekillerscs em 22/1/2014, 11:01 am

Sim Leozinho. Obrigado mano vlw
avatar
thekillerscs
Humano
Humano

Masculino Número de Mensagens : 45
Ammo Packs : 1374
Honra : 1
Data de inscrição : 03/08/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [AJUDA] como colocar esse plugin somente para quem tem flag C

Mensagem por Leozinho em 22/1/2014, 11:59 am

Trancado.

____________________________________________

avatar
Leozinho
Administrador
Administrador

Masculino Número de Mensagens : 2854
Ammo Packs : 2672
Honra : 78
Data de inscrição : 20/11/2011

Ver perfil do usuário leozinho.zp

Voltar ao Topo Ir em baixo

Re: [AJUDA] como colocar esse plugin somente para quem tem flag C

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum