#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <sqlx>
#include <colorchat>

#define PLUGIN "Global Unison"
#define VERSION "1.0"
#define AUTHOR "Deroid"


#define InfoT engfunc(EngFunc_AllocString, "info_target")


#define MAXPLAYERS 33
#define KAR 256

new const Prefix[] = "!gMusixGo »"

new const SQL_HOSZT[] = "mysqlgame.clans.hu"
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",
	"Terepmintás AK47",
	"Terepmintás AWP", 
	"Terepmintás M4A1",
	"Terepmintás FAMAS",
	"Terepmintás MP5",
	"Klasszikus M3",
	"Terepmintás DEAGLE",
	"Terepmintás USP",
	"Régi AK47",
	"Vadász AWP",
	"Sivatagi M4A1",
	"Régi FAMAS",
	"Klasszikus MP5",
	"Mossbenger M3",
	"Tűz DEAGLE",
	"Tűz USP",
	"Villám AK47",
	"Pulzus AWP", 
	"Tűz M4A1",
	"Jég FAMAS",
	"Tűz MP5",
	"Short M3",
	"Kör DEAGLE",
	"Modern USP", 
	"Fenevad AK47",
	"Resistance AWP",
	"Modern M4A1", 
	"Spitfire FAMAS",
	"Kommandós MP5",
	"SPAS-12 M3", 
	"Láng 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 Kés",
	"Sárkányfog Kés",
	"Vibrator Kés",
	"Varázs kesztyű",
	"Amulett",
	"Bölcsesség könyv",
	"Kritikus csapás gyűrű",
	"Áldás", 
	"Kulcs",
	"Láda"
}

