#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <nvault>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <fakemeta_util>
enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}
 
new TeamName[][] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
}
 
ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	static message[256];
 
	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}
 
	vformat(message[1], 251, msg, 4);
	message[192] = '^0';
 
	static team, ColorChange, index, MSG_Type;
 
	if(id)
	{
		MSG_Type = MSG_ONE;
		index = id;
	} else {
		index = FindPlayer();
		MSG_Type = MSG_ALL;
	}
 
	team = get_user_team(index);
	ColorChange = ColorSelection(index, MSG_Type, type);
 
	ShowColorMessage(index, MSG_Type, message);
 
	if(ColorChange)
	{
		Team_Info(index, MSG_Type, TeamName[team]);
	}
}
 
ShowColorMessage(id, type, message[])
{
	message_begin(type, get_user_msgid("SayText"), _, id);
	write_byte(id)		
	write_string(message);
	message_end();	
}
 
Team_Info(id, type, team[])
{
	message_begin(type, get_user_msgid("TeamInfo"), _, id);
	write_byte(id);
	write_string(team);
	message_end();
 
	return 1;
}
 
ColorSelection(index, type, Color:Type)
{
	switch(Type)
	{
		case RED:
		{
			return Team_Info(index, type, TeamName[1]);
		}
		case BLUE:
		{
			return Team_Info(index, type, TeamName[2]);
		}
		case GREY:
		{
			return Team_Info(index, type, TeamName[0]);
		}
	}
 
	return 0;
}
 
FindPlayer()
{
	static i;
	i = -1;
 
	while(i <= get_maxplayers())
	{
		if(is_user_connected(++i))
		{
			return i;
		}
	}
 
	return -1;
}
 
 
new sebzok[32];
new sebzesek[32];
new sebzettek[32];
 
new oles[33], vault, KISGRAV, ALAPGRAV, skin_oles, skin_hsoles, skin_kesoles, SEBZES,kredit[33]
new skin1[121], skin2[121], skin3[121], skin5[121],awps[33],mnegy[33],aks[33],desert[33],knifes[33]
 
new const Classnamesdoll[] = "oles_s";
 
#define MINSZ Float:{ -23.160000, -13.660000, -0.050000 }
#define MAXSZ Float:{ 11.470000, 12.780000, 6.720000 }
#define MODEL_OLES "models/fegyver_skin/pont.mdl"
 
new const awp[] = "models/fegyver_skin/v_awp.mdl"
new const awp1[] = "models/fegyver_skin/v_awp1.mdl"
new const awp2[] = "models/fegyver_skin/v_awp2.mdl"
new const awp3[] = "models/fegyver_skin/v_awp3.mdl"
new const m4[] = "models/fegyver_skin/v_m4.mdl"
new const m41[] = "models/fegyver_skin/v_m41.mdl"
new const m42[] = "models/fegyver_skin/v_m42.mdl"
new const m43[] = "models/fegyver_skin/v_m43.mdl"
new const m44[] = "models/fegyver_skin/v_m44.mdl"
new const ak[] = "models/fegyver_skin/v_ak.mdl"
new const ak1[] = "models/fegyver_skin/v_ak1.mdl"
new const ak2[] = "models/fegyver_skin/v_ak2.mdl"
new const ak3[] = "models/fegyver_skin/v_ak3.mdl"
new const desi[] = "models/fegyver_skin/v_desi.mdl"
new const desi1[] = "models/fegyver_skin/v_desi1.mdl"
new const desi2[] = "models/fegyver_skin/v_desi2.mdl"
new const kes[] = "models/fegyver_skin/v_knife.mdl"
 
