#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <sqlx>
#include <colorchat>

#define InfoT engfunc(EngFunc_AllocString, "info_target")

#define MAXPLAYERS 33
#define KAR 256

new const Prefix[] = "!g[Global Unison]"

new const SQL_HOSZT[] = ""
new const SQL_ADATBAZIS[] = ""
new const SQL_FELHASZNALO[] = ""
new const SQL_JELSZO[] = ""
new Handle:SQL_TUPLE

new const EntityNevek[][] = {
	"weapon_ak47", "weapon_awp", "weapon_m4a1", "weapon_famas", "weapon_mp5navy", "weapon_m3", "weapon_deagle", "weapon_usp", "weapon_knife"
}

new const PiacTargyak[][] = {
	"\dSemmi",
	"Terepmintas AK47",
	"Terepmintas AWP", 
	"Terepmintas M4A1",
	"Terepmintas FAMAS",
	"Terepmintas MP5",
	"Klasszikus M3",
	"Terepmintas DEAGLE",
	"Terepmintas USP",
	"Regi AK47",
	"Vadasz AWP",
	"Sivatagi M4A1",
	"Regi FAMAS",
	"Klasszikus MP5",
	"Mossbenger M3",
	"Tuz DEAGLE",
	"Tuz USP",
	"Villam AK47",
	"Pulzus AWP", 
	"Tuz M4A1",
	"Jeg FAMAS",
	"Tuz MP5",
	"Short M3",
	"Kor DEAGLE",
	"Modern USP", 
	"Fenevad AK47",
	"Resistance AWP",
	"Modern M4A1", 
	"Spitfire FAMAS",
	"Kommandos MP5",
	"SPAS-12 M3", 
	"Lang DEAGLE",
	"Engraved USP",
	"Magma AK47",
	"Magma AWP",
	"Magma M4A1",
	"Magma FAMAS",
	"Magma MP5",
	"Magma M3",
	"Magma DEAGLE",
	"Magma USP", 
	"Nuclear AK47",
	"Nuclear AWP", 
	"Nuclear M4A1",
	"Nuclear FAMAS", 
	"Nuclear MP5",
	"Nuclear M3", 
	"Nuclear DEAGLE",
	"Nuclear USP",
	"Zombie Hunter Kes",
	"Sark?nyfog Kes",
	"DeRoiD Kes",
	"Varazs keszty?",
	"Amulett",
	"Bolcsesseg konyv",
	"Kritikus csap?s gy?r?",
	"aldas", 
	"Kulcs",
	"Lada"
}

new const FegyverAdat[][][] = {
	{ "", "", "", "" },
	{ "Terepmint?s AK47", "GlobalUnison/Szint1/AK47", "28", "1" },
	{ "Terepmint?s AWP", "GlobalUnison/Szint1/AWP", "18", "1" },
	{ "Terepmint?s M4A1", "GlobalUnison/Szint1/M4A1", "22", "1" },
	{ "Terepmint?s FAMAS", "GlobalUnison/Szint1/FAMAS", "15", "1" },
	{ "Terepmint?s MP5", "GlobalUnison/Szint1/MP5", "19", "1" },
	{ "Klasszikus M3", "GlobalUnison/Szint1/M3", "21", "1" },
	{ "Terepmint?s DEAGLE", "GlobalUnison/Szint1/DEAGLE", "26", "1" },
	{ "Terepmint?s USP", "GlobalUnison/Szint1/USP", "16", "1" },
	{ "R?gi AK47", "GlobalUnison/Szint2/AK47", "28", "2" },
	{ "Vad?sz AWP", "GlobalUnison/Szint2/AWP", "18", "2" },
	{ "Sivatagi M4A1", "GlobalUnison/Szint2/M4A1", "22", "2" },
	{ "R?gi FAMAS", "GlobalUnison/Szint2/FAMAS", "15", "2" },
	{ "Klasszikus MP5", "GlobalUnison/Szint2/MP5", "19", "2" },
	{ "Mossbenger M3", "GlobalUnison/Szint2/M3", "21", "2" },
	{ "T?z DEAGLE", "GlobalUnison/Szint2/DEAGLE", "26", "2" },
	{ "T?z USP", "GlobalUnison/Szint2/USP", "16", "2" },
	{ "Vill?m AK47", "GlobalUnison/Szint3/AK47", "28", "3" },
	{ "Pulzus AWP", "GlobalUnison/Szint3/AWP", "18", "3" },
	{ "T?z M4A1", "GlobalUnison/Szint3/M4A1", "22", "3" },
	{ "J?g FAMAS", "GlobalUnison/Szint3/FAMAS", "15", "3" },
	{ "T?z MP5", "GlobalUnison/Szint3/MP5", "19", "3" },
	{ "Short M3", "GlobalUnison/Szint3/M3", "21", "3" },
	{ "K?r DEAGLE", "GlobalUnison/Szint3/DEAGLE", "26", "3" },
	{ "Modern USP", "GlobalUnison/Szint3/USP", "16", "3" },
	{ "Fenevad AK47", "GlobalUnison/Szint4/AK47", "28", "4" },
	{ "Resistance AWP", "GlobalUnison/Szint4/AWP", "18", "4" },
	{ "Modern M4A1", "GlobalUnison/Szint4/M4A1", "22", "4" },
	{ "Spitfire FAMAS", "GlobalUnison/Szint4/FAMAS", "15", "4" },
	{ "Kommand?s MP5", "GlobalUnison/Szint4/MP5", "19", "4" },
	{ "SPAS-12 M3", "GlobalUnison/Szint4/M3", "21", "4" },
	{ "L?ng DEAGLE", "GlobalUnison/Szint4/DEAGLE", "26", "4" },
	{ "Engraved USP", "GlobalUnison/Szint4/USP", "16", "4" },
	{ "Magma AK47", "GlobalUnison/Szint5/AK47", "28", "5" },
	{ "Magma AWP", "GlobalUnison/Szint5/AWP", "18", "5" },
	{ "Magma M4A1", "GlobalUnison/Szint5/M4A1", "22", "5" },
	{ "Magma FAMAS", "GlobalUnison/Szint5/FAMAS", "15", "5" },
	{ "Magma MP5", "GlobalUnison/Szint5/MP5", "19", "5" },
	{ "Magma M3", "GlobalUnison/Szint5/M3", "21", "5" },
	{ "Magma DEAGLE", "GlobalUnison/Szint5/DEAGLE", "26", "5" },
	{ "Magma USP", "GlobalUnison/Szint5/USP", "16", "5" },
	{ "Nuclear AK47", "GlobalUnison/Szint6/AK47", "28", "6" },
	{ "Nuclear AWP", "GlobalUnison/Szint6/AWP", "18", "6" },
	{ "Nuclear M4A1", "GlobalUnison/Szint6/M4A1", "22", "6" },
	{ "Nuclear FAMAS", "GlobalUnison/Szint6/FAMAS", "15", "6" },
	{ "Nuclear MP5", "GlobalUnison/Szint6/MP5", "19", "6" },
	{ "Nuclear M3", "GlobalUnison/Szint6/M3", "21", "6" },
	{ "Nuclear DEAGLE", "GlobalUnison/Szint6/DEAGLE", "26", "6" },
	{ "Nuclear USP", "GlobalUnison/Szint6/USP", "16", "6" },
	{ "Zombie Hunter K?s", "GlobalUnison/Kes/ZombiVadasz", "29", "7" },
	{ "Sarkanyfog Kes", "GlobalUnison/Kes/Sarkanyfog", "29", "7" },
	{ "DeRoiD K?s", "GlobalUnison/Kes/Deroid", "29", "7" }
}

new const KepessegAdat[][][] = {
	{ "", "", "" },
	{ "Elet", "?", "Tobb Eletero." },
	{ "Intelligencia", "I", "Novekszik az arany zsakmanya." },
	{ "Er?", "E", "Novekszik a sebzes." },
	{ "?gyess?g", "?", "Mozgasi sebesseg megno." }
}

new const TargyAdat[][][] = {
	{ "", "" },
	{ "Varazs kesztyu",       "Automatikus targy felvetel!" },
	{ "Amulett",               "Nagyobb es?ly a jobb targy talalasara!" },
	{ "Bolcsesseg konyv",     "50%-al tobb arany minden ?l?sn?l!" },
	{ "Kritikus csapas gyuru", "20% esely a kritikus sebzes!" },
	{ "Aldas",                 "Kepesseg pontjaidat ujra oszthatod!" }
}

new const LadaNevek[][] = {
	"",
	"Lada"
}

new const EventNevek[][] = {
	"Nincs",
	"Lada",
	"Kulcs",
	"Dupla Arany"
}

new const DropAdat[][][] = {
	{ "", "", "" },
	{ "arany", "GlobalUnison/Targyak/Arany.mdl", "AranyErint" },
	{ "csomag", "GlobalUnison/Targyak/Csomag.mdl", "CsomagErint" },
	{ "lada", "GlobalUnison/Targyak/Lada.mdl", "LadaErint" },
	{ "kulcs", "GlobalUnison/Targyak/Kulcs.mdl", "KulcsErint" }
}
/*
new const AdminJogok[][] = {
	"",
	"abcdefghijklmnopqrstu",
	"bcdefghijklmnopqrstu",
	"cdefijmu"
}*/

new const SzintXP[] = {
	0, 25, 50, 100, 175, 300, 500, 850, 1300, 1900, 2750, 3850, 5150, 6950, 9000,
	12000, 15500, 20000, 25000, 31000, 38000, 45000, 54000, 63000, 73000, 83000,
	103000, 123000, 0
}

new const KellKulcs[] = {
	0, 1
}

new const LadaDrop[][] = {
	{ 0, 9, 0 },
	{ 1, 8, 1000 },
	{ -5, 0, 600 },
	{ 9, 16, 500  },
	{ 17, 24, 300 },
	{ 25, 32, 100 },
	{ 33, 40, 46 },
	{ 41, 48, 26 },
	{ 49, 51, 6 },
	{ -4, -1, 2 }
}

new const CsomagDrop[][] = {
	{ 0, 0, 0 },
	{ 0, 0, 860 },
	{ 1, 7, 260 },
	{ 8, 14, 60 },
	{ 15, 21, 30 },
	{ 22, 28, 2 }
}

new const FegyverKepessegAdat[][] = {
	{ 0, 0, 0, 0, 0 },
	{ 0, 5, 5, 5, 0 },
	{ 0, 10, 5, 10, 0 },
	{ 0, 15, 15, 15, 0 },
	{ 0, 30, 5, 30, 0 },
	{ 0, 5, 5, 50, 0 },
	{ 0, 45, 20, 20, 0 },
	{ 0, 0, 0, 0, 75 }
}