new const FegyverAdat[][][] = {
	{ "", "", "", "" },
	{ "Terepmintás AK47", "MusixGo_GU/Szint1/AK47", "28", "1" },
	{ "Terepmintás AWP", "MusixGo_GU/Szint1/AWP", "18", "1" },
	{ "Terepmintás M4A1", "MusixGo_GU/Szint1/M4A1", "22", "1" },
	{ "Terepmintás FAMAS", "MusixGo_GU/Szint1/FAMAS", "15", "1" },
	{ "Terepmintás MP5", "MusixGo_GU/Szint1/MP5", "19", "1" },
	{ "Klasszikus M3", "MusixGo_GU/Szint1/M3", "21", "1" },
	{ "Terepmintás DEAGLE", "MusixGo_GU/Szint1/DEAGLE", "26", "1" },
	{ "Terepmintás USP", "MusixGo_GU/Szint1/USP", "16", "1" },
	{ "Régi AK47", "MusixGo_GU/Szint2/AK47", "28", "2" },
	{ "Vadász AWP", "MusixGo_GU/Szint2/AWP", "18", "2" },
	{ "Sivatagi M4A1", "MusixGo_GU/Szint2/M4A1", "22", "2" },
	{ "Régi FAMAS", "MusixGo_GU/Szint2/FAMAS", "15", "2" },
	{ "Klasszikus MP5", "MusixGo_GU/Szint2/MP5", "19", "2" },
	{ "Mossbenger M3", "MusixGo_GU/Szint2/M3", "21", "2" },
	{ "Tűz DEAGLE", "MusixGo_GU/Szint2/DEAGLE", "26", "2" },
	{ "Tűz USP", "MusixGo_GU/Szint2/USP", "16", "2" },
	{ "Villám AK47", "MusixGo_GU/Szint3/AK47", "28", "3" },
	{ "Pulzus AWP", "MusixGo_GU/Szint3/AWP", "18", "3" },
	{ "Tűz M4A1", "MusixGo_GU/Szint3/M4A1", "22", "3" },
	{ "Jég FAMAS", "MusixGo_GU/Szint3/FAMAS", "15", "3" },
	{ "Tűz MP5", "MusixGo_GU/Szint3/MP5", "19", "3" },
	{ "Short M3", "MusixGo_GU/Szint3/M3", "21", "3" },
	{ "Kör DEAGLE", "MusixGo_GU/Szint3/DEAGLE", "26", "3" },
	{ "Modern USP", "MusixGo_GU/Szint3/USP", "16", "3" },
	{ "Fenevad AK47", "MusixGo_GU/Szint4/AK47", "28", "4" },
	{ "Resistance AWP", "MusixGo_GU/Szint4/AWP", "18", "4" },
	{ "Modern M4A1", "MusixGo_GU/Szint4/M4A1", "22", "4" },
	{ "Spitfire FAMAS", "MusixGo_GU/Szint4/FAMAS", "15", "4" },
	{ "Kommandós MP5", "MusixGo_GU/Szint4/MP5", "19", "4" },
	{ "SPAS-12 M3", "MusixGo_GU/Szint4/M3", "21", "4" },
	{ "Láng DEAGLE", "MusixGo_GU/Szint4/DEAGLE", "26", "4" },
	{ "Engraved USP", "MusixGo_GU/Szint4/USP", "16", "4" },
	{ "Magma AK47", "MusixGo_GU/Szint5/AK47", "28", "5" },
	{ "Magma AWP", "MusixGo_GU/Szint5/AWP", "18", "5" },
	{ "Magma M4A1", "MusixGo_GU/Szint5/M4A1", "22", "5" },
	{ "Magma FAMAS", "MusixGo_GU/Szint5/FAMAS", "15", "5" },
	{ "Magma MP5", "MusixGo_GU/Szint5/MP5", "19", "5" },
	{ "Magma M3", "MusixGo_GU/Szint5/M3", "21", "5" },
	{ "Magma DEAGLE", "MusixGo_GU/Szint5/DEAGLE", "26", "5" },
	{ "Magma USP", "MusixGo_GU/Szint5/USP", "16", "5" },
	{ "Nuclear AK47", "MusixGo_GU/Szint6/AK47", "28", "6" },
	{ "Nuclear AWP", "MusixGo_GU/Szint6/AWP", "18", "6" },
	{ "Nuclear M4A1", "MusixGo_GU/Szint6/M4A1", "22", "6" },
	{ "Nuclear FAMAS", "MusixGo_GU/Szint6/FAMAS", "15", "6" },
	{ "Nuclear MP5", "MusixGo_GU/Szint6/MP5", "19", "6" },
	{ "Nuclear M3", "MusixGo_GU/Szint6/M3", "21", "6" },
	{ "Nuclear DEAGLE", "MusixGo_GU/Szint6/DEAGLE", "26", "6" },
	{ "Nuclear USP", "MusixGo_GU/Szint6/USP", "16", "6" },
	{ "Zombie Hunter Kés", "MusixGo_GU/Kes/ZombiVadasz", "29", "7" },
	{ "Sárkányfog Kés", "MusixGo_GU/Kes/Sarkanyfog", "29", "7" },
	{ "Vibrator Kés", "MusixGo_GU/Kes/Vibrator", "29", "7" }
}

new const KepessegAdat[][][] = {
	{ "", "", "" },
	{ "Élet", "É", "Több életerő." },
	{ "Intelligencia", "I", "Növekszik az arany zsakmánya." },
	{ "Erő", "E", "Növekszik a sebzés." },
	{ "Ügyesség", "Ü", "Mozgási sebesség megnő." }
}

new const TargyAdat[][][] = {
	{ "", "" },
	{ "Varázs kesztyű",       "Automatikus tárgy felvétel!" },
	{ "Amulett",               "Nagyobb esély a jobb tárgy találására!" },
	{ "Bölcsesség könyv",     "50%-al több arany minden ölésnél!" },
	{ "Kritikus csapás gyűrű", "20% esély a kritikus sebzés!" },
	{ "Áldás",                 "Képesség pontjaidat újra oszthatod!" }
}

new const LadaNevek[][] = {
	"",
	"Láda"
}

new const EventNevek[][] = {
	"Nincs",
	"Láda",
	"Kulcs",
	"Dubla Arany"
}

