/* Plugin generated by AMXX-Studio */
 
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fakemeta>
#include <cstrike>
#include <Colorchat>
 
#define PLUGIN "11.9"
#define VERSION "11.5"
#define AUTHOR "111.2"
 
new oles[33], awp[33], vault
 
new RosszKarakterek, RosszKarakterek2
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /bolt", "awpmenu")
	register_clcmd("say /awp", "awpmenu")
	register_clcmd("say /menu", "awpmenu")
	register_clcmd("say","handlesay")
	register_clcmd("say_team","handlesay")
	vault = nvault_open("awp_mentes")
	register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
	register_event("DeathMsg","death","a")
}
public plugin_precache() {
	precache_model("models/endlessawp/awp0.mdl")
	precache_model("models/endlessawp/awp1.mdl")
	precache_model("models/endlessawp/awp2.mdl")
	precache_model("models/endlessawp/awp3.mdl")
	precache_model("models/endlessawp/awp4.mdl")
	precache_model("models/endlessawp/awp5.mdl")
	precache_model("models/endlessawp/awp6.mdl")
	precache_model("models/endlessawp/awp7.mdl")
	precache_model("models/endlessawp/awp8.mdl")
}
public death(){
	new killer = read_data(1)
	new victim = read_data(2)
 
	if(killer == victim)
	{
	return PLUGIN_HANDLED
	}
	oles[killer]++
	return PLUGIN_HANDLED
}
public awpmenu(id) {
	new menu = menu_create("\r[~|\yEndLeSS\r|~] \d- \wAWP Menü", "awpmenu_hl")
 
	menu_additem(menu,"\rAWP \ySkinek","1",0)
	menu_additem(menu,"\yRangok","2",0)
	menu_display(id,menu,0)
}
public awpmenu_hl(id, menu, item)
	{
	if( item == MENU_EXIT )
	{
	menu_destroy(menu);
	return PLUGIN_HANDLED;
	}
	new data[9], szName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
 
	switch(key)
	{
	case 1: awpvalaszt(id)
	case 2: rangok(id)
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public awpvalaszt(id){
	new cim[121], ks1[121],ks2[121],ks3[121],ks4[121],ks5[121],ks6[121],ks7[121],ks8[121],ks9[121],ks10[121]
	format(cim, charsmax(cim),"\r[~|\yEndLeSS\r|~] \y| AWP \r|^n\yÖléseid : \r%d",oles[id])
	format(ks1, charsmax(ks1),"\rAlap \wAWP \y[Megszerezve]")
	if(oles[id] < 75)
	format(ks2, charsmax(ks2),"\rArany \wAWP \r[\w%d\y/\w75 ölés\r]",oles[id])
	else
	format(ks2, charsmax(ks2),"\rArany \wAWP \y[\wMegszerezve\y]")
	if(oles[id] < 185)
	format(ks3, charsmax(ks3),"\rPulzus \wAWP \r[\w%d\y/\w185 ölés\r]",oles[id])
	else
	format(ks3, charsmax(ks3),"\rPulzus \wAWP \y[\wMegszerezve\y]")
	if(oles[id] < 295)
	format(ks4, charsmax(ks4),"\rTerep \wAWP \r[\w%d\y/\w295 ölés\r]",oles[id])
	else
	format(ks4, charsmax(ks4),"\rTerep \wAWP \y[\wMegszerezve\y]")
	if(oles[id] < 470)
	format(ks5, charsmax(ks5),"\rTigris \wAWP \r[\w%d\y/\w470 ölés\r]",oles[id])
	else
	format(ks5, charsmax(ks5),"\rTigris \wAWP \y[\wMegszerezve\y]")
	if(oles[id] < 600)
	format(ks6, charsmax(ks6),"\rAsiimov \wAWP \r[\w%d\y/\w600 ölés\r]",oles[id])
	else
	format(ks6, charsmax(ks6),"\rAsiimov \wAWP \y[\wMegszerezve\y]")
	if(oles[id] < 780)
	format(ks7, charsmax(ks7),"\rTűz \wAWP \r[\w%d\y/\w780 ölés\r]",oles[id])
	else
	format(ks7, charsmax(ks7),"\rTűz \wAWP \y[\wMegszerezve\y]")
	if(oles[id] < 900)
	format(ks8, charsmax(ks8),"\rMetal \wAWP \r[\w%d\y/\w900 ölés\r]",oles[id])
	else
	format(ks8, charsmax(ks8),"\rMetal \wAWP \y[\wMegszerezve\y]")
	if(oles[id] < 1150)
	format(ks9, charsmax(ks9),"\rMagma \wAWP \r[\w%d\y/\w1150 ölés\r]",oles[id])
	else
	format(ks9, charsmax(ks9),"\rMagma \wAWP \y[\wMegszerezve\y]")
	if(oles[id] < 2000)
	format(ks10, charsmax(ks10),"\rStar \wAWP \r[\w%d\y/\w2000 ölés\r]",oles[id])
	else
	format(ks10, charsmax(ks10),"\rStar \wAWP \y[\wMegszerezve\y]")
 
	new menu = menu_create(cim, "awpvalaszt_hl")
 
	menu_additem(menu,ks1,"1",0)
	menu_additem(menu,ks2,"2",0)
	menu_additem(menu,ks3,"3",0)
	menu_additem(menu,ks4,"4",0)
	menu_additem(menu,ks5,"5",0)
	menu_additem(menu,ks6,"6",0)
	menu_additem(menu,ks7,"7",0)
	menu_additem(menu,ks8,"8",0)
	menu_additem(menu,ks9,"9",0)
	menu_additem(menu,ks10,"10",0)
	menu_additem(menu,"\rFacebook csoportunk: \wfacebook.com/groups/szerverek2","1",0)
	menu_setprop(menu, MPROP_NEXTNAME, "Tovább")
	menu_setprop(menu, MPROP_EXITNAME, "Bezárás")
	menu_setprop(menu, MPROP_BACKNAME, "Előző")
	menu_setprop(menu, MPROP_PERPAGE, 6);
	menu_display(id,menu,0)
}
public awpvalaszt_hl(id, menu, item)
	{
	if( item == MENU_EXIT )
	{
	menu_destroy(menu);
	return PLUGIN_HANDLED;
	}
	new data[9], szName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
 
	switch(key)
	{
	case 1:{
		if(oles[id] >= 0){
			awp[id] = 0
			engclient_cmd(id,"weapon_awp")
			ColorChat(id, GREEN, "[Információ]^x01 Sikeres választás!")
		}
		else
		{
			ColorChat(id, GREEN, "[Információ]^x01 Hiányzik még %d ölés!",0-oles[id])
		}
	}
	case 2:{
		if(oles[id] >= 75){
			awp[id] = 1
			engclient_cmd(id,"weapon_awp")
			ColorChat(id, GREEN, "[Információ]^x01 Sikeres választás!")
		}
		else
		{
			ColorChat(id, GREEN, "[Információ]^x01 Hiányzik még %d ölés!",75-oles[id])
		}
	}
	case 3:{
		if(oles[id] >= 185){
			awp[id] = 2
			engclient_cmd(id,"weapon_awp")
			ColorChat(id, GREEN, "[Információ]^x01 Sikeres választás!")
		}
		else
		{
			ColorChat(id, GREEN, "[Információ]^x01 Hiányzik még %d ölés!",185-oles[id])
		}
	}
	case 4:{
		if(oles[id] >= 295){
			awp[id] = 3
			engclient_cmd(id,"weapon_awp")
			ColorChat(id, GREEN, "[Információ]^x01 Sikeres választás!")
		}
		else
		{
			ColorChat(id, GREEN, "[Információ]^x01 Hiányzik még %d ölés!",295-oles[id])
		}
	}
	case 5:{
		if(oles[id] >= 470){
			awp[id] = 4
			engclient_cmd(id,"weapon_awp")
			ColorChat(id, GREEN, "[Információ]^x01 Sikeres választás!")
		}
		else
		{
			ColorChat(id, GREEN, "[Információ]^x01 Hiányzik még %d ölés!",470-oles[id])
		}
	}
	case 6:{
		if(oles[id] >= 600){
			awp[id] = 5
			engclient_cmd(id,"weapon_awp")
			ColorChat(id, GREEN, "[Információ]^x01 Sikeres választás!")
		}
		else
		{
			ColorChat(id, GREEN, "[Információ]^x01 Hiányzik még %d ölés!",600-oles[id])
		}
	}
	case 7:{
		if(oles[id] >= 780){
			awp[id] = 6
			engclient_cmd(id,"weapon_awp")
			ColorChat(id, GREEN, "[Információ]^x01 Sikeres választás!")
		}
		else
		{
			ColorChat(id, GREEN, "[Információ]^x01 Hiányzik még %d ölés!",780-oles[id])
		}
	}
	case 8:{
		if(oles[id] >= 900){
			awp[id] = 7
			engclient_cmd(id,"weapon_awp")
			ColorChat(id, GREEN, "[Információ]^x01 Sikeres választás!")
		}
		else
		{
			ColorChat(id, GREEN, "[Információ]^x01 Hiányzik még %d ölés!",900-oles[id])
		}
	}
	case 9:{
		if(oles[id] >= 1150){
			awp[id] = 8
			engclient_cmd(id,"weapon_awp")
			ColorChat(id, GREEN, "[Információ]^x01 Sikeres választás!")
		}
		else
		{
			ColorChat(id, GREEN, "[Információ]^x01 Hiányzik még %d ölés!",1150-oles[id])
		}
	}
	case 10:{
		if(oles[id] >= 2000){
			awp[id] = 9
			engclient_cmd(id,"weapon_awp")
			ColorChat(id, GREEN, "[Információ]^x01 Sikeres választás!")
		}
		else
		{
			ColorChat(id, GREEN, "[Információ]^x01 Hiányzik még %d ölés!",2000-oles[id])
		}
	}
 
}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public rangok(id){
	new cim[121], ks1[121],ks2[121],ks3[121],ks4[121],ks5[121],ks6[121],ks7[121],ks8[121],ks9[121],ks10[121]
	format(cim, charsmax(cim),"\r[~|\yEndLeSS\r|~] \y| Rangok \r|^n\yÖléseid : \r%d",oles[id])
 
	format(ks1, charsmax(ks1),"\wKezdő Alaprang \y[\wMegszerezve\y]")
	if(oles[id] < 50)
	format(ks2, charsmax(ks2),"\wHaladó Rang \r[%d/50 ölés]",oles[id])
	else
	format(ks2, charsmax(ks2),"\wHaladó Rang \y[\wMegszerezve\y]")
	if(oles[id] < 100)
	format(ks3, charsmax(ks2),"\wProfi Rang \r[%d/100 ölés]",oles[id])
	else
	format(ks3, charsmax(ks2),"\wProfi Rang \y[\wMegszerezve\y]")
	if(oles[id] < 200)
	format(ks4, charsmax(ks2),"\wHarcos Rang \r[%d/200 ölés]",oles[id])
	else
	format(ks4, charsmax(ks2),"\wHarcos Rang \y[\wMegszerezve\y]")
	if(oles[id] < 400)
	format(ks5, charsmax(ks2),"\wElit Rang \r[%d/400 ölés]",oles[id])
	else
	format(ks5, charsmax(ks2),"\wElit Rang \y[\wMegszerezve\y]")
	if(oles[id] < 800)
	format(ks6, charsmax(ks2),"\wTitán Rang \r[%d/800 ölés]",oles[id])
	else
	format(ks6, charsmax(ks2),"\wTitán Rang \y[\wMegszerezve\y]")
	if(oles[id] < 1600)
	format(ks7, charsmax(ks2),"\wHerceg Rang \r[%d/1600 ölés]",oles[id])
	else
	format(ks7, charsmax(ks2),"\wHerceg Rang \y[\wMegszerezve\y]")
	if(oles[id] < 3200)
	format(ks8, charsmax(ks2),"\wKirály Rang \r[%d/3200 ölés]",oles[id])
	else
	format(ks8, charsmax(ks2),"\wKirály Rang \y[\wMegszerezve\y]")
	if(oles[id] < 3500)
	format(ks9, charsmax(ks2),"\wIsten Rang \r[%d/3500 ölés]",oles[id])
	else
	format(ks9, charsmax(ks2),"\wIsten Rang \y[\wMegszerezve\y]")
	if(oles[id] < 4000)
	format(ks10, charsmax(ks2),"\wLegenda Rang \r[%d/4000 ölés]^n",oles[id])
	else
	format(ks10, charsmax(ks2),"\wLegenda Rang \y[\wMegszerezve\y]^n")
 
	new menu = menu_create(cim, "rangok_h")
 
	menu_additem(menu,ks1,"1",0)
	menu_additem(menu,ks2,"1",0)
	menu_additem(menu,ks3,"1",0)
	menu_additem(menu,ks4,"1",0)
	menu_additem(menu,ks5,"1",0)
	menu_additem(menu,ks6,"1",0)
	menu_additem(menu,ks7,"1",0)
	menu_additem(menu,ks8,"1",0)
	menu_additem(menu,ks9,"1",0)
	menu_additem(menu,ks10,"1",0)
	menu_additem(menu,"\rFacebook csoportunk: \wfb.com/groups/szerverek2","1",0)
	menu_setprop(menu, MPROP_NEXTNAME, "Tovább")
	menu_setprop(menu, MPROP_EXITNAME, "Bezárás")
	menu_setprop(menu, MPROP_BACKNAME, "Előző")
	menu_display(id,menu,0)
}
public rangok_h(id, menu, item)
	{
	if( item == MENU_EXIT )
	{
	menu_destroy(menu);
	return PLUGIN_HANDLED;
	}
	new data[9], szName[64], name[32]
	get_user_name(id, name, charsmax(name))
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
 
	switch(key)
	{
	case 1: rangok(id)
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public handlesay(id)
{
	new message[192], Name[32], none[2][32], chat[192], rang[32]
	read_args(message, 191)
	remove_quotes(message)
 
	new hossz = strlen(message)
 
	new i = 0
	RosszKarakterek = 0
 
	while(i < hossz) {
		if(message[i] == '#')
			RosszKarakterek++
		++i
	}
 
	if(RosszKarakterek != 0)
	{
		new JatekosNeve[32]
		get_user_name(id, JatekosNeve, charsmax(JatekosNeve))
		new JatekosIP[32]
		get_user_ip(id, JatekosIP, charsmax(JatekosIP))
		server_cmd("kick #%d Tiltott karakter-t irtal chatbe! ^"#^"", get_user_userid(id))
		log_amx("%s | %s rossz karaktert irtbe chatbe : %s", JatekosNeve, JatekosIP, message)
		return PLUGIN_HANDLED
	}
 
	formatex(none[0], 31, ""), formatex(none[1], 31, " ")
 
	if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
		return PLUGIN_HANDLED;
 
	if(!equali(message, none[0]) && !equali(message, none[1]))
	{
		get_user_name(id, Name, 31);
		if(oles[id] < 25)
		rang = "Kezdő"
		else if(oles[id] < 50)
		rang = "Haladó"
		else if(oles[id] < 100)
		rang = "Profi"
		else if(oles[id] < 200)
		rang = "Harcos"
		else if(oles[id] < 400)
		rang = "Elit"
		else if(oles[id] < 800)
		rang = "Titán"
		else if(oles[id] < 1600)
		rang = "Herceg"
		else if(oles[id] < 3200)
		rang = "Király"
		else if(oles[id] < 3500)
		rang = "Isten"
		else
		rang = "Legenda"
		if(equal("",Name))
			formatex(chat, 191, "^4[TULAJDONOS][%s]^3%s^1 :^4 %s",rang, Name, message)
		else if(equal("",Name))
			formatex(chat, 191, "^4[SCRIPTER][%s]^3%s^1 :^4 %s",rang, Name, message)
		else if(equal("",Name))
			formatex(chat, 191, "^4[DESIGNER][%s]^3%s^1 :^4 %s",rang, Name, message)
		else if(equal("",Name))
			formatex(chat, 191, "^4[KONFIGOS][%s]^3%s^1 :^4 %s",rang, Name, message)
		else if(equal("",Name))
			formatex(chat, 191, "^4[FŐADMIN][%s]^3%s^1 :^4 %s",rang, Name, message)
		else if(equal("",Name))
			formatex(chat, 191, "^4[ADMIN][%s]^3%s^1 :^4 %s",rang, Name, message)
		else if(get_user_flags(id) & ADMIN_KICK)
			formatex(chat, 191, "^4[ADMIN][%s]^3%s^1 :^4 %s",rang, Name, message)
		else
			formatex(chat, 191, "^4[%s]^3%s^1 :^1 %s",rang, Name, message)
 
      		switch(cs_get_user_team(id))
      		{
			case 1: ColorChat(0, RED, chat)
			case 2: ColorChat(0, BLUE, chat)
		}
		if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
			ColorChat(0, GREY, chat)
		return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE
}
public mentes(id) 
{
	new vaultkey[64],vaultdata[256], name[32]
	get_user_name(id, name, 31)
	format(vaultkey,63,"%s-awp", name)
	format(vaultdata,255,"%d", oles[id])
	nvault_set(vault,vaultkey,vaultdata)
	return PLUGIN_CONTINUE
}
public betoltes(id) 
{ 
	new vaultkey[64],vaultdata[256], name[32]
	get_user_name(id, name, 31)
	format(vaultkey,63,"%s-awp", name)
	nvault_get(vault,vaultkey,vaultdata,255)
	oles[id] = str_to_num(vaultdata)
	return PLUGIN_CONTINUE;
}
public Event_Change_Weapon(id)
{
	new fgy = get_user_weapon(id)
	if(awp[id] == -1 && fgy == CSW_AWP)
	{
	set_pev(id, pev_viewmodel2, "models/endlessawp/awp0.mdl")	
	}
	if(awp[id] == 1 && fgy == CSW_AWP)
	{
	set_pev(id, pev_viewmodel2, "models/endlessawp/awp1.mdl")
	}
	if(awp[id] == 2 && fgy == CSW_AWP)
	{
	set_pev(id, pev_viewmodel2, "models/endlessawp/awp2.mdl")
	}
	if(awp[id] == 3 && fgy == CSW_AWP)
	{
	set_pev(id, pev_viewmodel2, "models/endlessawp/awp3.mdl")
	}
	if(awp[id] == 4 && fgy == CSW_AWP)
	{
	set_pev(id, pev_viewmodel2, "models/endlessawp/awp4.mdl")
	}
	if(awp[id] == 5 && fgy == CSW_AWP)
	{
	set_pev(id, pev_viewmodel2, "models/endlessawp/awp5.mdl")
	}
	if(awp[id] == 6 && fgy == CSW_AWP)
	{
	set_pev(id, pev_viewmodel2, "models/endlessawp/awp6.mdl")
	}
	if(awp[id] == 7 && fgy == CSW_AWP)
	{
	set_pev(id, pev_viewmodel2, "models/endlessawp/awp7.mdl")
	}
	if(awp[id] == 8 && fgy == CSW_AWP)
	{
	set_pev(id, pev_viewmodel2, "models/endlessawp/awp8.mdl")
	}
}
public client_connect(id)
{
	betoltes(id)
 
	new JatekosNeve[32]
	get_user_name(id, JatekosNeve, charsmax(JatekosNeve))
	new JatekosIP[32]
	get_user_ip(id, JatekosIP, charsmax(JatekosIP))
 
	new hossz = strlen(JatekosNeve)
 
	new i = 0
	RosszKarakterek = 0
	RosszKarakterek2 = 0
 
	while(i < hossz)
	{
		if(JatekosNeve[i] == '#')
			RosszKarakterek++
		if(JatekosNeve[i] == '_')
			RosszKarakterek2++
		++i
 
	}
 
	if(RosszKarakterek != 0 && RosszKarakterek2 != 0)
	{	
		server_cmd("kick #%d Tiltott karakter van a nevedben. ^"# & _^"", get_user_userid(id))
		log_amx("Egy jatekos tiltott karakteres nevvel jott fel : %s | %s", JatekosNeve, JatekosIP)
	}
	return PLUGIN_CONTINUE
}
public client_disconnect(id)
{
	mentes(id)
}
stock print_color(const id, const input[], any:...)
{
        new count = 1, players[32]
        static msg[191]
        vformat(msg, 190, input, 3)
 
        replace_all(msg, 190, "!g", "^4")
        replace_all(msg, 190, "!y", "^1")
        replace_all(msg, 190, "!t", "^3")
        replace_all(msg, 190, "á", "á")
        replace_all(msg, 190, "é", "é")
        replace_all(msg, 190, "í", "í")
        replace_all(msg, 190, "ó", "ó")
        replace_all(msg, 190, "ö", "ö")
        replace_all(msg, 190, "ő", "ő")
        replace_all(msg, 190, "ú", "ú")
        replace_all(msg, 190, "ü", "ü")
        replace_all(msg, 190, "ű", "ű")
        replace_all(msg, 190, "Á", "Á")
        replace_all(msg, 190, "É", "É")
        replace_all(msg, 190, "Í", "Í")
        replace_all(msg, 190, "Ó", "Ó")
        replace_all(msg, 190, "Ö", "Ö")
        replace_all(msg, 190, "Ő", "Ő")
        replace_all(msg, 190, "Ú", "Ú")
        replace_all(msg, 190, "Ü", "Ü")
        replace_all(msg, 190, "Ű", "Ű")       
 
        if (id) players[0] = id; else get_players(players, count, "ch")
        {
                for (new i = 0; i < count; i++)
                {
                        if (is_user_connected(players[i]))
                        {
                                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
                                write_byte(players[i])
                                write_string(msg)
                                message_end()
                        }
                }
        }
        return PLUGIN_HANDLED
}