#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <csstats>
#include <fakemeta>
#include <nvault>
#include <engine>
#include <cstrike>
#define PLUGIN "SkinSysteM"
#define VERSION "4.0"
#define AUTHOR "GeTT"
#pragma tabsize 0
new oleseks[33]
new wp[33], m4a1[33], ak47[33], deagle[33],kn[33]
new alap[33]
new vault
new skin_oles, skin_hsoles, skin_kesoles
new forint[33], villamunlock[33]
new jelszo[32], reg_pont[33], belepve[33], beirt_jelszo[32]
new mentett_pw[33][32], beirt_pw[33][32]
new olvas[33], bool:kijelentkezve[33], ef_jsz[32][33]
new users_db_file[256], probal[33], irt[33]
new Gun[33], Skin[5][33]
new x_tempid
new const menuprefix[] = "\r[\y~\wRipost OnlyD2\y~\r]"
new const chatprefix[] = "^3[^4~Ripost OnlyD2~^3]^1»"
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	//Chat parancsok
	register_impulse(201, "fomenu")
	register_clcmd("say /fomenu", "fomenu")
	register_clcmd("say_team /fomenu", "fomenu")
	register_cvar("sima_oles", "1");
 register_clcmd("REGISZTRACIOS_JELSZO", "reg_jelszo")
        register_clcmd("BELEPESI_JELSZO", "belepes_jelszo")
        register_forward(FM_ClientUserInfoChanged, "nevvaltas")
        check_db()
register_cvar("hs_oles", "2");
register_clcmd("Mennyit_szeretnel_elkuldeni", "oles_kuld")
register_clcmd("Mennyit_szeretnel_elvenni", "oles_elvetel")
register_clcmd("Mennyi_forintot_akarsz_kuldeni", "forint_adas")
register_clcmd("Mennyi_forintot_akarsz_elvenni", "forint_elvetel")
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");
	//Fegyverváltás
	register_event("CurWeapon", "fegyvervaltas", "be", "1=1")
	//Halál
	register_event("DeathMsg", "eDeath", "ade")
	vault = nvault_open("Fegyverskin")
}

