Raised This Month: $ Target: $400
 0% 

Mutemenu, who could help me?i need 2 things.


Post New Thread Closed Thread   
 
Thread Tools Display Modes
Author Message
dogandcat
BANNED
Join Date: Jan 2009
Old 01-21-2009 , 12:23   Mutemenu, who could help me?i need 2 things.
#1

Code:
#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", "clcmd_say")
	register_clcmd("say_team", "clcmd_say")

	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, "You have %smuted %s", g_mute[id][player] ? "" : "un", name)
    		}
  	}
	return PLUGIN_HANDLED
}
Well, what i want to do is:

1: that the mute menu, has and option(wich will appear at first, for mute ALL the players...
2: That when a player mute someone, in a server print (showing it to all players)
it say player has muted player, or player has muted all

Sorry for my english, if you help me, i will give +karma for you. please help me.

Last edited by dogandcat; 01-21-2009 at 12:55. Reason: An admin telled me that i had to edit this :P
dogandcat is offline
YamiKaitou
Has a lovely bunch of coconuts
Join Date: Apr 2006
Location: Texas
Old 01-21-2009 , 12:25   Re: Who could help me please?+karma!
#2

As per the Global Forum Rules, you need to have a descriptive topic title. If you wish for this topic to stay open, please correct the topic title before you post again.
__________________
ProjectYami Laboratories

I do not browse the forums regularly anymore. If you need me for anything (asking questions or anything else), then PM me (be descriptive in your PM, message containing only a link to a thread will be ignored).
YamiKaitou is offline
dogandcat
BANNED
Join Date: Jan 2009
Old 01-21-2009 , 12:55   Re: Mutemenu, who could help me?i need 2 things.
#3

edited. thank you.i didnt know that.
dogandcat is offline
Old 01-22-2009, 10:03
dogandcat
This message has been deleted by Exolent[jNr]. Reason: Don't bump until 2 weeks have passed since last post.
Old 01-24-2009, 20:45
dogandcat
This message has been deleted by Exolent[jNr]. Reason: Don't bump until 2 weeks have passed since last post. Early bump again and I'll lock the topic.
Old 02-28-2009, 01:28
dogandcat
This message has been deleted by danielkza. Reason: Premature bump, again. Thread Locked.
Closed Thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:53.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode