Allied Modders en español

Versión completa: Plugin no say y no nick
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
hola gente, queria saber si alguien tiene un plugin el que desactive el say y el cambio de nick
por ej:
en say poner /nosay .. y que te bloquee el chat
/say y que te lo desbloquee

y asi con el cambio de nick
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

new bool:g_say
new bool:g_nick

public plugin_init()
{
    
register_plugin("No Say/Nick""v1.0""thom1");

    
register_clcmd("say /nosay""cmd_nosay");
    
register_clcmd("say /nonick""cmd_nonick");

    
register_clcmd("say""fn_say");

    
register_forward(FM_ClientUserInfoChanged"fw_ClientUserInfoChanged")
}

public 
fw_ClientUserInfoChanged(idbuffer
{
    if (!
is_user_connected(id) || g_nick) return FMRES_IGNORED;
    
    static 
Name[32], oldname[32]
    
get_user_name(idNamecharsmax(Name))
    
get_user_info(id"name"oldnamecharsmax(oldname))
    if (
equal(oldnameName)) return FMRES_IGNORED;
    
    
set_user_info(id"name"oldname)
    return 
FMRES_IGNORED;


public 
fn_say(id)
    return 
g_say PLUGIN_HANDLED_MAIN PLUGIN_CONTINUE

public cmd_nosay(id)
{
    if(!
is_user_admin(id))
        return;

    
g_say = !g_say
    
    client_print
(0print_chat"[AMXX]: Say %ctivado"g_say "Desa" "A");
    return;
}

public 
cmd_nonick(id)
{
    if(!
is_user_admin(id))
        return;

    
g_nick = !g_nick
    
    client_print
(0print_chat"[AMXX]: Say %ctivado"g_nick "Desa" "A");
    return;


aca lo modifique para que si sos admin puedas hablar y ademas te salga un mensaje de q no pods hablar si está bloqueado


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

new bool:g_say
new bool:g_nick

public plugin_init()
{
    
register_plugin("No Say/Nick""v1.0""thom1");

    
register_clcmd("say /nosay""cmd_nosay");
    
register_clcmd("say /nonick""cmd_nonick");

    
register_clcmd("say""fn_say");

    
register_forward(FM_ClientUserInfoChanged"fw_ClientUserInfoChanged")
}

public 
fw_ClientUserInfoChanged(idbuffer
{
    if (!
is_user_connected(id) || g_nick) return FMRES_IGNORED;
    
    static 
Name[32], oldname[32]
    
get_user_name(idNamecharsmax(Name))
    
get_user_info(id"name"oldnamecharsmax(oldname))
    if (
equal(oldnameName)) return FMRES_IGNORED;
    
    
set_user_info(id"name"oldname)
    return 
FMRES_IGNORED;


public 
fn_say(id)
{
    if(!
g_say)
        return 
PLUGIN_CONTINUE;

    if(
is_user_admin(id))
        return 
PLUGIN_CONTINUE;

    
client_print(idprint_chat"[AMXX]: Say desactivado");
    return 
PLUGIN_HANDLED_MAIN;
}
public 
cmd_nosay(id)
{
    if(!
is_user_admin(id))
        return;

    
g_say = !g_say
    
    client_print
(0print_chat"[AMXX]: Say %ctivado"g_say "Desa" "A");
    return;
}

public 
cmd_nonick(id)
{
    if(!
is_user_admin(id))
        return;

    
g_nick = !g_nick
    
    client_print
(0print_chat"[AMXX]: Say %ctivado"g_nick "Desa" "A");
    return;

Para el say:

Código PHP:
new bool:BO_PlayerCanSay[33]

plugin_init()
{
    
// code...
    
register_clcmd("say""CLCMD_Say")
    
register_clcmd("say /nosay""CLCMD_BlockPlayerSay")
    
// code...
}

public 
CLCMD_Say(const I_Player)
{
    if (!
BO_PlayerCanSay[I_Player])
        return 
PLUGIN_HANDLED;

    return 
PLUGIN_CONTINUE;
}

public 
CLCMD_BlockPlayerSay(const I_Player)
{
    
BO_PlayerCanSay[I_Player] = !BO_PlayerCanSay[I_Player]
    return 
PLUGIN_HANDLED_MAIN;


Para el name ahorita no recuerdo y no estoy en la PC. Si cuando este en la PC y nadie te ha comentado, te adjunto el code.

EDIT: Me gano matrix123, no vi jaja
muchas gracias gente saludos!!... ah probarlos