new const M4_Modelek[][] = {
"models/v_m4a1.mdl",
"models/ripostskinek/bronzm4.mdl",
"models/ripostskinek/ezustm4.mdl",
"models/ripostskinek/aranym4.mdl",
"models/ripostskinek/tuzm4.mdl",
"models/ripostskinek/villamm4.mdl",
"models/ripostskinek/marijuana/m4.mdl",
"models/ripostskinek/monster/m4.mdl",
"models/ripostskinek/color/m4.mdl",
"models/ripostskinek/neon/m4.mdl",
"models/ripostskinek/red/m4.mdl",
"models/ripostskinek/black/m4.mdl",
"models/ripostskinek/redbull/m4.mdl",
"models/ripostskinek/elite/m4.mdl",
"models/ripostskinek/nuclear/m4.mdl",
"models/ripostskinek/redblack/m4.mdl",
"models/ripostskinek/superman/m4.mdl",
"models/ripostskinek/redline/m4.mdl",
"models/ripostskinek/barcelona/m4.mdl",
"models/ripostskinek/magma/m4.mdl",
"models/ripostskinek/sarki/m4.mdl",
"models/ripostskinek/killer/m4.mdl",
"models/ripostskinek/robot/m4.mdl",
"models/ripostskinek/romai/m4.mdl",
"models/ripostskinek/source/m4.mdl",
"models/ripostskinek/csgo1/m4.mdl",
"models/ripostskinek/csgo2/m4.mdl",
"models/ripostskinek/galaxy/m4.mdl",
"models/ripostskinek/kari/m4.mdl"
}
new const AK_Modelek[][] = {
"models/v_ak47.mdl",
"models/ripostskinek/bronzak.mdl",
"models/ripostskinek/ezustak.mdl",
"models/ripostskinek/aranyak.mdl",
"models/ripostskinek/tuzak.mdl",
"models/ripostskinek/villamak.mdl",
"models/ripostskinek/marijuana/ak.mdl",
"models/ripostskinek/monster/ak.mdl",
"models/ripostskinek/color/ak.mdl",
"models/ripostskinek/neon/ak.mdl",
"models/ripostskinek/red/ak.mdl",
"models/ripostskinek/black/ak.mdl",
"models/ripostskinek/redbull/ak.mdl",
"models/ripostskinek/elite/ak.mdl",
"models/ripostskinek/nuclear/ak.mdl",
"models/ripostskinek/redblack/ak.mdl",
"models/ripostskinek/superman/ak.mdl",
"models/ripostskinek/redline/ak.mdl",
"models/ripostskinek/barcelona/ak.mdl",
"models/ripostskinek/magma/ak.mdl",
"models/ripostskinek/sarki/ak.mdl",
"models/ripostskinek/killer/ak.mdl",
"models/ripostskinek/robot/ak.mdl",
"models/ripostskinek/romai/ak.mdl",
"models/ripostskinek/source/ak.mdl",
"models/ripostskinek/csgo1/ak.mdl",
"models/ripostskinek/csgo2/ak.mdl",
"models/ripostskinek/galaxy/ak.mdl",
"models/ripostskinek/kari/ak.mdl"
}
new const AWP_Modelek[][] = {
"models/v_awp.mdl",
"models/ripostskinek/bronzawp.mdl",
"models/ripostskinek/ezustawp.mdl",
"models/ripostskinek/aranyawp.mdl",
"models/ripostskinek/tuzawp.mdl",
"models/ripostskinek/villamawp.mdl",
"models/ripostskinek/marijuana/wp.mdl",
"models/ripostskinek/monster/wp.mdl",
"models/ripostskinek/color/wp.mdl",
"models/ripostskinek/neon/wp.mdl",
"models/ripostskinek/red/wp.mdl",
"models/ripostskinek/black/wp.mdl",
"models/ripostskinek/redbull/wp.mdl",
"models/ripostskinek/elite/wp.mdl",
"models/ripostskinek/nuclear/wp.mdl",
"models/ripostskinek/redblack/wp.mdl",
"models/ripostskinek/superman/wp.mdl",
"models/ripostskinek/redline/wp.mdl",
"models/ripostskinek/barcelona/wp.mdl",
"models/ripostskinek/magma/wp.mdl",
"models/ripostskinek/sarki/wp.mdl",
"models/ripostskinek/killer/wp.mdl",
"models/ripostskinek/robot/wp.mdl",
"models/ripostskinek/romai/wp.mdl",
"models/ripostskinek/source/wp.mdl",
"models/ripostskinek/csgo1/wp.mdl",
"models/ripostskinek/csgo2/wp.mdl",
"models/ripostskinek/galaxy/wp.mdl",
"models/ripostskinek/kari/wp.mdl"
}
new const DG_Modelek[][] ={
"models/v_deagle.mdl",
"models/ripostskinek/bronzdg.mdl",
"models/ripostskinek/ezustdg.mdl",
"models/ripostskinek/aranydg.mdl",
"models/ripostskinek/tuzdg.mdl",
"models/ripostskinek/villamdg.mdl",
"models/ripostskinek/marijuana/dg.mdl",
"models/ripostskinek/monster/dg.mdl",
"models/ripostskinek/color/dg.mdl",
"models/ripostskinek/neon/dg.mdl",
"models/ripostskinek/red/dg.mdl",
"models/ripostskinek/black/dg.mdl",
"models/ripostskinek/redbull/dg.mdl",
"models/ripostskinek/elite/dg.mdl",
"models/ripostskinek/nuclear/dg.mdl",
"models/ripostskinek/redblack/dg.mdl",
"models/ripostskinek/superman/dg.mdl",
"models/ripostskinek/redline/dg.mdl",
"models/ripostskinek/barcelona/dg.mdl",
"models/ripostskinek/magma/dg.mdl",
"models/ripostskinek/sarki/dg.mdl",
"models/ripostskinek/killer/dg.mdl",
"models/ripostskinek/robot/dg.mdl",
"models/ripostskinek/romai/dg.mdl",
"models/ripostskinek/source/dg.mdl",
"models/ripostskinek/csgo1/dg.mdl",
"models/ripostskinek/csgo2/dg.mdl",
"models/ripostskinek/galaxy/dg.mdl",
"models/ripostskinek/kari/dg.mdl"
}
new const KS_Modelek[][] =
{
"models/v_knife.mdl",
"models/ripostskinek/haromks.mdl",
"models/ripostskinek/haromks.mdl",
"models/ripostskinek/haromks.mdl",
"models/ripostskinek/knifetuz.mdl",
"models/ripostskinek/knifelight.mdl",
"models/ripostskinek/marijuana/kn.mdl",
"models/ripostskinek/monster/kn.mdl",
"models/ripostskinek/color/kn.mdl",
"models/ripostskinek/neon/kn.mdl",
"models/ripostskinek/red/kn.mdl",
"models/ripostskinek/black/kn.mdl",
"models/ripostskinek/redbull/kn.mdl",
"models/ripostskinek/elite/kn.mdl",
"models/ripostskinek/nuclear/kn.mdl",
"models/ripostskinek/redblack/kn.mdl",
"models/ripostskinek/superman/kn.mdl",
"models/ripostskinek/redline/kn.mdl",
"models/ripostskinek/barcelona/kn.mdl",
"models/ripostskinek/magma/kn.mdl",
"models/ripostskinek/sarki/kn.mdl",
"models/ripostskinek/killer/kn.mdl",
"models/ripostskinek/robot/kn.mdl",
"models/ripostskinek/romai/kn.mdl",
"models/ripostskinek/source/kn.mdl",
"models/ripostskinek/csgo1/kn.mdl",
"models/ripostskinek/csgo2/kn.mdl",
"models/ripostskinek/galaxy/kn.mdl",
"models/ripostskinek/kari/kn.mdl"
}