new const FegyverIdSzamok[] ={
	0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, 1
}

new Keres[MAXPLAYERS], Kereskedik[MAXPLAYERS], KerID[MAXPLAYERS], KerDB[MAXPLAYERS], pTargy[MAXPLAYERS], KerArany[MAXPLAYERS], JelolID[MAXPLAYERS], Fogad[MAXPLAYERS]
new Fegyverek[MAXPLAYERS][64], Arany[MAXPLAYERS], Szint[MAXPLAYERS], XP[MAXPLAYERS], Lada[MAXPLAYERS], Kulcs[MAXPLAYERS], Kepesseg[MAXPLAYERS][5], Targy[MAXPLAYERS][7],
Pontok[MAXPLAYERS], Oles[MAXPLAYERS], Vip[MAXPLAYERS], FegyverKepesseg[MAXPLAYERS][4][5], Hasznal[MAXPLAYERS][4], ErintLock[MAXPLAYERS], Float:Ellenorzes[MAXPLAYERS]
new EladoAr[MAXPLAYERS], EladoTargy[MAXPLAYERS], Kirakva[MAXPLAYERS]

new jFelhasznaloBetolt[MAXPLAYERS], bool:jBejelentkezve[MAXPLAYERS], jFelhasznalo[MAXPLAYERS][32], jJelszo[MAXPLAYERS][32]
new jRegMod[MAXPLAYERS], jFolyamatban[MAXPLAYERS], jId[MAXPLAYERS], jAktivitas[MAXPLAYERS], jTalalt[MAXPLAYERS]

new Event, Hud_1

public plugin_precache()
{
	for(new i; i < sizeof(FegyverAdat); i++)
	{
		if(strlen(FegyverAdat[i][1]) == 0)
		{
			continue
		}
		
		new Mdl[86]
		
		formatex(Mdl, charsmax(Mdl), "models/%s.mdl", FegyverAdat[i][1])
		precache_model(Mdl)
	}
	
	for(new i; i < sizeof(DropAdat); i++)
	{
		if(strlen(DropAdat[i][1]) == 0)
		{
			continue
		}
		
		new Mdl[86]
		
		formatex(Mdl, charsmax(Mdl), "models/%s", DropAdat[i][1])
		precache_model(Mdl)
	}
}

public plugin_init()
{
	register_plugin("DeRoiD", "1.0", "Global Unison")
	register_impulse(201, "FoMenu")
	
	for(new i = 1; i <= 4; i++)
	{
		register_touch(DropAdat[i][0], "player", DropAdat[i][2])
	}
	
	new Nap[24]
	get_time("%A", Nap, charsmax(Nap))
	
	if(equali("Saturday", Nap))
	{
		Event = 1
	}
	
	if(equali("Sunday", Nap))
	{
		Event = 2
	}
	
	if(equali("Tuesday", Nap) || equali("Thursday", Nap))
	{
		Event = 3
	}
	
	Hud_1 = CreateHudSyncObj()
	
	RegisterHam(Ham_Player_PreThink, "player", "JatekosEllenorzes", 1)
	RegisterHam(Ham_Spawn, "player", "Ujraeledes", 1)
	RegisterHam(Ham_TakeDamage, "player", "Sebzes", 0)
	
	for(new i; i < sizeof(EntityNevek); i++)
	{
		if(strlen(EntityNevek[i]) > 0)
		{
			RegisterHam(Ham_Item_Deploy, EntityNevek[i], "FegyverValtas", 1)
		}
	}
	
	register_event("DeathMsg", "Halal", "a")
	
	register_clcmd("DARAB", "Darab")
	register_clcmd("KERESKEDELEM", "kArany")
	register_clcmd("PIAC", "pArany")
	register_concmd("MY_USERNAME", "cmdFelhasznalo")
	register_concmd("MY_PASSWORD", "cmdJelszo")
	
	register_concmd("ujvip", "cmdVip", ADMIN_IMMUNITY)
	
	for(new i = 1; i <= 4; i++)
		register_touch(DropAdat[i][0], "player", DropAdat[i][2])
	
	SQL_Ujratoltes()
	
	register_clcmd("say", "HandleSay")
	register_clcmd("say_team", "HandleSay")
	
	register_event("CurWeapon", "Gyorsasag", "be", "1=1")
}

public HandleSay(id)
{
	new message[192], Name[32], none[2][32], chat[192], hal[32]
	
	read_args (message, 191)
	remove_quotes (message)
	
	if(!jBejelentkezve[id])
	{
		if(equal(message, "/reg"))
		{
			RegMenu(id)
			return PLUGIN_HANDLED
		}
	}
	
	new hossz = strlen(message)
	
	new i = 0
	new 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
	}
	
	new pont2=0;
	new kettospont=0;
	new szam2=0;
	new hir=0;
	i = 0
	
	while(i < hossz)
	{
		if(message[i] == 'w')
			hir++;
		if(message[i] == '.')
			pont2++;
		if(message[i] == ':')
			kettospont++;
		if(message[i] == '1' || message[i] == '2' || message[i] == '3' || message[i] == '4' || message[i] == '5' || message[i] == '6' || message[i] == '7' || message[i] == '8' || message[i] == '9' || message[i] == '0')
			szam2++;
		if(message[i] == '#')
			RosszKarakterek++
		++i;
	}
	
	if(pont2 >= 2 && kettospont >= 1 && szam2 >= 4)
	{
		return PLUGIN_HANDLED;
	}
	if(szam2 >= 8)
	{
		return PLUGIN_HANDLED;
	}
	if(hir >= 3)
	{
		return PLUGIN_HANDLED;
	}
	
	formatex(none[0], 31, ""), formatex(none[1], 31, " ")
	
	if (message[0] == '@' || message[0] == '!' || equal (message, ""))
		return PLUGIN_HANDLED;
	
	get_user_name(id, Name, 31);
	new string[6]
	formatex(string, 5, "%s", Name)
	if(!is_user_alive(id)) hal = "*DEAD* "
	else  hal = ""
	if(!equali(message, none[0]) && !equali(message, none[1]))
	{
		if(jBejelentkezve[id]){
			if(get_user_flags(id) & ADMIN_BAN)
				formatex(chat, 191, "^1%s^4[ADMIN][Szint %d] ^3%s^4 : %s", hal, Szint[id], Name, message)
			else if(Vip[id] > get_systime())
				formatex(chat, 191, "^1%s^4[VIP][Szint %d] ^3%s^4 : %s", hal, Szint[id], Name, message)
			else
				formatex(chat, 191, "^1%s^4[Szint %d] ^3%s^1 : %s", hal, Szint[id], 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_HANDLED
}

public Sebzes(victim, inflictor, id, Float:damage, damage_type)
{
	if(!is_user_alive(victim))
	{
		return HAM_SUPERCEDE
	}
	
	new Float:Ertek
	Ertek += float((Kepesseg[id][3]))
	
	new wid = get_user_weapon(id)
	
	if(Hasznal[id][FegyverIdSzamok[wid]] != 0 && str_to_num(FegyverAdat[Hasznal[id][FegyverIdSzamok[wid]]][2]) == wid)
	{
		Ertek += float((FegyverKepesseg[id][FegyverIdSzamok[wid]][3]))
	}
	
	if(Targy[id][4] > 0)
	{
		Ertek = Ertek * 1.5
	}
	
	SetHamParamFloat(4, damage + Ertek)
	
	return HAM_IGNORED
}

public Gyorsasag(id)
{
	if(id > 32 || id < 1 || !is_user_alive(id))
	{
		return PLUGIN_HANDLED
	}
	
	new wid = get_user_weapon(id)
	
	if(CSW_KNIFE == wid)
	{
		set_pev(id, pev_maxspeed, 250.0 + FegyverKepesseg[id][FegyverIdSzamok[wid]][4] + Kepesseg[id][4])
	}
	else
	{
		if(CSW_AWP == wid)
			set_pev(id, pev_maxspeed, 210.0)
		else
			set_pev(id, pev_maxspeed, 250.0)
	}
	
	return PLUGIN_CONTINUE
}

public FegyverValtas(f)
{
	new id = get_pdata_cbase(f, 41, 4)
	new wid = cs_get_weapon_id(f)
	
	if(id > 32 || id < 1 || !is_user_alive(id))
	{
		return HAM_SUPERCEDE
	}
	
	new k = Hasznal[id][FegyverIdSzamok[wid]], Mdl[86]
	
	if(k > 0 && str_to_num(FegyverAdat[k][2]) == wid)
	{
		formatex(Mdl, charsmax(Mdl), "models/%s.mdl", FegyverAdat[k][1])
		set_pev(id, pev_viewmodel2, Mdl)
	}
	
	return HAM_IGNORED
}

public Ujraeledes(id) {
	if(!is_user_alive(id))
	{
		return HAM_SUPERCEDE
	}
	
	set_user_health(id, 100 + (Kepesseg[id][0]+(FegyverKepesseg[id][1][1]+FegyverKepesseg[id][2][1])))
	return HAM_IGNORED
}

public JatekosEllenorzes(id)
{
	if(!is_user_connected(id) || !jBejelentkezve[id])
	{
		return
	}
	
	if(get_gametime() > Ellenorzes[id])
	{
		new Max = (SzintXP[Szint[id]] - SzintXP[Szint[id]-1])
		new Jelen = (SzintXP[Szint[id]] - XP[id])
		new Float:Szazalek = 100.0 - (( Jelen * 100.0 ) / Max)
		
		set_hudmessage(255, 255, 255, 0.75, 0.10, 0, 6.0, 1.1)
		ShowSyncHudMsg(id, Hud_1, "Szint: %d^nTapasztalat: %d/%d (%.2f%%)^nArany: %d^n^nEvent: %s",
		Szint[id], XP[id], SzintXP[Szint[id]], Szazalek, Arany[id], EventNevek[Event])
		
		Ellenorzes[id] = get_gametime() + 1.0
	}
}

public AranyErint(Ent, id)
{
	if(ErintLock[id] >= get_systime())
	{
		return
	}
	
	AranyKap(id)
	engfunc(EngFunc_RemoveEntity, Ent)
	
}

public CsomagErint(Ent, id)
{
	if(ErintLock[id] >= get_systime())
	{
		return
	}
	
	CsomagKap(id)
	engfunc(EngFunc_RemoveEntity, Ent)
}

public LadaErint(Ent, id)
{
	if(ErintLock[id] >= get_systime())
	{
		return
	}
	
	new Float:Tulaj
	Tulaj = entity_get_float(Ent, EV_FL_health)
	
	if(id == floatround(Tulaj))
	{
		KulcsKap(id)
		engfunc(EngFunc_RemoveEntity, Ent)
	}
	else
	{
		ErintLock[id] = get_systime()+1
		user_slap(id, 1)
	}
}

public KulcsErint(Ent, id)
{
	if(ErintLock[id] >= get_systime())
	{
		return
	}
	
	new Float:Tulaj
	Tulaj = entity_get_float(Ent, EV_FL_health)
	
	if(id == floatround(Tulaj))
	{
		KulcsKap(id)
		engfunc(EngFunc_RemoveEntity, Ent)
	}
	else
	{
		ErintLock[id] = get_systime()+1
		user_slap(id, 1)
	}
}

public Halal()
{
	new id = read_data(1)
	new x = read_data(2)
	new dFajta
	
	if(id == x || id == 0 || !jBejelentkezve[id])
	{
		return
	}
	
	XP[id] += random_num(3, 5)
	
	Oles[id]++
	
	if(XP[id] >= SzintXP[Szint[id]])
	{
		Szint[id]++
		Pontok[id] += 2
		new Nev[32]
		get_user_name(id, Nev, 31)
		print_color(0, "%s!y Gratul?lunk !t%s!y-nak/nek! !g%d!y szint? lett!", Prefix, Nev, Szint[id])
	}
	
	new RandomSzam = random_num(0, 1000)
	
	if(Event == 1 && 10 > RandomSzam || Event == 2 && 10 > RandomSzam)
	{
		if(Vip[id] > 0 || Targy[id][1] > 0)
		{
			if(Event == 1)
				LadaKap(id)
			else if(Event == 2)
				KulcsKap(id)
		}
		else
		{
			if(Event == 1)
				dFajta = 4
			else if(Event == 2)
				dFajta = 3
		}
	}
	else if(630 > RandomSzam)
	{
		if(Vip[id] > 0 || Targy[id][1] > 0)
		{
			CsomagKap(id)
		}
		else
		{
			dFajta = 2
		}
	}
	else if(1001 > RandomSzam)
	{
		if(Vip[id] > 0 || Targy[id][1] > 0)
		{
			AranyKap(id)
		}
		else
		{
			dFajta = 1
		}
	}
	
	if(dFajta == 0)
	{
		return
	}
	
	new Float:Origin[3]
	pev(x, pev_origin, Origin)
	
	new Ent = engfunc(EngFunc_CreateNamedEntity, InfoT)
	Origin[2] -= 36.0
	engfunc(EngFunc_SetOrigin, Ent, Origin)
	
	set_pev(Ent, pev_classname, DropAdat[dFajta][0])
	
	new Mdl[86], Ido[20]
	num_to_str(get_systime()+20, Ido, 19)
	formatex(Mdl, charsmax(Mdl), "models/%s", DropAdat[dFajta][1])
	engfunc(EngFunc_SetModel, Ent, Mdl)
	dllfunc(DLLFunc_Spawn, Ent)
	set_pev(Ent, pev_health, id)
	entity_set_float(Ent, EV_FL_health, float(id))
	
	set_pev(Ent, pev_netname, Ido)
	set_pev(Ent, pev_solid, SOLID_BBOX)
	
	set_pev(Ent, pev_movetype, MOVETYPE_NONE)
	engfunc(EngFunc_SetSize, Ent, { -23.160000, -13.660000, -0.050000 }, { 11.470000, 12.780000, 6.720000 })
	engfunc(EngFunc_DropToFloor, Ent)
	
	print_color(id, "%s!y Az ellens?gb?l esett egy t?rgy! Van!t 20!y m?sodperced, hogy felvedd!", Prefix)
	
	SQL_jFrissites(id)
}

public AranyKap(id)
{
	new aDrop = random_num(15, 30)
	
	if(Vip[id] > 0)
	{
		aDrop = aDrop * 2
	}
	
	if(Event == 3)
	{
		aDrop = aDrop * 2
	}
	
	if(Targy[id][3] > 0)
	{
		aDrop = (aDrop * 15) / 10
	}
	
	aDrop += (Kepesseg[id][2] + FegyverKepesseg[id][1][2] + FegyverKepesseg[id][2][2]) / 2
	
	print_color(id, "%s!y Kapt?l!t %d!y aranyat!", Prefix, aDrop)
	
	Arany[id] += aDrop
	
	SQL_jFrissites(id)
}

public LadaKap(id)
{
	new Nev[32]
	get_user_name(id, Nev, 31)
	Lada[id]++
	print_color(0, "%s!t %s!y tal?lt egy!t L?d?t!y!", Prefix, Nev)
	SQL_jFrissites(id)
}

public KulcsKap(id)
{
	new Nev[32]
	get_user_name(id, Nev, 31)
	Kulcs[id]++
	print_color(0, "%s!t %s!y tal?lt egy!t Kulcsot!y!", Prefix, Nev)
	SQL_jFrissites(id)
}

public HetvegiEventKap(id)
{
	new RandomSzam = random_num(1, 100)
	
	if(65 >= RandomSzam)
	{
		LadaKap(id)
	}
	else if(100 >= RandomSzam)
	{
		KulcsKap(id)
	}
	
}

public CsomagKap(id)
{
	new Max = 1300
	if(Targy[id][2] > 0)
	{
		Max = 1100
	}
	
	new RandomSzam = random_num(0, Max)
	
	new Nev[32]
	get_user_name(id, Nev, 31)
	
	for(new i = 1; i <= 5; i++)
	{
		new x = random_num(CsomagDrop[i][0], CsomagDrop[i][1])
		
		if(RandomSzam < CsomagDrop[i][2])
		{
			continue
		}
		
		if(x > 0)
		{
			Fegyverek[id][x]++
			print_color(0, "%s!t %s!y tal?lt egy!t %s!y fegyvert! !g(CSOMAG)", Prefix, Nev, FegyverAdat[x][0])
		}
		else if(x < 0)
		{
			Targy[id][-x]++
			print_color(0, "%s!t %s!y tal?lt egy!t %s!y t?rgyat! !g(CSOMAG)", Prefix, Nev, TargyAdat[-x][0])
		}
		else
		{
			new aDrop = random_num(30, 50)
			
			if(Vip[id] > 0)
			{
				aDrop = aDrop * 2
			}
			
			if(Event == 3)
			{
				aDrop = aDrop * 2
			}
			
			if(Targy[id][3] > 0)
			{
				aDrop = (aDrop * 15) / 10
			}
			
			aDrop += (Kepesseg[id][2] + FegyverKepesseg[id][1][2] + FegyverKepesseg[id][2][2]) / 2
			
			print_color(id, "%s!y Kapt?l!t %d!y aranyat! !g(CSOMAG)", Prefix, aDrop)
			
			Arany[id] += aDrop
		}
		
		SQL_jFrissites(id)
		break
	}
}

public FoMenu(id)
{	
	if(!jBejelentkezve[id])
	{
		RegMenu(id)
		return
	}
	
	new String[128]
	formatex(String, charsmax(String), "\yGlobal Unison \d- \wF?men?")
	new menu = menu_create(String, "FoMenuh" )
	
	formatex(String, charsmax(String), "Gyakorl?s")
	menu_additem(menu, String, "1")
	
	formatex(String, charsmax(String), "Rakt?r")
	menu_additem(menu, String, "2")
	
	formatex(String, charsmax(String), "L?danyit?s")
	menu_additem(menu, String, "3")
	
	formatex(String, charsmax(String), "Keresked?s")
	menu_additem(menu, String, "4")
	
	formatex(String, charsmax(String), "Piac")
	menu_additem(menu, String, "5")
	
	formatex(String, charsmax(String), "Eldob?s")
	menu_additem(menu, String, "6")
	
	menu_display(id, menu)
}

public FoMenuh(id, menu, item){
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new Adat[32], Sor[64]
	new Access, Callback
	menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
	new x = str_to_num(Adat)
	
	switch(x)
	{
		
		case 1:
		{
			KepessegMenu(id)
		}
		
		case 2:
		{
			pTargy[id] = 0
			RaktarMenu(id)
		}
		
		case 3:
		{
			new kid
			
			if(JelolID[id] > 0)
				kid = JelolID[id]
			else if(KerID[id] > 0)
				kid = KerID[id]
			
			Kereskedik[id] = 0
			KerArany[id] = 0
			Keres[id] = 0
			JelolID[id] = 0
			pTargy[id] = 0
			KerID[id] = 0
			
			if(kid > 0)
			{
				Kereskedik[id] = 0
				KerArany[id] = 0
				Keres[id] = 0
				JelolID[id] = 0
				pTargy[id] = 0
				KerID[id] = 0
			}
			LadaMenu(id)
		}
		
		case 4:
		{
			if(Kirakva[id] == 1)
			{
				Kirakva[id] = 0
				EladoTargy[id] = 0
				EladoAr[id] = 0
			}
			KereskedesMenu(id)
		}
		
		case 5:
		{
			new kid
			
			if(JelolID[id] > 0)
				kid = JelolID[id]
			else if(KerID[id] > 0)
				kid = KerID[id]
			
			Kereskedik[id] = 0
			KerArany[id] = 0
			Keres[id] = 0
			JelolID[id] = 0
			pTargy[id] = 0
			KerID[id] = 0
			
			if(kid > 0)
			{
				Kereskedik[id] = 0
				KerArany[id] = 0
				Keres[id] = 0
				JelolID[id] = 0
				pTargy[id] = 0
				KerID[id] = 0
			}
			FoPiacMenu(id)
		}
		
		case 6:
		{
			EldobasMenu(id)
		}
	}
}

public FoPiacMenu(id)
{		
	new String[128]
	formatex(String, charsmax(String), "\yGlobal Unison \d- \wPiac")
	new menu = menu_create(String, "FoPiacMenuh" )
	
	formatex(String, charsmax(String), "Eladas")
	menu_additem(menu, String, "1")
	
	formatex(String, charsmax(String), "Vasarlas")
	menu_additem(menu, String, "2")
	
	menu_display(id, menu)
}

public FoPiacMenuh(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new Adat[32], Sor[64]
	new Access, Callback
	menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
	new x = str_to_num(Adat)
	
	switch(x)
	{
		case 1:
		{
			PiacraMenu(id)
		}
		
		case 2:
		{
			VasarMenu(id)
		}
		
	}
}

public RaktarMenu(id)
{		
	new String[128]
	formatex(String, charsmax(String), "\yGlobal Unison \d- \wRaktarmen?")
	new menu = menu_create(String, "RaktarMenuh" )
	
	formatex(String, charsmax(String), "Fegyverek")
	menu_additem(menu, String, "1")
	
	formatex(String, charsmax(String), "Targyak")
	menu_additem(menu, String, "2")
	
	menu_display(id, menu)
}

public RaktarMenuh(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new Adat[32], Sor[64]
	new Access, Callback
	menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
	new x = str_to_num(Adat)
	
	switch(x)
	{
		case 1:
		{
			FRaktarMenu(id)
		}
		
		case 2:
		{
			TargyMenu(id)
		}
		
	}
}

public EldobasMenu(id)
{
	new menu = menu_create("\yGlobal Unison \d- \wEldobas", "EldobasMenuh" )
	
	for(new i = 1; i < sizeof(FegyverAdat); i++)
	{
		if(Fegyverek[id][i] <= 0)
		{
			continue
		}
		
		new String[128], Nts[3]
		new k = str_to_num(FegyverAdat[i][3])
		num_to_str(i, Nts, 2)
		
		if(str_to_num(FegyverAdat[i][2]) != 29)
		{
			formatex(String, charsmax(String), "\w%s\r (\w%d\r) \d[\w%d\y%s\r|\w%d\y%s\r|\w%d\y%s\d]", FegyverAdat[i][0], Fegyverek[id][i],
			FegyverKepessegAdat[k][1], KepessegAdat[1][1], FegyverKepessegAdat[k][2], KepessegAdat[2][1], FegyverKepessegAdat[k][3], KepessegAdat[3][1])
			menu_additem(menu, String, Nts)
		}
	}
	
	menu_setprop(menu, MPROP_PERPAGE, 6)
	menu_display(id, menu)
}

public EldobasMenuh(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new Adat[32], Sor[64]
	new Access, Callback
	menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
	new x = str_to_num(Adat)
	
	if(Fegyverek[id][x] > 0)
	{
		Fegyverek[id][x]--
		EldobasMenu(id)
	}
}

public FRaktarMenu(id)
{
	new String[128], Nts[3]
	formatex(String, charsmax(String), "\yGlobal Unison \d- \wRaktar")
	new menu = menu_create(String, "FRaktarMenuh" )
	
	for(new i = 1; i < sizeof(FegyverAdat); i++)
	{
		if(Fegyverek[id][i] <= 0)
		{
			continue
		}
		
		new k = str_to_num(FegyverAdat[i][3])
		num_to_str(i, Nts, 2)
		
		if(str_to_num(FegyverAdat[i][2]) != 29)
		{
			formatex(String, charsmax(String), "\w%s\r (\w%d\r) \d[\w%d\y%s\r|\w%d\y%s\r|\w%d\y%s\d]", FegyverAdat[i][0], Fegyverek[id][i],
			FegyverKepessegAdat[k][1], KepessegAdat[1][1], FegyverKepessegAdat[k][2], KepessegAdat[2][1], FegyverKepessegAdat[k][3], KepessegAdat[3][1])
		}
		else
		{
			formatex(String, charsmax(String), "\y%s\r (\w%d\r) \d[\w%d\y%s\d]", FegyverAdat[i][0], Fegyverek[id][i],
			FegyverKepessegAdat[k][4], KepessegAdat[4][1])
		}
		
		menu_additem(menu, String, Nts)
	}
	
	menu_setprop(menu, MPROP_PERPAGE, 6)
	menu_display(id, menu)
}

public FRaktarMenuh(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new Adat[32], Sor[64]
	new Access, Callback
	menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
	new x = str_to_num(Adat)
	
	if(Fegyverek[id][x] > 0)
	{
		new y = str_to_num(FegyverAdat[x][2])
		log_amx("%d", y)
		Hasznal[id][FegyverIdSzamok[y]] = x
		
		for(new i = 1; i <= 4; i++)
		{
			FegyverKepesseg[id][FegyverIdSzamok[y]][i] = FegyverKepessegAdat[str_to_num(FegyverAdat[x][3])][i]
		}
	}
}

public KepessegNulla(id)
{
	new y = get_user_weapon(id)
	for(new i = 1; i <= 4; i++)
	{
		FegyverKepesseg[id][FegyverIdSzamok[y]][i] = 0
	}
}

public TargyMenu(id)
{
	new String[128], Nts[3]
	formatex(String, charsmax(String), "\yGlobal Unison \d- \wTargyak^n\rEloszthato pontok:\d %d", Pontok[id])
	new menu = menu_create(String, "TargyMenuh" )
	
	for(new i = 1; i <= 5; i++)
	{
		num_to_str(i, Nts, 2)
		formatex(String, charsmax(String), "\y%s\r (\w%d\r)^n    \d%s", TargyAdat[i][0], Targy[id][i], TargyAdat[i][1])
		menu_additem(menu, String, Nts)
	}
	
	menu_display(id, menu)
}

public TargyMenuh(id, menu, item){
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new Adat[32], Sor[64]
	new Access, Callback
	menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
	new x = str_to_num(Adat)
	
	if(x > 0 && x < 4)
	{
		TargyMenu(id)
	}
	else if(x == 5)
	{
		if(Targy[id][x] > 0)
		{
			Targy[id][x]--
			Pontok[id] = (Szint[id] * 2)
			
			for(new i = 1; i <= 4; i++)
			{
				Kepesseg[id][i] = 1
			}
			
			print_color(id, "%s!y Elhasználtál egy!t aldas!y-t!")
			KepessegMenu(id)
		}
		else
		{
			print_color(id, "%s!y Nincs egy aldasod sem!")
			TargyMenu(id)
		}
	}
}

public KepessegMenu(id)
{
	new String[128], Nts[3]
	formatex(String, charsmax(String), "\yGlobal Unison \d- \wGyakorlas^n\rEloszthato pontok:\d %d", Pontok[id])
	new menu = menu_create(String, "KepessegMenuh" )
	
	for(new i = 1; i <= 4; i++)
	{
		num_to_str(i, Nts, 2)
		formatex(String, charsmax(String), "\y%s\r (\w%02d\d/\w20\r)^n    \d%s", KepessegAdat[i][0], Kepesseg[id][i], KepessegAdat[i][2])
		menu_additem(menu, String, Nts)
	}
	
	menu_display(id, menu)
}

public KepessegMenuh(id, menu, item){
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new Adat[32], Sor[64]
	new Access, Callback
	menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
	new x = str_to_num(Adat)
	
	if(Pontok[id] > 0)
	{
		Pontok[id]--
		Kepesseg[id][x]++
		KepessegMenu(id)
		print_color(id, "%s!y Sikeresen fejlesztetted a(z) !t%s!y-t!", Prefix, KepessegAdat[x][0])
	}
	else
	{
		print_color(id, "%s!y Nincs eloszthat? pontod!", Prefix)
		KepessegMenu(id)
	}
}

public LadaMenu(id)
{
	new String[128], Nts[3]
	formatex(String, charsmax(String), "\yGlobal Unison \d- \wLadak^n\rKulcsok:\d %d", Kulcs[id])
	new menu = menu_create(String, "LadaMenuh" )
	
	for(new i = 1; i <= 1; i++)
	{
		num_to_str(i, Nts, 2)
		formatex(String, charsmax(String), "\y%s\r (\w%d\r)", LadaNevek[i], Lada[id])
		menu_additem(menu, String, Nts)
	}
	
	menu_display(id, menu)
}

public LadaMenuh(id, menu, item){
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new Adat[32], Sor[64]
	new Access, Callback
	menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
	new x = str_to_num(Adat)
	
	if(Lada[id] > 0)
	{
		if(KellKulcs[x] == 0)
		{
			LadaNyitas(id, x)
			Lada[id]--
		}
		else if(Kulcs[id] > 0)
		{
			LadaNyitas(id, x)
			Lada[id]--
			Kulcs[id]--
		}
		else
		{
			print_color(id, "%s!y Nincs kulcsod!", Prefix)
		}
		
		SQL_jFrissites(id)
		LadaMenu(id)
	}
	else
	{
		print_color(id, "%s!y Nincs ladad!", Prefix)
		LadaMenu(id)
	}
}

public LadaNyitas(id, Fajta)
{
	new Max = 1000
	
	if(Targy[id][2] > 0)
	{
		Max = 900
	}
	
	new RandomSzam = random_num(0, Max)
	new End = LadaDrop[0][Fajta]
	new Nev[32]
	get_user_name(id, Nev, 31)
	
	for(new i = End; i >= 1; i--)
	{
		if(LadaDrop[i][2] >= RandomSzam)
		{
			new x
			if(LadaDrop[i][1] != 0)
				x = random_num(LadaDrop[i][0], LadaDrop[i][1])
			else
				x = LadaDrop[i][0]
			
			if(x > 0)
			{
				Fegyverek[id][x]++
				print_color(0, "%s!t %s!y talalt egy!t %s!y fegyvert! !g(LADA)", Prefix, Nev, FegyverAdat[x][0])
			}
			else if(x < 0)
			{
				Targy[id][-x]++
				print_color(0, "%s!t %s!y talalt egy!t %s!y targyat! !g(LADA)", Prefix, Nev, TargyAdat[-x][0])
			}
			SQL_jFrissites(id)
			break
		}
	}
}

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")     
	
	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
}
/////////
/////////
/////////
public kArany(id)
{
if(Kereskedik[id] == 0 || !jBejelentkezve[id])
	return
	
	new Ertek, BAdat[32], kid
	read_args(BAdat, charsmax(BAdat))
	remove_quotes(BAdat)
	
	Ertek = str_to_num(BAdat)
	
	if(JelolID[id] > 0)
		kid = JelolID[id]
	else
		kid = KerID[id]
	
	if(Ertek <= 0)
	{
		client_cmd(id, "messagemode KERESKEDES")
	}
	else if(Arany[id] >= Ertek)
	{
		KerArany[id] = Ertek
		KereskedesMenu(id)
		KereskedesMenu(kid)
		Fogad[id] = 0
		Fogad[kid] = 0
	}
	else
	{
		KerArany[id] = Arany[id]
		KereskedesMenu(id)
		KereskedesMenu(kid)
		Fogad[id] = 0
		Fogad[kid] = 0
	}
}
public Darab(id)
{
	//if(!jBejelentkezve[id])
	//return
	
	new Ertek, BAdat[32], kid
	read_args(BAdat, charsmax(BAdat))
	remove_quotes(BAdat)
	
	Ertek = str_to_num(BAdat)
	
	if(JelolID[id] > 0)
		kid = JelolID[id]
	else
		kid = KerID[id]
	
	//if(Kereskedik[id] == 0 || Kereskedik[kid] == 0 || !jBejelentkezve[kid])
	//	return
	
	if(pTargy[id] > 0 && pTargy[id] < 52)
	{
		if(Fegyverek[id][pTargy[id]] >= Ertek && Ertek >= 1)
		{
			KerDB[id] = Ertek
			KereskedesMenu(id)
			KereskedesMenu(kid)
			Fogad[id] = 0
			Fogad[kid] = 0
		}
	}
	else if(pTargy[id] < 57)
	{
		if(Targy[id][pTargy[id]-52] >= Ertek && Ertek >= 1)
		{
			KerDB[id] = Ertek
			KereskedesMenu(id)
			KereskedesMenu(kid)
			Fogad[id] = 0
			Fogad[kid] = 0
		}
	}
	else if(pTargy[id] == 57)
	{
		if(Kulcs[id] >= Ertek && Ertek >= 1)
		{
			KerDB[id] = Ertek
			KereskedesMenu(id)
			KereskedesMenu(kid)
			Fogad[id] = 0
			Fogad[kid] = 0
		}
	}
	else if(pTargy[id] == 58)
	{
		if(Lada[id] >= Ertek && Ertek >= 1)
		{
			KerDB[id] = Ertek
			KereskedesMenu(id)
			KereskedesMenu(kid)
			Fogad[id] = 0
			Fogad[kid] = 0
		}
	}
	else
	{
		KerDB[id] = 0
		KereskedesMenu(id)
		KereskedesMenu(id)
		KereskedesMenu(kid)
		Fogad[id] = 0
		Fogad[kid] = 0
		return
	}
}

public KereskedesMenu(id) {
	
	if(KerDB[id] == 0)
	{
		KerDB[id] = 1
	}
	
	new String[128], kid, menu, kNev[32]
	
	if(JelolID[id] > 0)
		kid = JelolID[id]
	else
		kid = KerID[id]
	get_user_name(kid, kNev, 31)
	
	
	if(Keres[id] == 1) {
		formatex(String, charsmax(String), "\r%s\w szeretne veled kereskedni!", kNev)
	}
	else if(Kereskedik[id] == 1 && Kereskedik[kid] == 1)  {
		formatex(String, charsmax(String), "\d- \y%s \rtargyai \d-", kNev)
	}
	else 
	{
		formatex(String, charsmax(String), "\wKereskedes \rArany:\d %d", Arany[id])
	}
	
	menu = menu_create(String, "KereskedesMenuh" )
	
	if(Keres[id] == 1)
	{
		formatex(String, charsmax(String), "\yElfogad!")
		menu_additem(menu, String, "-3")
		
		formatex(String, charsmax(String), "\rElutas?t!")
		menu_additem(menu, String, "-2")
	}
	else if(Kereskedik[id] == 1 && Kereskedik[kid] == 1) 
	{
		
		if(pTargy[kid] > 0)
			formatex(String, charsmax(String), "\y%s \r- \d(\wDarab: \r%d\d)", PiacTargyak[pTargy[kid]], KerDB[kid])
		else
			formatex(String, charsmax(String), "\dSemmi")
		
		menu_additem(menu, String, "0")
		
		formatex(String, charsmax(String), "\wArany:\d %d^n^n   \d - \rTargyaid \d-^n", KerArany[kid])
		menu_additem(menu, String, "0")
		
		if(pTargy[id] > 0)
			formatex(String, charsmax(String), "\y%s \r- \d(\wDarab: \r%d\d)", PiacTargyak[pTargy[id]], KerDB[id])
		else
			formatex(String, charsmax(String), "\dSemmi")
		
		menu_additem(menu, String, "-4")
		
		formatex(String, charsmax(String), "\wArany:\d %d^n", KerArany[kid])
		menu_additem(menu, String, "-5")
		
		formatex(String, charsmax(String), "\yElfogad!")
		menu_additem(menu, String, "-6")
		
		formatex(String, charsmax(String), "\wElutas?t!")
		menu_additem(menu, String, "-7")
	}
	else if(KerID[id] == 0) {
		for(new i; i < 33; i++)
		{
			new Nev[32], NumToStr[6]
			if(is_user_connected(i))
			{
				//if(i == id || is_user_bot(i) || !jBejelentkezve[i])
				//continue
				
				if(Keres[i] == 0 && Kereskedik[i] == 0)
				{
					get_user_name(i, Nev, 31)
					num_to_str(i, NumToStr, 5)
					formatex(String, charsmax(String), "%s", Nev)
					menu_additem(menu, String, NumToStr)
				}
			}
		}
	}
	else if(KerID[id] > 0) {
		print_color(id, "%s Varj kereskedesig 30 masodpercet.", Prefix)
		return
	}
	
	menu_display(id, menu)
}
public KereskedesMenuh(id, menu, item){
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new data[32], 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(key <= 0)
	{
		switch(key)
		{
			case 0 : KereskedesMenu(id)
				case -3 : {
				Keres[id] = 0
				Kereskedik[id] = 1
				
				new kid
				if(JelolID[id] > 0)
					kid = JelolID[id]
				else
					kid = KerID[id]
				
				Kereskedik[kid] = 1
				
				KerDB[id] = 0
				KerDB[kid] = 0
				
				KereskedesMenu(id)
				KereskedesMenu(kid)
			}
			case -2 : {
				new kid
				if(JelolID[id] > 0)
					kid = JelolID[id]
				else
					kid = KerID[id]
				
				Kereskedik[id] = 0
				JelolID[id] = 0
				Keres[id] = 0
				Kereskedik[kid] = 0
				KerID[kid] = 0
				KerID[id] = 0
			}
			
			case -4 : {
				KerFegyverek(id)
			}
			
			case -5 : {
				client_cmd(id, "messagemode KERESKEDES")
			}
			
			case -6 : {
				new kid
				if(JelolID[id] > 0)
					kid = JelolID[id]
				else
					kid = KerID[id]
				Fogad[id] = 1
				if(Fogad[id] == 1 && Fogad[kid] == 1)
				{
					Csere(id, kid)
				}
				else
					KereskedesMenu(id)
			}
			
			case -7 : {
				new kid
				if(JelolID[id] > 0)
					kid = JelolID[id]
				else
					kid = KerID[id]
				
				Kereskedik[id] = 0
				JelolID[id] = 0
				Keres[id] = 0
				KerID[id] = 0
				Kereskedik[kid] = 0
				JelolID[kid] = 0
				Keres[kid] = 0
				KerID[kid] = 0
			}
		}
	}
	else
	{
		new Nev[32]
		get_user_name(id, Nev, 31)
		KerID[id] = key
		print_color(key, "%s!t %s!y kereskedni szeretne veled!", Prefix, Nev)
		Keres[key] = 1
		Keres[id] = 0
		Kereskedik[id] = 1
		JelolID[key] = id
		remove_task(KerID[id]+9929)
		set_task(30.0, "KerNulla", KerID[id]+9929)
	}
}
public KerNulla(id) 
{
	id = id - 9929
	if(jBejelentkezve[id])
	{
		if(Kereskedik[id] == 0)
		{
			Kereskedik[id] = 0
			JelolID[id] = 0
			Keres[id] = 0
		}
	}
}
public Csere(x, y) {
	if(jBejelentkezve[x] && jBejelentkezve[y] ||
	Kereskedik[x] == 1 && Kereskedik[y] == 1  ||
	Fogad[x] == 1 && Fogad[y] == 1)
{
	if(pTargy[x] > 0 && pTargy[x] < 52)
	{
		Fegyverek[x][pTargy[x]] -= KerDB[x]
		Fegyverek[y][pTargy[x]] += KerDB[x]
	}
	else if(pTargy[x] < 57)
	{
		Targy[x][pTargy[x]-52] -= KerDB[x]
		Targy[y][pTargy[x]-52] += KerDB[x]
	}
	else if(pTargy[x] == 57)
	{
		Kulcs[x] -= KerDB[x]
		Kulcs[y] += KerDB[x]
	}
	else if(pTargy[x] == 58)
	{
		Lada[x] -= KerDB[x]
		Lada[y] += KerDB[x]
	}
	
	if(pTargy[y] > 0 && pTargy[y] < 52)
	{
		Fegyverek[y][pTargy[y]] -= KerDB[y]
		Fegyverek[x][pTargy[y]] += KerDB[y]
	}
	else if(pTargy[y] < 57)
	{
		Targy[y][pTargy[y]-52] -= KerDB[y]
		Targy[x][pTargy[y]-52] += KerDB[y]
	}
	else if(pTargy[y] == 57)
	{
		Kulcs[y] -= KerDB[y]
		Kulcs[x] += KerDB[y]
	}
	else if(pTargy[y] == 58)
	{
		Lada[y] -= KerDB[y]
		Lada[x] += KerDB[y]
	}
	
	Arany[x] += KerArany[y]
	Arany[y] += KerArany[x]
	Arany[x] -= KerArany[x]
	Arany[y] -= KerArany[y]
	
	
	new Y, M, D, Log[32], String[191]
	date(Y, M, D)
	formatex(Log, 31, "Csere%02d_%02d_%02d.log", Y, M, D)
	
	new Nev[2][32]
	get_user_name(x, Nev[0], 31)
	get_user_name(y, Nev[1], 31)
	
	if(pTargy[x] > 0 && pTargy[x] < 52)
		formatex(String, 167, "%s (%s) %s[%d] - %d", Nev[0], jFelhasznalo[x], FegyverAdat[pTargy[x]][0], KerArany[x])
		else if(pTargy[y] < 57)
			formatex(String, 167, "%s (%s) %s[%d] - %d", Nev[0], jFelhasznalo[x], TargyAdat[pTargy[x]-52][0], KerArany[x])
		else if(pTargy[y] == 57)
			formatex(String, 167, "%s (%s) %s[%d] - %d", Nev[0], jFelhasznalo[x], "Kulcs", KerDB[x], KerArany[x])
		else if(pTargy[y] == 58)
			formatex(String, 167, "%s (%s) %s[%d] - %d", Nev[0], jFelhasznalo[x], "L?da", KerDB[x], KerArany[x])
		else if(pTargy[x] == 0)
			formatex(String, 167, "%s (%s) Semmi - %d", Nev[0], jFelhasznalo[x], KerArany[x])
		
		if(pTargy[y] > 0 && pTargy[y] < 52)
			formatex(String, 167, "%s <> %s (%s) %s[%d] - %d", String, Nev[0], jFelhasznalo[y], FegyverAdat[pTargy[y]][0], KerArany[y])
		else if(pTargy[y] < 57)
			formatex(String, 167, "%s <> %s (%s) %s[%d] - %d", String, Nev[0], jFelhasznalo[y], TargyAdat[pTargy[y]-52][0], KerArany[y])
		else if(pTargy[y] == 57)
			formatex(String, 167, "%s <> %s (%s) %s[%d] - %d", String, Nev[0], jFelhasznalo[y], "Kulcs", KerDB[y], KerArany[y])
		else if(pTargy[y] == 58)
			formatex(String, 167, "%s <> %s (%s) %s[%d] - %d", String, Nev[0], jFelhasznalo[y], "L?da", KerDB[y], KerArany[y])
		else if(pTargy[y] == 0)
			formatex(String, 167, "%s <> %s (%s) Semmi - %d", String, Nev[0], jFelhasznalo[y], KerArany[y])
		
		log_to_file(Log, String)
		
		
		print_color(x, "%s!y A kereskedelem sikeres volt!", Prefix)
		print_color(y, "%s!y A kereskedelem sikeres volt!", Prefix)
		
		Kereskedik[x] = 0
		Kereskedik[y] = 0
		KerArany[x] = 0
		KerArany[y] = 0
		Keres[x] = 0
		Keres[y] = 0
		JelolID[x] = 0
		JelolID[y] = 0
		pTargy[x] = 0
		pTargy[y] = 0
		KerID[x] = 0
		KerID[y] = 0
		Fogad[x] = 0
		Fogad[y] = 0
		show_menu(x, 0, "^n", 1);
		show_menu(y, 0, "^n", 1);
		SQL_jFrissites(x)
		SQL_jFrissites(y)
		
		new wid = get_user_weapon(x)
		
		if(Hasznal[x][FegyverIdSzamok[wid]] == pTargy[x])
		{
			KepessegNulla(x)
		}
		
		wid = get_user_weapon(y)
		
		if(Hasznal[y][FegyverIdSzamok[wid]] == pTargy[y])
		{
			KepessegNulla(y)
		}
	}
	
}
public KerFegyverek(id) {
	new String[128], i, Nts[3]
	formatex(String, charsmax(String), "\yGlobal Unison \d- \wKereskedes")
	new menu = menu_create(String, "KerFegyverekh" )
	
	for(i = 1; i < sizeof(FegyverAdat); i++)
	{
		if(Fegyverek[id][i] <= 0)
		{
			continue
		}
		
		new k = str_to_num(FegyverAdat[i][3])
		num_to_str(i, Nts, 2)
		
		if(str_to_num(FegyverAdat[i][2]) != 29)
		{
			formatex(String, charsmax(String), "\w%s\r (\w%d\r) \d[\w%d\y%s\r|\w%d\y%s\r|\w%d\y%s\d]", FegyverAdat[i][0], Fegyverek[id][i],
			FegyverKepessegAdat[k][1], KepessegAdat[1][1], FegyverKepessegAdat[k][2], KepessegAdat[2][1], FegyverKepessegAdat[k][3], KepessegAdat[3][1])
		}
		else
		{
			formatex(String, charsmax(String), "\y%s\r (\w%d\r) \d[\w%d\y%s\d]", FegyverAdat[i][0], Fegyverek[id][i],
			FegyverKepessegAdat[k][4], KepessegAdat[4][1])
		}
		
		menu_additem(menu, String, Nts)
	}
	
	for(i = 52; i < sizeof(TargyAdat)+51; i++)
	{
		if(Targy[id][i-51] <= 0)
		{
			continue
		}
		
		num_to_str(i, Nts, 2)
		
		formatex(String, charsmax(String), "\y%s\r (\w%d\r)", TargyAdat[i-51][0], Targy[id][i-51])
		menu_additem(menu, String, Nts)
	}
	
	if(Kulcs[id] > 0)
	{
		formatex(String, charsmax(String), "\wKulcs\r (\w%d\r)", Kulcs[id])
		menu_additem(menu, String, "57")
	}
	
	if(Lada[id] > 0)
	{
		formatex(String, charsmax(String), "\wLada\r (\w%d\r)", Lada[id])
		menu_additem(menu, String, "58")
	}
	
	menu_setprop(menu, MPROP_PERPAGE, 6)
	menu_display(id, menu)
	
	return PLUGIN_HANDLED
}

public KerFegyverekh(id, menu, item){
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new data[32], szName[64]
	new access, callback
	menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback)
	
	pTargy[id] = str_to_num(data)
	
	client_cmd(id, "messagemode DARAB")
	
	new kid
	if(JelolID[id] > 0)
		kid = JelolID[id]
	else
		kid = KerID[id]
	
	KerDB[id] = 1
	
	KereskedesMenu(id)
	KereskedesMenu(kid)
}

public cmdFelhasznalo(id)
{
	if(jBejelentkezve[id])
	{
		return PLUGIN_HANDLED
	}
	
	if(jFelhasznaloBetolt[id] == 1)
	{
		RegMenu(id)
		return PLUGIN_HANDLED
	}
	
	new BeirtAdat[32], Hossz
	BeirtAdat[0] = EOS
	read_args(BeirtAdat, 31)
	remove_quotes(BeirtAdat)
	
	Hossz = strlen(BeirtAdat)
	
	if(Hossz < 4)
	{
		print_color(id, "%s!y Ez nem lehet rovidebb mint 4 karakter!", Prefix)
		return PLUGIN_HANDLED
	}
	
	if(Hossz > 19)
	{
		print_color(id, "%s!y Ez nem lehet hosszabb mint 24 karakter!", Prefix)
		return PLUGIN_HANDLED
	}
	
	copy(jFelhasznalo[id], 31, BeirtAdat)
	SQL_RegEllenorzes(id)
	return PLUGIN_HANDLED
}

public cmdJelszo(id)
{
	if(jBejelentkezve[id] || strlen(jFelhasznalo[id]) == 0)
	{
		return PLUGIN_HANDLED
	}
	
	new BeirtAdat[32], Hossz
	BeirtAdat[0] = EOS
	read_args(BeirtAdat, 31)
	remove_quotes(BeirtAdat)
	
	Hossz = strlen(BeirtAdat)
	
	if(Hossz < 4)
	{
		print_color(id, "%s!y Ez nem lehet rovidebb mint 4 karakter!", Prefix)
		return PLUGIN_HANDLED
	}
	
	if(Hossz > 19)
	{
		print_color(id, "%s!y Ez nem lehet hosszabb mint 24 karakter!", Prefix)
		return PLUGIN_HANDLED
	}
	
	copy(jJelszo[id], 31, BeirtAdat)
	RegMenu(id)
	return PLUGIN_HANDLED
}

public plugin_end()
{
	SQL_FreeHandle(SQL_TUPLE)
}

public SQL_Ujratoltes()
{
	SQL_TUPLE = SQL_MakeDbTuple(SQL_HOSZT, SQL_FELHASZNALO, SQL_JELSZO, SQL_ADATBAZIS)
	
	new szQuery[256], len
	
	len += formatex(szQuery[len], 256, "UPDATE globalunison SET ")
	len += formatex(szQuery[len], 255-len,"Aktivitas = '0' ")
	len += formatex(szQuery[len], 255-len,"WHERE Aktivitas = '%d'", 1)
	
	SQL_ThreadQuery(SQL_TUPLE,"SQL_Ujratoltes_Eredmenyek", szQuery)
}

public RegMenu(id) {
	new String[128]
	formatex(String, charsmax(String), "Regisztracios rendszer")
	new menu = menu_create(String, "RegMenuh" )
	
	if(strlen(jFelhasznalo[id]) > 0)
	{
		formatex(String, charsmax(String), "\rFelhasznalonev:\d %s", jFelhasznalo[id])
		menu_additem(menu, String, "1")
		
		formatex(String, charsmax(String), "\rJelszo:\d %s", jJelszo[id])
		menu_additem(menu, String, "2")
	}
	else
	{
		formatex(String, charsmax(String), "\rFelhasznalonev:\d %s^n\d2. Jelszo:", jFelhasznalo[id])
		menu_additem(menu, String, "1")
	}
	
	if(strlen(jFelhasznalo[id]) > 0 && strlen(jJelszo[id]) > 0)
	{
		if(jTalalt[id])
		{
			formatex(String, charsmax(String), "Bejelentkezes")
			menu_additem(menu, String, "3")
		}
		else
		{
			formatex(String, charsmax(String), "\yRegisztracio")
			menu_additem(menu, String, "4")
		}
	}
	
	menu_display(id, menu)
	
}