public plugin_precache()
{
 precache_model(awp)
 precache_model(awp1)
 precache_model(awp2)
 precache_model(awp3)
 precache_model(m4)
 precache_model(m41)
 precache_model(m42)
 precache_model(m43)
 precache_model(m44)
 precache_model(ak)
 precache_model(ak1)
 precache_model(ak2)
 precache_model(ak3)
 precache_model(desi)
 precache_model(desi1)
 precache_model(desi2)
 precache_model(kes)
 precache_model("models/fegyver_skin/pont.mdl")
}
public plugin_init() 
{
//*Egyeb*//
register_plugin("Fegyver Skinek", "1.0", "6almasok")
set_task(45.0, "KorUzenet", 0, _, _, "b")
set_task(85.0, "KorUzenettt", 0, _, _, "b")
RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
register_logevent( "logevent_round_start", 2, "1=Round_Start" );
register_forward( FM_Touch,"ForwardTouch" );
 
//*Eventek*//
register_event("CurWeapon","fegyverek","be","1=1")
register_event("DeathMsg", "halal", "a" );
register_event("CurWeapon", "fegyverid", "be", "1=1")
register_event("DeathMsg", "halal_event", "ae");
register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
register_event("Damage", "event_sebzes", "be" )
register_event( "DeathMsg","drop","a" );
 
//*Parancsok*//
register_clcmd("say /skin","fegymenu")
register_clcmd("say /skinoles","pontmegtekint")
register_clcmd("say /oles","pontmegtekint")
register_clcmd("say /pont","kredmegtek")
register_clcmd("say /bevalt","bevaltas")
register_clcmd("say /fegyverskin","fegymenu")
register_clcmd("say /fegyverinfo","infok")
register_clcmd("say /jatekosoles","OlesMenu") 
 
//*Konzol Parancsok*//
register_concmd("give_oles", "OlesAdas", ADMIN_CFG, "<nev, #userid, authid | @all> <oles>" )
register_concmd("remove_oles", "OlesElveves", ADMIN_CFG, "<nev, #userid, authid | @all> <oles>" )
 
//*Cvarok*//
register_cvar("sima_oles", "2");
register_cvar("hs_oles", "4");
register_cvar("kes_oles", "3");
 
skin_oles = get_cvar_num("sima_oles");
skin_hsoles = get_cvar_num("hs_oles");
skin_kesoles = get_cvar_num("kes_oles");
KISGRAV = register_cvar("skin_kisgravity","375.0")
SEBZES = register_cvar("skin_sebzes", "2")
ALAPGRAV = get_cvar_pointer("sv_gravity")
 
 //*Vault*//
vault = nvault_open("fegyver_skin")
 
}
public fegyverid(id)
{
	new fegyver = get_user_weapon(id)
 
	if(awps[id] == 1 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp)
	if(awps[id] == 2 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp1)
	if(awps[id] == 3 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp2)
	if(awps[id] == 4 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, awp3)
	if(mnegy[id] == 5 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, m4)
	if(mnegy[id] == 6 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, m41)
	if(mnegy[id] == 7 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, m42)
	if(mnegy[id] == 8 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, m43)
	if(aks[id] == 9 && fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ak)
	if(aks[id] == 10 && fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ak1)
	if(aks[id] == 11 && fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ak2)
	if(aks[id] == 12 && fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ak3)
	if(desert[id] == 13 && fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, desi)
	if(desert[id] == 14 && fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, desi1)
	if(desert[id] == 15 && fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, desi2)
	if(knifes[id] == 16 && fegyver == CSW_KNIFE)set_pev(id, pev_viewmodel2, kes)
	if(mnegy[id] == 17 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, m44)
	if(awps[id] == 18 && fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, "models/v_awp.mdl")
	if(mnegy[id] == 19 && fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, "models/v_m4a1.mdl")
	if(aks[id] == 20 && fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, "models/v_ak47.mdl")
	if(desert[id] == 21 && fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, "models/v_deagle.mdl")
	if(knifes[id] == 22 && fegyver == CSW_KNIFE)set_pev(id, pev_viewmodel2, "models/v_knife.mdl")
 
}
public spawn_event(id)
{
	sebzok[id] = 0;
	sebzesek[id] = 0;
	sebzettek[id] = 0;
}
public sebzes_event(aldozat)
{
	new tamado = get_user_attacker(aldozat);
	new sebzes = read_data(2);
	sebzesek[tamado] += sebzes;
 
	if(sebzesek[tamado] >= 50)
	{
		sebzok[tamado] = aldozat;
		sebzettek[aldozat] = tamado;
	}
}
public halal_event(id)
{
	new aldozat = read_data(2);
	new tamado = read_data(1);
	if(sebzettek[aldozat] && sebzettek[aldozat] != tamado)
	{
		new fragetkap = sebzettek[aldozat];
		new fragetkapneve[32];
		sebzok[fragetkap] = 0;
		sebzesek[fragetkap] = 0;
		sebzettek[aldozat] = 0;
		get_user_name(fragetkap, fragetkapneve, 31);
		oles[fragetkap]++
		ColorChat(0, GREEN, "^3[Fegyver Skin] ^4%s ^1kapott ^3+1 ^1olest ember lesebzesert.", fragetkapneve);
	}
}
public drop()
{	
	new victim = read_data( 2 );
 
	static Float:origin[ 3 ];
	pev( victim, pev_origin, origin );
 
	new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
	origin[ 2 ] -= 36; 
	engfunc( EngFunc_SetOrigin, ent, origin );
 
	if( !pev_valid( ent ) )
	{
		return PLUGIN_HANDLED;
	}
 
	set_pev( ent, pev_classname, Classnamesdoll );
	engfunc( EngFunc_SetModel, ent, MODEL_OLES );
	dllfunc( DLLFunc_Spawn, ent );
	set_pev( ent, pev_solid, SOLID_BBOX );
	set_pev( ent, pev_movetype, MOVETYPE_NONE );
	engfunc( EngFunc_SetSize, ent, MINSZ, MAXSZ );
	engfunc( EngFunc_DropToFloor, ent );
 
	return PLUGIN_HANDLED;
}
public ForwardTouch( ent, id )
{
	new classname[ 32 ];
	pev( ent, pev_classname, classname, charsmax( classname ) );
 
	if( !equal( classname, Classnamesdoll ) )
	{
		return FMRES_IGNORED;
	}
	new olesrandom = random_num(0,1)
 
	kredit[id] += olesrandom
 
	ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Atnezted a holttestet es talaltal ^3%i ^4Pontot.",olesrandom);
 
	engfunc( EngFunc_RemoveEntity, ent );
	return FMRES_IGNORED
}
public logevent_round_start()
{
	new hkt = FM_NULLENT;
	while ( ( hkt = fm_find_ent_by_class( hkt, Classnamesdoll ) ) )
	{
		engfunc( EngFunc_RemoveEntity, hkt );
	}	
}
public halal()
{
	new gyilkos = read_data( 1 );
	new aldozat = read_data( 2 );	
 
	static Fegyver[26];
	read_data(4, Fegyver, sizeof(Fegyver) -1);
 
	if( 1 <= gyilkos <= get_maxplayers() && cs_get_user_team( aldozat ) != cs_get_user_team( gyilkos )
	&& is_user_connected( gyilkos ))
	{
		new nev[32]
		get_user_name(aldozat, nev, 31)
 
		if(read_data( 3 ))
		{
			oles[ gyilkos ] += skin_hsoles
			ColorChat( gyilkos, GREEN, "^3[Fegyver Skin] ^4WOW! ^1Megolted ^3%s^1-t ^4FEJLOVESBE! ^1Ezert kaptal ^3+%i ^1olest.", nev, skin_hsoles)
		}
		else if(skin_oles != 0)
		{
			oles[ gyilkos ] += skin_oles
			ColorChat( gyilkos, GREEN, "^3[Fegyver Skin] ^1Megolted ^4%s^1-t es ezert kaptal ^3+%i ^1olest.", nev, skin_oles)
		}
		else if(equal(Fegyver,"knife"))   
		{
			oles[ gyilkos ] += skin_kesoles;
			ColorChat( gyilkos, GREEN, "^3[Fegyver Skin] ^1Leszurtad ^4%s^1-t es ezert kaptal ^3+%i ^1olest. ^4Szep Munka!", nev, skin_kesoles)
		}
	}
}
public infok(id)
{
	static motd[2501], len;
 
	len = format(motd, 2500,"<body bgcolor=#000000><font color=#87cefa><pre>");
	len += format(motd[len], 2500-len,"<center><h4><font color=^"blue^"> Fegyver Skin Informaciok </font></h4></center>");
	len += format(motd[len], 2500-len,"<left><font color=^"blue^">Csomagok</color></left>^n");
	len += format(motd[len], 2500-len,"<left><font color=^"red^"><B>Bronz Csomag :</B> <font color=^"white^">1000 olest (Tartalom:Bronz AWP,M4A1,Ak47,Deagle) [Kepesseg: nincs]</color></left>^n");
	len += format(motd[len], 2500-len,"<left><font color=^"red^"><B>Ezust Csomag :</B> <font color=^"white^">3000 olest (Tartalom:Ezust AWP,M4A1,Ak47,Deagle) [Kepesseg: nincs]</color></left>^n");
	len += format(motd[len], 2500-len,"<left><font color=^"red^"><B>Arany Csomag :</B> <font color=^"white^">5000 olest (Tartalom:Arany AWP,M4A1,Ak47,Deagle) [Kepesseg: nincs]</color></left>^n");
	len += format(motd[len], 2500-len,"<left><font color=^"red^"><B>Specialis Csomag :</B> <font color=^"white^">10000 olest (Tartalom:AWP,M4A1,Ak47,Kes Skin) [Kepesseg: Dupla Sebzes(AK47),Felig Atlatszosag(Kes),Kis Gravitacio(M4),No Trapp(WP)]</color></left>^n");
	len += format(motd[len], 2500-len,"<left><font color=^"blue^">Parancsok</color></left>^n");
	len += format(motd[len], 2500-len,"<left><font color=^"red^">say:/jatekosoles <font color=^"white^">Mas jatekos oleseinek megtekintese</color></left>^n");
	len += format(motd[len], 2500-len,"<left><font color=^"red^">say:/skin <font color=^"white^">Skin Menu megnyitasa</color></left>^n");
	len += format(motd[len], 2500-len,"<left><font color=^"red^">say:/pont <font color=^"white^">Krediteid megtekintese</color></left>^n");
	len += format(motd[len], 2500-len,"<left><font color=^"red^">say:/oles <font color=^"white^">Oleseid megtekintese</color></left>^n");
	len += format(motd[len], 2500-len,"<left><font color=^"red^">say:/bevalt <font color=^"white^">Kreditek bevaltasa olesre</color></left>^n");
 
	show_motd(id, motd, "Infok");
 
	return 0;
}
public fegymenu(id)
{
new cim[121]
formatex(cim, charsmax(cim), "\wFegyver Skinek ^n\yOlesek: \w%d \r| \yPontok: \w%d^n",oles[id],kredit[id])
new menu = menu_create(cim, "skin_menu");
 
formatex(skin1, charsmax(skin1),"%s", oles[id] >= 1000 ? "\wBronz Csomag \y[Tartalom:\dAK47,M4A1,AWP,DEAGLE\y]\w-\r[Megszerezve]" : "\dBronz Csomag \r[1000 Oles]\y-\w[LEZARVA]");
formatex(skin2, charsmax(skin2),"%s", oles[id] >= 3000 ? "\wEzust Csomag \y[Tartalom:\dAK47,M4A1,AWP,DEAGLE\y]\w-\r[Megszerezve]" : "\dEzust Csomag \r[3000 Oles]\y-\w[LEZARVA]");
formatex(skin3, charsmax(skin3),"%s", oles[id] >= 5000 ? "\wArany Csomag \y[Tartalom:\dAK47,M4A1,AWP,DEAGLE\y]\w-\r[Megszerezve]" : "\dArany Csomag \r[5000 Oles]\y-\w[LEZARVA]");
formatex(skin5, charsmax(skin5),"%s", kredit[id] >= 300 ? "\rPo\dnt \wCsomag \y[Tartalom:\wElet M4A1\y]\r[\dMegszerezve\r]" : "\rPo\dnt \wCsomag \y[\r300 \yPont]\d-\w[LEZARVA]");
 
menu_additem(menu, "\yAlap Csomag \r[\wMegszerezve\r]", "1", 0 );
menu_additem(menu, skin1, "2", oles[id] >= 1000 ? 0 : 1);
menu_additem(menu, skin2, "3", oles[id] >= 3000 ? 0 : 1);
menu_additem(menu, skin3, "4", oles[id] >= 5000 ? 0 : 1);
menu_additem(menu, skin5, "5", kredit[id] >= 300 ? 0 : 1);
 
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Elore");
menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
menu_display(id, menu, 0);
}
public pontmegtekint(id)
{	
set_hudmessage(0, 127, 255, -1.0, 0.3 , 2, 6.0, 9.0)
show_hudmessage(id, "Jelenlegi Oleseid: %i",oles[id])
ColorChat(id,GREEN, "^3[Fegyver Skin] ^4Neked osszesen ^3%d ^4olesed van.",oles[id])
} 
public kredmegtek(id)
{
set_hudmessage(0, 127, 255, -1.0, 0.3 , 2, 6.0, 9.0)
show_hudmessage(id, "Jelenlegi Krediteid: %i",kredit[id])
ColorChat(id,GREEN, "^3[Fegyver Skin] ^4Neked osszesen ^3%d ^4Pontod van.",kredit[id])
}
public OlesMenu(id)
{	
	new some[256], menu;
 
	static players[32],szTemp[10],pnum;	
	get_players(players,pnum,"ch");
 
	formatex(some,255,"\r[\yFegyver Skinek\r] \wA jatekosok olesei es Pontjai:");
 
	menu = menu_create(some,"Oles_Handler");
 
	for (new i; i < pnum; i++)
	{
		formatex(some,256,"%s \r(\yOlesei: \w%i \d| \yPontjai: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]);
		num_to_str(players[i],szTemp,charsmax(szTemp));
		menu_additem(menu, some, szTemp);
	}
 
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
	menu_display(id, menu);
 
	return PLUGIN_HANDLED;
}
public Oles_Handler(id,menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return;
	}
 
	new data[6] ,szName[64],access,callback;
	menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback);
	new player = str_to_num(data);
 
	ColorChat(id, GREEN, "^3[Fegyver Skin] ^4%s ^1olesei: ^3%i ^1es Pontjai: ^3%i",get_player_name(player), oles[player], kredit[player]);
	OlesMenu(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 && aks[sebzo_id] == 12 ) {
 
		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 OlesAdas( iPlayer, level, cid )
{
	if( !cmd_access( iPlayer, level, cid, 3 ) ) return PLUGIN_HANDLED;
 
	new arg [ 32 ]
	read_argv ( 1, arg, 31 ) 
 
	new AddOles [ 32 ]
	read_argv ( 2, AddOles, charsmax ( AddOles ) )
 
	new OlestoGive = str_to_num ( AddOles )
 
	new AdminName [ 32 ]
	new TargetName [ 32 ]
	get_user_name ( iPlayer, AdminName, charsmax ( AdminName ) )
 
	if( arg[0]=='@' )
	{ 
		if( equali(arg[1],"All") || equali(arg[1],"ALL") )
		{
			new players[32], totalplayers, All
			get_players( players, totalplayers )
 
			for ( new i = 0; i < totalplayers; i++ )
			{
				All = players[ i ]
				oles[ All ] += OlestoGive
			}
		}
		else if( equali(arg[1],"T") || equali(arg[1],"t") )
		{
			new players[32], totalplayers, T
			get_players( players, totalplayers )
 
			for ( new i = 0; i < totalplayers; i++ )
			{
				if ( get_user_team(players[ i ]) == 1 )
				{
					T = players[ i ]
					oles[ T ] += OlestoGive
				}
			}
		}
		else if( equali(arg[1],"CT") || equali(arg[1],"ct") )
		{
			new players[32], totalplayers, CT
			get_players( players, totalplayers )
 
			for( new i = 0; i < totalplayers; i++ )
			{
				if( get_user_team(players[ i ] ) == 2 )
				{
					CT = players[ i ]
					oles[ CT ] += OlestoGive
				}
			}
		}
	}
	else
	{
		new iTarget = cmd_target( iPlayer, arg, 3 )
		get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )
 
		if( iTarget )
		{
			oles[ iTarget ] += OlestoGive
		}
	}
	return PLUGIN_HANDLED
}
public bevaltas(id)
{
new cim[121]
formatex(cim, charsmax(cim), "\w[Fegyver Skinek] \yBevaltas:^n\rOles: \d%d \w| \rPontod: \d%d",oles[id],kredit[id])
new menu = menu_create(cim, "bev_menu");
new kred1[121]
 
menu_additem(menu, "\w1 Pontod \r--> \y20 Olesre", "1", 0 );
menu_additem(menu, "\w30 Pontod \r--> \y600 Olesre", "2", 0 );
menu_additem(menu, "\w80 Pontod \r--> \y1600 Olesre", "3", 0 );
format(kred1, charsmax(kred1), "\yOsszes Pontod \d(\r%d\d) \ybavaltasa \d(\r%d\d) \yolesre",kredit[id],kredit[id] * 20)
menu_additem(menu, kred1, "4", 0);
 
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_BACKNAME, "Vissza");
menu_setprop(menu, MPROP_NEXTNAME, "Elore");
menu_setprop(menu, MPROP_EXITNAME, "Kilepes");
menu_display(id, menu, 0);
}
public bev_menu(id, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(id);
		return PLUGIN_CONTINUE
	}
	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);
	new kredossz = kredit[id] * 20
	new kredmin = kredit[id]
 
	switch(key)
{
case 1:{
if(kredit[id] >= 1){
kredit[id] -= 1
oles[id] += 20
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Bevaltottal^3 1 ^4Pontot!")
}
else
{
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg Pontod!")
}
}
case 2:{
if(kredit[id] >= 30)
{
kredit[id] -= 30
oles[id] += 600
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Bevaltottal^3 30 ^4Pontod!")
}
else
{
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg Pontod!")
}
}
case 3:{
if(kredit[id] >= 80){
kredit[id] -= 80
oles[id] += 1600
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Bevaltottal^3 80 ^4Pontod!")
}
else
{
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg Pontod!")
}
}
case 4:{
if(kredit[id] >= 1){
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Bevaltottal^3 %i ^4Pontot ^3%i ^4olesre!",kredit[id],kredit[id] * 20)
oles[id] += kredossz
kredit[id] -= kredmin
}
else
{
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg Pontod!")
}
}
}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}
public OlesElveves( iPlayer, level, cid )
{
	if( !cmd_access(iPlayer, level, cid, 3) ) return PLUGIN_HANDLED;
 
	new arg [ 32 ]
	read_argv ( 1, arg, 31 ) 
 
	new RemoveOles [ 32 ]
	read_argv ( 2, RemoveOles, charsmax ( RemoveOles ) )
 
	new OlestoRemove = str_to_num ( RemoveOles )
 
	new AdminName [ 32 ]
	new TargetName [ 32 ]
	get_user_name ( iPlayer, AdminName, charsmax ( AdminName ) )
 
	if( arg[0]=='@' )
	{ 
		if( equali(arg[1],"All") || equali(arg[1],"ALL") )
		{
			new players[32], totalplayers, All
			get_players( players, totalplayers )
 
			for ( new i = 0; i < totalplayers; i++ )
			{
				All = players[ i ]
				oles[ All ] -= OlestoRemove
			}
		}
		else if( equali(arg[1],"T") || equali(arg[1],"t") )
		{
			new players[32], totalplayers, T
			get_players( players, totalplayers )
 
			for ( new i = 0; i < totalplayers; i++ )
			{
				if ( get_user_team(players[ i ]) == 1 )
				{
					T = players[ i ]
 
					oles[ T ] -= OlestoRemove
				}
			}
		}
		else if( equali(arg[1],"CT") || equali(arg[1],"ct") )
		{
			new players[32], totalplayers, CT
			get_players( players, totalplayers )
 
			for( new i = 0; i < totalplayers; i++ )
			{
				if( get_user_team(players[ i ] ) == 2 )
				{
					CT = players[ i ]
					oles[ CT ] -= OlestoRemove
				}
			}
		}
	}
	else
	{
		new iTarget = cmd_target( iPlayer, arg, 3 )
		get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )
 
		if( !iTarget )
			return PLUGIN_HANDLED
 
		oles[ iTarget ] -= OlestoRemove
	}
	return PLUGIN_HANDLED
}
public fegyverek(id)
{
	new fegyver = get_user_weapon(id)
 
	set_user_footsteps(id , ( (awps[id] == 4 && fegyver == CSW_AWP) ? 1 : 0) )
 
	if(mnegy[id] == 17 && fegyver == CSW_M4A1)
	{
	set_task(1.5 ,"toltes",id)
	}
 
	new Float:Gravitacio = ((mnegy[id] == 8 && fegyver == CSW_M4A1)? get_pcvar_float(KISGRAV) : get_pcvar_float(ALAPGRAV)) / 800.0
	set_user_gravity(id, Gravitacio)
 
	if(knifes[id] == 16 && fegyver == CSW_KNIFE )
	{
	set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransColor, 80)
	}
 
	return PLUGIN_HANDLED
}
public toltes(id)
{
	if(get_user_health(id) < 110)
	{
		set_task(1.5,"toltes", id)
		set_user_health(id, get_user_health(id) + 1)
	}
	else
	{
		set_hudmessage(0, 85, 255, -1.0, 0.25, 2, 6.0, 6.0)
		show_hudmessage(id, "Az eleted elerte a maximumot!")
		return PLUGIN_HANDLED;
	}
 
	return PLUGIN_CONTINUE;
}
stock get_player_name(id)
{
	static szName[32];
	get_user_name(id,szName,31);
	return szName;
}
public skin_menu(id, menu, item)
{
	if( item == MENU_EXIT )
	{
		menu_destroy(id);
	}
	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:{
awps[id] = 18
mnegy[id] = 19
aks[id] = 20
desert[id] = 21
knifes[id] = 22
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Kivalasztottad az ^3Alap csomagot!")
fegymenu(id)
}
case 2:{
if(oles[id] >= 1000){
awps[id] = 1
mnegy[id] = 5
aks[id] = 9
desert[id] = 13
knifes[id] = 22
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Kivalasztottad a ^3Bronz Csomagot!")
fegymenu(id)
}
else
{
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg olesed!")
fegymenu(id)
}
}
case 3:{
if(oles[id] >= 3000){
awps[id] = 2
mnegy[id] = 6
aks[id] = 10
desert[id] = 14
knifes[id] = 22
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Kivalasztottad az ^3Ezust Csomagot!")
fegymenu(id)
}
else
{
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg olesed!")
fegymenu(id)
}
}
case 4:{
if(oles[id] >= 5000){
awps[id] = 3
mnegy[id] = 7
aks[id] = 11
desert[id] = 15
knifes[id] = 22
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Kivalasztottad az ^3Arany Csomagot!")
fegymenu(id)
}
else
{
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg olesed!")
fegymenu(id)
}
}
case 5:{
if(kredit[id] >= 300){
mnegy[id] = 17
awps[id] = 18
aks[id] = 20
desert[id] = 21
knifes[id] = 22
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Kivalasztottad a ^3Kredit Csomagot!")
fegymenu(id)
}
else
{
ColorChat(id, GREEN, "^3[Fegyver Skin] ^4Sajnos Nincs eleg kredited!")
fegymenu(id)
}
}
}		
	menu_destroy(menu)
	return PLUGIN_HANDLED
}
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],kredit[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],kredit[id])
	nvault_get(vault,vaultkey,vaultdata,255)
	replace_all(vaultdata, 255, "#", " ")
	new str_num[32], kred_num[32]
	parse(vaultdata, str_num, 31, kred_num, 31)
	oles[id] = str_to_num(str_num)
	kredit[id] = str_to_num(kred_num)
	return PLUGIN_CONTINUE
}
public client_disconnect(id)
{
	mentes(id)
 
	if(oles[id] >= 10000 && kredit[id] >= 300)
	{
		set_task(3.0, "BajnokLe", id)
	}
}
public client_connect(id)
{
	betoltes(id)
 
	if(oles[id] >= 10000 && kredit[id] >= 300)
	{
		set_task(3.0, "BajnokFel", id)
	}
}