#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <engine>
#include <fakemeta>
#include <sqlx>
#include <dhudmessage>
#include <hamsandwich>

new const Plugin[] = "Awp Mod 1.0";
new const Version[] = "1.0";
new const Author[] = "Toretto"; //ne ird att!

new const Prefix[] = ".:[BadboYs]:. AWP"
new const C_Prefix[] = ".:[BadboYs]:. AWP"; 
new const mPrefix[] = ".:[BadboYs]:. AWP";

new const Website[] = "facebook.com/groups/valami"; 


#define LadaDrp 9.21
#define KulcsDrp 18.43

new const Skinek[][][] = {
	{"Normal Awp", "models/v_awp.mdl"},
	{"Valami |", "models/awp/valami.mdl"},
	{"Valami |", "models/awp/valami.mdl"},
	{"Valami |", "models/awp/valami.mdl"},
	{"Valami |", "models/awp/valami.mdl"},
	{"Valami |", "models/awp/valami.mdl"},
	{"Valami |", "models/awp/valami.mdl"},
	{"Valami |", "models/awp/valami.mdl"},
	{"Valami |", "models/awp/valami.mdl"},
	{"Valami |", "models/awp/valami.mdl"},
	{"Valami |", "models/awp/valami.mdl"},
	{"Valami |", "models/awp/valami.mdl"}
};

new const SQLINFO[][] = {
	"",    // HOST
	"",     // USERNAME
	"",     // PASSWORD
	""      // DATABASE
};


new iAwp[33][sizeof(Skinek)], iDollar[33], iLada[33], iKulcs[33], Skin[33], name[32][33];
new Ar[33], Targy[33], Kirakva[33];

//Regnek
new bool:Belepve[33], bool:Beirtjelszot[33], bool:Beirtjelszot1[33], bool:Beirtfelhasznalot[33], bool:Beirtfelhasznalot1[33], Regisztralt[33], Felhasznalonev[33][100], Jelszo[33][100], regJelszo[33][100], regFh[33][100];

new AutoB[33];

new Handle:g_SqlTuple;

public plugin_init() {
	register_plugin(Plugin, Version, Author);
	register_clcmd("say /add", "Addolas");
	register_clcmd("DOLLAR", "CmdDollar");
	register_impulse(201, "Ellenorzes");

	register_clcmd("Reg_Felhasznalonev", "regisztralas_felh");
	register_clcmd("Reg_Jelszo", "regisztralas_jelszo");
	register_clcmd("Log_Felhasznalonev", "bejelentkezes_felh");
	register_clcmd("Log_Jelszo", "bejelentkezes_jelszo");
	
	register_event("DeathMsg", "Halal", "a");
	register_event("CurWeapon", "FegyverValtas", "be", "1=1");
}