public RegMenuh(id, menu, item){
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new data[32], 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 : {
			client_cmd(id, "messagemode MY_USERNAME")
			RegMenu(id)
		}
		
		case 2 : {
			client_cmd(id, "messagemode MY_PASSWORD")
			RegMenu(id)
		}
		
		case 3 : {
			if(jFolyamatban[id] == 0)
			{
				jFolyamatban[id] = 1
				print_color(id, "%s!y Bejelentkezes folyamatban! Varj turelmesen!", Prefix)
				jRegMod[id] = 1
				SQL_Ellenorzes(id)
				RegMenu(id)
			}
			else
			{
				RegMenu(id)
			}
		}
		
		case 4 : {
			if(jFolyamatban[id] == 0)
			{
				jFolyamatban[id] = 1
				print_color(id, "%s!y Regisztracio folyamatban! Varj turelmesen!", Prefix)
				jRegMod[id] = 2
				SQL_Ellenorzes(id)
				RegMenu(id)
			}
			else
			{
				RegMenu(id)
			}
		}
	}
}

public SQL_Ujratoltes_Eredmenyek(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!")
		return 
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!")
		return 
	}
	
	if(Errcode)
	{
		log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error)
		return 
	}
	
	return
}

public SQL_Ellenorzes(id)
{
	new szQuery[128], len, a[32]
	
	formatex(a, 31, "%s", jFelhasznalo[id])
	
	replace_all(a, 31, "\", "\\")
	replace_all(a, 31, "'", "\'") 
	
	len += formatex(szQuery[len], 128, "SELECT * FROM globalunison ")
	len += formatex(szQuery[len], 128-len,"WHERE Felhasznalo = '%s'", a)
	
	new szData[2]
	szData[0] = id
	szData[1] = get_user_userid(id)
	
	SQL_ThreadQuery(SQL_TUPLE, "SQL_Ellenorzes_Eredmeny", szQuery, szData, 2)
}

public SQL_Ellenorzes_Eredmeny(FailState, Handle:Query, Error[], Errcode, szData[], DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!")
		return 
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!")
		return 
	}
	
	if(Errcode)
	{
		log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error)
		return 
	}
	
	new id = szData[0]
	
	if(szData[1] != get_user_userid(id))
		return
	
	new Talalt = SQL_NumRows(Query)
	
	if(jRegMod[id] == 2)
	{	
		if(Talalt > 0)
		{
			print_color(id, "%s!y Ezt a felhasznalonevet jelenleg valaki hasznalja!", Prefix)
			jFolyamatban[id] = 0
			RegMenu(id)
		}
		else
		{
			SQL_jUj(id)
		}
	}
	else if(jRegMod[id] == 1)
	{
		
		if(Talalt == 0)
		{
			print_color(id, "%s!y Hibas felhasznalonev vagy jelszo!", Prefix)
			jFolyamatban[id] = 0
			RegMenu(id)
		}
		else
		{
			SQL_jBetoltes(id)
		}
	}
}

public SQL_jUj(id)
{
	new szQuery[512], len, a[32], b[32], c[32], Nev[32]
	get_user_name(id, Nev, 31)
	
	formatex(a, 31, "%s", jFelhasznalo[id])
	formatex(b, 31, "%s", jJelszo[id])
	formatex(c, 31, "%s", Nev)
	
	replace_all(a, 31, "\", "\\")
	replace_all(a, 31, "'", "\'") 
	replace_all(b, 31, "\", "\\")
	replace_all(b, 31, "'", "\'") 
	replace_all(c, 31, "\", "\\")
	replace_all(c, 31, "'", "\'") 
	
	len += formatex(szQuery[len], 511, "INSERT INTO globalunison ")
	len += formatex(szQuery[len], 511-len,"(Felhasznalo,Jelszo,Nev) VALUES('%s','%s','%s')", a, b, c)
	
	new szData[2]
	szData[0] = id
	szData[1] = get_user_userid(id)
	
	SQL_ThreadQuery(SQL_TUPLE,"SQL_jUj_Eredmenyek", szQuery, szData, 2)
}

public SQL_jUj_Eredmenyek(FailState,Handle:Query,Error[],Errcode,szData[],DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!")
		return 
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!")
		return 
	}
	
	if(Errcode)
	{
		log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error)
		return 
	}
	
	new id = szData[0]
	
	if(szData[1] != get_user_userid(id))
		return
	
	jFolyamatban[id] = 0
	jRegMod[id] = 2
	print_color(id, "%s!y Sikeresen regisztraltal!", Prefix)
	print_color(id, "%s!y Felhasznaloneved: !t%s!y | Jelszavad: !t%s", Prefix, jFelhasznalo[id], jJelszo[id])
	SQL_RegEllenorzes(id)
	
	return
}

public SQL_RegEllenorzes(id)
{
	new szQuery[128], len, a[32]
	
	formatex(a, 31, "%s", jFelhasznalo[id])
	
	replace_all(a, 31, "\", "\\")
	replace_all(a, 31, "'", "\'") 
	
	len += formatex(szQuery[len], 128, "SELECT * FROM globalunison ")
	len += formatex(szQuery[len], 128-len,"WHERE Felhasznalo = '%s'", a)
	
	new szData[2]
	szData[0] = id
	szData[1] = get_user_userid(id)
	
	SQL_ThreadQuery(SQL_TUPLE, "SQL_RegEllenorzes_Eredmeny", szQuery, szData, 2)
	
	jFelhasznaloBetolt[id] = 1
}
public SQL_RegEllenorzes_Eredmeny(FailState, Handle:Query, Error[], Errcode, szData[], DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED)
	{
		set_fail_state("[ *HIBA* ] NEM LEHET KAPCSOLODNI AZ ADATBAZISHOZ!")
		return 
	}
	else if(FailState == TQUERY_QUERY_FAILED)
	{
		set_fail_state("[ *HIBA* ] A LEKERDEZES MEGSZAKADT!")
		return 
	}
	
	if(Errcode)
	{
		log_amx("[ *HIBA* ] PROBLEMA A LEKERDEZESNEL! ( %s )",Error)
		return 
	}
	
	new id = szData[0]
	
	if(szData[1] != get_user_userid(id))
		return
	
	new Talalt = SQL_NumRows(Query)
	
	if(Talalt > 0)
	{
		jTalalt[id] = true
	}
	else
	{
		jTalalt[id] = false
	}
	jFelhasznaloBetolt[id] = 0
	RegMenu(id)
}

public SQL_jBetoltes(id)
{
	new szQuery[256], len, a[32]
	
	formatex(a, 31, "%s", jFelhasznalo[id])
	
	replace_all(a, 31, "\", "\\")
	replace_all(a, 31, "'", "\'") 
	
	len += formatex(szQuery[len], 256, "SELECT * FROM globalunison ")
	len += formatex(szQuery[len], 256-len,"WHERE Felhasznalo = '%s'", a)
	
	new szData[2]
	szData[0] = id
	szData[1] = get_user_userid(id)
	
	SQL_ThreadQuery(SQL_TUPLE,"SQL_jBetoltes_Eredmenyek", szQuery, szData, 2)
}

public SQL_jBetoltes_Eredmenyek(FailState,Handle:Query,Error[],Errcode,szData[],DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("%s", Error)
		return
	}
	else
	{
		new id = szData[0]
		
		if(szData[1] != get_user_userid(id))
			return
		
		new szSqlPassword[32]
		SQL_ReadResult(Query, 2, szSqlPassword, 31)
		
		if(equal(jJelszo[id], szSqlPassword))
		{	
			SQL_ReadResult(Query, 2, jJelszo[id], 31)
			jAktivitas[id] = SQL_ReadResult(Query, 62)
			if(jAktivitas[id] > 0)
			{
				print_color(id, "%s!y Ezt a felhasznalot jelenleg valaki hasznalja!", Prefix)
				RegMenu(id)
				return
			}
			
			jId[id] = SQL_ReadResult(Query, 0)
			
			jAktivitas[id] = 1
			
			Kulcs[id] = SQL_ReadResult(Query, 4)
			Lada[id] = SQL_ReadResult(Query, 5)
			
			for(new i = 1; i <= 51; i++)
				Fegyverek[id][i] = SQL_ReadResult(Query, 5+i)
			
			for(new i = 1; i <= 5; i++)
				Targy[id][i] = SQL_ReadResult(Query, 56+i)
			
			
			Arany[id] = SQL_ReadResult(Query, 63)
			Szint[id] = SQL_ReadResult(Query, 64)
			XP[id] = SQL_ReadResult(Query, 65)
			
			for(new i = 1; i <= 4; i++)
				Kepesseg[id][i] = SQL_ReadResult(Query, 65+i)
			
			Pontok[id] = SQL_ReadResult(Query, 70)
			Oles[id] = SQL_ReadResult(Query, 71)
			Vip[id] = SQL_ReadResult(Query, 72)
			
			
			if(Szint[id] == 0)
			{
				Szint[id] = 1
				Kepesseg[id][1] = 1
				Kepesseg[id][2] = 1
				Kepesseg[id][3] = 1
				Kepesseg[id][4] = 1
				Pontok[id] = 2
				Szint[id] = 1
			}
			
			SQL_jFrissites(id)
			
			print_color(id, "%s!y Sikeresen bejelentkeztel!", Prefix)
			
			jFolyamatban[id] = 0
			jBejelentkezve[id] = true
			FoMenu(id)
			//SQL_jAdmin(id)
		}
		else
		{
			print_color(id, "%s!y Hibas jelszo!", Prefix)
			jFolyamatban[id] = 0
			RegMenu(id)
		}
	}
}

public SQL_jFrissites(id)
{	
	if(!jBejelentkezve[id])
		return
	
	new sQuery[2000], szQuery[256], Nev[32]
	new len, a[32]
	
	get_user_name(id, Nev, 31)
	formatex(a, 31, "%s", Nev)
	
	replace_all(a, 31, "\", "\\")
	replace_all(a, 31, "'", "\'")
	
	formatex(szQuery, KAR, "UPDATE globalunison SET ")
	add(sQuery, 1999, szQuery)
	
	formatex(szQuery, KAR,"Nev = '%s', ", a)
	add(sQuery, 1999, szQuery)
	
	for(new i = 1; i <= 51; i++)
	{
		formatex(szQuery, KAR,"W%d = '%d', ", i, Fegyverek[id][i])
		add(sQuery, 1999, szQuery)
	}
	
	for(new i = 1; i <= 5; i++)
	{
		formatex(szQuery, KAR,"T%d = '%d', ", i, Targy[id][i])
		add(sQuery, 1999, szQuery)
	}
	
	formatex(szQuery, KAR,"L = '%d', ", Lada[id])
	add(sQuery, 1999, szQuery)
	
	formatex(szQuery, KAR,"K = '%d', ", Kulcs[id])
	add(sQuery, 1999, szQuery)
	
	formatex(szQuery, KAR,"AR = '%d', ", Arany[id])
	add(sQuery, 1999, szQuery)
	
	formatex(szQuery, KAR,"LV = '%d', ", Szint[id])
	add(sQuery, 1999, szQuery)
	
	formatex(szQuery, KAR,"XP = '%d', ", XP[id])
	add(sQuery, 1999, szQuery)
	
	for(new i = 1; i <= 4; i++)
	{
		formatex(szQuery, KAR,"KP%d = '%d', ", i, Kepesseg[id][i])
		add(sQuery, 1999, szQuery)
	}
	
	formatex(szQuery, KAR,"Pont = '%d', ", Pontok[id])
	add(sQuery, 1999, szQuery)
	formatex(szQuery, KAR,"OL = '%d', ", Oles[id])
	add(sQuery, 1999, szQuery)
	formatex(szQuery, KAR,"Vip = '%d', ", Vip[id])
	add(sQuery, 1999, szQuery)
	
	formatex(szQuery, KAR-len,"Aktivitas = '%d' ", jAktivitas[id])
	add(sQuery, 1999, szQuery)
	
	formatex(szQuery, KAR,"WHERE Id = '%d'", jId[id])
	add(sQuery, 1999, szQuery)
	
	SQL_ThreadQuery(SQL_TUPLE,"SQL_Eredmenyek", sQuery)
}

public SQL_Eredmenyek(FailState,Handle:Query,Error[],Errcode,szData[],DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("%s", Error)
		return
	}
}

public PiacraMenu(id)
{		
	new String[128]
	formatex(String, charsmax(String), "\yGlobal Unison \d- \wPiac")
	new menu = menu_create(String, "PiacraMenuh" )
	
	if(Kirakva[id] == 0)
	{
		if(EladoTargy[id] == 0)
		{
			formatex(String, charsmax(String), "Targy:\d Valasz valamit!^n")
		}
		else
		{
			formatex(String, charsmax(String), "Targy:\d %s^n", PiacTargyak[EladoTargy[id]])
		}
		menu_additem(menu, String, "1")
		
		formatex(String, charsmax(String), "?r:\d %d", EladoAr[id])
		menu_additem(menu, String, "2")
		
		formatex(String, charsmax(String), "\yKirakas!", EladoAr[id])
		menu_additem(menu, String, "3")
	}
	else
	{
		formatex(String, charsmax(String), "Targy:\d %s \y(%d) \rVisszavon?s!", PiacTargyak[EladoTargy[id]], EladoAr[id])
		menu_additem(menu, String, "0")
	}
	
	menu_display(id, menu)
}

public PiacraMenuh(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new Adat[32], Sor[64]
	new Access, Callback
	menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
	new x = str_to_num(Adat)
	
	switch(x)
	{
		case 0:
		{
			Kirakva[id] = 0
			EladoTargy[id] = 0
			EladoAr[id] = 0
			PiacFegyverek(id)
		}
		
		case 1:
		{
			PiacFegyverek(id)
		}
		
		case 2:
		{
			client_cmd(id, "messagemode PIAC")
			PiacraMenu(id)
		}
		
		case 3:
		{
			if(EladoTargy[id] > 0)
			{
				new Nev[32]
				get_user_name(id, Nev, 31)
				print_color(0, "%s!t %s!y kirakott egy!g %s!y targyat a piacra!t %d!y aranyert!", Prefix, Nev, PiacTargyak[EladoTargy[id]], EladoAr[id])
				PiacraMenu(id)
				Kirakva[id] = 1
			}
			else
			{
				PiacraMenu(id)
			}
		}
	}
}

public PiacFegyverek(id) {
	new String[128], i, Nts[3]
	formatex(String, charsmax(String), "\yGlobal Unison \d- \wPiac")
	new menu = menu_create(String, "PiacFegyverekh" )
	
	for(i = 1; i < sizeof(FegyverAdat); i++)
	{
		if(Fegyverek[id][i] <= 0)
		{
			continue
		}
		
		new k = str_to_num(FegyverAdat[i][3])
		num_to_str(i, Nts, 2)
		
		if(str_to_num(FegyverAdat[i][2]) != 29)
		{
			formatex(String, charsmax(String), "\w%s\r (\w%d\r) \d[\w%d\y%s\r|\w%d\y%s\r|\w%d\y%s\d]", FegyverAdat[i][0], Fegyverek[id][i],
			FegyverKepessegAdat[k][1], KepessegAdat[1][1], FegyverKepessegAdat[k][2], KepessegAdat[2][1], FegyverKepessegAdat[k][3], KepessegAdat[3][1])
		}
		else
		{
			formatex(String, charsmax(String), "\y%s\r (\w%d\r) \d[\w%d\y%s\d]", FegyverAdat[i][0], Fegyverek[id][i],
			FegyverKepessegAdat[k][4], KepessegAdat[4][1])
		}
		
		menu_additem(menu, String, Nts)
	}
	
	for(i = 52; i < sizeof(TargyAdat)+51; i++)
	{
		if(Targy[id][i-51] <= 0)
		{
			continue
		}
		
		num_to_str(i, Nts, 2)
		
		formatex(String, charsmax(String), "\y%s\r (\w%d\r)", TargyAdat[i-51][0], Targy[id][i-51])
		menu_additem(menu, String, Nts)
	}
	
	if(Kulcs[id] > 0)
	{
		formatex(String, charsmax(String), "\wKulcs\r (\w%d\r)", Kulcs[id])
		menu_additem(menu, String, "57")
	}
	
	if(Lada[id] > 0)
	{
		formatex(String, charsmax(String), "\wLada\r (\w%d\r)", Lada[id])
		menu_additem(menu, String, "58")
	}
	
	menu_setprop(menu, MPROP_PERPAGE, 6)
	menu_display(id, menu)
	
	return PLUGIN_HANDLED
}

public PiacFegyverekh(id, menu, item){
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new data[32], szName[64]
	new access, callback
	menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback)
	
	EladoTargy[id] = str_to_num(data)
	
	PiacraMenu(id)
}