public plugin_precache()
{
	
for(new i;i < sizeof(M4_Modelek); i++){
		precache_model(M4_Modelek[i]);
	}
	for(new i;i < sizeof(AK_Modelek); i++){
		precache_model(AK_Modelek[i]);
	}
	for(new i;i < sizeof(AWP_Modelek); i++){
		precache_model(AWP_Modelek[i]);
	}
	for(new i;i < sizeof(DG_Modelek); i++){
		precache_model(DG_Modelek[i]);
	}
	for(new i;i < sizeof(KS_Modelek); i++){
		precache_model(KS_Modelek[i]);
	}
}
stock get_data(const key[], data[], len) {
	new vault = fopen(filename, "rt");
	new _data[512], _key[64];
	while( !feof(vault) ) {
		fgets(vault, _data, charsmax(_data));
		parse(_data, _key, charsmax(_key), data, len);
		if( equal(_key, key) ) {
			fclose(vault);
			return 1;
		}
	}
	fclose(vault);
	copy(data, len, "");
	return 0;
}
stock set_data(const key[], const data[]) {
	static const temp_vault_name[] = "set_data.txt";
	new file = fopen(temp_vault_name, "wt");
	new vault = fopen(filename, "rt");
	new _data[512], _key[64], _other[32];
	new bool:replaced = false;
	while( !feof(vault) ) {
		fgets(vault, _data, charsmax(_data));
		parse(_data, _key, charsmax(_key), _other, charsmax(_other));
		if( equal(_key, key) && !replaced ) {
			fprintf(file, "^"%s^" ^"%s^"^n", key, data);
			replaced = true;
		}
		else {
			fputs(file, _data);
		}
	}
	if( !replaced ) {
		fprintf(file, "^"%s^" ^"%s^"^n", key, data);
	}
	fclose(file);
	fclose(vault);
	delete_file(filename);
	while( !rename_file(temp_vault_name, filename, 1) ) { }
	//delete_file(temp_vault_name);
}
public Regisztralas(id) {
	new menu
	new ks1[121], ks2[121], cim[121]
	new nev[32]
	get_user_name(id, nev, 31)
	if(olvas[id] == 0){
		format(cim, charsmax(cim),"\wRegisztráció^n\rStátusz: \dNem regisztrált^n")
		menu = menu_create(cim,"Regisztralas_handler")
		format(ks1, charsmax(ks1),"\rSzabályzat^n", mentett_pw[id])
		menu_additem(menu,ks1,"5",0)
		menu_additem(menu,"\yElfogadom a szabályokat!","6",0)
		menu_additem(menu,"\dNem fogadom el!","7",0)
		menu_display(id,menu,0)
	}
	if(belepve[id] == 0 && olvas[id] == 1){
		if(reg_pont[id] == 0){
			format(cim, charsmax(cim),"\wRegisztráció^n\rStátusz: \dNem regisztrált^n")
		}
		else if(reg_pont[id] == 1 && kijelentkezve[id] == false){
			format(cim, charsmax(cim),"\wRegisztráció^n\rStátusz: \dRegisztrálva^n\rPróbálkozások : \d%d/3", probal[id])
		}
		else if(reg_pont[id] == 1 && kijelentkezve[id] == true){
			format(cim, charsmax(cim),"\wRegisztráció^n \rStátusz: \dKijelentkezve^n\rPróbálkozások : \d%d/3", probal[id])
		}
		menu = menu_create(cim,"Regisztralas_handler")
		format(ks2, charsmax(ks2),"\rFelhasználó:\d %s", nev)
		if(reg_pont[id] == 0){
			if(irt[id] == 1){
				format(ks1, charsmax(ks1),"\rJelszó: \d%s^n", mentett_pw[id])
			}
			else if(irt[id] == 0){
				format(ks1, charsmax(ks1),"\rJelszó: \d^n")
			}
		}
		else if(reg_pont[id] == 1){
			format(ks1, charsmax(ks1),"\rJelszó: \d%s^n", beirt_pw[id])
		}
		menu_additem(menu,ks2,"0",0)
		menu_additem(menu,ks1,"1",0)
		if(reg_pont[id] == 0){
			if(irt[id] == 0){
				menu_additem(menu,"\dRegisztrálok","18",0)
			}
			else if(irt[id] == 1){
				menu_additem(menu,"Regisztrálok","2",0)
			}
		}
		else if(reg_pont[id] == 1){
			menu_additem(menu,"Belépek","3",0)
		}
		if(reg_pont[id] == 1){
			menu_additem(menu,"\rElfelejtettem a jelszavam!","8",0)
		}
		menu_display(id,menu,0)
	}
	else if(belepve[id] == 1 && olvas[id] == 1)
	{
		format(cim, charsmax(cim),"\wRegisztráció^n \rStátusz: \dBejelentkezve")
		menu = menu_create(cim,"Regisztralas_handler")
		format(ks1, charsmax(ks1),"\rSzabályzat^n")
		menu_additem(menu,ks1,"5",0)
		menu_additem(menu,"\yKijelentkezés","4",0)
		menu_display(id,menu,0)
	}
}
public Regisztralas_handler(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, 31)
	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 0: Regisztralas(id)
	case 1:{
		if(reg_pont[id] == 0){
			client_cmd(id, "messagemode REGISZTRACIOS_JELSZO")
		}
		else if(reg_pont[id] == 1){
			client_cmd(id, "messagemode BELEPESI_JELSZO")
		}
	}
	case 2:{
		ef_jsz[id] = jelszo
		reg_pont[id] = 1
		ColorChat(id, BLUE, "^1[^4Infó^1]^4»^3» ^4Sikeres regisztráció, jelszavadat lementettük a cstrike mappádba! Jelszavad:^1 %s", mentett_pw[id])
		client_cmd(id,"wait;wait;snapshot;wait;snapshot")
		Regisztralas(id)
		client_cmd(id,"setinfo _jelszo ^"%s^"",ef_jsz[id])
		regisztralas_mentese(id)
	}
	case 3:{
		if(equali(beirt_pw[id], mentett_pw[id])){
			belepve[id] = 1
			ColorChat(id, BLUE, "^1[^4Infó^1]^4»^3» Sikeresen beléptél!")
			if(kijelentkezve[id]){
			kijelentkezve[id] = false
		}
		}
		else if(probal[id] >= 2)
		{
			server_cmd("kick #%i ^"Rossz jelszó! 3/3 Próbálkozás után KICK!",get_user_userid(id))
		}
		else if(!equali(beirt_pw[id], mentett_pw[id]))
		{
			probal[id]++
			ColorChat(id, RED, "^1[^4Infó^1]^4»^3» Rossz jelszó!")
		}
	}
	case 4:{
		beirt_pw[id] = ""
		belepve[id] = 0
		kijelentkezve[id] = true
		ColorChat(id, BLUE, "^1[^4Infó^1]^4»^3» Sikeresen kijelentkeztél!")
	}
	case 5: {
		show_motd(id,"addons/amxmodx/configs/info/szabalyzat.txt","Szabályzat")
	}
	case 6: {
		olvas[id] = 1
		ColorChat(id, BLUE, "%s ^3» ^4Elfogadtad a szabályokat",chatprefix)
		Regisztralas(id)
	}
	case 7: {
		ColorChat(id, RED, "%s ^3» ^4Szabály elfogadása nélkül nem regisztrálhatsz!",chatprefix)
	}
	case 8: {
		ColorChat(id, BLUE, "%s ^3» ^4TeamSpeak3: ^3Ts3.synhosting.eu:9989",chatprefix)
	}
	case 18:{
		ColorChat(id, RED, "%s ^3» ^4Nem írtál be jelszót!",chatprefix)
		Regisztralas(id)
	}
}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public belepes_jelszo(id)
{
	read_args(beirt_jelszo, charsmax(beirt_jelszo))
	remove_quotes(beirt_jelszo)
	new hossz = strlen(beirt_jelszo)
	if(equal(beirt_jelszo, ""))
		return PLUGIN_HANDLED
	if(hossz < 6)
	{
		ColorChat(id, GREY, "%s ^4Jelszavadnak minimum 6 betünek kell lennie!",chatprefix)
		client_cmd(id, "messagemode BELEPESI_JELSZO")
	}
	else
	{
		beirt_pw[id] = beirt_jelszo
		Regisztralas(id)
	}
	return PLUGIN_CONTINUE
}
public reg_jelszo(id)
{
	if(reg_pont[id] == 0){
		read_args(jelszo, charsmax(jelszo))
		remove_quotes(jelszo)
		new hossz = strlen(jelszo)
		if(equal(jelszo, ""))
		return PLUGIN_HANDLED
		if(hossz < 6)
		{
			ColorChat(id, BLUE, "%s ^3» ^4Jelszavadnak minimum 6 betünek kell lennie!",chatprefix)
			client_cmd(id, "messagemode REGISZTRACIOS_JELSZO")
		}
		else
		{
			irt[id] = 1
			mentett_pw[id] = jelszo
			ef_jsz[id] = jelszo
			Regisztralas(id)
		}
	}
	return PLUGIN_CONTINUE
}
public regisztralas_mentese(id)
{
	new Buffer[256]
	new adate[128], name[32]
	get_time("%x", adate, sizeof adate - 1);
	get_user_name(id, name, 31)
	format(Buffer, sizeof Buffer - 1, "^"%s^" ^"%s^" ^n^n^n^n", name, mentett_pw[id]);
	new file = fopen(users_db_file, "at+");
	fprintf(file, Buffer);
	fclose(file);
	return 1;
}
public nevvaltas(id)
{
	if(!is_user_connected(id))
		return FMRES_IGNORED
	new regi_nev[32], uj_nev[32], nev[32]
	get_user_name(id, nev, 31)
	pev(id, pev_netname, regi_nev, charsmax(regi_nev))
	if(regi_nev[0])
	{
		get_user_info(id, "name", uj_nev, charsmax(uj_nev))
		if(!equal(regi_nev, uj_nev))
		{
			if(belepve[id] == 1)
			{
				set_user_info(id, "name", regi_nev)
				ColorChat(id, RED, "%s ^3» A név váltás tiltott!",chatprefix)
				return FMRES_HANDLED
			}
			else
			{
				set_user_info(id, "name", regi_nev)
				ColorChat(id, RED, "%s ^3» A név váltás tiltott!",chatprefix)
				return FMRES_HANDLED
			}
		}
	}
	return FMRES_IGNORED
}
public check_db()
{
	new datadir[64];
	get_datadir(datadir, 63);
	format(users_db_file, sizeof users_db_file - 1, "%s/user_db.ini", datadir);
	new file_pointer = fopen(users_db_file, "r");
	if(!file_pointer)
	{
		server_print("NEM TALALHATO A FAJL");
		write_file(users_db_file, "");
	}
	fclose(file_pointer);
}
stock check_user(id)
{
	new szFile = fopen(users_db_file, "rt");
	new Buffer[256], file_id[32], file_password[32], name[32]
	get_user_name(id, name, 31)
	while(!feof(szFile))
	{
		fgets(szFile, Buffer, 255);
		if((strlen(Buffer) < 2) || Buffer[0] == ';')
			continue;
		parse(Buffer, file_id, 31, file_password, 31);
		if(equal(file_id, name))
		{
			mentett_pw[id] = file_password
			break;
		}
	}
	fclose(szFile);
	return 0;
}
public FTAdas( iPlayer, level, cid )
{
	if( !cmd_access( iPlayer, level, cid, 3 ) ) return PLUGIN_HANDLED;
	new arg [ 32 ]
	read_argv ( 1, arg, 31 )
	new FTOles [ 32 ]
	read_argv ( 2, FTOles, charsmax ( FTOles ) )
	new FTtoGive = str_to_num ( FTOles )
	new AdminName [ 32 ]
	new TargetName [ 32 ]
	get_user_name ( iPlayer, AdminName, charsmax ( AdminName ) )
		new iTarget = cmd_target( iPlayer, arg, 3 )
		get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )
		if( iTarget )
		{
			forint[ iTarget ] += FTtoGive
		}
	return PLUGIN_HANDLED
}
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 ]
				oleseks[ 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 ]
					oleseks[ 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 ]
					oleseks[ CT ] += OlestoGive
				}
			}
		}
	}
	else
	{
		new iTarget = cmd_target( iPlayer, arg, 3 )
		get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )
		if( iTarget )
		{
			oleseks[ iTarget ] += OlestoGive
		}
	}
	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 ]
				oleseks[ 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 ]
					oleseks[ 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 ]
					oleseks[ CT ] -= OlestoRemove
				}
			}
		}
	}
	else
	{
		new iTarget = cmd_target( iPlayer, arg, 3 )
		get_user_name ( iTarget, TargetName, charsmax ( TargetName ) )
		if( !iTarget )
			return PLUGIN_HANDLED
		oleseks[ iTarget ] -= OlestoRemove
	}
	return PLUGIN_HANDLED
}