public Ellenorzes(id)
{
	if(AutoB[id] == 1)
	{
		Belepve[id] = true;
	}
	if(Belepve[id] == false)
	{
		Menu_Fo(id);
	}
	else
	{
		Fomenu(id);
	}
}
new const REGMENU[][][] = { { "\w[Státusz]: \dNem Regisztrált", "\w[Státusz]: \dKijelentkezve" } };
public Menu_Regisztracio(id) 
{
	new String[121], Nev[32];
	get_user_name(id, Nev, 31);
	formatex(String, charsmax(String), "%s \r- \dRegisztráció^n%s", Prefix, REGMENU[0][Regisztralt[id]]);
	new menu = menu_create(String, "Menu_Regisztracio_h");
	
	if(Regisztralt[id] == 0)
	{
		formatex(String, charsmax(String), "\wFelhasználónév: \r%s^n", regFh[id]);
		menu_additem(menu, String, "1",0);
		formatex(String, charsmax(String), "\wJelszó: \r%s^n", regJelszo[id]);
		menu_additem(menu, String, "2",0);
	}
	else
	{
		formatex(String, charsmax(String), "\rNév: \d%s^n\wTe már regisztráltál a szerverre.", Nev, regFh[id]);
		menu_additem(menu, String, "",0);
	}
	
	if(Beirtfelhasznalot[id] == true && Beirtjelszot[id] == true)
	{
		formatex(String, charsmax(String), "\yRegisztráció");
		menu_additem(menu, String, "3",0);
	}
	
	menu_display(id, menu, 0);
	return PLUGIN_HANDLED;
}
public Menu_Regisztracio_h(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return;
	}
	
	new data[9], szName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
	
	switch(key) 
	{
		case 1:
		{
			client_cmd(id, "messagemode Reg_Felhasznalonev");
		}
		case 2:
		{
			client_cmd(id, "messagemode Reg_Jelszo");
		}
		case 3:
		{
			Regisztralt[id] = 1;
			ColorChat(id, GREEN, "%s^1Sikeresen regisztráltál a szerverre.", C_Prefix);
			SQL_Update_Reg(id);
		}
	}
}
public Menu_Bejelentkezes(id) 
{
	new String[121];
	formatex(String, charsmax(String), "%s \r- \dBejelentkezés^n%s", Prefix, REGMENU[0][Regisztralt[id]]);
	new menu = menu_create(String, "Menu_Bejelentkezes_h");
	
	formatex(String, charsmax(String), "Felhasználónév: \r%s^n", Felhasznalonev[id]);
	menu_additem(menu, String, "1",0);
	formatex(String, charsmax(String), "Jelszó: \r%s^n", Jelszo[id]);
	menu_additem(menu, String, "2",0);
	
	formatex(String, charsmax(String), "\yBejelentkezés^n");
	menu_additem(menu, String, "3",0);
	
	menu_display(id, menu, 0);
	return PLUGIN_HANDLED;
}
public Menu_Bejelentkezes_h(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return;
	}
	
	new data[9], szName[64], Nev[32];
	get_user_name(id, Nev, 31);
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
	
	switch(key) 
	{
		case 1:
		{
			client_cmd(id, "messagemode Log_Felhasznalonev");
		}
		case 2:
		{
			client_cmd(id, "messagemode Log_Jelszo");
		}
		case 3:
		{
			if(equali(Jelszo[id], regJelszo[id]) && (equali(Felhasznalonev[id], regFh[id])))
			{
				Belepve[id] = true;
				ColorChat(id, GREEN, "%s ^1Üdv újra itt ^4%s ^1!", C_Prefix, Nev);
			}
			else
			{
				ColorChat(id, GREEN, "%s ^1Hibás Felhasználónév vagy Jelszó.", C_Prefix);
			}
		}
	}
}
public Menu_Fo(id) 
{
	new String[121];
	formatex(String, charsmax(String), "%s \r- \dRegisztrációs rendszer^n%s", Prefix, REGMENU[0][Regisztralt[id]]);
	new menu = menu_create(String, "Menu_Fo_h");
	
	formatex(String, charsmax(String), "Regisztáció^n");
	menu_additem(menu, String, "2",0);
	formatex(String, charsmax(String), "Bejelentkezés^n^n\d-------------------------------^n%s^n-------------------------------", Website);
	menu_additem(menu, String, "1",0);
	
	menu_display(id, menu, 0);
	return PLUGIN_HANDLED;
}
public Menu_Fo_h(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return;
	}
	
	new data[9], szName[64];
	new access, callback;
	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
	new key = str_to_num(data);
	
	switch(key) 
	{
		case 1: Menu_Bejelentkezes(id);
			case 2: Menu_Regisztracio(id);
		}
}
public regisztralas_felh(id)
{
	new adat[32];
	new hosszusag = strlen(adat);
	read_args(adat, charsmax(adat));
	remove_quotes(adat);
	if(hosszusag >= 5) 
	{
		regFh[id] = adat;
		Beirtfelhasznalot[id] = true;
		Menu_Regisztracio(id);
	}
	else 
	{
		regFh[id] = adat;
		Beirtfelhasznalot[id] = true;
		Menu_Regisztracio(id);
	}
	return PLUGIN_CONTINUE;
}
public regisztralas_jelszo(id)
{
	new adat[32];
	new hosszusag = strlen(adat);
	read_args(adat, charsmax(adat));
	remove_quotes(adat);
	if(hosszusag >= 5) {
		regJelszo[id] = adat;
		Beirtjelszot[id] = true;
		Menu_Regisztracio(id);
	}
	else {
		regJelszo[id] = adat;
		Beirtjelszot[id] = true;
		Menu_Regisztracio(id);
	}
	return PLUGIN_CONTINUE;
}
public bejelentkezes_jelszo(id)
{
	new adat[32];
	new hosszusag = strlen(adat);
	read_args(adat, charsmax(adat));
	remove_quotes(adat);
	if(hosszusag >= 5) {
		Jelszo[id] = adat;
		Beirtjelszot1[id] = true;
		Menu_Bejelentkezes(id);
	}
	else {
		Jelszo[id] = adat;
		Beirtjelszot1[id] = true;
		Menu_Bejelentkezes(id);
	}
	return PLUGIN_CONTINUE;
}
public bejelentkezes_felh(id)
{
	new adat[32];
	new hosszusag = strlen(adat);
	read_args(adat, charsmax(adat));
	remove_quotes(adat);
	if(hosszusag >= 5) 
	{
		Felhasznalonev[id] = adat;
		Beirtfelhasznalot1[id] = true;
		Menu_Bejelentkezes(id);
	}
	else 
	{
		Felhasznalonev[id] = adat;
		Beirtfelhasznalot1[id] = true;
		Menu_Bejelentkezes(id);
	}
	return PLUGIN_CONTINUE;
}
public Addolas(id) {
	if(get_user_flags(id) & ADMIN_IMMUNITY)
	{
	
	for(new i=1;i < sizeof(Skinek); i++) iAwp[id][i] ++;
	}
}

