#include <amxmodx>
#include <amxmisc>
#include <colorchat>

#pragma semicolon 1

#define MAX_GROUPS 10

new g_Rang[MAX_GROUPS][] = {
       "TULAJDONOS",
       "KONFIGOS",
       "FOADMIN",
       "ADMIN",
       "SCRIPTER",
       "TAMOGATO",
       "Ezredes",
       "Parancsnok",
       "Felugyelo",
       "Vip"
};

new g_RangFlag[MAX_GROUPS][] = {
       "abcdefghijklmnopqrstu",
       "bcdefghijklmnopqrstu",
       "bcdefgijklmnpqrst",
       "bcdefgijlmnqrtst",
       "bcdefgijmnqrst",
       "bcdefgijmnqr",
       "bcdefijmnqr",
       "bcdefijmn",
       "bcf",
       "t"
};

public plugin_init() {
	register_plugin("RangAdminChat", "0.5", "Ex3cuTioN");
	register_clcmd("say","hook_say");
	register_clcmd("say_team","hook_say2");
}

public hook_say(id) {
	if(!is_user_admin(id) || is_user_bot(id)) {
		return PLUGIN_CONTINUE;
	}
	
	new nick[32];
	get_user_name(id,nick,31);
	
	static chat[32];
	read_args(chat, sizeof(chat) - 1);
	remove_quotes(chat);
	
	if(equali(chat,"")) {
		return PLUGIN_CONTINUE;
	}
	
	for(new i=0; i<MAX_GROUPS; i++) {
		if(get_user_flags(id) == read_flags(g_RangFlag[i])) {
			ColorChat(0,GREEN,"[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat);
			return PLUGIN_HANDLED;
		}
	}
	return PLUGIN_CONTINUE;
}

public hook_say2(id) {
	if(!is_user_admin(id) || is_user_bot(id)) {
		return PLUGIN_CONTINUE;
	}
	
	new nick[32];
	get_user_name(id,nick,31);
	
	static chat[32];
	read_args(chat, sizeof(chat) - 1);
	remove_quotes(chat);
	
	if(equali(chat,"")) {
		return PLUGIN_CONTINUE;
	}
	
	for(new i=0; i<MAX_GROUPS; i++) {
		if(get_user_flags(id) == read_flags(g_RangFlag[i])) {
			new players[32],num;
			get_players(players,num,"c");
			
			for(new x=0; x<num; x++) {
				if(get_user_team(id) == get_user_team(players[x])) {
					switch(get_user_team(id)) {
						case 1:
						{
							ColorChat(players[x],RED,"(Terrorista)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat);
						}
						case 2:
						{
							ColorChat(players[x],BLUE,"(Rendor)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat);
						}
					}
				}
				return PLUGIN_HANDLED;
			}
		}
	}
	return PLUGIN_CONTINUE;
}