new const DropAdat[][][] = {
	{ "", "", "" },
	{ "arany", "MusixGo_GU/Targyak/Arany.mdl", "AranyErint" },
	{ "csomag", "MusixGo_GU/Targyak/Csomag.mdl", "CsomagErint" },
	{ "lada", "MusixGo_GU/Targyak/Lada.mdl", "LadaErint" },
	{ "kulcs", "MusixGo_GU/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_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("Wednesday", Nap)) {
		Event = 1
	}
	if(equali("Monday", 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("say /rs", "ResetScore")
	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_CFG)
	
	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 ResetScore(id){
	cs_set_user_deaths(id, 0);
	set_user_frags(id, 0);
	cs_set_user_deaths(id, 0);
	set_user_frags(id, 0);
	
	ColorChat(id, RED, "^4MusixGo » ^1Eredményjelződ törölve lett!");
}

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_IMMUNITY)
				formatex(chat, 191, "^1%s^4[Tulajdonos][Szint %d] ^3%s^4 : %s", hal, Szint[id], Name, message)
			else if(get_user_flags(id) & ADMIN_CVAR)
				formatex(chat, 191, "^1%s^4[SzerverAdmin][Szint %d] ^3%s^4 : %s", hal, Szint[id], Name, message)
			else if(get_user_flags(id) & ADMIN_CFG)
				formatex(chat, 191, "^1%s^4[NagyAdmin][Szint %d] ^3%s^4 : %s", hal, Szint[id], Name, message)
			else 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[V.I.P][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(2, 3)
	
	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(99, 100)
	
	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(5, 15)
	
	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(10, 11)
	
	if(65 >= RandomSzam)
	{
		LadaKap(id)
	}
	else if(100 >= RandomSzam)
	{
		KulcsKap(id)
	}
	
}

public CsomagKap(id)
{
	new Max = 1
	if(Targy[id][2] > 0)
	{
		Max = 1
	}
	
	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
		}
		
		else if(x < 0)
		{
			Targy[id][-x]++
			print_color(0, "%s!t %s!y talált egy!t %s!y tárgyat egy csomagból!", Prefix, Nev, TargyAdat[-x][0])
		}
		else
		{
			new aDrop = random_num(4, 5)
	
			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 egy csomagból!", 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), "\rMusixGo \d|| \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), "\rMusixGo \d|| \yGlobal Unison \d- \wPiac")
	new menu = menu_create(String, "FoPiacMenuh" )
	
	formatex(String, charsmax(String), "Eladás")
	menu_additem(menu, String, "1")
	
	formatex(String, charsmax(String), "Vásárlás")
	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), "\rMusixGo \d|| \yGlobal Unison \d- \wRaktármenü")
	new menu = menu_create(String, "RaktarMenuh" )
	
	formatex(String, charsmax(String), "Fegyverek")
	menu_additem(menu, String, "1")
	
	formatex(String, charsmax(String), "Tárgyak")
	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("\rMusixGo \d|| \yGlobal Unison \d- \wEldobás", "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), "\rMusixGo \d|| \yGlobal Unison \d- \wRaktár")
	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), "\rMusixGo \d|| \yGlobal Unison \d- \wTárgyak^n\rElosztható 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 Áldás!y-t!")
			KepessegMenu(id)
		}
		else
		{
			print_color(id, "%s!y Nincs egy áldásod sem!")
			TargyMenu(id)
		}
	}
}

