#include <amxmodx>
#include <engine>
#include <nvault>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
 
#define USE_CC 1
 
#if defined USE_CC
#include <colorchat>
#endif
 
#define FREQ 0.1
 
new oles[33], skin[33], vault, SEBZES, skin_oles, skin_hsoles, skin_kesoles
 
 
new skin1[121], skin2[121], skin3[121], skin4[121], skin5[121], skin6[121], skin7[121], skin8[121], skin9[121], skin10[121], skin11[121], skin12[121], skin13[121], skin14[121], skin15[121], skin16[121], skin17[121], skin18[121], skin19[121], skin20[121]
new const awp[] = "models/v_awp.mdl"
new const awp_1[] = "models/els_awp_new/fenyes.mdl"
new const awp_2[] = "models/els_awp_new/sotet.mdl"
new const awp_3[] = "models/els_awp_new/ezust.mdl"
new const awp_4[] = "models/els_awp_new/fa.mdl"
new const awp_5[] = "models/els_awp_new/arany.mdl"
new const awp_6[] = "models/els_awp_new/pulzus.mdl"
new const awp_7[] = "models/els_awp_new/csikos.mdl"
new const awp_8[] = "models/els_awp_new/terep.mdl"
new const awp_9[] = "models/els_awp_new/tuz.mdl"
new const awp_10[] = "models/els_awp_new/katonai.mdl"
new const awp_11[] = "models/els_awp_new/kobra.mdl"
new const awp_12[] = "models/els_awp_new/tigris.mdl"
new const awp_13[] = "models/els_awp_new/devolved.mdl"
new const awp_14[] = "models/els_awp_new/asiimov.mdl"
new const awp_15[] = "models/els_awp_new/crossfire.mdl"
new const awp_16[] = "models/els_awp_new/metal.mdl"
new const awp_17[] = "models/els_awp_new/magma.mdl"
new const awp_18[] = "models/els_awp_new/zombie.mdl"
new const awp_19[] = "models/els_awp_new/zombie2.mdl"
new const awp_20[] = "models/els_awp_new/star.mdl"
 
 
public plugin_precache()
{
	precache_model(awp)
	precache_model(awp_1)
	precache_model(awp_2)
	precache_model(awp_3)
	precache_model(awp_4)
	precache_model(awp_5)
	precache_model(awp_6)
	precache_model(awp_7)
	precache_model(awp_8)
	precache_model(awp_9)
	precache_model(awp_10)
	precache_model(awp_11)
	precache_model(awp_12)
	precache_model(awp_13)
	precache_model(awp_14)
	precache_model(awp_15)
	precache_model(awp_16)
	precache_model(awp_17)
	precache_model(awp_18)
	precache_model(awp_19)
	precache_model(awp_20)
}
public plugin_init() 
{
	register_plugin("AWP Menu", "1.1", "SmaCk")
	set_task(25.0, "KorUzenet", 0, _, _, "b")
 
	register_event("CurWeapon","fegyverek","be","1=1")
	register_event("Damage", "event_sebzes", "be" )
	register_event("DeathMsg", "halal", "a" );
	register_event("CurWeapon", "fegyverid", "be", "1=1")
 
	register_clcmd("say /skinmenu","menu")
	register_clcmd("say /awp","menu")
	register_clcmd("say /skinoles","pontmegtekint")
	register_clcmd("say /oles","pontmegtekint")
	register_clcmd("say /fegyok","menu")
	register_clcmd("say /fegyverskin","menu")
	register_clcmd("say /fegyomenu","menu") 
 
	register_cvar("sima_oles", "1");
	register_cvar("hs_oles", "1");
	register_cvar("kes_oles", "1");
 
	skin_oles = get_cvar_num("sima_oles");
	skin_hsoles = get_cvar_num("hs_oles");
	skin_kesoles = get_cvar_num("kes_oles");
	SEBZES = register_cvar("skin_sebzes", "1")
 
 
	vault = nvault_open("fegyver_skin")
 
}
public fegyverid(id)
{
	new fegyver = get_user_weapon(id)
 
	if(skin[id] == 0 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp)
	if(skin[id] == 1 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_1)
	if(skin[id] == 2 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_2)
	if(skin[id] == 3 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_3)
	if(skin[id] == 4 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_4)
	if(skin[id] == 5 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_5)
	if(skin[id] == 6 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_6)
	if(skin[id] == 7 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_7)
	if(skin[id] == 8 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_8)
	if(skin[id] == 9 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_9)
	if(skin[id] == 10 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_10)
	if(skin[id] == 11 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_11)
	if(skin[id] == 12 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_12)
	if(skin[id] == 13 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_13)
	if(skin[id] == 14 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_14)
	if(skin[id] == 15 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_15)
	if(skin[id] == 16 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_16)
	if(skin[id] == 17 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_17)
	if(skin[id] == 18 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_18)
	if(skin[id] == 19 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_19)
	if(skin[id] == 20 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp_20)
}
public halal(id)
{
	new gyilkos = read_data( 1 );
	new aldozat = read_data( 2 );	
 
	if(gyilkos == aldozat || ! is_user_connected(gyilkos) || ! is_user_connected(aldozat))
	{
		return PLUGIN_HANDLED;
	}
	new olesekert = skin_oles;
 
	if(read_data(3))
	{
		olesekert += skin_hsoles;
	}
 
	static Fegyver[26];
 
	read_data(4, Fegyver, sizeof(Fegyver) -1);
 
	if(equal(Fegyver,"knife"))   
	{
		olesekert += skin_kesoles;
	}
	oles[gyilkos] += olesekert;
 
	ColorChat(gyilkos, RED, "^3[Információ] ^4Kaptál ^3+%i ^1Ölést!", olesekert);
	return PLUGIN_HANDLED;
}
public menu(id) {
	new cim[121]
	formatex(cim, charsmax(cim), "\\d[~|\\rEndLeSS\\d|~] \\yA\\rW\\wP \\dMenü ^n\\yÖléseid: \\w%d^nOldal ",oles[id])
	new menu = menu_create(cim, "skin_menu");
 
	formatex(skin1, charsmax(skin1),"%s", oles[id] >= 50 ? "\\rFényes AWP \\r[Megszerezve]" : "\\dFényes AWP \\r[50 Ölés]\\y");
	formatex(skin2, charsmax(skin2),"%s", oles[id] >= 80 ? "\\ySötét AWP \\r[Megszerezve]" : "\\dSötét AWP \\r[80 Ölés]\\y");
	formatex(skin3, charsmax(skin3),"%s", oles[id] >= 110 ? "\\rEzüst AWP \\r[Megszerezve]" : "\\dEzüst AWP \\r[110 Ölés]\\y");
	formatex(skin4, charsmax(skin4),"%s", oles[id] >= 150 ? "\\yFa AWP \\r[Megszerezve]" : "\\dFa AWP \\r[150 Ölés]\\y");
	formatex(skin5, charsmax(skin5),"%s", oles[id] >= 200 ? "\\rArany AWP \\r[Megszerezve]" : "\\dArany AWP \\r[200 Ölés]\\y");
	formatex(skin6, charsmax(skin6),"%s", oles[id] >= 250 ? "\\yPulzus AWP \\r[Megszerezve]" : "\\dPulzus AWP \\r[250 Ölés]\\y");
	formatex(skin7, charsmax(skin7),"%s", oles[id] >= 300 ? "\\rCsíkos AWP \\r[Megszerezve]" : "\\dCsíkos AWP \\r[300 Ölés]\\y");
	formatex(skin8, charsmax(skin8),"%s", oles[id] >= 360 ? "\\yTerep AWP \\r[Megszerezve]" : "\\dTerep AWP \\r[360 Ölés]\\y");
	formatex(skin9, charsmax(skin9),"%s", oles[id] >= 410 ? "\\yTűz AWP \\r[Megszerezve]" : "\\dTűz AWP \\r[410 Ölés]\\y");
	formatex(skin10, charsmax(skin10),"%s", oles[id] >= 440 ? "\\yKatonai AWP \\r[Megszerezve]" : "\\dKatonai AWP \\r[440 Ölés]\\y");
	formatex(skin11, charsmax(skin11),"%s", oles[id] >= 470 ? "\\yKobra AWP \\r[Megszerezve]" : "\\dKobra AWP \\r[470 Ölés]\\y");
	formatex(skin12, charsmax(skin12),"%s", oles[id] >= 510 ? "\\yTigris AWP \\r[Megszerezve]" : "\\dTigris AWP \\r[510 Ölés]\\y");
	formatex(skin13, charsmax(skin13),"%s", oles[id] >= 570 ? "\\yDevolved AWP \\r[Megszerezve]" : "\\dDevolved AWP \\r[570 Ölés]\\y");
	formatex(skin14, charsmax(skin14),"%s", oles[id] >= 610 ? "\\yAsiimov AWP \\r[Megszerezve]" : "\\dAsiimov AWP \\r[610 Ölés]\\y");
	formatex(skin15, charsmax(skin15),"%s", oles[id] >= 660 ? "\\yCrossFire AWP \\r[Megszerezve]" : "\\dCrossFire AWP \\r[660 Ölés]\\y");
	formatex(skin16, charsmax(skin16),"%s", oles[id] >= 710 ? "\\yMetal AWP \\r[Megszerezve]" : "\\dMetal AWP \\r[710 Ölés]\\y");
	formatex(skin17, charsmax(skin17),"%s", oles[id] >= 760 ? "\\yMagma AWP \\r[Megszerezve]" : "\\dMagma AWP \\r[760 Ölés]\\y");
	formatex(skin18, charsmax(skin18),"%s", oles[id] >= 820 ? "\\yZombie AWP \\r[Megszerezve]" : "\\dZombie AWP \\r[820 Ölés]\\y");
	formatex(skin19, charsmax(skin19),"%s", oles[id] >= 900 ? "\\yZombie AWP 2 \\r[Megszerezve]" : "\\dZombie AWP 2 \\r[900 Ölés]\\y");
	formatex(skin20, charsmax(skin20),"%s", oles[id] >= 1000 ? "\\yStar AWP \\r[Megszerezve]" : "\\dStar AWP \\r[1000 Ölés]\\y");
 
	menu_additem(menu, "\\yAlap AWP \\r[Megszerezve]", "1", 0 );
	menu_additem(menu, skin1, "2", oles[id] >= 50 ? 0 : 1);
	menu_additem(menu, skin2, "3", oles[id] >= 80 ? 0 : 1);
	menu_additem(menu, skin3, "4", oles[id] >= 110 ? 0 : 1);
	menu_additem(menu, skin4, "5", oles[id] >= 150 ? 0 : 1);
	menu_additem(menu, skin5, "6", oles[id] >= 200 ? 0 : 1);
	menu_additem(menu, skin6, "7", oles[id] >= 250 ? 0 : 1);
	menu_additem(menu, skin7, "8", oles[id] >= 300 ? 0 : 1);
	menu_additem(menu, skin8, "9", oles[id] >= 360 ? 0 : 1);
	menu_additem(menu, skin9, "10", oles[id] >= 410 ? 0 : 1);
	menu_additem(menu, skin10, "11", oles[id] >= 440 ? 0 : 1);
	menu_additem(menu, skin11, "12", oles[id] >= 470 ? 0 : 1);
	menu_additem(menu, skin12, "13", oles[id] >= 510 ? 0 : 1);
	menu_additem(menu, skin13, "14", oles[id] >= 570 ? 0 : 1);
	menu_additem(menu, skin14, "15", oles[id] >= 610 ? 0 : 1);
	menu_additem(menu, skin15, "16", oles[id] >= 660 ? 0 : 1);
	menu_additem(menu, skin16, "17", oles[id] >= 710 ? 0 : 1);
	menu_additem(menu, skin17, "18", oles[id] >= 760 ? 0 : 1);
	menu_additem(menu, skin18, "19", oles[id] >= 820 ? 0 : 1);
	menu_additem(menu, skin19, "20", oles[id] >= 900 ? 0 : 1);
      menu_additem(menu, skin20, "21", oles[id] >= 1000 ? 0 : 1);
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_setprop(menu, MPROP_BACKNAME, "Vissza");
	menu_setprop(menu, MPROP_NEXTNAME, "Tovább");
	menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
	menu_display(id, menu, 0);
}
public pontmegtekint(id)
{
	ColorChat(id, RED, "^3[Információ] ^4Jelenleg ^3%d ^4ölésed van.", oles[id])
}
public event_sebzes( id ) {
 
	new aldozat_id = id;
	if( !is_user_connected( aldozat_id ) ) return PLUGIN_CONTINUE
	new dmg_adas = read_data( 2 );
	new dmgtype = read_data( 3 );
	new Float:szorzo = get_pcvar_float(SEBZES);
	new Float:sebzes = dmg_adas * szorzo;
	new elet = get_user_health( aldozat_id );
 
	new FegyID, sebzo_id = get_user_attacker( aldozat_id, FegyID );
 
	if( !is_user_connected( sebzo_id ) || !is_user_alive( aldozat_id ) ) {
		return PLUGIN_HANDLED
	}
 
	if( FegyID == CSW_AK47 && skin[sebzo_id] == 11 ) {
 
		if( floatround(sebzes) >= elet ) {
			if( aldozat_id == sebzo_id ) {
				return PLUGIN_CONTINUE
				}else{
				log_kill( sebzo_id, aldozat_id, "ak47", 0 );
			}
 
			return PLUGIN_CONTINUE
			}else {
			if( aldozat_id == sebzo_id ) return PLUGIN_CONTINUE
 
			fakedamage( aldozat_id, "weapon_ak47", sebzes, dmgtype );
		}
	}
	return PLUGIN_CONTINUE
}
stock log_kill(gyilkos, aldozat, fegyver[],fejloves) {
	user_silentkill( aldozat );
 
	message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
	write_byte( gyilkos );
	write_byte( aldozat );
	write_byte( fejloves );
	write_string( fegyver );
	message_end();
 
	new oles = get_user_frags( gyilkos );
	set_user_frags( gyilkos, oles++ );
	new elvetel = get_user_frags( aldozat );
	set_user_frags( aldozat, elvetel++ );
 
	return PLUGIN_CONTINUE
} 
public fegyverek(id)
{
	new fegyver = get_user_weapon(id)
 
	set_user_footsteps(id , ( (skin[id] == 1 && fegyver == CSW_AWP) ? 1 : 0) )
 
	return PLUGIN_CONTINUE
}
public KorUzenet() { 
 
	ColorChat(0, RED, "^3[Információ] ^4AWP ^nMenü: ^3/awp"); 
	return PLUGIN_HANDLED;
} 
public skin_menu(id, menu, item) {
	if( item == MENU_EXIT )
	{
		menu_destroy(id);
		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)
				skin[id] = 0
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1az ^4Alap ^1AWP-t!"); 
		}
		case 2:{
			if(oles[id] >= 50)
				skin[id] = 1
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Fényes ^1AWP-t!"); 
		}
		case 3:{
			if(oles[id] >= 80)
				skin[id] = 2
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Sötét ^1AWP-t!"); 
		}
		case 4:{
			if(oles[id] >= 110)
				skin[id] = 3
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1az ^4 Ezüst ^1AWP-t!"); 
		}
		case 5:{
			if(oles[id] >= 150)
				skin[id] = 4
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Fa ^1AWP-t!"); 
		}
		case 6:{
			if(oles[id] >= 200)
				skin[id] = 5 
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1az ^4Arany ^1AWP-t!"); 
		}
		case 7:{
			if(oles[id] >= 250)
				skin[id] = 6
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Pulzus ^1AWP-t!"); 
		}
		case 8:{
			if(oles[id] >= 300)
				skin[id] = 7 
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Csíkos ^1AWP-t!"); 
		}
		case 9:{
			if(oles[id] >= 360)
				skin[id] = 8
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Terep ^1AWP-t!"); 
		}
		case 10:{
			if(oles[id] >= 410)
				skin[id] = 9
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Tűz ^1AWP-t!");
		}		
		case 11:{
			if(oles[id] >= 440)
				skin[id] = 10
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Katonai ^1AWP-t!");
		}
		case 12:{
			if(oles[id] >= 470)
				skin[id] = 11
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Kobra ^1AWP-t!");
		}
		case 13:{
			if(oles[id] >= 510)
				skin[id] = 11
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Tigris ^1AWP-t!");
		}
		case 14:{
			if(oles[id] >= 570)
				skin[id] = 11
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Devolved ^1AWP-t!");
		}
		case 15:{
			if(oles[id] >= 610)
				skin[id] = 11
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1az ^4Asiimov ^1AWP-t!");
		}
		case 16:{
			if(oles[id] >= 660)
				skin[id] = 11
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4CossFire ^1AWP-t!");
		}
		case 17:{
			if(oles[id] >= 710)
				skin[id] = 11
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Metal ^1AWP-t!");
		}
		case 18:{
			if(oles[id] >= 760)
				skin[id] = 11
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Magma ^1AWP-t!");
		}
		case 19:{
			if(oles[id] >= 820)
				skin[id] = 11
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Zombie ^1AWP-t!");
		}
		case 20:{
			if(oles[id] >= 900)
				skin[id] = 11
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Zombie 2 ^1AWP-t!");
            }
		case 21:{
			if(oles[id] >= 1000)
				skin[id] = 11
			ColorChat(id, RED, "^3[Információ] ^4Kiválasztottad ^1a ^4Star ^1AWP-t!");
 
			menu_destroy(menu)
			return PLUGIN_HANDLED
		}
	}
	return PLUGIN_HANDLED
}
 
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, "Ű", "Ű")        
 
}
 
public mentes(id)
{
	new vaultkey[64],vaultdata[256], authid[32]
	get_user_authid(id, authid, 31)
	format(vaultkey,63,"%s-SKIN", authid)
	format(vaultdata,255,"%i#%i#", oles[id],skin[id])
	nvault_set(vault,vaultkey,vaultdata)
	return PLUGIN_CONTINUE
}
public betoltes(id)
{
	new vaultkey[64],vaultdata[256], authid[32]
	get_user_authid(id, authid, 31)
	format(vaultkey,63,"%s-SKIN", authid)
	format(vaultdata,255,"%i#%i#",oles[id],skin[id])
	nvault_get(vault,vaultkey,vaultdata,255)
	replace_all(vaultdata, 255, "#", " ")
	new str_num[32], skin_num[32]
	parse(vaultdata, str_num, 31, skin_num, 31)
	oles[id] = str_to_num(str_num)
	skin[id] = str_to_num(skin_num)
	return PLUGIN_CONTINUE
}
public client_disconnect(id)
{
	mentes(id)
}
public client_connect(id)
{
	betoltes(id)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/
 