/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#include <fakemeta>
#include <colorchat>

new const PLUGIN[] = "Rang+Prefix Rendszer";
new const VERSION[] = "1.0";
new const AUTHOR[] = "DiploY";

new nev[32]
new message[192]
new Temp[192]
static color[10]
new olesek[33]
new g_vault
new szint[33]

new Tulaj[33] = "abcdefghijklmnopqrstu";
new Foadmin[33] = "abcdefghijklnopqrstu";
new Configos[33] = "abcdefghijklmopqrstu";
new Admin[33] = "bcdefijmopqrstu";
new probadmin[33] = "bcdefijopqrstu";
new vip[33] = "cfijmopqrstu";
new const SZERVERPREFIX[] = "Szerverprefix";


#define valami 12

new const szamok[valami] = {
	20,
	50,
	100,
	150,
	200,
	250,
	300,
	350,
	400,
	450,
	500,
	600,
 
}

new const rangok[valami+1][] = {
	"Bot",
	"Újonc",
	"Kezdő",
	"Ügyes",
	"Profi",
	"Fenomenális",
	"Kiváló",
	"Érzi ezt",
	"Régi Játékos",
	"Tud lőni",
	"VeterĂˇn",
	"Isten",
	"Sheriff"
 
}

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("DeathMsg", "halal", "a")
	g_vault = nvault_open("namerang")
	register_clcmd("say", "sayhook")
}

public halal()
{
	new gyilkos = read_data(1)
	new aldozat = read_data(2)
	get_user_name(aldozat, nev, 31)
 
	if(gyilkos != aldozat) {
		olesek[gyilkos]++
		ColorChat(gyilkos, GREEN, "[%s] ^x01Sikeresen megölted ^x04%s-t ^x01 Ezért kaptál ^x03+1 Ölést.", SZERVERPREFIX, nev)
	}
		
 
	while(olesek[gyilkos] >= szamok[szint[gyilkos]])
	{
		szint[gyilkos]++
		ColorChat(gyilkos, GREEN, "[%s] ^x03Sikeresen feljebbléptél egy rangot! ^x04Gratulálok!", SZERVERPREFIX)
	}
}

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(get_user_flags(id) == read_flags(Tulaj)) {
			get_user_team(id, color, 9)
			formatex(Temp, 191, "^4[Tulajdonos][%s] ^3%s^1: ^4%s", rangok[szint[id]], nev, message)
		}
		else if(get_user_flags(id) == read_flags(Foadmin)) {
			get_user_team(id, color, 9)
			formatex(Temp, 191, "^4[Főadmin][%s] ^3%s^1: ^4%s", rangok[szint[id]], nev, message)	
		}
		else if(get_user_flags(id) == read_flags(Configos)) {
			get_user_team(id, color, 9)
			formatex(Temp, 191, "^4[Configos][%s] ^3%s^1: ^4%s", rangok[szint[id]], nev, message)	
		}
		else if(get_user_flags(id) == read_flags(Admin)) {
			get_user_team(id, color, 9)
			formatex(Temp, 191, "^4[Admin][%s] ^3%s^1: ^4%s", rangok[szint[id]], nev, message)	
		}
		else if(get_user_flags(id) == read_flags(probadmin)) {
			get_user_team(id, color, 9)
			formatex(Temp, 191, "^4[ProbaidősAdmin][%s] ^3%s^1: ^4%s", rangok[szint[id]], nev, message)	
		}
		else if(get_user_flags(id) == read_flags(vip)) {
			get_user_team(id, color, 9)
			formatex(Temp, 191, "^3[V.I.P][%s] ^4%s^1: ^3%s", rangok[szint[id]], nev, message)
		}
		else {
			get_user_team(id, color, 9)
			formatex(Temp, 191, "^4[%s] ^3%s^1: ^1%s", rangok[szint[id]], nev, message)
		}
	
	sendmessage(color)
	return PLUGIN_HANDLED
}


public client_connect(id) 
{
	LoadData(id)
}

public client_disconnect(id)
{
	SaveData(id)
}

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 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
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/
