- #include <amxmodx> 
- #include <amxmisc> 
- #include <nvault> 
- #include <colorchat>   
-   
- #define PLUGIN "HLMOD.Hus Rangok" 
- #define VERSION "1.0" 
- #define AUTHOR "ExTraaaa and qKKKJ;>" 
-   
- new message[192] 
- new nev[32] 
- new Temp[192] 
- static color[10] 
- new g_vault 
- new olesek[33] 
- new szint[33] 
-   
- #pragma semicolon 1 
-   
- #define MAX_GROUPS 10  
-   
- #define ASD 15 
-   
- //Ha az ASD értéke 15 akkor a szamoknal 15 szám a rangoknál 16 szöveg 
-   
- new const szamok[ASD] = { 
- 	15, 
- 	20, 
- 	30, 
- 	45, 
- 	55, 
- 	65, 
- 	75, 
- 	85, 
- 	90, 
- 	105, 
- 	115, 
- 	120, 
- 	125, 
- 	135, 
- 	140 
-   
- } 
-   
- new const rangok[ASD+1][] = { 
- 	"Újonc", 
- 	"Lelkes", 
- 	"Tag", 
- 	"Beavatott", 
- 	"Tud valamit", 
- 	"Fanatikus", 
- 	"Senior Tag", 
- 	"Jómunkásember", 
- 	"Nagyúr", 
- 	"Félisten", 
- 	"Östag", 
- 	"Veterán", 
- 	"Őskövület", 
- 	"Minden6ó", 
- 	"ISTEN", 
- 	"Mindent Tudó" 
-   
- } 
-   
- new g_Rang[MAX_GROUPS][] = { 
-        "Tulaj", 
-        "Helyettes", 
-        "Foadmin", 
-        "Admin", 
-        "Moderator", 
-        "Tabornok", 
-        "Ezredes", 
-        "Parancsnok", 
-        "Felugyelo", 
-        "Vip" 
- }; 
-   
- new g_RangFlag[MAX_GROUPS][] = { 
-        "abcdefghijklmnopqrstu", 
-        "bcdefghijklmnopqrstu", 
-        "bcdefgijklmnpqrst", 
-        "bcdefgijlmnqrtst", 
-        "bcdefgijmnqrst", 
-        "bcdefgijmnqr", 
-        "bcdefijmnqr", 
-        "bcdefijmn", 
-        "bcf", 
-        "t" 
- }; 
-   
- public plugin_init() 
- { 
- 	register_plugin(PLUGIN, VERSION, AUTHOR) 
- 	register_clcmd("say /rang", "hud") 
- 	register_clcmd("say", "sayhook") 
- 	register_clcmd("say_team", "tshook") 
- 	register_event("DeathMsg", "halal", "a") 
- 	g_vault = nvault_open("namerang") 
-   
- } 
- public hud(id) 
- { 
- 	if(szint[id] != ASD+1) 
- 	{ 
-   
-   
- 		client_print(id, print_chat, "Prefix: %s^nÖlések: %d^nKell még: %d",rangok[szint[id]], olesek[id],szamok[szint[id]]-olesek[id] ) 
- 	} 
- 	else { 
-   
- 		client_print(id, print_chat, "Prefix: %s^nÖlések: %d^nKell még: 0",rangok[szint[id]], olesek[id]) 
- 	} 
-   
- } 
- public sayhook(id) 
- { 
-   
- 	read_args (message, 191) 
- 	remove_quotes (message) 
- 	if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) 
- 	{ 
- 		return PLUGIN_CONTINUE 
- 	} 
- 	get_user_name(id, nev, 31) 
- 	if(is_user_alive(id)) { 
- 		get_user_team(id, color, 9) 
- 		formatex(Temp, 191, "^x04[%s] ^x03%s^x01: %s", rangok[szint[id]], nev, message) 
-   
- 	} 
- 	else { 
- 		get_user_team(id, color, 9) 
- 		formatex(Temp, 191, "^x04*Halott* [%s] ^x03%s^x01: %s", rangok[szint[id]], nev, message) 
- 	} 
- 	sendmessage(color) 
- 	return PLUGIN_HANDLED 
- } 
- public tshook(id) 
- { 
- 	read_args (message, 191) 
- 	remove_quotes (message) 
- 	if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) 
- 	{ 
- 		return PLUGIN_CONTINUE 
- 	} 
- 	get_user_name(id, nev, 31) 
- 	new playerTeam = get_user_team(id) 
- 	new playerTeamName[19] 
- 	switch (playerTeam) 
- 	{ 
- 		case 1: { 
- 			copy (playerTeamName, 11, "*Terrorista*") 
-   
- 		} 
- 		case 2: { 
- 			copy (playerTeamName, 18, "*Anti-Terrorista*") 
-   
- 		} 
- 		default: 
- 		copy (playerTeamName, 9, "*Néző*") 
- 	} 
- 	if(is_user_alive(id)) 
- 	{ 
- 		get_user_team(id, color, 9) 
- 		formatex(Temp, 191, "^x03(%s) ^x04[%s] ^x03%s^x01: %s",playerTeamName, rangok[szint[id]], nev, message) 
-   
- 	} 
- 	else 
- 	{ 
- 		get_user_team(id, color, 9) 
- 		formatex(Temp, 191, "^x04*Halott* ^x03(%s) ^x04[%s] ^x03%s^x01: %s",playerTeamName, rangok[szint[id]], nev, message) 
- 	} 
- 	sendtmessage(color, playerTeam) 
- 	return PLUGIN_HANDLED 
- } 
- public sendmessage(color[]) 
- { 
- 	new teamName[10] 
- 	for(new player = 1; player < get_maxplayers(); player++) 
- 	{ 
- 		get_user_team (player, teamName, 9) 
- 		teamf (player, color) 
- 		elkuldes(player, Temp) 
- 		teamf(player, teamName) 
- 	} 
- } 
- public sendtmessage(color[], playerTeam) 
- { 
- 	new teamName[10] 
- 	for (new player = 1; player < get_maxplayers(); player++) 
- 	{ 
- 		if(get_user_team(player) == playerTeam) 
- 		{ 
- 			get_user_team (player, teamName, 9) 
- 			elkuldes(player, Temp) 
- 			teamf (player, teamName) 
- 			teamf (player, color) 
- 		} 
- 	} 
- } 
- public teamf(player, team[]) 
- { 
- 	message_begin(MSG_ONE, get_user_msgid("TeamInfo"), _, player) 
- 	write_byte(player) 
- 	write_string(team) 
- 	message_end() 
- } 
- public elkuldes(player, Temp[]) 
- { 
-   
- 	message_begin( MSG_ONE, get_user_msgid( "SayText" ), _, player) 
- 	write_byte( player ) 
- 	write_string( Temp ) 
- 	message_end() 
-   
- } 
-   
- public client_connect(id) 
- {	 
- 	LoadData(id) 
- } 
- public client_disconnect(id) SaveData(id) 
-   
- public SaveData(id) 
- { 
- 	new name[32] 
- 	get_user_name(id, name, 31) 
-   
- 	new vaultkey[64],vaultdata[256] 
- 	format(vaultkey,63,"%s-rang", name) 
- 	format(vaultdata,255,"%i#%i#",olesek[id],szint[id]) 
-   
-   
- 	nvault_set(g_vault,vaultkey,vaultdata) 
- 	return PLUGIN_CONTINUE 
- } 
- public LoadData(id) 
- { 
- 	new name[32] 
- 	get_user_name(id, name, 31) 
- 	new vaultkey[64],vaultdata[256] 
-   
- 	format(vaultkey,63,"%s-rang", name) 
- 	format(vaultdata,255,"%i#%i#",olesek[id],szint[id]) 
-   
- 	nvault_get(g_vault,vaultkey,vaultdata,255) 
- 	replace_all(vaultdata, 255, "#", " ") 
- 	new oles[32], level[32] 
- 	parse(vaultdata, oles, 31, level, 31) 
- 	olesek[id] = str_to_num(oles) 
- 	szint[id] = str_to_num(level) 
- 	return PLUGIN_CONTINUE 
- } 
- public halal() 
- { 
- 	new killer = read_data(1) 
- 	new victim = read_data(2) 
-   
- 	if(killer != victim) 
- 		olesek[killer]++ 
-   
- 	while(olesek[killer] >= szamok[szint[killer]]) 
- 	{ 
- 		szint[killer]++ 
- 	} 
- } 
-   
- 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,"(Terrorist)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat); 
- 						} 
- 						case 2: 
- 						{ 
- 							ColorChat(players[x],BLUE,"(Counter)^x04[%s]^x03 %s^x04 : %s",g_Rang[i],nick,chat); 
- 						} 
- 					} 
- 				} 
- 				return PLUGIN_HANDLED; 
- 			} 
- 		} 
- 	} 
- 	return PLUGIN_CONTINUE; 
- }