View Single Post
watch
Senior Member
Join Date: Sep 2005
Old 08-23-2006 , 16:25   Re: Set Client Listen Defective?
Reply With Quote #9

This is how i did it in the end, just some test code i thought id post it for reference as it could be useful for anyone who searches for something similiar as a later date

Code:
#include <amxmodx> #include <amxmisc> #include <fakemeta> #define PLUGIN "fm_mute" #define VERSION "1.0" #define AUTHOR "watch" #define SPEAK_MUTED 0 #define SPEAK_NORMAL    1 new g_maxplayers new g_playermute[33][33] public client_connect(id) {     for (new i = 0; i < g_maxplayers; i++)         g_playermute[id][i] = SPEAK_NORMAL     g_playermute[0][id] = SPEAK_NORMAL } public client_disconnect(id) {     for (new i = 0; i < g_maxplayers; i++)     {         g_playermute[id][i] = SPEAK_NORMAL         g_playermute[i][id] = SPEAK_NORMAL     } } public plugin_init() {     register_plugin(PLUGIN, VERSION, AUTHOR)     register_forward(FM_Voice_SetClientListening, "mute_forward")     g_maxplayers = get_maxplayers()     register_concmd("mute", "mute") } public mute_forward(receiver, sender, listen) {     //client_print(0,print_console,"%d %d %d",receiver, sender, listen)     if (receiver == sender)         return FMRES_IGNORED     new name[32]     get_user_name(sender,name,31)             if (g_playermute[0][sender] == SPEAK_MUTED && listen == SPEAK_NORMAL)     {         client_print(0,print_chat,"%s is muted globally %d %d %d", name, receiver, sender, listen)         engfunc(EngFunc_SetClientListening, receiver, sender, SPEAK_MUTED)         return FMRES_SUPERCEDE     }     else if (g_playermute[receiver][sender] == SPEAK_MUTED && listen == SPEAK_NORMAL)     {         client_print(0,print_chat,"%s is muted by player %d %d %d", name, receiver, sender, listen)         engfunc(EngFunc_SetClientListening, receiver, sender, SPEAK_MUTED)         return FMRES_SUPERCEDE             }     return FMRES_IGNORED } public set_client_listening(receiver, sender, listen)        g_playermute[receiver][sender] = listen public mute(id) {     new args[33], target[32], listen[2]     read_args(args,31)     strbreak(args,target,30, listen, 1)         new player = cmd_target(id,target,0)     if (!player) return PLUGIN_HANDLED         set_client_listening(id,player, str_to_num(listen))         console_print(id,"done")     return PLUGIN_HANDLED } public set_speak(id,listen)     g_playermute[0][id] = listen
__________________
Code:
#include <amusing_small_signiture>

Last edited by watch; 08-23-2006 at 16:39.
watch is offline