enum _:Valami{
 Nev[32], 
 Oleshez[8] 
 };
new Fegyverek[29][Valami] = {
	{ "Alap csomag",0},
	{ "Bronz csomag", 50}, //0
	{ "Ezüst csomag", 100},//1
	{ "Arany csomag", 150},//2
	{ "Tűz csomag", 200},//3
	{ "Villámlás-Tapétázta csomag", 250},
	{ "Marijuana csomag", 300},
	{ "Monster csomag", 350},
	{ "Color csomag", 400},
	{ "Neon csomag", 450},
	{ "Red csomag", 500},
	{ "Black csomag",550},
	{ "Redbull csomag",600},
	{ "Elite csomag",650},
	{ "Nuclear csomag",700},
	{ "RedBlack csomag",750},
	{ "SuperMan csomag",800},
	{ "RedLine csomag",850},
	{ "Barcelona csomag",900},
	{ "Magma csomag",950},
	{ "Sarki csomag",1000},
	{ "Killer csomag",1050},
	{ "Robot csomag",1100},
	{ "Római csomag",1150},
	{ "Source csomag",1200},
	{ "CSGO1 csomag",1250},
	{ "CSGO2 csomag",1300},
	{ "Galaxy csomag",1350},
	{ "Karácsonyi csomag",1400}
	}
	
	//new const olesek[][] = {
	//"50",
	//"100",
	//"150",
	//"200",
	//"250",
	//"300",
	//"350",
	//"400",
	//"450",
	//"500",
	//"550",
	//"600",
	//"650",
	//"700",
	//"750",
	//"800",
	//"850",
	//"900",
	//"950",
	//"1000",
	//"1050",
	//"1100",
	//"1150",
	//"1200",
	//"1250",
	//"1300",
	//"1350",
	//"1400"
	//}
