This is my amazing life!
Dzięki temu pluginowi wyłączymy graczowi mówienie przez mikro, na czas lub do zmiany mapy, możemy również przywrócić mu mowę w każdej chwili
Poprawki:
v1.3 - Dodana lista wyciszonych graczy - amx_mutelist, poprawione komendy, usunięty cvar na czas i dodany drugi argument w komendzie amx_mute definiujący czas, dodany cvar na włączony plugin.
v1.2 - Zabezpieczone komendy dla admina
v1.1 - Poprawiona komenda
Komendy
- lamx_mute "nick/#userid" "czas" - wycisza gracza na określony czas (jeśli damy czas 0, to gracz będzie wyciszony aż do momentu użycia na nim komendy amx_unmute lub do końca mapy)
lamx_unmute "nick/#userid" - usuń wyciszenie graczowi
lamx_mutelist - pokaż listę wyciszonych graczy
Cvary
- lamx_mute_on "0/1" (domyślnie 1, definiuje, czy plugin jest włączony)
a czy jest to dodane na nasze serwery?
zgadnij ...
Dopiero co skończyłem pisać, jestem ciekaw czy chcecie aby ten plugin został dodany
EDIT: Wersja 1.1
Poprawiona komenda
ja jestem za
jasne
szczególnie przyda się na TP .
mute mute mute.. :d
Ja bardzo chcę ...
zgaduje chmielu, że jeszcze nie jest dodana
Kamazz dodać go możesz, ale to i tak może nie pomóc. Można dać bana <diabel>
Dodaj na 4fun, beda wyciszal niektorych graczy
przyda się, będzie się wyciszało tych co trzeszczą.
To wycisza np Mikro, czy pisanie na "say" ?
niezle odświeżasz.
To wycisza mikro. No jak można say wyciszyć, pomyśl
Dobry plugin, Kamil możesz go dodać na nasze serwery - Admini zamiast dawać bana dzieciakom "piszczącym" przez micro mogli by ich tylko wyciszyć i nie tracimy wtedy graczy....
Wyciszyć, nie ale zablokować , pomyślałem
no to co innego. He, ale nawet jeśli to ten plugin nie rozwiąże sprawy neo Kidów. Da się wyciszyć ale po co. Jak koleś i tak będzie nadal na serwerze i będzie zakłócał gre..? Ban jest lepszy
ale wyciszając go dla wszystkich graczy, neoKid nie przeszkadzałby nikomu....
tak, tak ale jednak to neo kid. Wyobraź sobie, ze sprowadzi kolegów na serwer. To nie przedszkole p
ale ludzie, zobaczcie na date ostatniego postu. Czy to nie odświeżanie? ;X
To temat o pluginie, można odświeżać i zadawać pytania.
Zer[0], jeśli chcesz, to moge przerobić plugin, żeby blokowało mu chat
Jeśli masz chwilkę, to proszę
Proszę:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "ChatMute"
#define VERSION "1.3"
#define AUTHOR "KaMaZZ"
#define ADMIN_MUTE ADMIN_BAN
#define MAX_SIZE 33
new mutetime;
new bool: muted[33] = false
new mute_nick[MAX_SIZE][32];
new mute_admin[MAX_SIZE][32];
new mute_time[MAX_SIZE][16];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_cvar_num("sv_voiceenable", 1)
register_concmd("amx_unmute", "cmd_unmute", ADMIN_MUTE, "<nick gracza>")
register_concmd("amx_mute", "cmd_mute", ADMIN_MUTE, "<nick gracza>")
register_concmd("amx_mutelist", "cmd_mutelist", ADMIN_MUTE, "- wyswietla liste wyciszonych graczy")
register_clcmd("say", "say_hook")
register_clcmd("say_team", "say_hook")
mutetime = register_cvar("amx_mute_time", "120")
}
public client_authorized(id)
muted[id] = false
public client_disconnect(id)
{
remove_task(id)
muted[id] = false;
formatex(mute_nick[id], sizeof mute_nick-1, "")
formatex(mute_admin[id], sizeof mute_admin-1, "")
formatex(mute_time[id], sizeof mute_time-1, "")
return PLUGIN_CONTINUE;
}
public cmd_unmute(id, level, cid)
{
if(!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED;
new arg1[32]
read_argv(1, arg1, 31)
new player = cmd_target(id, arg1, 10)
if(!player)
return PLUGIN_HANDLED;
new name[32]
get_user_name(player, name, 31)
if(!muted[player])
{
client_print(id, print_console, "Gracz %s nie posiada wyciszenia", name)
return PLUGIN_HANDLED;
}
muted[player] = false
formatex(mute_nick[player], sizeof mute_nick-1, "")
formatex(mute_admin[player], sizeof mute_admin-1, "")
formatex(mute_time[player], sizeof mute_time-1, "")
remove_task()
return PLUGIN_HANDLED
}
public cmd_mute(id, level, cid)
{
if(!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED;
new arg1[32]
read_argv(1, arg1, 31)
new player = cmd_target(id, arg1, 10)
if(!player)
return PLUGIN_HANDLED;
new name[32], pname[32], CurrentTime[16];
get_user_name(id, name, 31)
get_user_name(player, pname, 31)
get_time("%H:%M:%S",CurrentTime,16)
if(muted[player])
{
client_print(id, print_chat, "Gracz %s jest juz wyciszony", pname)
return PLUGIN_HANDLED;
}
muted[player] = true
formatex(mute_nick[player], sizeof mute_nick-1, pname)
formatex(mute_admin[player], sizeof mute_admin-1, name)
formatex(mute_time[player], sizeof mute_time-1, CurrentTime)
if(mutetime == 0)
return PLUGIN_HANDLED;
set_task(float(mutetime), "unmutetask", player)
return PLUGIN_HANDLED
}
public cmd_mutelist(id, level, cid)
{
if(!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED;
console_print(id, "---------------------------------------")
console_print(id, "| LISTA WYCISZONYCH GRACZY: |")
console_print(id, "---------------------------------------")
for(new i = 0; i < get_maxplayers(); i++) if(muted[i])
console_print(id, "#%d - NICK: %s ADMIN: %s godz: %s", i+1, mute_nick[i], mute_admin[i], mute_time)
console_print(id, "---------------------------------------")
return PLUGIN_HANDLED;
}
public unmutetask(player)
{
muted[player] = false
formatex(mute_nick[player], sizeof mute_nick-1, "")
formatex(mute_admin[player], sizeof mute_admin-1, "")
formatex(mute_time[player], sizeof mute_time-1, "")
return PLUGIN_HANDLED;
}
public say_hook(id)
{
if(muted[id]) return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
Dzięki
amx_unmute - odblokowuje czat graczowi
amx_mute Blokuje czat graczowi
amx_mute_time a tu ustawiam ile gracz ma mieć mute tak?
Akurat wyszła nowa wersja, będziesz miał lepiej
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "MuteChat"
#define VERSION "1.3"
#define AUTHOR "KaMaZZ"
#define ADMIN_MUTE ADMIN_BAN
#define MAX_SIZE 33
new mute_on;
new bool: muted[33] = false
new mute_nick[MAX_SIZE][32];
new mute_admin[MAX_SIZE][32];
new mute_time[MAX_SIZE][16];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_cvar_num("sv_voiceenable", 1)
register_clcmd("say", "say_hook")
register_clcmd("say_team", "say_hook")
register_concmd("amx_unmute", "cmd_unmute", ADMIN_MUTE, "<nick gracza>")
register_concmd("amx_mute", "cmd_mute", ADMIN_MUTE, "<nick gracza>")
register_concmd("amx_mutelist", "cmd_mutelist", ADMIN_MUTE, "- wyswietla liste wyciszonych graczy")
mute_on = register_cvar("amx_mute_on", "1")
}
public client_authorized(id)
if(mute_on==1) muted[id] = false
public client_disconnect(id)
{
if(!mute_on)
return PLUGIN_CONTINUE;
remove_task(id)
muted[id] = false;
formatex(mute_nick[id], sizeof mute_nick-1, "")
formatex(mute_admin[id], sizeof mute_admin-1, "")
formatex(mute_time[id], sizeof mute_time-1, "")
return PLUGIN_CONTINUE;
}
public cmd_unmute(id, level, cid)
{
if(!mute_on)
return PLUGIN_HANDLED;
if(!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED;
new arg1[32];
read_argv(1, arg1, 31)
new player = cmd_target(id, arg1, 10)
if(!player)
return PLUGIN_HANDLED;
new name[32]
get_user_name(player, name, 31)
if(!muted[player])
{
client_print(id, print_console, "[PLAYERMUTE] Gracz %s nie posiada wyciszenia", name)
return PLUGIN_HANDLED;
}
muted[player] = false
formatex(mute_nick[player], sizeof mute_nick-1, "")
formatex(mute_admin[player], sizeof mute_admin-1, "")
formatex(mute_time[player], sizeof mute_time-1, "")
remove_task()
return PLUGIN_HANDLED
}
public cmd_mute(id, level, cid)
{
if(!mute_on)
return PLUGIN_HANDLED;
if(!cmd_access(id,level,cid,2))
return PLUGIN_HANDLED;
new arg1[32], arg2[7];
read_argv(1, arg1, 31);
read_argv(2, arg2, 6);
new player = cmd_target(id, arg1, 10);
if(!player)
return PLUGIN_HANDLED;
new name[32], pname[32], CurrentTime[16];
get_user_name(id, name, 31)
get_user_name(player, pname, 31)
get_time("%H:%M:%S",CurrentTime,16)
if(muted[player])
{
client_print(id, print_chat, "[PLAYERMUTE] Gracz %s jest juz wyciszony", pname)
return PLUGIN_HANDLED;
}
muted[player] = true
formatex(mute_nick[player], sizeof mute_nick-1, pname)
formatex(mute_admin[player], sizeof mute_admin-1, name)
formatex(mute_time[player], sizeof mute_time-1, CurrentTime)
new mutetime = str_to_num(arg2)
if(mutetime == 0)
return PLUGIN_HANDLED;
set_task(float(mutetime), "unmutetask", player)
return PLUGIN_HANDLED
}
public cmd_mutelist(id, level, cid)
{
if(!mute_on)
return PLUGIN_HANDLED;
if(!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED;
console_print(id, "---------------------------------------")
console_print(id, "| LISTA WYCISZONYCH GRACZY: |")
console_print(id, "---------------------------------------")
for(new i = 0; i < get_maxplayers(); i++) if(muted[i])
console_print(id, "#%d - NICK: %s ADMIN: %s godz: %s", i+1, mute_nick[i], mute_admin[i], mute_time)
console_print(id, "---------------------------------------")
return PLUGIN_HANDLED;
}
public unmutetask(player)
{
muted[player] = false
formatex(mute_nick[player], sizeof mute_nick-1, "")
formatex(mute_admin[player], sizeof mute_admin-1, "")
formatex(mute_time[player], sizeof mute_time-1, "")
return PLUGIN_HANDLED;
}
public say_hook(id)
{
if(!mute_on)
return PLUGIN_HANDLED;
if(muted[id]) return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
Nowa wersja v1.3 w temacie !!
Zachęcam do pobierania, update w pierwszym poście