I used this metod per case...
PHP Code:
for(new i;i < sizeof CanSay;i++)
containi(name,CanSay[i])
continue
and this other...
PHP Code:
/*
mixm_nosaytype :
* 0 : Hablan los admins y muestra say /pausa.
* 1 : Hablan los admins y no muestra say /pausa.
* 2 : Hablan los admins,permite hablar por freezetime y muestra say /pausa.
* 3 : Hablan los admins,permite hablar por freezetime y no muestra say /pausa
*/
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Chat Blocker"
#define VERSION "1.0"
#define AUTHOR "#8 SickneSS"
/* Chat Blocker */
new const CanSay[][] =
{
"[TL]",
"[CPT]",
"[CAPTAIN]"
}
new NoSay
new CptCanSay
new NoSayType
new pFreezetime
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
NoSay = register_cvar("mixm_nosay","0")
CptCanSay = register_cvar("mixm_cptcansay","0")
NoSayType = register_cvar("mixm_nosaytype","0")
pFreezetime = get_cvar_pointer("mp_freezetime")
register_clcmd("say","HookSay")
register_clcmd("say /nosay","cmdSayNoSay",ADMIN_CVAR,"<Lock/Unlock the chat>")
}
public cmdSayNoSay(id,level,cid) {
if(!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new adminname[32]
get_user_name(id, adminname, 31)
set_pcvar_num(NoSay,get_pcvar_num(NoSay) == 0 ? 1 : 0)
client_print(0,print_chat,"El Admin %s %sbloqueo el chat",adminname, get_pcvar_num(NoSay) ? "" : "des")
return PLUGIN_HANDLED
}
public HookSay(id) {
if(!get_pcvar_num(NoSay))
return PLUGIN_CONTINUE
if(get_user_flags(id) & ADMIN_CHAT)
return PLUGIN_CONTINUE
new name[32]
get_user_name(id,name,31)
new said[192]
read_args(said,191)
if(get_pcvar_num(CptCanSay))
{
for(new i;i < sizeof CanSay;i++)
if(containi(name,CanSay[i]) != -1)
return PLUGIN_CONTINUE
}
switch(get_pcvar_num(NoSayType))
{
case 0 :
{
if(containi(said,"/pausa") != -1)
{
client_print(0,print_chat,"El jugador %s,esta pidiendo pausa",name)
return PLUGIN_HANDLED
}
client_print(id,print_chat,"Say Bloqueado")
client_print(id,print_chat,"Solo puedes escribir /pausa,para pedir pausear el juego")
return PLUGIN_HANDLED
}
case 1 :
{
client_print(id,print_chat,"Say Bloqueado")
return PLUGIN_HANDLED
}
case 2:
{
if(get_pcvar_float(pFreezetime) <= 0)
{
if(containi(said,"/pausa") != -1)
{
client_print(0,print_chat,"El jugador %s,esta pidiendo pausa",name)
return PLUGIN_HANDLED
}
client_print(id,print_chat,"Say Bloqueado")
client_print(id,print_chat,"Solo puedes escribir /pausa,para pedir pausear el juego")
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
case 3:
{
if(get_pcvar_float(pFreezetime) <= 0)
{
client_print(id,print_chat,"Say Bloqueado")
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
}
return PLUGIN_HANDLED
}
about infochanged,I don't like them,because have some delay to check name