public eDeath() {
		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 ))
		{
			oleseks[ gyilkos ] += skin_hsoles
			ColorChat( gyilkos, GREEN, "%s ^4| ^1Megölted ^3%s^1-t ^1fejlövésbe!^3 +%i", chatprefix,nev, skin_hsoles)
		}
		else if(skin_oles != 0)
		{
			oleseks[ gyilkos ] += skin_oles
			ColorChat( gyilkos, GREEN, "%s ^4| ^1Megölted ^3%s^1-t!^3 +%i", chatprefix,nev, skin_oles)
		}
		else if(equal(Fegyver,"knife"))
		{
			oleseks[ gyilkos ] += skin_kesoles;
			ColorChat( gyilkos, GREEN, "%s ^4| ^1Megölted késsel ^3%s^1-t!^3 +%i", chatprefix,nev, skin_kesoles)
		}
	}
}
public fomenu(id) {
if(belepve[id] == 1 && olvas[id] == 1)
    {
	new cim[121]
	if(forint[id] > 0)
	{
    	format(cim, charsmax(cim), "%s \wFőMenü \r[\dÖléseid: \y%d\r]^n\yEgyenleg:\w[\y%d FT\w]^n\dVerzió: v1.0",menuprefix,oleseks[id],forint[id])
	}
	else if(forint[id] == 0)
	{
		format(cim, charsmax(cim), "%s \wFőMenü \r[\dÖléseid: \y%d\r]^n\yEgyenleg:\w[\r0 FT\w]^n\dVerzió: v1.0",menuprefix,oleseks[id],forint[id])
	}
	new menu = menu_create(cim, "fomenu_h")
	menu_additem(menu, "\yCsomagok", "1", 0)
	menu_additem(menu, "\yEgyenleg Feltöltés", "2", 0)
	menu_additem(menu, "\yBeállítások", "3", 0)
	if(get_user_flags(id) & ADMIN_IMMUNITY)
	{
	menu_additem(menu, "\yAdat Kezelő", "4", 0)
	}
	else
	{
	menu_addblank(menu, 1)
	}
	
	menu_addblank(menu, 1)
	menu_display(id, menu, 0)
}
else
{
Regisztralas(id)
}
}
public fomenu_h(id, menu, item) {
	if(item == MENU_EXIT)
	{
	menu_destroy(menu);
		return PLUGIN_HANDLED
	}
	new data[9], access, callback, szName[64]
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback)
	new key = str_to_num(data)
	switch(key) {
		case 1:{
			csomagok(id)
		}
		case 2:{
			ColorChat(id,GREY,"Ez a funkció jelenleg nem elérhető!")
		}
				case 3:{
			beallitasok(id)
		}
		case 4:{
			adatkezelo(id)
		}
	}
	return PLUGIN_HANDLED
}
public beallitasok(id)
{
new cim[512]
    	format(cim, charsmax(cim), "%s \d-/Beállítások",menuprefix)
    	new menu = menu_create(cim, "options_handler" )

		menu_additem(menu, "\yAlap Csomagok", "1", 0)

		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 options_handler(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:
		{
				Gun[id] = 0
		}
	}
		return PLUGIN_HANDLED
}