public plugin_precache() for(new i;i < sizeof(Skinek); i++) precache_model(Skinek[i][1]);
public FegyverValtas(id) if(get_user_weapon(id) == CSW_AWP) set_pev(id, pev_viewmodel2, Skinek[Skin[id]][1]);
public Halal() {
	new iKiller = read_data(1);
	new iVictim = read_data(2);
	
	if(iKiller == iVictim) return;
	
	new eP; eP += random_num(5, 9);
	new Nev[32]; get_user_name(iKiller, Nev, charsmax(Nev));
	new Float:RandomFloat = random_float(0.0, 100.0);
	
	iDollar[iKiller] += eP;
	
	set_dhudmessage(random(256), random(256), random(256), -1.0, 0.20, 0, 6.0, 3.0);
	show_dhudmessage(iKiller, "+ %d $", eP);
	
	if(RandomFloat <= KulcsDrp) {
		iKulcs[iKiller] ++;
		ColorChat(iKiller, NORMAL, "^4[%s] ^3%s ^1Talált egy ^4kulcs^1-t!", Prefix, Nev);
	}
	else if(RandomFloat <= LadaDrp+KulcsDrp) {
		iLada[iKiller] ++;
		ColorChat(iKiller, NORMAL, "^4[%s] ^3%s ^1Talált egy ^4ládá^1-t!", Prefix, Nev);
	}
}
public Fomenu(id) {
	new sMenuString[121], iMenu;
	format(sMenuString, charsmax(sMenuString), "\r%s \yAwpMód^n\dDollár: \r%d", mPrefix, iDollar[id]);
	iMenu = menu_create(sMenuString, "Fomenu_h");
	
	format(sMenuString, charsmax(sMenuString), "Raktár");
	menu_additem(iMenu, sMenuString, "0", 0);
	
	format(sMenuString, charsmax(sMenuString), "Láda Nyitás");
	menu_additem(iMenu, sMenuString, "1", 0);
	
	format(sMenuString, charsmax(sMenuString), "Piactér");
	menu_additem(iMenu, sMenuString, "2", 0);
	
	format(sMenuString, charsmax(sMenuString), "Eldobás");
	menu_additem(iMenu, sMenuString, "3", 0);
	
	
	
	menu_display(id, iMenu, 0);
}
public Fomenu_h(id, iMenu, Item) {
	switch(Item) {
		case 0: Raktar_M(id);
		case 1: LadaNyit_M(id);
		case 2: Piac_M(id);
		case 3: Kuka_M(id);
		case MENU_EXIT: {
			menu_destroy(iMenu);
			return;
		}
	}
}
public LadaNyit_M(id) {
	new sMenuString[121], iMenu;
	format(sMenuString, charsmax(sMenuString), "\r%s \yAwpMód \d| \wLáda Nyitás", mPrefix);
	iMenu = menu_create(sMenuString, "LadaNyit_h");
	
	format(sMenuString, charsmax(sMenuString), "\wLáda: \d[\r%d\d] \y| \wKulcs: \d[\r%d\d]^n^n\wLádaDrop: \r%.2f^n\wKulcsDrop: \r%.2f", iLada[id], iKulcs[id], LadaDrp, KulcsDrp);
	menu_additem(iMenu, sMenuString, "0", 0);
		
	menu_display(id, iMenu, 0);
}
public LadaNyit_h(id, iMenu, Item) {
	switch(Item) {
		case 0: {
			if(iLada[id] >= 1 && iKulcs[id] >= 1) {
				iLada[id] --; 
				iKulcs[id] --;
				LadaDrop(id);
			}
			else {
				if(iLada[id] == 0 && iKulcs[id] == 0)
					ColorChat(id, NORMAL, "^4[%s] ^1Nincs elég ^4ládá^1-t se ^4kulcs^1-ot!", Prefix);
				else if(iLada[id] == 0)
					ColorChat(id, NORMAL, "^4[%s] ^1Nincs elég ^4ládá^1-t!", Prefix);
				else if(iKulcs[id] == 0)
					ColorChat(id, NORMAL, "^4[%s] ^1Nincs elég ^4kulcs^1-ot!", Prefix);
			}
		}
		case MENU_EXIT: {
			menu_destroy(iMenu);
			return;
		}
	}
}
public LadaDrop(id) {
	new x = random_num(1, 10);
	new Float:RandomSzam = random_float(0.0, 100.0);
	
	if(RandomSzam <= 23.64) {
		iAwp[id][x] ++;
		ColorChat(id, NORMAL, "^4[%s] ^1Ezt találtad: ^4%s^1 -t!", Prefix, Skinek[x][0]);
	}
}
public Raktar_M(id) {
	new sMenuString[121], iMenu, iNum[8];
	format(sMenuString, charsmax(sMenuString), "\r%s \yAwpMód \d| \wRaktár", mPrefix);
	iMenu = menu_create(sMenuString, "Raktar_h");
	
	for(new i=1;i < sizeof(Skinek); i++) {
		if(iAwp[id][i] > 0) {
			num_to_str(i, iNum, charsmax(iNum));
			formatex(sMenuString, charsmax(sMenuString), "\y%s \d| \yAwp \d[\r%d\d]", Skinek[i][0], iAwp[id][i]);
			menu_additem(iMenu, sMenuString, iNum);
		}
	}
	
	menu_display(id, iMenu, 0);
}
public Raktar_h(id, iMenu, Item){
	if(Item == MENU_EXIT) {
		menu_destroy(iMenu);
		return;
	}
	
	new iAdat[9], iName[64], iAcces, iCallBack;
	menu_item_getinfo(iMenu, Item, iAcces, iAdat, charsmax(iAdat), iName, charsmax(iName), iCallBack);
	new iKey = str_to_num(iAdat);
	
	Skin[id] = iKey;
	ColorChat(id, NORMAL, "^4%s^1 Kiválasztottad a(z) ^4%s ^1skint!", Prefix, Skinek[iKey][0]);
	Raktar_M(id);
}
public Kuka_M(id) {
	new sMenuString[121], iMenu, iNum[8];
	format(sMenuString, charsmax(sMenuString), "\r%s \yAwpMód \d| \wEldobás", mPrefix);
	iMenu = menu_create(sMenuString, "Kuka_h");
	
	for(new i=1;i < sizeof(Skinek); i++) {
		if(iAwp[id][i] > 0) {
			num_to_str(i, iNum, charsmax(iNum));
			formatex(sMenuString, charsmax(sMenuString), "\y%s \d| \yAwp \d[\r%d\d]", Skinek[i][0], iAwp[id][i]);
			menu_additem(iMenu, sMenuString, iNum);
		}
	}
	
	menu_display(id, iMenu, 0);
}
public Kuka_h(id, iMenu, Item){
	if(Item == MENU_EXIT) {
		menu_destroy(iMenu);
		return;
	}
	
	new iAdat[9], iName[64], iAcces, iCallBack;
	menu_item_getinfo(iMenu, Item, iAcces, iAdat, charsmax(iAdat), iName, charsmax(iName), iCallBack);
	new iKey = str_to_num(iAdat);
	
	iAwp[id][iKey] --;
	ColorChat(id, NORMAL, "^4[%s] ^1Sikeresen törölted a(z) ^4%s ^1skint!", Prefix, Skinek[iKey][0]);
	
	switch(iKey) {
		case 1..10: Skin[id] = 0;
	}
	
	Kuka_M(id);
}
public Piac_M(id) {
	new sMenuString[121], iMenu;
	format(sMenuString, charsmax(sMenuString), "\r%s \yAwpMód \d| \wPiac Menü", mPrefix);
	iMenu = menu_create(sMenuString, "PiacM_h");
	
	formatex(sMenuString, charsmax(sMenuString), "Eladó");
	menu_additem(iMenu, sMenuString, "0", 0);
	
	formatex(sMenuString, charsmax(sMenuString), "Vásárlás");
	menu_additem(iMenu, sMenuString, "1", 0);
	
	menu_display(id, iMenu, 0);
}
public PiacM_h(id, iMenu, Item) {
	if(Item == MENU_EXIT) {
		menu_destroy(iMenu);
		return;
	}
	
	new iAdat[9], iName[64], iAcces, iCallBack;
	menu_item_getinfo(iMenu, Item, iAcces, iAdat, charsmax(iAdat), iName, charsmax(iName), iCallBack);
	new iKey = str_to_num(iAdat);
	
	if(iKey == 0) EladasMenu(id);
	if(iKey == 1) VasarlasMenu(id);
}
public EladasMenu(id) {
	new sMenuString[128], iMenu;
	format(sMenuString, charsmax(sMenuString), "\r%s \yAwpMód \d| \wEladás Menü", mPrefix);
	iMenu = menu_create(sMenuString, "EladasM_h");
	
	if(Kirakva[id] == 0) {
		format(sMenuString, charsmax(sMenuString), Targy[id] == 0 ? "Tárgy: \dVálasz valamit!^n":"Tárgy: \d(\y%s \d| \yAwp\d)^n", Skinek[Targy[id]][0]);
		menu_additem(iMenu, sMenuString, "1");
		
		formatex(sMenuString, charsmax(sMenuString), "Ár: \d(%d$)", Ar[id]);
		menu_additem(iMenu, sMenuString, "2", 0);
		
		menu_additem(iMenu, "\yKirakás!", "3", 0);
	}
	else {
		formatex(sMenuString, charsmax(sMenuString), "Tárgy:\d(%s) \r- \y(%d) \wVisszavonás!", Skinek[Targy[id]][0], Ar[id]);
		menu_additem(iMenu, sMenuString, "0", 0);
	}
	
	menu_display(id, iMenu, 0);
}
public EladasM_h(id, iMenu, Item) {
	if(Item == MENU_EXIT) {
		menu_destroy(iMenu);
		return;
	}
	
	new iAdat[9], iName[64], iAcces, iCallBack;
	menu_item_getinfo(iMenu, Item, iAcces, iAdat, charsmax(iAdat), iName, charsmax(iName), iCallBack);
	new iKey = str_to_num(iAdat);
	
	if(iKey == 0) {
		Kirakva[id] = 0;
		Ar[id] = 0;
		Targy[id] = 0;
	}
	if(iKey == 1) PiacRakt(id);
	if(iKey == 2) {
		client_cmd(id, "messagemode DOLLAR");
		EladasMenu(id);
	}
	if(iKey == 3) {
		new Nev[32]; get_user_name(id, Nev, charsmax(Nev));
		ColorChat(0, NORMAL, "^4[%s] ^3%s ^1Kirakott egy ^4%s ^1a piacra ^3%d ^1dollárért!", Prefix, Nev, Skinek[Targy[id]][0], Ar[id]);
		Kirakva[id] = 1;
		EladasMenu(id);
	}
}
public PiacRakt(id) {
	new sMenuString[121], iMenu, iNum[8];
	format(sMenuString, charsmax(sMenuString), "\r%s \yAwpMód \d| \wRaktár", mPrefix);
	iMenu = menu_create(sMenuString, "PiacRakt_h");
	
	for(new i=1;i < sizeof(Skinek); i++) {
		if(iAwp[id][i] > 0) {
			num_to_str(i, iNum, charsmax(iNum));
			formatex(sMenuString, charsmax(sMenuString), "\y%s \d| \yAwp \d[\r%d\d]", Skinek[i][0], iAwp[id][i]);
			menu_additem(iMenu, sMenuString, iNum);
		}
	}
	
	menu_display(id, iMenu, 0);
}
public PiacRakt_h(id, iMenu, Item) {
	if(Item == MENU_EXIT) {
		menu_destroy(iMenu);
		return;
	}
	
	new iAdat[9], iName[64], iAcces, iCallBack;
	menu_item_getinfo(iMenu, Item, iAcces, iAdat, charsmax(iAdat), iName, charsmax(iName), iCallBack);
	new iKey = str_to_num(iAdat);
	
	Targy[id] = iKey;
	EladasMenu(id);
}
public CmdDollar(id)
{
	new Ertek, BAdat[32]
	read_args(BAdat, charsmax(BAdat))
	remove_quotes(BAdat)
		
	Ertek = str_to_num(BAdat)
		
	if(Ertek <= 100)
	{
		ColorChat(id, NORMAL, "^4[%s] ^1Minimum kirakási ár:^3 100", Prefix)
		client_cmd(id, "messagemode DOLLAR")
		EladasMenu(id)
	}
	else if(1000000000 >= Ertek) {
		Ar[id] = Ertek;
		EladasMenu(id);
	}
}
public VasarlasMenu(id) {
	new sMenuString[128], iMenu;
	format(sMenuString, charsmax(sMenuString), "\r%s \yAwpMód \d| \wVásárlás Menü", mPrefix);
	iMenu = menu_create(sMenuString, "VasM_h");
	
	for(new i; i < 33; i++)
	{
		if(!is_user_connected(id) || Kirakva[i] == 0)
			continue
		
		new Nev[32], Nts[3];
		num_to_str(i, Nts, 2);
		get_user_name(i, Nev, 31);
		formatex(sMenuString, charsmax(sMenuString), "\r%s Awp \y| \w%s \y| \w%d \yDollár", Skinek[Targy[i]][0], Nev, Ar[i]);
		menu_additem(iMenu, sMenuString, Nts);
	}
	
	menu_display(id, iMenu, 0);
}
public VasM_h(id, iMenu, Item) {
	if(Item == MENU_EXIT) {
		menu_destroy(iMenu);
		return;
	}
	
	new iAdat[9], iName[64], iAcces, iCallBack;
	menu_item_getinfo(iMenu, Item, iAcces, iAdat, charsmax(iAdat), iName, charsmax(iName), iCallBack);
	new iKey = str_to_num(iAdat);
	
	if(Kirakva[iKey] > 0 && Targy[iKey] > 0 && Ar[iKey] > 0) {
		if(iDollar[id] < Ar[iKey]) {
			ColorChat(id, NORMAL, "^4[%s] ^1Nincs elég dollárod!", Prefix); 
			return;
		}
		if(Targy[id] < 11) {
			iAwp[iKey][Targy[iKey]] --;
			iAwp[id][Targy[iKey]] ++;
		}
		
		iDollar[iKey] -= Ar[iKey];
		iDollar[id] += Ar[iKey];
		Kirakva[id] = 0;
		
		new Nev[2][32];
		get_user_name(id, Nev[0], charsmax(Nev));
		get_user_name(iKey, Nev[1], charsmax(Nev));
		
		ColorChat(id, NORMAL, "^4[%s] ^3%s ^1vett egy ^4%s ^1tárgyat ^3%s ^1-tól/től! ^4%d ^1dollárért!", Prefix, Nev[0], Skinek[Targy[iKey]][0], Nev[1], Ar[id]);
		Ar[iKey] = 0;
		Targy[iKey] = 0;
	}
}
public client_disconnect(id)
{
if(!is_user_bot(id))
{
	Update(id);
}
Belepve[id] = false;
Beirtjelszot[id] = false;
Beirtjelszot1[id] = false;
Beirtfelhasznalot[id] = false;
Beirtfelhasznalot1[id] = false;

regFh[id][0] = EOS;
regJelszo[id][0] = EOS;
Felhasznalonev[id][0] = EOS;
Jelszo[id][0] = EOS;


iKulcs[id] = 0;
Regisztralt[id] = 0;
AutoB[id] = 0;
iLada[id] = 0;

for(new i;i < sizeof(Skinek); i++)
iAwp[id][i] = 0;
	
	
copy(name[id], charsmax(name[]), "");
}
public client_putinserver(id)
{
	if(!is_user_bot(id))
	{
		get_user_name(id, name[id], charsmax(name));
		Load(id);
	}
	Belepve[id] = false;
	Felhasznalonev[id] = "";
	Jelszo[id] = "";
}
public plugin_cfg()
{
	g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);
	
	static Query[10048];
	new Len;
	
	Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `awp_mod`");
	Len += formatex(Query[Len], charsmax(Query)-Len, "(`Nev` varchar(32) NOT NULL, ");
	Len += formatex(Query[Len], charsmax(Query)-Len, "`Felhasznalonev` varchar(32) NOT NULL,");
	Len += formatex(Query[Len], charsmax(Query)-Len, "`Jelszo` varchar(32) NOT NULL,");
	Len += formatex(Query[Len], charsmax(Query)-Len, "`Lada` int(11) NOT NULL,");
	
	for(new i;i < sizeof(Skinek); i++)
		Len += formatex(Query[Len], charsmax(Query)-Len, "`F%d` int(11) NOT NULL,", i);
	
	
	Len += formatex(Query[Len], charsmax(Query)-Len, "`Kulcs` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
	
	SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
}
public Load(id) {
	static Query[10048];
	new Data[1], Name[32];
	get_user_name(id, Name, 31);
	Data[0] = id;
	
	formatex(Query, charsmax(Query), "SELECT * FROM `awp_mod` WHERE Nev = ^"%s^";", name[id]);
	SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1);
}
public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
		log_amx("%s", Error);
		return;
	}
	else {
		new id = Data[0];
		
		if(SQL_NumRows(Query) > 0) {
			iLada[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Lada"));
			SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Felhasznalonev"), regFh[id], charsmax(regFh[]));
			SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Jelszo"), regJelszo[id], charsmax(regJelszo[]));
			Regisztralt[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Regisztralt"));
			
			for(new i;i < sizeof(Skinek); i++)
			{
				new String[64];
				formatex(String, charsmax(String), "F%d", i);
				iAwp[id][i] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, String));
			}
			
			
			
			iKulcs[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Kulcs"));
		}
		else
		{
			Save(id);
		}
	}
}
public Save(id)
{
	static Query[256];
	
	formatex(Query, charsmax(Query), "INSERT INTO `awp_mod` (`Nev`) VALUES (^"%s^");", name[id]);
	SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public SQL_Update_Reg(id)
{
	static Query[10048];
	new Len;
	
	Len += formatex(Query[Len], charsmax(Query), "UPDATE `awp_mod` SET Felhasznalonev = ^"%s^", ", regFh[id]);
	Len += formatex(Query[Len], charsmax(Query)-Len, "Jelszo = ^"%s^", ", regJelszo[id]);
	Len += formatex(Query[Len], charsmax(Query)-Len, "Regisztralt = ^"%i^" WHERE Nev = ^"%s^";", Regisztralt[id], name[id]);
	
	SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public Update(id)
{
	static Query[10048];
	new Len;
	
	Len += formatex(Query[Len], charsmax(Query), "UPDATE `awp_mod` SET Dollars = ^"%i^", ",iDollar[id]);
	Len += formatex(Query[Len], charsmax(Query)-Len, "Lada = ^"i^", ", iLada[id])
	
	for(new i=0;i < sizeof(Skinek); i++)
		Len += formatex(Query[Len], charsmax(Query)-Len, "F%d = ^"%i^", ", i, iAwp[id][i]);
	
	
	
	
	Len += formatex(Query[Len], charsmax(Query)-Len, "Kulcs = ^"%i^" WHERE Nev = ^"%s^";", iKulcs[id], name[id]);
	
	SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
	if(FailState == TQUERY_CONNECT_FAILED)
		set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
	else if(FailState == TQUERY_QUERY_FAILED)
		set_fail_state("Query Error");
	if(Errcode)
		log_amx("[HIBA*] HIBAT DOBTAM: %s",Error);
}
public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
		log_amx("%s", Error);
		return;
	}
}
public plugin_end() {
	SQL_FreeHandle(g_SqlTuple);
}
stock get_player_name(id){
	static name[32]
	get_user_name(id,name,31)
	return name
}
stock client_printcolor(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, "!n", "^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;
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