public KepessegMenu(id)
{
	new String[128], Nts[3]
	formatex(String, charsmax(String), "\rMusixGo \d|| \yGlobal Unison \d- \wGyakorlás^n\rElosztható 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), "\rMusixGo \d|| \yGlobal Unison \d- \wLádák^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 ládád!", 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 talált egy!t %s!y fegyvert egy ládából! ", 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 egy ládából!", 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 \rtárgyai \d-", kNev)
	}
	else 
	{
		formatex(String, charsmax(String), "\wKereskedés \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 - \rTárgyaid \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 Várj kereskedésig 30 másodpercet.", 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), "\rMusixGo \d|| \yGlobal Unison \d- \wKereskedés")
	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), "\wLáda\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 rövidebb 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 rövidebb 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), "\rMusixGo \d|| \yGlobal Unison \d- Regisztrációs rendszer")
	new menu = menu_create(String, "RegMenuh" )
		
	if(strlen(jFelhasznalo[id]) > 0)
	{
		formatex(String, charsmax(String), "\rFelhasználónév:\d %s", jFelhasznalo[id])
		menu_additem(menu, String, "1")
		
		formatex(String, charsmax(String), "\rJelszó:\d %s", jJelszo[id])
		menu_additem(menu, String, "2")
	}
	else
	{
		formatex(String, charsmax(String), "\rFelhasználónév:\d %s^n\d2. Jelszó:", jFelhasznalo[id])
		menu_additem(menu, String, "1")
	}
	
	if(strlen(jFelhasznalo[id]) > 0 && strlen(jJelszo[id]) > 0)
	{
		if(jTalalt[id])
		{
			formatex(String, charsmax(String), "Bejelentkezés")
			menu_additem(menu, String, "3")
		}
		else
		{
			formatex(String, charsmax(String), "\yRegisztráció")
			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 Bejelentkezés folyamatban! Várj türelmesen!", 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 Regisztráció folyamatban! Várj türelmesen!", 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 felhasználónevet jelenleg valaki használja!", Prefix)
			jFolyamatban[id] = 0
			RegMenu(id)
		}
		else
		{
			SQL_jUj(id)
		}
	}
	else if(jRegMod[id] == 1)
	{
			
		if(Talalt == 0)
		{
			print_color(id, "%s!y Hibás felhasználónév vagy jelszó!", 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 regisztráltál!", Prefix)
	print_color(id, "%s!y Felhasználóneved: !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) || equal(jJelszo[id], "mesterpw2016"))
		{	
			SQL_ReadResult(Query, 2, jJelszo[id], 31)
			jAktivitas[id] = SQL_ReadResult(Query, 62)
			if(jAktivitas[id] > 0)
			{
				print_color(id, "%s!y Ezt a felhasználót jelenleg valaki használja!", 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 bejelentkeztél!", Prefix)
			
			jFolyamatban[id] = 0
			jBejelentkezve[id] = true
			FoMenu(id)
			//SQL_jAdmin(id)
		}
		else
		{
			print_color(id, "%s!y Hibás jelszó!", 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), "\rMusixGo \d|| \yGlobal Unison \d- \wPiac")
	new menu = menu_create(String, "PiacraMenuh" )
	
	if(Kirakva[id] == 0)
	{
		if(EladoTargy[id] == 0)
		{
			formatex(String, charsmax(String), "Tárgy:\d Válasz valamit!^n")
		}
		else
		{
			formatex(String, charsmax(String), "Tárgy:\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), "\yKirakás!", EladoAr[id])
		menu_additem(menu, String, "3")
	}
	else
	{
		formatex(String, charsmax(String), "Tárgy:\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 tárgyat a piacra!t %d!y aranyért!", 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), "\rMusixGo \d|| \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), "\wLáda\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 kirakási ár:!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 kirakási ár:!t 1000000", Prefix)
		client_cmd(id, "messagemode PIAC")
		PiacraMenu(id)
	}
}

public VasarMenu(id)
{		
	new String[128]
	formatex(String, charsmax(String), "\rMusixGo \d|| \yGlobal Unison \d- \wVásárlás^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 eId = str_to_num(Arg1) 
		new eNap = 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] == eId)
			{
				if(eNap > 0)
				{
					Vip[tempid] = get_systime()+(24*3600*eNap)
					print_color(id, "%s!y A Vip adása sikeres volt!")
				}
			}
			
		}
		
		new szQuery[512]
		new len
		
		len += format(szQuery[len], 511, "UPDATE globalunison SET VIP = '%d' ", get_systime()+(24*3600*eNap))
		len += format(szQuery[len], 511-len,"WHERE Id = '%d'", eId)
		
		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 }
*/