public adatkezelo(id)
{
new cim[512]
    	format(cim, charsmax(cim), "%s \rAdat Kezelő Menü",menuprefix)
    	new menu = menu_create(cim, "adatkezelo_handler" )
		menu_additem(menu, "\y»\rÖlés Hozzáadás", "1", 0)
		menu_additem(menu, "\y»\rÖlés Elvevés", "2", 0)
		menu_additem(menu, "\y»\rForint Hozzáadás", "3", 0)
		menu_additem(menu, "\y»\rForint Elvevés", "4", 0)
		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 adatkezelo_handler(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:
			{
			jatekoslistazas(id)
			}
			case 2:
			{
			jatekoslistazas2(id)
			}
			case 3:
			{
			jatekoslistazas3(id)
			}
			case 4:
			{
			jatekoslistazas4(id)
			}
	    }
		return PLUGIN_HANDLED
}
public jatekoslistazas(id)
 {
 new cim[512]
    	
    new menu = menu_create("\rVálaszd ki a játékost:", "awesome_handler");
    new players[32], pnum, tempid;
    new szName[32], szTempid[10];
    get_players(players, pnum);
    for( new i; i<pnum; i++ )
    {
        tempid = players[i];
        get_user_name(tempid, szName, charsmax(szName));
        num_to_str(tempid, szTempid, charsmax(szTempid));
		format(cim, charsmax(cim), "\y%s \wÖlései: \y%d",szName,oleseks[tempid])
        menu_additem(menu, cim, szTempid, 0);
    }
    menu_display(id, menu, 0);
}
public awesome_handler(id, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6], szName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
    x_tempid = str_to_num(data);
 	client_cmd(id, "messagemode Mennyit_szeretnel_elkuldeni");
    menu_destroy(menu);
    return PLUGIN_HANDLED;
 }
 public oles_kuld(id)
{
	new uzenet[121], tempname[32];
	read_args(uzenet, charsmax(uzenet))
	remove_quotes(uzenet)
	get_user_name(x_tempid, tempname, 31)
	if(str_to_num(uzenet) < 0)
	return PLUGIN_HANDLED
	oleseks[x_tempid] += str_to_num(uzenet)
	ColorChat(id, BLUE, "%s ^1Sikeresen jóváírtál:^4 %d ^1Ölést, neki:^4 %s",chatprefix,str_to_num(uzenet), tempname)
	ColorChat(x_tempid, BLUE, "%s ^1Jóváírtak neked^4 %d ^1ölést! BY:^4 %s",chatprefix,str_to_num(uzenet), tempname)
    return PLUGIN_HANDLED;
    }
	public jatekoslistazas2(id)
 {
 new cim[512]
    new menu = menu_create("\rVálaszd ki a játékost:", "awesomess_handler");
    new players[32], pnum, tempid;
    new szName[32], szTempid[10];
    get_players(players, pnum);
    for( new i; i<pnum; i++ )
    {
        tempid = players[i];
        get_user_name(tempid, szName, charsmax(szName));
        num_to_str(tempid, szTempid, charsmax(szTempid));
		format(cim, charsmax(cim), "\y%s \wÖlései: \y%d",szName,oleseks[tempid])
        menu_additem(menu, cim, szTempid, 0);
    }
    menu_display(id, menu, 0);
}
public awesomess_handler(id, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6], szName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
    x_tempid = str_to_num(data);
 	client_cmd(id, "messagemode Mennyit_szeretnel_elvenni");
    menu_destroy(menu);
    return PLUGIN_HANDLED;
 }
 public oles_elvetel(id)
{
	new uzenet[121], tempname[32];
	read_args(uzenet, charsmax(uzenet))
	remove_quotes(uzenet)
	get_user_name(x_tempid, tempname, 31)
	if(str_to_num(uzenet) < 0)
	return PLUGIN_HANDLED
	oleseks[x_tempid] -= str_to_num(uzenet)
	ColorChat(id, BLUE, "%s ^1Sikeresen elvettél:^4 %d ^1Ölést, tőle:^4 %s",chatprefix,str_to_num(uzenet), tempname)
	ColorChat(x_tempid, BLUE, "%s ^1Ellett véve^4 %d ^1ölés! BY:^4 %s",chatprefix,str_to_num(uzenet), tempname)
	Skin[0][x_tempid] = false
	Skin[1][x_tempid] = false
	Skin[2][x_tempid] = false
	Skin[3][x_tempid] = false
	Skin[4][x_tempid] = false
    return PLUGIN_HANDLED;
    }
	public jatekoslistazas3(id)
 {
 new cim[512]
    new menu = menu_create("\rVálaszd ki a játékost:", "awesomesss_handler");
    new players[32], pnum, tempid;
    new szName[32], szTempid[10];
    get_players(players, pnum);
    for( new i; i<pnum; i++ )
    {
        tempid = players[i];
        get_user_name(tempid, szName, charsmax(szName));
        num_to_str(tempid, szTempid, charsmax(szTempid));
		format(cim, charsmax(cim), "\y%s \wForintjai: \y%d",szName,forint[tempid])
        menu_additem(menu, cim, szTempid, 0);
    }
    menu_display(id, menu, 0);
}
public awesomesss_handler(id, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6], szName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
    x_tempid = str_to_num(data);
 	client_cmd(id, "messagemode Mennyi_forintot_akarsz_kuldeni");
    menu_destroy(menu);
    return PLUGIN_HANDLED;
 }
 public forint_adas(id)
{
	new uzenet[121], tempname[32];
	read_args(uzenet, charsmax(uzenet))
	remove_quotes(uzenet)
	get_user_name(x_tempid, tempname, 31)
	if(str_to_num(uzenet) < 0)
	return PLUGIN_HANDLED
	forint[x_tempid] += str_to_num(uzenet)
	ColorChat(id, BLUE, "%s ^1Sikeresen jóváírtál:^4 %d ^1Forintot, neki:^4 %s",chatprefix,str_to_num(uzenet), tempname)
	ColorChat(x_tempid, BLUE, "%s ^1Jóváírtak^4 %d ^1forintot! BY:^4 %s",chatprefix,str_to_num(uzenet), tempname)
    return PLUGIN_HANDLED;
    }
	public jatekoslistazas4(id)
 {
 new cim[512]
    new menu = menu_create("\rVálaszd ki a játékost:", "jtkoslistazas4_handler");
    new players[32], pnum, tempid;
    new szName[32], szTempid[10];
    get_players(players, pnum);
    for( new i; i<pnum; i++ )
    {
        tempid = players[i];
        get_user_name(tempid, szName, charsmax(szName));
        num_to_str(tempid, szTempid, charsmax(szTempid));
		format(cim, charsmax(cim), "\y%s \wForintjai: \y%d",szName,forint[tempid])
        menu_additem(menu, cim, szTempid, 0);
    }
    menu_display(id, menu, 0);
}
public jtkoslistazas4_handler(id, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[6], szName[64];
    new access, callback;
    menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
    x_tempid = str_to_num(data);
 	client_cmd(id, "messagemode Mennyi_forintot_akarsz_elvenni");
    menu_destroy(menu);
    return PLUGIN_HANDLED;
 }
 public forint_elvetel(id)
{
	new uzenet[121], tempname[32];
	read_args(uzenet, charsmax(uzenet))
	remove_quotes(uzenet)
	get_user_name(x_tempid, tempname, 31)
	if(str_to_num(uzenet) < 0)
	return PLUGIN_HANDLED
	forint[x_tempid] -= str_to_num(uzenet)
	ColorChat(id, BLUE, "%s ^1Sikeresen elvettél:^4 %d ^1Forintot, tőle:^4 %s",chatprefix,str_to_num(uzenet), tempname)
	ColorChat(x_tempid, BLUE, "%s ^1El vettek tőled^4 %d ^1forintot! BY:^4 %s",chatprefix,str_to_num(uzenet), tempname)
    return PLUGIN_HANDLED;
    }