public pArany(id)
{
	if(Kereskedik[id] == 1 || !jBejelentkezve[id])
		return
	
	new Ertek, BAdat[32]
	read_args(BAdat, charsmax(BAdat))
	remove_quotes(BAdat)
	
	Ertek = str_to_num(BAdat)
	
	if(Ertek <= 100)
	{
		print_color(id, "%s!y Minimum kirakasi ar:!t 100", Prefix)
		client_cmd(id, "messagemode PIAC")
		PiacraMenu(id)
	}
	else if(1000000 >= Ertek)
	{
		EladoAr[id] = Ertek
		PiacraMenu(id)
	}
	else
	{
		print_color(id, "%s!y Maximum kirakasi ar:!t 1000000", Prefix)
		client_cmd(id, "messagemode PIAC")
		PiacraMenu(id)
	}
}

public VasarMenu(id)
{		
	new String[128]
	formatex(String, charsmax(String), "\yGlobal Unison \d- \wVasarlas^nArany:\d %d", Arany[id])
	new menu = menu_create(String, "VasarMenuh" )
	
	for(new i; i < 33; i++)
	{
		if(!is_user_connected(id) || !jBejelentkezve[id] || Kirakva[i] == 0)
			continue
		
		new Nev[32], Nts[3]
		num_to_str(i, Nts, 2)
		get_user_name(i, Nev, 31)
		formatex(String, charsmax(String), "\r %s \y| \w%s \y| \w%d \yArany", PiacTargyak[EladoTargy[i]], Nev, EladoAr[i])
		menu_additem(menu, String, Nts)
	}
	
	menu_display(id, menu)
}

public VasarMenuh(id, menu, item)
{
	
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return
	}
	
	new Adat[32], Sor[64]
	new Access, Callback
	menu_item_getinfo(menu, item, Access, Adat, charsmax(Adat), Sor, charsmax(Sor), Callback)
	
	new x = str_to_num(Adat)
	
	if(Kirakva[x] > 0 && EladoTargy[x] > 0 && EladoAr[x] > 0)
	{
		if(Arany[id] < EladoAr[x])
		{
			print_color(id, "%s!y Nincs el?g aranyad!", Prefix)
			return
		}
		
		if(EladoTargy[x] < 52)
		{
			Fegyverek[x][EladoTargy[x]]--
			Fegyverek[id][EladoTargy[x]]++
		}
		else if(EladoTargy[x] < 57)
		{
			Targy[x][EladoTargy[x]-51]--
			Targy[id][EladoTargy[x]-51]++
		}
		else if(EladoTargy[x] == 58)
		{
			Lada[x]--
			Lada[id]++
		}
		else if(EladoTargy[x] == 57)
		{
			Kulcs[x]--
			Kulcs[id]++
		}
		
		new wid = get_user_weapon(x)
		
		if(Hasznal[x][FegyverIdSzamok[wid]] == EladoTargy[x])
		{
			KepessegNulla(x)
		}
		
		Arany[id] -= EladoAr[x]
		Arany[x] += EladoAr[x]
		Kirakva[x] = 0
		
		new Nev[2][32]
		get_user_name(id, Nev[0], 31)
		get_user_name(x, Nev[1], 31)
		
		print_color(0, "%s!t %s!y vett egy!g %s!y t?rgyat!t %s!y-t?l/t?l!g %d!y arany?rt!", Nev[0], EladoTargy[EladoTargy[x]], Nev[1], EladoAr[id])
		EladoAr[x] = 0
		EladoTargy[x] = 0
		SQL_jFrissites(id)
		SQL_jFrissites(x)
	}
}
public client_disconnect(id)
{
	jAktivitas[id] = 0
	new kid
	
	if(JelolID[id] > 0)
		kid = JelolID[id]
	else if(KerID[id] > 0)
		kid = KerID[id]
	
	Kereskedik[id] = 0
	KerArany[id] = 0
	Keres[id] = 0
	JelolID[id] = 0
	pTargy[id] = 0
	KerID[id] = 0
	
	if(kid > 0)
	{
		Kereskedik[id] = 0
		KerArany[id] = 0
		Keres[id] = 0
		JelolID[id] = 0
		pTargy[id] = 0
		KerID[id] = 0
	}
	
	if(jBejelentkezve[id])
		SQL_jFrissites(id)
	
	jBejelentkezve[id] = false
}
public client_putinserver(id)
{
	jFelhasznaloBetolt[id] = 0
	jFolyamatban[id] = 0
	jBejelentkezve[id] = false
	copy(jJelszo[id], 31, "")
	copy(jFelhasznalo[id], 31, "")
	
	Hasznal[id][1] = 0
	Hasznal[id][2] = 0
	Hasznal[id][3] = 0
	KepessegNulla(id)
}

public cmdVip(id, level, cid) 
{ 
	if (cmd_access(id, level, cid, 3)) 
	{
		new Arg1[7]
		new Arg2[4]
		
		read_argv(1, Arg1, 6)
		read_argv(2, Arg2, 3)
		
		new Id = str_to_num(Arg1) 
		new Nap = str_to_num(Arg2)
		
		new players[32], pnum, tempid
		get_players(players, pnum)
		
		for(new i; i<pnum; i++)
		{
			tempid = players[i]
			
			if(jId[tempid] == Id)
			{
				if(Nap > 0)
				{
					Vip[tempid] = get_systime()+(24*3600*Nap)
					print_color(id, "%s!y A Vip adasa sikeres volt!")
				}
			}
			
		}
		
		new szQuery[512]
		new len
		
		len += formatex(szQuery[len], 511, "UPDATE globalunison SET VIP = '%d' ", get_systime()+(24*3600*Nap))
		len += formatex(szQuery[len], 511-len,"WHERE Id = '%d'", Id)
		
		SQL_ThreadQuery(SQL_TUPLE, "SQL_Eredmenyek", szQuery)
	}
}

public SQL_jAdmin(id)
{
	new szQuery[256], len
	
	len += formatex(szQuery[len], 256, "SELECT * FROM adminok ")
	len += formatex(szQuery[len], 256-len,"WHERE sId = '%d'", jId[id])
	
	new szData[2]
	szData[0] = id
	szData[1] = get_user_userid(id)
	
	SQL_ThreadQuery(SQL_TUPLE,"SQL_Adminok_Eredmenyek", szQuery, szData, 2)
}
/*
public SQL_Adminok_Eredmenyek(FailState,Handle:Query,Error[],Errcode,szData[],DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("%s", Error)
		return
	}
	else
	{
		new id = szData[0]
		
		if(szData[1] != get_user_userid(id))
			return
		
		new Talalt = SQL_NumRows(Query)
		
		if(Talalt == 0)
			return
		
		new bId
		bId = SQL_ReadResult(Query, 1)
		
		if(bId == jId[id])
		{
			new steamId[32], bsId[32], aMod, Nev[32]
			get_user_authid(id, steamId, 31)
			get_user_name(id, Nev, 31)
			SQL_ReadResult(Query, 2, bsId, 31)
			
			if(!(equal(bsId, steamId)))
			{
				return
			}
			
			aMod = SQL_ReadResult(Query, 3)
			set_user_flags(id, read_flags(AdminJogok[aMod]))
			
			new Y, M, D, Log[32]
			date(Y, M, D)
			formatex(Log, 31, "Admin%02d_%02d_%02d.log", Y, M, D)
			log_to_file(Log, "%s (%s) -> %s", Nev, jFelhasznalo[id], AdminJogok[aMod])
		}
	}
}
*/
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/