public csomagok(id) {
new cim[121];
format(cim, charsmax(cim), "%s \y-/Csomagok",menuprefix);
	new menu = menu_create(cim, "csomag_handler");
	
	for(new i;i < sizeof(Fegyverek); i++)
	{

			new Sor[6]; num_to_str(i, Sor, 5);
			formatex(cim, charsmax(cim), "\y%s \r(Ölés:%d)", Fegyverek[i][Nev],Fegyverek[i][Oleshez]);
			menu_additem(menu, cim, Sor);
		
	}
		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 csomag_handler(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);

if(oleseks[id] >= Fegyverek[key][Oleshez])
{
		Skin[0][id] = key
		Skin[1][id] = key
		Skin[2][id] = key
		Skin[3][id] = key
		Skin[4][id] = key	
}
else
{
Skin[0][id] = 0
Skin[1][id] = 0
Skin[2][id] = 0
Skin[3][id] = 0
Skin[4][id] = 0
}
	
    	menu_destroy(menu)
    	return PLUGIN_HANDLED
}
public Mentes2(id)
{
new name[33]
	get_user_name(id, name, 32)
	new filenev[128], tartalom[64]
	format(filenev, sizeof(filenev), "addons/amxmodx/mentesek2/%s.txt", name)
	new sor = 0
	formatex(tartalom, charsmax(tartalom), "%d", oleseks[id])
	write_file(filenev, tartalom, sor)
	sor++
		formatex(tartalom, charsmax(tartalom), "%d", forint[id])
	write_file(filenev, tartalom, sor)
	sor++
		formatex(tartalom, charsmax(tartalom), "%d", reg_pont[id])
	write_file(filenev, tartalom, sor)
	sor++
		formatex(tartalom, charsmax(tartalom), "%d", olvas[id])
	write_file(filenev, tartalom, sor)
	sor++
}
public Betoltes2(id)
{
new name[33]
	get_user_name(id, name, 32)
	new filenev[128]
	format(filenev, 127, "addons/amxmodx/mentesek2/%s.txt", name)
	new sor = 0
	if (is_user_bot(id) || !file_exists(filenev))
		return
	new oles_cache[32], ft_cache[32], reg_cache[32], olvas_cache[32]
	new len
		read_file(filenev, sor, oles_cache, 63, len)
	sor++
		read_file(filenev, sor, ft_cache, 63, len)
	sor++
		read_file(filenev, sor, reg_cache, 63, len)
	sor++
		read_file(filenev, sor, olvas_cache, 63, len)
		oleseks[id] = str_to_num(oles_cache)
		forint[id] = str_to_num(ft_cache)
	reg_pont[id] = str_to_num(reg_cache)
	olvas[id] = str_to_num(olvas_cache)
}
public client_putinserver(id)
{
		belepve[id] = 0
	irt[id] = 0
	probal[id] = 0
	beirt_pw[id] = ""
	check_user(id)
}
public client_connect(id)
{

		if(!is_user_bot(id) && !is_user_hltv(id)){
    	Betoltes2(id)
		}
}
public client_disconnect(id)
{
	if(!is_user_bot(id) && !is_user_hltv(id)) {
		Mentes2(id);
	}
}
public fegyvervaltas(id) {
	new fgy = get_user_weapon(id)
	
	for(new i;i < sizeof(AK_Modelek); i++) {
		if(Skin[0][id] == i && fgy == CSW_AK47){
			set_pev(id, pev_viewmodel2, AK_Modelek[i]);
		}
	}
		for(new i;i < sizeof(M4_Modelek); i++) {
		if(Skin[1][id] == i && fgy == CSW_M4A1){
			set_pev(id, pev_viewmodel2, M4_Modelek[i]);
		}
	}
		for(new i;i < sizeof(AWP_Modelek); i++) {
		if(Skin[2][id] == i && fgy == CSW_AWP){
			set_pev(id, pev_viewmodel2, AWP_Modelek[i]);
		}
	}
		for(new i;i < sizeof(DG_Modelek); i++) {
		if(Skin[3][id] == i && fgy == CSW_DEAGLE){
			set_pev(id, pev_viewmodel2, DG_Modelek[i]);
		}
	}
		for(new i;i < sizeof(KS_Modelek); i++) {
		if(Skin[4][id] == i && fgy == CSW_KNIFE){
			set_pev(id, pev_viewmodel2, KS_Modelek[i]);
		}
	}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/