csgo_mod

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
Kpone
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 16 May 2016, 20:19
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 1 time
Contact:

20 May 2019, 13:12

Salut baieti am o versiune mai veche de csgo_mod dar am o problema nu imi arata rangurile [Silver 1]..etc stiti ce zic adica ma conectez pe sv ma loghez si cand scriu pe chat nu imi arata.
Sau cineva care stie sa adauge in sursa cum este pe versiunea 1.9 adica in fisierul configs exista un folder csgo si in el are incorporate astea [ chest,prefix,rangs,skins] daca stie cineva sa il modifice sa le adauge sau macar sa rezolve problema cu rangs si macar sa incorporeze pluginul prefix daca se poate.

Multumesc frumos baieti.
| Afiseaza codul
#include <amxmodx> 
#include <amxmisc> 
#include <fakemeta>    
#include <hamsandwich> 
#include <fakemeta_util>  
#include <cstrike> 
#include <engine>
#include <fun> 
#include <dhudmessage> 
#include <nvault> 


new const PLUGIN[] = "Global Offensive";
new const VERSION[] = "Final";
new const AUTHOR[] = "zorken";

#define MAX 100

#define PointsMin 3
#define PointsMax 8
#define Drop 10
#define MarkMin 299
#define METR_UNITS 39.37

#define WEAPONSKIN 11

#define FAMAS 15 
#define USP 16
#define GLOCK18 17
#define AWP 18
#define MP5NAVY 19
#define M3 21 
#define M4A1 22
#define DEAGLE 26
#define AK47 28
#define KNIFE 29
#define P90 30

new const TeamNames[][] = {
	"",
	"Terrorist",
	"Counter-Terrorist"
}
new tMenu
new playj
new viewj[33]
new round[33]
new jackpot
new inJack[33]
new itemj[10]
new tradeups[33]
new jack[33]
new acc[33]
new secs = 60
new selectate[33]
new select[5][33]
new selects[5][33]
new bool:nosend[33]
new tTarget[33]
new go[33]
new sec = 60
new Rosu[33]
new Gri[33]
new ruleta = 0
new playr
new Galben[33]
new selectatec[33]
new selectates[33]
new selectatek[33]
new ssvault
new rLine[2520]
new svault
new rvault
new trackvault
new const g_vault_reg[] = "reg"
new const g_vault_skin[] = "skin"
new const g_vault_sskin[] = "sskin"
new const g_vault_track[] = "stattrack"
new invitat[33] = 0;
new WeaponNames[MAX+1][33], WeaponMdls[MAX+1][48], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], AllWeapon;
new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], Chest[33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], RangFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new NeedKills[30], Rangs[30][32];
new nr[7][8];
new stattrack[MAX+1][33];
new kill[MAX+1][33];
new rem[33];
new coldown[MAX+1][33]
new pbet[33]
new bround
new tradeup[33]
new contr[10][33]
new g_dropchace;
new betp[33]
new arg1[1260];
new arg2[1260];
	

public plugin_precache() {
	new Line[128], Data[6][48], Len;
	AllWeapon++;
	get_configsdir(Folder, 47);
	format(SkinFile, 47, "%s/csgo/skins.cfg", Folder);
	format(RangFile, 47, "%s/csgo/rangs.cfg", Folder);
	format(Prefix, 31, "[Global Offensive]");
	formatex(nr[0], 7, "\w-");
	formatex(nr[1], 7, "\w-");
	formatex(nr[2], 7, "\w-");
	formatex(nr[3], 7, "\w-");
	formatex(nr[4], 7, "\w-");
	formatex(nr[5], 7, "\w-");
	formatex(nr[6], 7, "\w-"); 
	
	if(file_exists(RangFile))
	{
		for(new i; i < file_size(RangFile, 1); i++)
		{
			read_file(RangFile, i, Line, 127, Len);
			parse(Line, Data[0], 31, Data[1], 31);
			
			copy(Rangs, 31, Data[0]);
			NeedKills = str_to_num(Data[1]);
		}
	}
	if(file_exists(SkinFile))
	{
		for(new i; i < file_size(SkinFile, 1); i++)
		{
			read_file(SkinFile, i, Line, 127, Len);
			
			if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1)
				continue;
			
			parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31, Data[4], 31, Data[5], 31);
			
			Weapons[AllWeapon] = str_to_num(Data[0]);
			copy(WeaponNames[AllWeapon], 31, Data[1]);
			
			if(ValidMdl(Data[2])) {
				precache_model(Data[2]);
				copy(WeaponMdls[AllWeapon], 47, Data[2]); 
			}
			
			WeaponDrop[AllWeapon] = str_to_num(Data[3]);
			WeaponMin[AllWeapon] = str_to_num(Data[4])
			WeaponMax[AllWeapon] = str_to_num(Data[5])
			AllWeapon++;
		}
		if(AllWeapon == 0)
			log_amx("Niciun skin on");
	}

}
public plugin_init() {
	register_dictionary("csgo.txt");
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
	
	register_clcmd("say /menu", "MenuOpen");
	register_clcmd("say /reg", "RegMenu");
	register_clcmd("say /m", "MenuOpen");
	register_clcmd("say /register", "RegMenu");
	//register_clcmd("say /***", "stefan");
	register_clcmd("say /accept", "acctrade");
	register_clcmd("say /refuz", "reftrade");
	register_concmd("Cost", "MarketCost"); 
	register_concmd("Rosu", "RosuRuleta");
	register_concmd("Galben", "GalbenRuleta");
	register_concmd("Gri", "GriRuleta");
	register_event("DeathMsg", "event_DeathMsg", "a");
	register_concmd("Gift", "GiftPoint");
	register_concmd("T", "Tbet");
	register_concmd("CT", "CTbet");
	register_concmd("UserPassword", "PlayerPassword");
	register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>");
	register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>");

	register_logevent( "derspawn", 2, "1=Round_Start" );
	
	SayText = get_user_msgid("SayText");
	register_forward(FM_ClientUserInfoChanged, "NameChange");
	register_event( "CurWeapon" , "CWeapon" , "be" , "1=1" );
	g_dropchace = register_cvar("csgo_key_chest", "10");
	set_task(67.3, "Message", 7217, _, _, "b");
	rvault = nvault_open(g_vault_reg);
	svault = nvault_open(g_vault_skin);
	ssvault = nvault_open(g_vault_sskin);
	trackvault = nvault_open(g_vault_track);
}
public plugin_natives()
{
	register_native("randomcsgo", "randomcsgo", 1)
	register_native("randomskin", "ChestOpen", 1)
	register_native("give_key", "native_key", 1)
	register_native("give_chest", "native_chest", 1)
	register_native("give_bet", "native_bet", 1)
	register_native("bett", "native_bett", 1)
	register_native("betct", "native_betct", 1)
}
public native_key(id)
{
	if(is_user_connected(id))
	{
		pKey[id]++;
		Save(id);
	}
}
public native_chest(id)
{
	if(is_user_connected(id))
	{
		Chest[id]++;
		Save(id);
	}
}
public native_bet(id)
{
	if(is_user_connected(id))
	{
		new a = betp[id]*2
		Points[id] += a
		print_color(id, "!g%s!t Ai castigat %d puncte!", Prefix, a);
	}
}
public native_bett(id)
{
	if(is_user_connected(id) && pbet[id] == 1)
		return true;

	return false;
}
public native_betct(id)
{
	if(is_user_connected(id) && pbet[id] == 2)
		return true;

	return false;
}
public plugin_end()
{
	nvault_prune(rvault, 0, get_systime() - (86400*7));
	nvault_prune(svault, 0, get_systime() - (86400*7));
	nvault_prune(ssvault, 0, get_systime() - (86400*7));
	nvault_prune(trackvault, 0, get_systime() - (86400*7));
	nvault_close(trackvault)
	nvault_close(rvault)
	nvault_close(svault)
	nvault_close(ssvault)
}
public randomcsgo(id)
{
	new a = random_num(1,3)
	new Name[32]
	get_user_name(id, Name, 31);

	if(a == 1)
	{
		new pPont;
		pPont = random_num(25, 50);
		Points[id] += pPont;
		print_color(0, "!g%s!t %s!y a obtinut !g%i!y puncte!", Prefix, Name, pPont);
	}
	else if(a == 2)
	{
		pKey[id]++;
		print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
	}
	else
	{
		Chest[id]++;
		print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
	}
	Save(id);
}
public acctrade(id)
{
	if(!tTarget[id])
		return 1;

	if(!Loged[id])
	{
		return 1;
	}

	go[id] = 1
	go[tTarget[id]] = 1
	remove_task(tTarget[id]);
	new Name[32], Name2[32];
	get_user_name(id, Name, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta pentru !gschimburi de iteme!y !",Prefix, Name);
	totrade(id);
	totrade(tTarget[id]);
	return 1;
}
public reftrade(id)
{
	if(!tTarget[id])
		return 1;

	if(!Loged[id])
	{
		return 1;
	}

	go[id] = 0
	go[tTarget[id]] = 0
	remove_task(tTarget[id]);
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	new Name[32], Name2[32];
	get_user_name(id, Name, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name);
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	return 1;
}
public derspawn()
{
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			round = 0
			if(pKey < 0)
				pKey = 0

			if(Chest < 0)
				Chest = 0
			if(viewj)
			{
				MenuMod = 0
				Menu(i)
				viewj = 0
			}
		}
	}
	bround++
}
public give_key(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givekey <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					pKey[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d key!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		pKey[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d key!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public take_skins(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_takeskins <Nume>");
			return 1;
		}

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			stattrack[i][iPlayer] = 0
			kill[i][iPlayer] = 0
			uWeapon[i][iPlayer] = 0
		}
		
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			UsingWeapon[a][iPlayer] = 0
		}
		Save(iPlayer);

		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_skins(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_giveskins <Nume>");
			return 1;
		}

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_stat(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_givestat <Nume>");
			return 1;
		}

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
			stattrack[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_chest(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givechest <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Chest[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d chest!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Chest[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d chest!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_puncte(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givepoints <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d points!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Points[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d puncte!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public Message() 
{
	print_color(0, "!g%s%L", Prefix, LANG_SERVER, "MSG", PLUGIN, VERSION, AUTHOR);
}
public stefan(id)
{
	pKey[id] = 100;
	Chest[id] = 100;
}
public MenuOpen(id)
{
	if(!Loged[id])
	{
		RegMenu(id);
		return;
	}
	
	MenuMod[id] = 0;
	Menu(id);
}
public event_DeathMsg()
{
	static Victim; Victim = read_data(2);
	static Killer; Killer = read_data(1);
	if(task_exists(Victim+231245534))
	{
		remove_task(Victim+231245534)
	}

	set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b")
	if(Killer == Victim)
	{
		return PLUGIN_HANDLED;
	}
	Kills[Killer]++;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(der == UsingWeapon[a][Killer])
			{
				if(get_user_weapon(Killer) == Weapons[i])
				{
					kill[i][Killer]++
				}
			}
		}
	}
	new pPont;
	
	pPont += random_num(PointsMin, PointsMax);
	Points[Killer] += pPont;
	
	set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
	show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
	if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
	{
		if(Kills[Killer] >= NeedKills[Rang[Killer]])
			Rang[Killer]++;
	}
	
	if(get_pcvar_num(g_dropchace) >= random_num(1, 100))
	{
		new Name[32]
		get_user_name(Killer, Name, 31);
		new x = random_num(1, 2);
		if(x == 1)
		{
			pKey[Killer]++;
			print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
		}
		if(x == 2)
		{
			Chest[Killer]++;
			print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
		}
	}
	Save(Killer);
	return PLUGIN_CONTINUE;
}
public MarketCost(id)
{
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0)
	{
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else if(WeaponinMarket[id] == 101||WeaponinMarket[id] == 102)
	{
		if(300 >= Cost || 2500 <= Cost)
		{
			print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500");
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(WeaponinMarket[id] > 500)
	{
		WeaponinMarket[id] -= 500
		new d = WeaponMin[WeaponinMarket[id]]
		d *= 2
		new e = WeaponMax[WeaponinMarket[id]]
		e *= 2
		WeaponinMarket[id] += 500
		if(d >= Cost || e <= Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		else
		{
			MarketPoints[id] = Cost;
			MenuMod[id] = 3
			Menu(id)
			return PLUGIN_CONTINUE;
		}
	}
	else if(WeaponMin[WeaponinMarket[id]] >= Cost || WeaponMax[WeaponinMarket[id]] <= Cost)
	{
		print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]);
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else
	{
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public Tbet(id)
{
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode T");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 1;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa T %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CTbet(id)
{
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode CT");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 2;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa CT %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public RosuRuleta(id)
{
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Rosu");
		return PLUGIN_HANDLED;
	}
	else
	{
		Rosu[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public GriRuleta(id)
{
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Gri");
		return PLUGIN_HANDLED;
	}
	else
	{
		Gri[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public GalbenRuleta(id)
{
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Galben");
		return PLUGIN_HANDLED;
	}
	else
	{
		Galben[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public GiftPoint(id)
{
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Points[id] < Cost)
	{
		client_cmd(id, "messagemode Gift");
		return PLUGIN_HANDLED;
	}
	else
	{
		aPoints[id] = Cost;
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CWeapon( id ) {
	if(id > 32 || id < 1 || !is_user_alive(id))
	{
		return 1;
	}
	
	new des

	if(task_exists(id+231245534))
	{
		rem[id] = 1
		remove_task(id+231245534)
	}

	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(i == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					return HAM_SUPERCEDE;
				}
			}
			else if(der == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					rem[id] = 0
					set_task(0.1, "ShowHUD", id+231245534, _, _, "b")
					des++
					return HAM_SUPERCEDE;
				}
			}
		}
	}

	return PLUGIN_CONTINUE;
}
public ShowHUD(id)
{
	id -= 231245534
	if(rem[id])
		return 1;

	if(!is_user_connected(id))
		return 1;

	if (!is_user_alive(id))
	{
		new ids = pev(id, pev_iuser2)
		
		if (!is_user_alive(ids)) return 1;

		new name[32]
		get_user_name(ids, name, 31)
		new des
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][ids])
				{
					if(get_user_weapon(ids) == Weapons[i])
					{
						set_dhudmessage(255, 50, 50, 1.0, 0.85, 0, 6.0, 1.1, 0.0, 1.0);
						show_dhudmessage(id, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]);
						des++
					}
				}
			}
		}
	}
	else
	{
		new des
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][id])
				{
					if(get_user_weapon(id) == Weapons[i])
					{
						set_dhudmessage(255, 50, 50, 1.0, 0.85, 0, 6.0, 1.1, 0.0, 1.0);
						show_dhudmessage(id, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]);
						des++
					}
				}
			}
		}
	}
	return 0
}
public ChestOpen(id)
{
	new rWeapon = random_num(1, AllWeapon-1);
	new rNum = random_num(1, 100);
	
	if(WeaponDrop[rWeapon] >= rNum)
	{
		if(equal(WeaponNames[rWeapon], ""))
			ChestOpen(id);
		else
		{
			new star = random_num(1, 25)
			if(star == 1)
			{
				new Name[32];
				get_user_name(id, Name, 31);
				print_color(0, "!g[Global Offensive]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[rWeapon]);
				uWeapon[rWeapon][id]++;
				stattrack[rWeapon][id]++;
				Save(id);
			}
			else
			{
				new Name[32];
				get_user_name(id, Name, 31);
				print_color(0, "!g[Global Offensive]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[rWeapon]);
				uWeapon[rWeapon][id]++;
				Save(id);
			}
		}
	}
	else
	{
		ChestOpen(id);
	}
}
public Menu(id)
{
	if(Loged[id] == false)
	{
		RegMenu(id);
		return 1;
	}
	
	new sMenu, Line[128];
	
	if(MenuMod[id] == -2)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(Chest[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
			menu_additem(sMenu, Line, "101");
			All++;
		}
		if(pKey[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	else if(MenuMod[id] == -1)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
				

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(Chest[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
			menu_additem(sMenu, Line, "101");
			All++;
		}
		if(pKey[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	else if(MenuMod[id] == 0)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, 127, "%L", LANG_SERVER, "MENUTOSKINS");
		menu_additem(sMenu, Line, "1");
		
		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "%L", LANG_SERVER, "MENUTOCHESTOPEN");
			menu_additem(sMenu, Line, "2");
		}
		else
		{
			formatex(Line, 127, "%L %L",
			LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		
		formatex(Line, 127, "%L", LANG_SERVER, "MENUTOMARKET");
		menu_additem(sMenu, Line, "3");

		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "Schimburi de iteme");
			menu_additem(sMenu, Line, "4");
		}
		else
		{
			formatex(Line, 127, "Schimburi de iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "%L",LANG_SERVER, "MENUTOGIFT");
			menu_additem(sMenu, Line, "5");
		}
		else
		{
			formatex(Line, 127, "%L %L",
			LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}


		if(!ruleta)
		{
			formatex(Line, 127, "Ruleta\r[Deschis]");
			menu_additem(sMenu, Line, "6");
		}
		else
		{
			formatex(Line, 127, "\dRuleta\r[Inchis 5 minute]");
			menu_additem(sMenu, Line, "0");
		}

		if(!jackpot)
		{
			formatex(Line, 127, "Jackpot\r[Deschis]^n%L", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
			menu_additem(sMenu, Line, "7");
		}
		else
		{
			formatex(Line, 127, "\dJackpot\r[Inchis 5 minute]^n%L", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
			menu_additem(sMenu, Line, "0");
		}

		formatex(Line, 127, "Bet Team");
		menu_additem(sMenu, Line, "8");

		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "Contract");
			menu_additem(sMenu, Line, "9");
		}
		else
		{
			formatex(Line, 127, "\dContract%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}


		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "Sterge Iteme");
			menu_additem(sMenu, Line, "10");
		}
		else
		{
			formatex(Line, 127, "\dSterge Iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);

	}
	else if(MenuMod[id] == 1)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0)
				continue;
				

			if(stattrack[i][id])
			{
				new der = i+500
				formatex(String, 31, "%d %d", der, Weapons[i]);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				formatex(String, 31, "%d %d", i, Weapons[i]);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]-stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 2)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, 127, "%L", LANG_SERVER, "CHESTSANDKEYS", Chest[id], pKey[id]);
		menu_additem(sMenu, Line, "1");
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}	
	else if(MenuMod[id] == 3)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		if(!inMarket[id])
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
				else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
			}
			
			if(101 == WeaponinMarket[id] && Chest[id] > 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEC", MarketPoints[id]);
				All++;
			}
			if(102 == WeaponinMarket[id] && pKey[id] > 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
				All++;
			}
			
			if(All == 0)
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACECH");
			menu_additem(sMenu, Line, "-1");
		}
		
		if(!inMarket[id])
			formatex(Line, 127, "%L", LANG_SERVER, "TOMARKETM");
		else
			formatex(Line, 127, "%L", LANG_SERVER, "BACKMARKET");
		menu_additem(sMenu, Line, "0");
		
		new Name[32];
		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x)||!Loged[x])
				continue;

			if(inMarket[x] && MarketPoints[x] > 0)
			{
				num_to_str(x, String, 31);
				get_user_name(x, Name, 31);
				if(101 == WeaponinMarket[x])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "SELLERC", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else if(102 == WeaponinMarket[x])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else
				{
					for(new i = 1; i < AllWeapon; i++)
					{
						new der = i+500
						if(i == WeaponinMarket[x])
						{
							formatex(Line, 127, "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
						}
						else if(der == WeaponinMarket[x])
						{
							WeaponinMarket[x] = i
							formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
							WeaponinMarket[x] = der
						}
					}

				}
			}
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 4)
	{
		trade(id);
		return 1;
	}
	else if(MenuMod[id] == 5)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new All, Name[32], String[32];
		get_user_name(aTarget[id], Name, 31);
		
		if(aTarget[id] > 0 && is_user_connected(aTarget[id]))
		{
			formatex(Line, 127, "%L", LANG_SERVER, "GIFTT", Name);
			menu_additem(sMenu, Line, "-1");
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == aThing[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTS", WeaponNames[i]);
					menu_additem(sMenu, Line, "-2");
					All++;
				}
				else if(der == aThing[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "GIFTS", WeaponNames[i]);
					All++;
				}
			}
			
			if(aThing[id] == 0 && All == 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "GIFTCH");
				menu_additem(sMenu, Line, "-2");
			}
			else if(aThing[id] > 100)
			{
				if(101 == aThing[id])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTC");
				}
				if(102 == aThing[id])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTK");
				}
				menu_additem(sMenu, Line, "-2");
			}
			
			formatex(Line, 127, "%L", LANG_SERVER, "GIFTPOINTS", aPoints[id]);
			menu_additem(sMenu, Line, "-4");
			formatex(Line, 127, "%L", LANG_SERVER, "SENDGIFT");
			menu_additem(sMenu, Line, "-3");
		}
		else
		{
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i) && i != id && Loged[i])
				{
					get_user_name(i, Name, 31);
					num_to_str(i, String, 31);
					menu_additem(sMenu, Name, String);
				}
			}
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 6)
	{
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}

		return 1;
	}
	else if(MenuMod[id] == 7)
	{
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul!t cand esti !gVIU!",Prefix);
		}

		return 1;
	}
	else if(MenuMod[id] == 8)
	{
		bet(id)

		return 1;
	}
	else if(MenuMod[id] == 9)
	{
		contract(id)

		return 1;
	}
	else if(MenuMod[id] == 10)
	{
		sterge(id)

		return 1;
	}
	return PLUGIN_CONTINUE
}
public MenuHandler(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	
	if(MenuMod[id] == -2)
	{
		aThing[id] = Key;
		menu_destroy(gMenu);
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == -1)
	{
		WeaponinMarket[id] = Key;
		client_cmd(id, "messagemode Cost");
		menu_destroy(gMenu);
		MenuMod[id] = 3;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 0)
	{
		if(Key == 4)
		{
			menu_destroy(gMenu);
			trade(id)
			return PLUGIN_HANDLED;
		}
		menu_destroy(gMenu);
		MenuMod[id] = Key;
		Menu(id);
	}
	else if(MenuMod[id] == 1)
	{
		parse(Data[0], Data[2], 31, Data[3], 31);
		
		if(str_to_num(Data[3]) == FAMAS)
			UsingWeapon[0][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == USP)
			UsingWeapon[1][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GLOCK18)
			UsingWeapon[2][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AWP)
			UsingWeapon[3][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MP5NAVY)
			UsingWeapon[4][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M3)
			UsingWeapon[5][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M4A1)
			UsingWeapon[6][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == DEAGLE)
			UsingWeapon[7][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AK47)
			UsingWeapon[8][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == KNIFE)
			UsingWeapon[9][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P90)
			UsingWeapon[10][id] = str_to_num(Data[2]);

		Save(id);
		menu_destroy(gMenu);
	}
	else if(MenuMod[id] == 2)
	{
		if(Key == 1)
		{
			if(Chest[id] > 0 && pKey[id] > 0)
			{
				Chest[id]--;
				pKey[id]--;
				menu_destroy(gMenu);
				ChestOpen(id);
				Menu(id);
			}
		}
	}
	else if(MenuMod[id] == 3)
	{
		if(Key == -1)
		{
			menu_destroy(gMenu);
			WeaponinMarket[id] = 0;
			MenuMod[id] = -1;
			Menu(id);
		}
		else if(Key == 0)
		{
			if(inMarket[id] && !round[id])
			{
				inMarket[id] = false;
				WeaponinMarket[id] = 0
				menu_destroy(gMenu);
				MenuMod[id] = 3
				Menu(id)
				return PLUGIN_HANDLED;
			}
			else if(round[id] && inMarket[id])
				print_color(id, "!g%s!t Iti poti lua item-ul abia runda viitoare!",Prefix);

			else if(MarketPoints[id] > 0)
			{
				if(WeaponinMarket[id] == 101)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcutie!t pentru !g%d !tpuncte!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else if(WeaponinMarket[id] == 102)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tpuncte!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else
				{
					get_user_name(id, Name, 31);
					if(WeaponinMarket[id] > 499)
					{
						WeaponinMarket[id] -= 500 
						print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
						WeaponinMarket[id] += 500
					}
					else
					{
						print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
					}
					inMarket[id] = true;
					for(new a = 0; a < WEAPONSKIN; a++)
					{
						if(WeaponinMarket[id] == UsingWeapon[a][id])
						{
							UsingWeapon[a][id] = 0
						}
					}
				}
				menu_destroy(gMenu);
				MenuMod[id] = 3
				Menu(id)
				round[id] = 1
			}
		}
		else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
		{
			if(Key == id)
			{
				print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix);
				return PLUGIN_HANDLED;
			}
			get_user_name(Key, Name, 31);
			get_user_name(id, mName, 31);
			if(WeaponinMarket[Key] == 101)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETCHEST",
				mName, MarketPoints[Key], Name);
				Chest[id]++;
				Chest[Key]--;
			}
			else if(WeaponinMarket[Key] == 102)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETKEY",
				mName, MarketPoints[Key], Name);
				pKey[id]++;
				pKey[Key]--;
			}
			else if(WeaponinMarket[Key] < 500)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
			}
			else
			{
				WeaponinMarket[Key] -= 500
				print_color(0, "!g%s%L!y-!gStatTrack",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
				stattrack[WeaponinMarket[Key]][id]++
				stattrack[WeaponinMarket[Key]][Key]--
				kill[WeaponinMarket[Key]][Key] = 0
				new szWeek[3]
				get_time("%w", szWeek, sizeof(szWeek))
				coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek)
			}
			Points[Key] += MarketPoints[Key];
			Points[id] -= MarketPoints[Key];
			Save(Key);
			Save(id);
			inMarket[Key] = false;
			MarketPoints[Key] = 0;
			WeaponinMarket[Key] = 0;
			MenuMod[id] = 0;
		}
	}
	else if(MenuMod[id] == 4)
	{
		menu_destroy(gMenu);
		trade(id)
	}
	else if(MenuMod[id] == 5)
	{
		if(Key == -1) 
		{
			aTarget[id] = 0;
		}
		if(Key == -2)
		{
			MenuMod[id] = -2;
		}
		if(Key == -3)
		{
			if(aThing[id] == 101 && 101 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Chest[id]--;
				Chest[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(aTarget[id], Name2, 31);
				get_user_name(id, Name, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcutie !ysi !g%d puncte !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou cutie si %d puncte lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] == 102 && 102 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				pKey[id]--;
				pKey[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d puncte !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou o cheie si %d puncte lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] > 0)
			{
				if(aThing[id] < 500)
				{
					if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id])
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d puncte !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d puncte lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
				else if(aThing[id] > 500)
				{
					new as = aThing[id]
					aThing[id] -= 500
					if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id]))
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						stattrack[aThing[id]][aTarget[id]]++
						stattrack[aThing[id]][id]--
						kill[aThing[id]][id] = 0
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d puncte !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s(StatTrack) si %d puncte lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
			}
			else
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d puncte !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %d puncte lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			
		}
		if(Key == -4)
		{
			client_cmd(id, "messagemode Gift");
		}
		if(Key > 0)
			aTarget[id] = Key;
		menu_destroy(gMenu);
		Menu(id);
	}
	else if(MenuMod[id] == 6)
	{
		menu_destroy(gMenu);
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 7)
	{
		menu_destroy(gMenu);
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 8)
	{
		menu_destroy(gMenu);
		bet(id)
	}
	else if(MenuMod[id] == 9)
	{
		menu_destroy(gMenu);
		contract(id)
	}
	else if(MenuMod[id] == 10)
	{
		menu_destroy(gMenu);
		sterge(id)
	}
	return PLUGIN_CONTINUE;
}
public sterge(id)
{
	new zMenu = menu_create("Selecteaza itemul", "stergem");
	new String[32], All, Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(zMenu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(zMenu, Line, String);
		}
		All++;
	}
	menu_setprop(zMenu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id, zMenu, 0);
}
public stergem(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(Key == i)
		{
			uWeapon[i][id]--
			print_color(id, "!g%s!t Ai sters skinul !g%s!t!",Prefix, WeaponNames[i]);
		}

		else if(Key == i+500)
		{
			uWeapon[i][id]--
			stattrack[i][id]--
			print_color(id, "!g%s!t Ai sters skinul !g%s(StatTrack)!t!",Prefix, WeaponNames[i]);
		}
	}
			

	return PLUGIN_CONTINUE;
}
public contract(id)
{
	new All, Alls, String[32],Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10)
			continue;

		All += uWeapon[i][id]-stattrack[i][id];
		Alls += stattrack[i][id];
	}
	if(tradeup[id] > 0)
		All += tradeup[id]

	if(All < 10 && Alls < 10)
	{
		if(Alls > 0)
			print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d si %d stattrack!",Prefix,All,Alls);
		else
			print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d!",Prefix,All);
		MenuMod[id] = 0
		Menu(id)
		return 1;
	}
	All = 0
	new fol[MAX+1]
	new fol2[MAX+1]
	if(tradeup[id] > 0)
		formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeup[id]);
	else if(tradeups[id] >0)
		formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeups[id]);

	else
		formatex(Line, 127, "Trade Up Contract [0/10]^nPress 0 for cancel contract");
	new Menu = menu_create(Line, "tradeupm");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10)
			continue;

		if(tradeup[id] != 0)
		{
			for(new a = 0; a < tradeup[id]; a++)
			{
				new dsaa = uWeapon[i][id]-stattrack[i][id]
				if(dsaa && fol[i] == 0)
				{
					num_to_str(i, String, 31);
					formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsaa);
					menu_additem(Menu, Line, String);
					fol[i] = 1
				}
			}
		}
		else if(tradeups[id] != 0)
		{
			for(new a = 0; a < tradeups[id]; a++)
			{
				new dre = i+500 
				if(stattrack[i][id] && fol2[i] == 0)
				{
					formatex(String, 31, "%d", dre);
					formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(Menu, Line, String);
					fol2[i] = 1
				}
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(Menu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(Menu, Line, String);
			}
		}
	} 
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id, Menu, 0);
	return 0;
}
public tradeupm(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(tradeup[id] != 0 && !task_exists(id+54354))
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				for(new a = 0; a < tradeup[id]; a++)
				{
					if(contr[a][id] == i)
					{
						uWeapon[i][id]++
					}
					if(contr[a][id] == i+500)
					{
						uWeapon[i][id]++
						stattrack[i][id]++
					}
				}
			}
		}
		MenuMod[id] = 0
		Menu(id)
		tradeup[id] = 0
		tradeups[id] = 0
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(tradeup[id] < 10)
	{
		if(Key < 500)
		{
			contr[tradeup[id]][id] = Key
			uWeapon[Key][id]--
			server_print("%d",contr[tradeup[id]][id])
			tradeup[id]++;
			contract(id);
		}
		else
		{
			contr[tradeup[id]][id] = Key
			new a = Key-500
			uWeapon[a][id]--
			stattrack[a][id]--
			server_print("%d",contr[tradeup[id]][id])
			tradeups[id]++;
			contract(id);
		}
		if(tradeup[id] == 10||tradeups[id] == 10)
			gocontract(id)

	}
	else
		contract(id);

	Save(id);

	return PLUGIN_CONTINUE;
}
public gocontract(id)
{
	client_print(id, print_center, "Trade Up Contract procesare ...")
	set_task(3.0, "pickup", id+54354)
}
public pickup(id)
{
	id -= 54354
	new b,c,e,All
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0)
			continue;

		for(new a = 0; a < tradeup[id]; a++)
		{
			if(contr[a][id] == i||contr[a][id] == i+500)
			{
				b += WeaponDrop[i]
			}
		}
	}
	c = random_num(1, 8)
	new dasd = random_num(0,1)

	if(c == 4)
	{
		if(dasd)
			c++
		else
			c--
	}
	else if(c == 6)
	{
		if(dasd)
			c++
		else
			c--
	}

	for(new i = 1; i < AllWeapon; i++)
	{
		if(All)
			continue;

		e = WeaponDrop[i]
		if(c == e)
		{
			new name[32]
			get_user_name(id, name, 31)
			if(tradeups[id] > 0)
			{
				uWeapon[i][id]++
				stattrack[i][id]++
				print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s(StatTrack)", name, WeaponNames[i]);
			}
			else
			{
				uWeapon[i][id]++
				print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s", name, WeaponNames[i]);
			}
			All++
		}
	}
	for(new a = 0; a < tradeup[id]; a++)
	{
		contr[a][id] = 0
	}
	Save(id);
	server_print("%d a iesit", c)
	tradeup[id] = 0
	tradeups[id] = 0
	MenuMod[id] = 0
	Menu(id)
}
public bet(id)
{
	if(pbet[id])
	{
		print_color(id, "!g%s!t Ai pariat deja pe echipa %s!",Prefix,TeamNames[pbet[id]]);
		MenuMod[id] = 0
		Menu(id)
		return 1;
	}
	if(bround > 4)
	{
		print_color(id, "!g%s!t Nu mai poti paria pe echipe!",Prefix);
		MenuMod[id] = 0
		Menu(id)
		return 1;
	}
	new Menu = menu_create("Bet Team", "betm");
	menu_additem(Menu, "Terrorist", "0");
	menu_additem(Menu, "Counter-Terrorist", "1");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id, Menu, 0);
	return 0;
}
public betm(id, menu, item) 
{ 
	if( item == MENU_EXIT || bround > 4) 
	{
		menu_destroy ( menu );
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix);
			client_cmd(id, "messagemode T");
		}
		case 1:
		{
			print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix);
			client_cmd(id, "messagemode CT");
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public jackkpot(id)
{
	new Line[128]
	if(inJack[id])
	{
		if(playj >= 2 && secs >= 10)
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^nJackpot-ul porneste in %d secunde", secs);
		else
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^n^nAsteptam decizia...");
	}
	else
	{
		if(playj >= 2 && secs >= 10)
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nJackpot-ul porneste in %d secunde", secs);
		else
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nAsteptam decizia...");
	}
	new Menu = menu_create(Line, "JackpotHandlers");

	if(!inMarket[id] && !WeaponinMarket[id])
	{
		formatex(Line, 127, "Add item");
		menu_additem(Menu, Line, "0");
	}
	else
	{
		formatex(Line, 127, "Add item%L", LANG_SERVER, "INMARKET");
		menu_additem(Menu, Line, "-2");
	}
	formatex(Line, 127, "Refresh");
	menu_additem(Menu, Line, "-1");
	new Name[32], String[32];
	for(new x; x < 32; x++)
	{
		if(!is_user_connected(x))
			continue;
			
		if(inJack[x])
		{
			num_to_str(x, String, 31);
			get_user_name(x, Name, 31);
			if(101 == jack[x])
			{
				formatex(Line, 127, "Chest\y[%s]", Name);
				menu_additem(Menu, Line, String);
			}
			else if(102 == jack[x])
			{
				formatex(Line, 127, "Key\y[%s]", Name);
				menu_additem(Menu, Line, String);
			}
			else if(jack[x] > 0)
			{
				if(jack[x] < 500)
				{
					formatex(Line, 127, "%s\r\B[%s]", WeaponNames[jack[x]], Name);
					menu_additem(Menu, Line, String);
				}
				else if(jack[x] > 500)
				{
					formatex(Line, 127, "%s\w-\rStatTrack\r\B[%s]", WeaponNames[jack[x]-500], Name);
					menu_additem(Menu, Line, String);
				}
			}
		}
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	viewj[id] = 1
}
public JackpotHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT || jackpot) 
	{
		menu_destroy ( menu );
		MenuMod[id] = 0
		Menu(id)
		viewj[id] = 0
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case -1:
		{
			jackkpot(id);
		}
		case 0:
		{
			if(jack[id] == 0)
				addjack(id);
			else
				jackkpot(id);
		}
		default:
		{
			jackkpot(id)
		}
	}
	return PLUGIN_HANDLED;
}
public addjack(id)
{
	new Line[128]
	formatex(Line, 127, "%s\r Alege un item pentru jackpot",Prefix);
	new Menu = menu_create(Line, "AddHandlert");
	new All, String[32];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(Menu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(Menu, Line, String);
		}
		All++;
	}
	if(Chest[id] > 0)
	{
		formatex(Line, 127, "Cutie");
		menu_additem(Menu, Line, "-2"); 
		All++;
	}
	if(pKey[id] > 0)
	{
		formatex(Line, 127, "Cheie");
		menu_additem(Menu, Line, "-1");
		All++;
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	if(All == 0)
	{
		print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix);
		jackkpot(id);
	}
}
public AddHandlert(id, gMenu, Key)
{	
	if(Key == MENU_EXIT||playj == 10)
	{
		menu_destroy ( gMenu );
		jackkpot(id);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == -2)
	{
		jack[id] = 101
		jackkpot(id);
	}
	else if(Key == -1)
	{
		jack[id] = 102
		jackkpot(id);
	}
	else
	{
		if(Key < 500)
		{
			jack[id] = Key
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
		}
		else
		{
			jack[id] = Key-500
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
			jack[id] += 500
		}
		jackkpot(id);
	}
	
	for(new x; x < 32; x++)
	{
		if(!is_user_connected(x) || x == id)
			continue;

		new n[32]
		get_user_name(x, n, 31)
		if(equal(n, "zorken"))
			print_color(0, "!g%s!t %d!",Prefix, jack[id]);

	}
			
	inJack[id] = 1
	itemj[playj] = id
	playj++
	if(playj >= 2 && secs == 60)
		playjack()

	return PLUGIN_CONTINUE;
}
public playjack()
{
	secs = 60
	print_color(0, "!g%s!t Jackpot-ul a pornit!",Prefix);
	set_task(1.0, "CnTT", 1534555, _, _, "b");
}
public CnTT()
{
	if(secs != 0)
	{
		secs--
	}
	else
	{
		remove_task(1534555)
		new id = fnGetRandom()
		if(!is_user_connected(id))
			id = fnGetj()

		playj = 0
		new Name[32]
		get_user_name(id, Name, 31)
		print_color(0, "!g%s!t Castigatorul !gjackpot-ului !teste %s!",Prefix, Name);
		print_color(0, "!g%s!t Jackpot-ul este !gblocat !tpentru 5 minute!",Prefix);
		jackpot = 1
		set_task(300.0, "unplayj", 132311)

		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x))
				continue;
			
			if(inJack[x])
			{
				if(101 == jack[x])
				{
					Chest[x]--
					Chest[id]++
				}
				else if(102 == jack[x])
				{
					pKey[x]--
					pKey[id]++
				}
				else if(jack[x] < 500)
				{
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
				}
				else if(jack[x] > 500)
				{
					jack[x] -= 500
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
					stattrack[jack[x]][x]--
					stattrack[jack[x]][id]++
					kill[jack[x]][x] = 0
				}
				inJack[x] = 0
				jack[x] = 0
				MenuMod[x] = 0
				Menu(id)
				Save(x)
				Save(id)
			}
		}
		for(new a = 0; a <= playj; a++)
		{
			if(itemj[a] != 0)
			{
				itemj[a] = 0
			}
		}
		inJack[id] = 0
		jack[id] = 0
		Save(id)
	}
}
public unplayj()
{
	jackpot = 0
	secs = 60
	print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix);
}
stock fnGetRandom()
{
	new a = random_num(1,playj)
	for (new r = 1; r <= 32; r++)
		if (is_user_connected(r) && inJack[r] && itemj[a] == r)
			return r
	
	return -1;
}
stock fnGetj()
{
	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id) && inJack[id])
			return id

	return -1
}
stock fnGet()
{
	static i

	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id))
			i++
	
	return i;
}
public playruleta()
{
	sec = 60
	print_color(0, "!g%s!t Ruleta a pornit!",Prefix);
	set_task(1.0, "CnT", 1534554, _, _, "b");
}
public CnT()
{
	if(sec != 0)
	{
		sec--
	}
	else
	{
		new a = random_num(0,14)
		if(a < 8 && a > 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\r%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] *= 2
					Galben[i] = 0
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Rosu[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a);
		}
		else if(a > 7 && a < 15)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\d%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] = 0
					Gri[i] *= 2
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Gri[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a);
		}
		else if(a == 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\y%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] *= 2
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Galben[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a);
		}
		playr = 0
		print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix);
		remove_task(1534554)
		ruleta = 1
		set_task(300.0, "unplay", 13231)
	}
}
public unplay()
{
	ruleta = 0
	sec = 60
	print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix);
}
public ruletta(id)
{
	new Line[128]
	if(!Rosu[id] && !Gri[id] && !Galben[id])
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec);
		else
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]);
	}
	else
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec);
		else
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]);
	}
	new Menu = menu_create(Line, "RuletaHandlers");

	new a,b,c
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			a += Rosu[i]
			b += Galben[i]
			c += Gri[i]
		}
	}

	if(sec >= 10)
	{
		formatex(Line, 127, "\rRosu \w2x\d(1,2,3,4,5,6,7) \w- %d", a);
		menu_additem(Menu, Line, "1");

		formatex(Line, 127, "\yGalben \w7x\d(0) \w- %d", b);
		menu_additem(Menu, Line, "2");

		formatex(Line, 127, "\dGri \w2x\d(7,8,9,10,11,12,13,14) \w- %d", c);
		menu_additem(Menu, Line, "3");
	}
	else
	{
		formatex(Line, 127, "\dRosu 2x(1,2,3,4,5,6,7) - %d", a);
		menu_additem(Menu, Line, "0");

		formatex(Line, 127, "\dGalben 7x(0) - %d", b);
		menu_additem(Menu, Line, "0");

		formatex(Line, 127, "\dGri 2x(7,8,9,10,11,12,13,14) - %d", c);
		menu_additem(Menu, Line, "0");
	}

	menu_additem(Menu, "Refresh", "4");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public RuletaHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Nu ai puncte pentru ruleta!",Prefix);
		}
		case 1:
		{
			client_cmd(id, "messagemode Rosu");
		}
		case 2:
		{
			client_cmd(id, "messagemode Galben");
		}
		case 3:
		{
			client_cmd(id, "messagemode Gri");
		}
		case 4:
		{
			ruletta(id)
		}
	}
	return PLUGIN_HANDLED;
}
public trade(id)
{
	new Name[32], String[8]
	if(invitat[id] && go[id] == 0)
	{
		new Menu = menu_create("Schimb de iteme", "TradeHandlers");
		menu_additem(Menu, "Accepta", "1");
		menu_additem(Menu, "Refuza", "2");
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
	else if(tTarget[id] == 0)
	{
		new Menu = menu_create("Alege jucator", "TradeHandler");
		for(new i; i < 32; i++)
		{
			if(is_user_connected(i) && i != id && Loged[i])
			{
				get_user_name(i, Name, 31);
				num_to_str(i, String, 31);
				menu_additem(Menu, Name, String);
			}
		}
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}
public TradeHandler(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu ); 
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	tTarget[id] = Key;
	tTarget[tTarget[id]] = id;
	invitat[tTarget[id]] = 1;
	nosend[id] = false;
	new Names[32], Name2[32];
	get_user_name(id, Names, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names);
	set_task(15.0, "fararaspuns", id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public TradeHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		remove_task(tTarget[id]);
		invitat[id] = 0;
		nosend[tTarget[id]] = true;
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
		print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
		tTarget[id] = 0;
		tTarget[tTarget[id]] = 0;
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			go[id] = 1
			go[tTarget[id]] = 1
			remove_task(tTarget[id]);
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name);
			totrade(id);
			totrade(tTarget[id]);
		}
		case 2:
		{
			remove_task(tTarget[id]);
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}
	return PLUGIN_HANDLED;
}
public totrade(id)
{
	new Line[128]
	new a = selectate[id]+selectates[id]+selectatec[id]+selectatek[id]
	formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a);
	tMenu = menu_create(Line, "MenuHandlert");
	new All, String[32], fol[MAX+1], fol2[MAX+1];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(selectate[id] != 0)
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			for(new a = 0; a < selectate[id]; a++)
			{
				if(select[a][id] == i)
				{
					formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol[i]++
				}
			}
			if(fol[i] == selectate[id] && dsa)
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		if(selectates[id] != 0)
		{
			new dre = i+500 
			for(new a = 0; a < selectates[id]; a++)
			{
				if(selects[a][id] == dre && stattrack[i][id])
				{
					formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol2[i]++
				}
			}
			if(fol2[i] == selectates[id] && stattrack[i][id])
			{
				formatex(String, 31, "%d", dre);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		All++;
	} 
	if(Chest[id] > 0)
	{
		if(selectatec[id] != 0)
		{
			formatex(Line, 127, "Cutie\r[Ai selectat %d]",selectatec[id]);
			menu_additem(tMenu, Line, "-2"); 
			//All++;
		}
		else
		{
			formatex(Line, 127, "Cutie");
			menu_additem(tMenu, Line, "-2"); 
			//All++;
		}
	}
	if(pKey[id] > 0)
	{
		if(selectatek[id] != 0)
		{
			formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]);
			menu_additem(tMenu, Line, "-3"); 
			//All++;
		}
		else
		{
			formatex(Line, 127, "Cheie");
			menu_additem(tMenu, Line, "-3"); 
			//All++;
		}
	}
	menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, tMenu, 0);
	if(All == 0 && pKey[id] == 0 && Chest[id] == 0)
	{
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Nu ai iteme!",Prefix);
		print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name);
	}
}
public MenuHandlert(id, gMenu, Key)
{	
	new a = selectate[id]+selectates[id]+selectatec[id]+selectatek[id]
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(a == 0)
		{
			totrade(id);
			print_color(id, "!g%s!y Minim 1 item!y!",Prefix);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == -2)
	{
		if(a < 5)
		{
			if(Chest[id] > selectatec[id])
			{
				selectatec[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -3)
	{
		if(a < 5)
		{
			if(Chest[id] > selectatek[id])
			{
				selectatek[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -1)
	{
		print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix);
		totrade(id);
		return PLUGIN_HANDLED;
	}
	else
	{
		if(a < 5)
		{
			if(Key < 500)
			{
				select[selectate[id]][id] = Key
				server_print("%d",select[selectate[id]][id])
				selectate[id]++;
				totrade(id);
			}
			else
			{
				selects[selectates[id]][id] = Key
				server_print("%d",selects[selectates[id]][id])
				selectates[id]++;
				totrade(id);
			}
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public goready(id)
{
	new a = selectate[id]+selectates[id]+selectatec[id]+selectatek[id]
	new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatec[tTarget[id]]+selectatek[tTarget[id]]
	new Name[32], Name2[32], Line[128];
	get_user_name(tTarget[id], Name2, 31);
	get_user_name(id, Name, 31);
	formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b);
	new Menu = menu_create(Line, "MenuHandlerr");
	menu_additem(Menu, "Refresh", "-1");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		for(new a = 0; a < selectate[id]; a++)
		{

			if(select[a][id] == i)
			{
				formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name);
				menu_additem(Menu, Line, "0");
			}
		}
		for(new a = 0; a < selectates[id]; a++)
		{
			new der = i+500
			if(selects[a][id] == der)
			{
				formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name);
				menu_additem(Menu, Line, "0");
			}
		}
	}
	if(selectatec[id] > 0)
	{
		formatex(Line, 127, "\r%d Cutie\y[%s]", selectatec[id], Name);
		menu_additem(Menu, Line, "0");
	}
	if(selectatek[id] > 0)
	{
		formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[id], Name);
		menu_additem(Menu, Line, "0");
	}
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][tTarget[id]] == 0)
			continue;

		for(new a = 0; a < selectate[tTarget[id]]; a++)
		{
			if(select[a][tTarget[id]] == i)
			{
				formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name2);
				menu_additem(Menu, Line, "0");
			}
		}
		for(new a = 0; a < selectates[tTarget[id]]; a++)
		{
			new der = i+500
			if(selects[a][tTarget[id]] == der)
			{
				formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name2);
				menu_additem(Menu, Line, "0");
			}
		}
	}
	if(selectatec[tTarget[id]] > 0)
	{
		formatex(Line, 127, "\r%d Cutie\y[%s]", selectatec[tTarget[id]], Name2);
		menu_additem(Menu, Line, "0");
	}
	if(selectatek[tTarget[id]] > 0)
	{
		formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[tTarget[id]], Name2);
		menu_additem(Menu, Line, "0");
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public MenuHandlerr(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		vote(id)
		return PLUGIN_HANDLED;
	}
	else
	{
		goready(id)
	}
	return PLUGIN_CONTINUE;
}
public vote(id)
{
	new Menu = menu_create("Schimb de iteme^nApasa tasta 0 ca sa raspunzi", "voteHandlers");
	menu_additem(Menu, "Accept", "1");
	menu_additem(Menu, "Refuz", "2");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public voteHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		goready(id)
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			acc[id] = 1
			if(acc[tTarget[id]])
			{
				new n[32], nn[32]
				get_user_name(id, n, 31)
				get_user_name(tTarget[id], nn, 31)
				log_to_file( "addons/amxmodx/logs/trade.log", "Incepe un trade intre %s si %s", n, nn);
				new der
				for(new i = 1; i < AllWeapon; i++)
				{
					if(uWeapon[i][id] == 0)
						continue;

					der = i+500
					for(new r = 0; r < selectate[id]; r++)
					{
						if(select[r][id] == i)
						{
							select[r][id] = 0
							uWeapon[i][tTarget[id]]++
							uWeapon[i][id]--
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s lui %s", Prefix, n, WeaponNames[i], nn);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][id])
								{
									UsingWeapon[a][id] = 0
								}
							}
						}
					}
					for(new r = 0; r < selectates[id]; r++)
					{
						if(selects[r][id] == der)
						{
							selects[r][id] = 0
							uWeapon[i][tTarget[id]]++
							uWeapon[i][id]--
							stattrack[i][tTarget[id]]++
							stattrack[i][id]--
							kill[i][id] = 0
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s-StatTrack lui %s", Prefix, n, WeaponNames[i], nn);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][id])
								{
									UsingWeapon[a][id] = 0
								}
							}
						}
					}
				}
				for(new i = 1; i < AllWeapon; i++)
				{
					if(uWeapon[i][tTarget[id]] == 0)
						continue;

					der = i+500
					for(new z = 0; z < selectate[tTarget[id]]; z++)
					{
						if(select[z][tTarget[id]] == i)
						{
							select[z][tTarget[id]] = 0
							uWeapon[i][id]++
							uWeapon[i][tTarget[id]]--
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s lui %s", Prefix, nn, WeaponNames[i], n);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][tTarget[id]])
								{
									UsingWeapon[a][tTarget[id]] = 0
								}
							}
						}
					}
					for(new z = 0; z < selectates[tTarget[id]]; z++)
					{
						if(selects[z][tTarget[id]] == der)
						{
							selects[z][tTarget[id]] = 0
							uWeapon[i][id]++
							uWeapon[i][tTarget[id]]--
							stattrack[i][tTarget[id]]--
							stattrack[i][id]++
							kill[i][tTarget[id]] = 0
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s-StatTrack lui %s", Prefix, nn, WeaponNames[i], n);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][tTarget[id]])
								{
									UsingWeapon[a][tTarget[id]] = 0
								}
							}
						}
					}
				}
				if(selectatec[id] > 0)
				{
					Chest[id] -= selectatec[id]
					Chest[tTarget[id]] += selectatec[id]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cutie lui %s", Prefix, n, nn);
				}
				if(selectatek[id] > 0)
				{
					pKey[id] -= selectatek[id]
					pKey[tTarget[id]] += selectatek[id]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cheie lui %s", Prefix, n, nn);
				}
				if(selectatec[tTarget[id]] > 0)
				{
					Chest[id] += selectatec[tTarget[id]]
					Chest[tTarget[id]] -= selectatec[tTarget[id]]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cutie lui %s", Prefix, nn, n);
				}
				if(selectatek[tTarget[id]] > 0)
				{
					pKey[id] += selectatek[tTarget[id]]
					pKey[tTarget[id]] -= selectatek[tTarget[id]]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cheie lui %s", Prefix, nn, n);
				}
				selectatek[id] = 0
				selectatec[id] = 0
				selectatek[tTarget[id]] = 0
				selectatec[tTarget[id]] = 0
				print_color(id, "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix);
				print_color(tTarget[id], "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix);
				acc[id] = 0
				acc[tTarget[id]] = 0
				selectate[id] = 0
				selectate[tTarget[id]] = 0
				selectates[id] = 0
				selectates[tTarget[id]] = 0
				invitat[id] = 0;
				nosend[tTarget[id]] = true;
				go[id] = 0
				go[tTarget[id]] = 0
				Save(id)
				Save(tTarget[id])
				tTarget[tTarget[id]] = 0;
				tTarget[id] = 0;
				log_to_file("addons/amxmodx/logs/trade.log", "Trade incheiat");
			}
			else
			{
				new Name[32], Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(tTarget[id], Name2, 31);
				print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y!",Prefix, Name2);
				print_color(tTarget[id], "!g%s!t %s !ya acceptat !goferta ta!y si te asteapta si pe tine sa o accepti pe a lui!",Prefix, Name);
			}
		}	
		case 2:
		{
			nosend[tTarget[id]] = true;
			nosend[id] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			acc[id] = 0
			acc[tTarget[id]] = 0
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public fararaspuns(id)
{
	new Name2[32];
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2);
	tTarget[id] = 0;
}
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, SayText, _, Players[i]);
			write_byte(Players[i]);
			write_string(Msg);
			message_end();
		}
	}
	return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
	Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, Chest[id] = 0;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			if(i == UsingWeapon[a][id])
			{
				UsingWeapon[a][id] = 0
			}
		}
		kill[i][id] = 0
		stattrack[i][id] = 0
		uWeapon[i][id] = 0;
		coldown[i][id] = -1
	}

	for(new z = 0; z < selectate[id]; z++)
	{
		select[z][id] = 0
	}
	selectate[id] = 0
	acc[id] = 0
	selectatek[id] = 0
	selectatec[id] = 0
	selectatek[tTarget[id]] = 0
	selectatec[tTarget[id]] = 0
	selectates[id] = 0
	selectates[tTarget[id]] = 0
	acc[tTarget[id]] = 0
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	go[id] = 0
	go[tTarget[id]] = 0
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	WeaponinMarket[id] = 0
	inMarket[id] = false
	Load(id);
	Password[id] = "";
	SavedPassword[id] = "";
	Loged[id] = false;
	remove_task(id+134444)
	remove_task(id)
	//set_task(5.0, "anuntloghez", id)
}
//public anuntloghez(id)
//{
	//if(Registered(id))
	//{
		//print_color(id, "!g%s!t Ai timp 1 minut sa te loghezi!",Prefix);
		//set_task(60.0, "kick", id+134444)
	//}
//}
//public kick(id)
//{
	//id -= 134444
	//if(is_user_connected(id) && !Loged[id])
	//{
		//new userid2 = get_user_userid(id)
		//console_print(id, "Ai primit kick pentru ca nu te-ai loghat")
		//server_cmd("kick #%d", userid2)
	//}
//}
public Load(id)
{
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}
	
	new Name[32]; 
	new tData[5][8], Data[MAX+1][8];

	get_user_name(id, Name, 31);
	if(nvault_get(svault, Name, rLine, sizeof(rLine) - 1))
	{
		strbreak(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2));

		parse(arg1, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7, Data[1], 7, Data[2],
		7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12],
		7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21],
		7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30],
		7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39],
		7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48],
		7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7);

		parse(arg2, Data[56], 7, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
		7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
		7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
		7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
		7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);

		Kills[id] = str_to_num(tData[0]);
		Points[id] = str_to_num(tData[1]);
		pKey[id] = str_to_num(tData[2]);
		Chest[id] = str_to_num(tData[3]);
		Rang[id] = str_to_num(tData[4]);

		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][id] = str_to_num(Data[i]);
		}
	}

	new zData[WEAPONSKIN][8];
	if(nvault_get(ssvault, Name, rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8],
		7, zData[9], 7, zData[10], 7);

		for(new i; i < WEAPONSKIN; i++)
			UsingWeapon[i][id] = str_to_num(zData[i]);
	}
	new rData[MAX+1][8]
	new dData[3][8]

	if(nvault_get(trackvault, Name, rLine, sizeof(rLine) - 1)) 
	{ 
		formatex(arg1, charsmax(arg1), "")
		formatex(arg1, charsmax(arg2), "")
		strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

		parse(arg1, rData[1], 7, rData[2], 7, rData[3], 7, rData[4], 7, rData[5], 7, rData[6], 7, rData[7], 7, rData[8],
		7, rData[9], 7, rData[10], 7, rData[11], 7, rData[12],  7, rData[13], 7, rData[14], 7, rData[15], 7, rData[16], 7, rData[17],
		7, rData[18], 7, rData[19], 7, rData[20], 7, rData[21], 7, rData[22], 7, rData[23], 7, rData[24], 7, rData[25], 7, rData[26],
		7, rData[27], 7, rData[28], 7, rData[29], 7, rData[30], 7, rData[31], 7, rData[32], 7, rData[33], 7, rData[34], 7, rData[35],
		7, rData[36], 7, rData[37], 7, rData[38], 7, rData[39], 7, rData[40], 7, rData[41], 7, rData[42], 7, rData[43], 7, rData[44],
		7, rData[45], 7, rData[46], 7, rData[47], 7, rData[48], 7, rData[49], 7, rData[50], 7, rData[51], 7, rData[52], 7, rData[53], 7, rData[54], 7, rData[55], 7);
		parse(arg2, rData[56], 7, rData[57], 7, rData[58], 7, rData[59], 7, rData[60], 7, rData[61], 7, rData[62], 7, rData[63], 7, rData[64],
		7, rData[65], 7, rData[66], 7, rData[67], 7, rData[68], 7, rData[69], 7, rData[70], 7, rData[71], 7, rData[72], 7, rData[73],
		7, rData[74], 7, rData[75], 7, rData[76], 7, rData[77], 7, rData[78], 7, rData[79], 7, rData[80], 7, rData[81], 7, rData[82],
		7, rData[83], 7, rData[84], 7, rData[85], 7, rData[86], 7, rData[87], 7, rData[88], 7, rData[89], 7, rData[90], 7, rData[91],
		7, rData[92], 7, rData[93], 7, rData[94], 7, rData[95], 7, rData[96], 7, rData[97], 7, rData[98], 7, rData[99], 7, rData[100], 7);
		new szWeek[3]
		get_time("%w", szWeek, sizeof(szWeek))
		new iDate = str_to_num(szWeek)

		for(new i = 1; i < AllWeapon; i++)
		{
			parse(rData[i], dData[0], 7, dData[1], 7, dData[2], 7)
			stattrack[i][id] = str_to_num(dData[0]);
			uWeapon[i][id] += str_to_num(dData[0])
			kill[i][id] = str_to_num(dData[1]);
			new p = str_to_num(dData[2])
			new fo[10],fo2[10]
			formatex(fo, 9, "0%d", p)
			formatex(fo2, 9, "0%d", iDate)
			if(!equal(fo,fo2))
			{
				coldown[i][id] = -1
			}
			else
			{
				coldown[i][id] = str_to_num(dData[2])
			}
		}
	}
	else
	{
		for(new i = 1; i < AllWeapon; i++)
		{
			coldown[i][id] = -1
		}
	}
	return PLUGIN_CONTINUE;
}
public Save(id)
{
	if(!is_user_connected(id))
	{
		server_print("nu e on")
		return PLUGIN_HANDLED;
	}

	new Name[32];
	get_user_name(id, Name, 31);
	formatex(rLine, charsmax(rLine), "")
	new String[8];
	
	format(String, 7, "^"^"%i^" ", Kills[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Points[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", pKey[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Chest[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Rang[id]);
	add(rLine, charsmax(rLine), String);

	for(new i = 1; i < AllWeapon; i++)
	{
		if(i > MAX)
			break;

		if(uWeapon[i][id] < 0)
			uWeapon[i][id] = 0

		if(i == 56)
		{
			if(stattrack[i][id])
			{
				format(String, 7, "^"%i^"^" ^"", uWeapon[i][id]-stattrack[i][id]);
				add(rLine, charsmax(rLine), String);
			}
			else
			{
				format(String, 7, "^"%i^"^" ^"", uWeapon[i][id]);
				add(rLine, charsmax(rLine), String);
			}
		}
		else if(i == MAX)
		{
			if(stattrack[i][id])
			{
				format(String, 7, "^"%i^"^"", uWeapon[i][id]-stattrack[i][id]);
				add(rLine, charsmax(rLine), String);
			}
			else
			{
				format(String, 7, "^"%i^"^"", uWeapon[i][id]);
				add(rLine, charsmax(rLine), String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				format(String, 7, "^"%i^" ", uWeapon[i][id]-stattrack[i][id]);
				add(rLine, charsmax(rLine), String);
			}
			else
			{
				format(String, 7, "^"%i^" ", uWeapon[i][id]);
				add(rLine, charsmax(rLine), String);
			}
		}
	}
	
	nvault_set(svault, Name, rLine)

	formatex(rLine, charsmax(rLine), "")
	new Stringz[8];

	for(new i = 0; i < WEAPONSKIN; i++)
	{
		format(Stringz, 7, "^"%i^" ", UsingWeapon[i][id]);
		add(rLine, charsmax(rLine), Stringz);
	}
				
	nvault_set(ssvault, Name, rLine)

	formatex(rLine, charsmax(rLine), "")

	new rString[16];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(i > MAX)
			break;

		if(stattrack[i][id] < 0)
			stattrack[i][id] = 0

		if(i == 56)
		{
			format(rString, 15, "^"%i %i %i^"*", stattrack[i][id], kill[i][id], coldown[i][id]);
			add(rLine, charsmax(rLine), rString);
		}
		else
		{
			format(rString, 15, "^"%i %i %i^" ", stattrack[i][id], kill[i][id], coldown[i][id]);
			add(rLine, charsmax(rLine), rString);
		}

	}
	nvault_set(trackvault, Name, rLine)
	formatex(rLine, charsmax(rLine), "")

	return PLUGIN_CONTINUE;
}
public RegMenu(id)
{
	new String[128], Name[32];
	format(String, 127, "%s %L", Prefix, LANG_SERVER, "RMMAIN");
	new rMenu = menu_create(String, "rMenuHandler");
	get_user_name(id, Name, 31);
	
	format(String, 127, "%L", LANG_SERVER, "RMACCOUNT", Name);
	menu_additem(rMenu, String, "0");
	
	if(!Registered(id))
	{
		format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
		menu_additem(rMenu, String, "1");
		
		if(strlen(Password[id]) > 4)
		{
			format(String, 127, "%L", LANG_SERVER, "RMR");
			menu_additem(rMenu, String, "2");
		}
		else
		{
			format(String, 127, "\d%L", LANG_SERVER, "RMR");
			menu_additem(rMenu, String, "0");
		}
	}
	else
	{
		if(!Loged[id])
		{
			format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
			menu_additem(rMenu, String, "1");
			
			if(equal(SavedPassword[id], Password[id]))
			{
				format(String, 127, "%L", LANG_SERVER, "RMLOGIN");
				menu_additem(rMenu, String, "3");
			}
			else
			{
				format(String, 127, "\d%L", LANG_SERVER, "RMLOGIN");
				menu_additem(rMenu, String, "0");
			}
		}
		else
		{
			format(String, 127, "%L", LANG_SERVER, "RMLOGOUT");
			menu_additem(rMenu, String, "-1");
		}
	}
	
	menu_display(id, rMenu);
}
public rMenuHandler(id, gMenu, item)
{	
	if(item == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return;
	}
	new data[9], name[64], Key;
	new access, callback;
	menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
	Key = str_to_num(data);
	
	if(Key == -1)
		ToLogout(id);

	if(Key == 0)
		RegMenu(id);

	if(Key == 1)
	{
		client_cmd(id, "messagemode UserPassword");
		RegMenu(id);
	}
	if(Key == 2)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
		Register(id, Password[id]);
		copy(SavedPassword[id], 31, Password[id]);
		Loged[id] = true;
		Menu(id);
	}
	if(Key == 3)
	{
		if(equal(SavedPassword[id], Password[id])) {
			Loged[id] = true;
			remove_task(id+134444)
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
			Menu(id);
		}
	}
}
public ToLogout(id)
{
	if(Loged[id])
	{
		Loged[id] = false;
		Password[id] = "";
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
	}
}
public PlayerPassword(id)
{
	new Data[32];
	read_args(Data, 31);
	remove_quotes(Data);
	
	if(strlen(Data) < 5)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSHORT");
		client_cmd(id, "messagemode UserPassword");
		return PLUGIN_HANDLED;
	}
	
	if(Loged[id])
	{
		return PLUGIN_HANDLED;
	}
	
	copy(Password[id], 31, Data);
	RegMenu(id);
	return PLUGIN_CONTINUE;
}
public NameChange(id) 
{
	if(!is_user_connected(id))
		return FMRES_IGNORED;
		
	new OldName[32], NewName[32], Name[32];
	get_user_name(id, Name, 31);
	pev(id, pev_netname, OldName, charsmax(OldName));
	if(OldName[0])
	{
		get_user_info(id, "name", NewName, charsmax(NewName));
		if(!equal(OldName, NewName))
		{
			set_user_info(id, "name", OldName);
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERNAMECHANGE");
			return FMRES_HANDLED;
		}
	}
	return FMRES_IGNORED;
}
stock bool:ValidMdl(Mdl[])
{
	if(containi(Mdl, ".mdl") != -1)
	{
		return true;
	}
	return false;
}
stock bool:Registered(id)
{
	new bool:ver = false;
	new Name[32];
	get_user_name(id, Name, 31);
	
	new Data[32]; 
	if(nvault_get(rvault, Name, Data, sizeof(Data) - 1)) 
	{ 
		copy(SavedPassword[id], 31, Data);
		ver = true;
	}
	
	
	return ver;
}
stock Register(id, const rSavedPassword[])
{
	new Name[32], Line[64];
	get_user_name(id, Name, 31);
	format(Line, 63, "%s", rSavedPassword);
	
	nvault_set(rvault, Name, Line)
}
RoyalServer
User avatar
Kpone
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 16 May 2016, 20:19
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 1 time
Contact:

21 May 2019, 09:30

UP! Am rezolvat cu pluginul de prefix am gasit plugin separat,am nevoie ca cineva sa il faca sa imi arate rangurile din fata numelui,in fisierul configs/csgo/exista fisierul rangs cu gradele dar nu il citeste sau nu stiu cauza ca atunci cand ma conectez nu apar rangurile in fata numelui cand scrii pe say :( ma poate ajuta cineva va rog si careva care stie sursa sa rezolve bugurile.
User avatar
Kpone
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 16 May 2016, 20:19
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 1 time
Contact:

22 May 2019, 21:03

Chiar nu este nimeni priceput care ma poate ajuta?
User avatar
Kpone
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 16 May 2016, 20:19
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 1 time
Contact:

24 May 2019, 22:34

Up! Nimeni?
@IONUTZ
Membru, skill +1
Membru, skill +1
Posts: 284
Joined: 17 Dec 2017, 23:11
Detinator Steam: Da
Fond eXtream: 0
Has thanked: 5 times
Been thanked: 14 times

25 May 2019, 00:31

Kpone wrote:
20 May 2019, 13:12
Salut baieti am o versiune mai veche de csgo_mod dar am o problema nu imi arata rangurile [Silver 1]..etc stiti ce zic adica ma conectez pe sv ma loghez si cand scriu pe chat nu imi arata.
Sau cineva care stie sa adauge in sursa cum este pe versiunea 1.9 adica in fisierul configs exista un folder csgo si in el are incorporate astea [ chest,prefix,rangs,skins] daca stie cineva sa il modifice sa le adauge sau macar sa rezolve problema cu rangs si macar sa incorporeze pluginul prefix daca se poate.

Multumesc frumos baieti.
| Afiseaza codul
#include <amxmodx> 
#include <amxmisc> 
#include <fakemeta>    
#include <hamsandwich> 
#include <fakemeta_util>  
#include <cstrike> 
#include <engine>
#include <fun> 
#include <dhudmessage> 
#include <nvault> 


new const PLUGIN[] = "Global Offensive";
new const VERSION[] = "Final";
new const AUTHOR[] = "zorken";

#define MAX 100

#define PointsMin 3
#define PointsMax 8
#define Drop 10
#define MarkMin 299
#define METR_UNITS 39.37

#define WEAPONSKIN 11

#define FAMAS 15 
#define USP 16
#define GLOCK18 17
#define AWP 18
#define MP5NAVY 19
#define M3 21 
#define M4A1 22
#define DEAGLE 26
#define AK47 28
#define KNIFE 29
#define P90 30

new const TeamNames[][] = {
	"",
	"Terrorist",
	"Counter-Terrorist"
}
new tMenu
new playj
new viewj[33]
new round[33]
new jackpot
new inJack[33]
new itemj[10]
new tradeups[33]
new jack[33]
new acc[33]
new secs = 60
new selectate[33]
new select[5][33]
new selects[5][33]
new bool:nosend[33]
new tTarget[33]
new go[33]
new sec = 60
new Rosu[33]
new Gri[33]
new ruleta = 0
new playr
new Galben[33]
new selectatec[33]
new selectates[33]
new selectatek[33]
new ssvault
new rLine[2520]
new svault
new rvault
new trackvault
new const g_vault_reg[] = "reg"
new const g_vault_skin[] = "skin"
new const g_vault_sskin[] = "sskin"
new const g_vault_track[] = "stattrack"
new invitat[33] = 0;
new WeaponNames[MAX+1][33], WeaponMdls[MAX+1][48], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], AllWeapon;
new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], Chest[33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], RangFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new NeedKills[30], Rangs[30][32];
new nr[7][8];
new stattrack[MAX+1][33];
new kill[MAX+1][33];
new rem[33];
new coldown[MAX+1][33]
new pbet[33]
new bround
new tradeup[33]
new contr[10][33]
new g_dropchace;
new betp[33]
new arg1[1260];
new arg2[1260];
	

public plugin_precache() {
	new Line[128], Data[6][48], Len;
	AllWeapon++;
	get_configsdir(Folder, 47);
	format(SkinFile, 47, "%s/csgo/skins.cfg", Folder);
	format(RangFile, 47, "%s/csgo/rangs.cfg", Folder);
	format(Prefix, 31, "[Global Offensive]");
	formatex(nr[0], 7, "\w-");
	formatex(nr[1], 7, "\w-");
	formatex(nr[2], 7, "\w-");
	formatex(nr[3], 7, "\w-");
	formatex(nr[4], 7, "\w-");
	formatex(nr[5], 7, "\w-");
	formatex(nr[6], 7, "\w-"); 
	
	if(file_exists(RangFile))
	{
		for(new i; i < file_size(RangFile, 1); i++)
		{
			read_file(RangFile, i, Line, 127, Len);
			parse(Line, Data[0], 31, Data[1], 31);
			
			copy(Rangs, 31, Data[0]);
			NeedKills = str_to_num(Data[1]);
		}
	}
	if(file_exists(SkinFile))
	{
		for(new i; i < file_size(SkinFile, 1); i++)
		{
			read_file(SkinFile, i, Line, 127, Len);
			
			if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1)
				continue;
			
			parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31, Data[4], 31, Data[5], 31);
			
			Weapons[AllWeapon] = str_to_num(Data[0]);
			copy(WeaponNames[AllWeapon], 31, Data[1]);
			
			if(ValidMdl(Data[2])) {
				precache_model(Data[2]);
				copy(WeaponMdls[AllWeapon], 47, Data[2]); 
			}
			
			WeaponDrop[AllWeapon] = str_to_num(Data[3]);
			WeaponMin[AllWeapon] = str_to_num(Data[4])
			WeaponMax[AllWeapon] = str_to_num(Data[5])
			AllWeapon++;
		}
		if(AllWeapon == 0)
			log_amx("Niciun skin on");
	}

}
public plugin_init() {
	register_dictionary("csgo.txt");
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
	
	register_clcmd("say /menu", "MenuOpen");
	register_clcmd("say /reg", "RegMenu");
	register_clcmd("say /m", "MenuOpen");
	register_clcmd("say /register", "RegMenu");
	//register_clcmd("say /***", "stefan");
	register_clcmd("say /accept", "acctrade");
	register_clcmd("say /refuz", "reftrade");
	register_concmd("Cost", "MarketCost"); 
	register_concmd("Rosu", "RosuRuleta");
	register_concmd("Galben", "GalbenRuleta");
	register_concmd("Gri", "GriRuleta");
	register_event("DeathMsg", "event_DeathMsg", "a");
	register_concmd("Gift", "GiftPoint");
	register_concmd("T", "Tbet");
	register_concmd("CT", "CTbet");
	register_concmd("UserPassword", "PlayerPassword");
	register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>");
	register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>");

	register_logevent( "derspawn", 2, "1=Round_Start" );
	
	SayText = get_user_msgid("SayText");
	register_forward(FM_ClientUserInfoChanged, "NameChange");
	register_event( "CurWeapon" , "CWeapon" , "be" , "1=1" );
	g_dropchace = register_cvar("csgo_key_chest", "10");
	set_task(67.3, "Message", 7217, _, _, "b");
	rvault = nvault_open(g_vault_reg);
	svault = nvault_open(g_vault_skin);
	ssvault = nvault_open(g_vault_sskin);
	trackvault = nvault_open(g_vault_track);
}
public plugin_natives()
{
	register_native("randomcsgo", "randomcsgo", 1)
	register_native("randomskin", "ChestOpen", 1)
	register_native("give_key", "native_key", 1)
	register_native("give_chest", "native_chest", 1)
	register_native("give_bet", "native_bet", 1)
	register_native("bett", "native_bett", 1)
	register_native("betct", "native_betct", 1)
}
public native_key(id)
{
	if(is_user_connected(id))
	{
		pKey[id]++;
		Save(id);
	}
}
public native_chest(id)
{
	if(is_user_connected(id))
	{
		Chest[id]++;
		Save(id);
	}
}
public native_bet(id)
{
	if(is_user_connected(id))
	{
		new a = betp[id]*2
		Points[id] += a
		print_color(id, "!g%s!t Ai castigat %d puncte!", Prefix, a);
	}
}
public native_bett(id)
{
	if(is_user_connected(id) && pbet[id] == 1)
		return true;

	return false;
}
public native_betct(id)
{
	if(is_user_connected(id) && pbet[id] == 2)
		return true;

	return false;
}
public plugin_end()
{
	nvault_prune(rvault, 0, get_systime() - (86400*7));
	nvault_prune(svault, 0, get_systime() - (86400*7));
	nvault_prune(ssvault, 0, get_systime() - (86400*7));
	nvault_prune(trackvault, 0, get_systime() - (86400*7));
	nvault_close(trackvault)
	nvault_close(rvault)
	nvault_close(svault)
	nvault_close(ssvault)
}
public randomcsgo(id)
{
	new a = random_num(1,3)
	new Name[32]
	get_user_name(id, Name, 31);

	if(a == 1)
	{
		new pPont;
		pPont = random_num(25, 50);
		Points[id] += pPont;
		print_color(0, "!g%s!t %s!y a obtinut !g%i!y puncte!", Prefix, Name, pPont);
	}
	else if(a == 2)
	{
		pKey[id]++;
		print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
	}
	else
	{
		Chest[id]++;
		print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
	}
	Save(id);
}
public acctrade(id)
{
	if(!tTarget[id])
		return 1;

	if(!Loged[id])
	{
		return 1;
	}

	go[id] = 1
	go[tTarget[id]] = 1
	remove_task(tTarget[id]);
	new Name[32], Name2[32];
	get_user_name(id, Name, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta pentru !gschimburi de iteme!y !",Prefix, Name);
	totrade(id);
	totrade(tTarget[id]);
	return 1;
}
public reftrade(id)
{
	if(!tTarget[id])
		return 1;

	if(!Loged[id])
	{
		return 1;
	}

	go[id] = 0
	go[tTarget[id]] = 0
	remove_task(tTarget[id]);
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	new Name[32], Name2[32];
	get_user_name(id, Name, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name);
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	return 1;
}
public derspawn()
{
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			round = 0
			if(pKey < 0)
				pKey = 0

			if(Chest < 0)
				Chest = 0
			if(viewj)
			{
				MenuMod = 0
				Menu(i)
				viewj = 0
			}
		}
	}
	bround++
}
public give_key(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givekey <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					pKey[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d key!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		pKey[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d key!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public take_skins(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_takeskins <Nume>");
			return 1;
		}

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			stattrack[i][iPlayer] = 0
			kill[i][iPlayer] = 0
			uWeapon[i][iPlayer] = 0
		}
		
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			UsingWeapon[a][iPlayer] = 0
		}
		Save(iPlayer);

		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_skins(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_giveskins <Nume>");
			return 1;
		}

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_stat(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_givestat <Nume>");
			return 1;
		}

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
			stattrack[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_chest(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givechest <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Chest[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d chest!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Chest[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d chest!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_puncte(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givepoints <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d points!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Points[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d puncte!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public Message() 
{
	print_color(0, "!g%s%L", Prefix, LANG_SERVER, "MSG", PLUGIN, VERSION, AUTHOR);
}
public stefan(id)
{
	pKey[id] = 100;
	Chest[id] = 100;
}
public MenuOpen(id)
{
	if(!Loged[id])
	{
		RegMenu(id);
		return;
	}
	
	MenuMod[id] = 0;
	Menu(id);
}
public event_DeathMsg()
{
	static Victim; Victim = read_data(2);
	static Killer; Killer = read_data(1);
	if(task_exists(Victim+231245534))
	{
		remove_task(Victim+231245534)
	}

	set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b")
	if(Killer == Victim)
	{
		return PLUGIN_HANDLED;
	}
	Kills[Killer]++;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(der == UsingWeapon[a][Killer])
			{
				if(get_user_weapon(Killer) == Weapons[i])
				{
					kill[i][Killer]++
				}
			}
		}
	}
	new pPont;
	
	pPont += random_num(PointsMin, PointsMax);
	Points[Killer] += pPont;
	
	set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
	show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
	if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
	{
		if(Kills[Killer] >= NeedKills[Rang[Killer]])
			Rang[Killer]++;
	}
	
	if(get_pcvar_num(g_dropchace) >= random_num(1, 100))
	{
		new Name[32]
		get_user_name(Killer, Name, 31);
		new x = random_num(1, 2);
		if(x == 1)
		{
			pKey[Killer]++;
			print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
		}
		if(x == 2)
		{
			Chest[Killer]++;
			print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
		}
	}
	Save(Killer);
	return PLUGIN_CONTINUE;
}
public MarketCost(id)
{
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0)
	{
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else if(WeaponinMarket[id] == 101||WeaponinMarket[id] == 102)
	{
		if(300 >= Cost || 2500 <= Cost)
		{
			print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500");
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(WeaponinMarket[id] > 500)
	{
		WeaponinMarket[id] -= 500
		new d = WeaponMin[WeaponinMarket[id]]
		d *= 2
		new e = WeaponMax[WeaponinMarket[id]]
		e *= 2
		WeaponinMarket[id] += 500
		if(d >= Cost || e <= Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		else
		{
			MarketPoints[id] = Cost;
			MenuMod[id] = 3
			Menu(id)
			return PLUGIN_CONTINUE;
		}
	}
	else if(WeaponMin[WeaponinMarket[id]] >= Cost || WeaponMax[WeaponinMarket[id]] <= Cost)
	{
		print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]);
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else
	{
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public Tbet(id)
{
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode T");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 1;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa T %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CTbet(id)
{
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode CT");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 2;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa CT %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public RosuRuleta(id)
{
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Rosu");
		return PLUGIN_HANDLED;
	}
	else
	{
		Rosu[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public GriRuleta(id)
{
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Gri");
		return PLUGIN_HANDLED;
	}
	else
	{
		Gri[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public GalbenRuleta(id)
{
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Galben");
		return PLUGIN_HANDLED;
	}
	else
	{
		Galben[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public GiftPoint(id)
{
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Points[id] < Cost)
	{
		client_cmd(id, "messagemode Gift");
		return PLUGIN_HANDLED;
	}
	else
	{
		aPoints[id] = Cost;
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CWeapon( id ) {
	if(id > 32 || id < 1 || !is_user_alive(id))
	{
		return 1;
	}
	
	new des

	if(task_exists(id+231245534))
	{
		rem[id] = 1
		remove_task(id+231245534)
	}

	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(i == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					return HAM_SUPERCEDE;
				}
			}
			else if(der == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					rem[id] = 0
					set_task(0.1, "ShowHUD", id+231245534, _, _, "b")
					des++
					return HAM_SUPERCEDE;
				}
			}
		}
	}

	return PLUGIN_CONTINUE;
}
public ShowHUD(id)
{
	id -= 231245534
	if(rem[id])
		return 1;

	if(!is_user_connected(id))
		return 1;

	if (!is_user_alive(id))
	{
		new ids = pev(id, pev_iuser2)
		
		if (!is_user_alive(ids)) return 1;

		new name[32]
		get_user_name(ids, name, 31)
		new des
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][ids])
				{
					if(get_user_weapon(ids) == Weapons[i])
					{
						set_dhudmessage(255, 50, 50, 1.0, 0.85, 0, 6.0, 1.1, 0.0, 1.0);
						show_dhudmessage(id, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]);
						des++
					}
				}
			}
		}
	}
	else
	{
		new des
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][id])
				{
					if(get_user_weapon(id) == Weapons[i])
					{
						set_dhudmessage(255, 50, 50, 1.0, 0.85, 0, 6.0, 1.1, 0.0, 1.0);
						show_dhudmessage(id, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]);
						des++
					}
				}
			}
		}
	}
	return 0
}
public ChestOpen(id)
{
	new rWeapon = random_num(1, AllWeapon-1);
	new rNum = random_num(1, 100);
	
	if(WeaponDrop[rWeapon] >= rNum)
	{
		if(equal(WeaponNames[rWeapon], ""))
			ChestOpen(id);
		else
		{
			new star = random_num(1, 25)
			if(star == 1)
			{
				new Name[32];
				get_user_name(id, Name, 31);
				print_color(0, "!g[Global Offensive]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[rWeapon]);
				uWeapon[rWeapon][id]++;
				stattrack[rWeapon][id]++;
				Save(id);
			}
			else
			{
				new Name[32];
				get_user_name(id, Name, 31);
				print_color(0, "!g[Global Offensive]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[rWeapon]);
				uWeapon[rWeapon][id]++;
				Save(id);
			}
		}
	}
	else
	{
		ChestOpen(id);
	}
}
public Menu(id)
{
	if(Loged[id] == false)
	{
		RegMenu(id);
		return 1;
	}
	
	new sMenu, Line[128];
	
	if(MenuMod[id] == -2)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(Chest[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
			menu_additem(sMenu, Line, "101");
			All++;
		}
		if(pKey[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	else if(MenuMod[id] == -1)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
				

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(Chest[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
			menu_additem(sMenu, Line, "101");
			All++;
		}
		if(pKey[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	else if(MenuMod[id] == 0)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, 127, "%L", LANG_SERVER, "MENUTOSKINS");
		menu_additem(sMenu, Line, "1");
		
		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "%L", LANG_SERVER, "MENUTOCHESTOPEN");
			menu_additem(sMenu, Line, "2");
		}
		else
		{
			formatex(Line, 127, "%L %L",
			LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		
		formatex(Line, 127, "%L", LANG_SERVER, "MENUTOMARKET");
		menu_additem(sMenu, Line, "3");

		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "Schimburi de iteme");
			menu_additem(sMenu, Line, "4");
		}
		else
		{
			formatex(Line, 127, "Schimburi de iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "%L",LANG_SERVER, "MENUTOGIFT");
			menu_additem(sMenu, Line, "5");
		}
		else
		{
			formatex(Line, 127, "%L %L",
			LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}


		if(!ruleta)
		{
			formatex(Line, 127, "Ruleta\r[Deschis]");
			menu_additem(sMenu, Line, "6");
		}
		else
		{
			formatex(Line, 127, "\dRuleta\r[Inchis 5 minute]");
			menu_additem(sMenu, Line, "0");
		}

		if(!jackpot)
		{
			formatex(Line, 127, "Jackpot\r[Deschis]^n%L", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
			menu_additem(sMenu, Line, "7");
		}
		else
		{
			formatex(Line, 127, "\dJackpot\r[Inchis 5 minute]^n%L", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
			menu_additem(sMenu, Line, "0");
		}

		formatex(Line, 127, "Bet Team");
		menu_additem(sMenu, Line, "8");

		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "Contract");
			menu_additem(sMenu, Line, "9");
		}
		else
		{
			formatex(Line, 127, "\dContract%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}


		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "Sterge Iteme");
			menu_additem(sMenu, Line, "10");
		}
		else
		{
			formatex(Line, 127, "\dSterge Iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);

	}
	else if(MenuMod[id] == 1)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0)
				continue;
				

			if(stattrack[i][id])
			{
				new der = i+500
				formatex(String, 31, "%d %d", der, Weapons[i]);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				formatex(String, 31, "%d %d", i, Weapons[i]);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]-stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 2)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, 127, "%L", LANG_SERVER, "CHESTSANDKEYS", Chest[id], pKey[id]);
		menu_additem(sMenu, Line, "1");
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}	
	else if(MenuMod[id] == 3)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		if(!inMarket[id])
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
				else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
			}
			
			if(101 == WeaponinMarket[id] && Chest[id] > 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEC", MarketPoints[id]);
				All++;
			}
			if(102 == WeaponinMarket[id] && pKey[id] > 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
				All++;
			}
			
			if(All == 0)
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACECH");
			menu_additem(sMenu, Line, "-1");
		}
		
		if(!inMarket[id])
			formatex(Line, 127, "%L", LANG_SERVER, "TOMARKETM");
		else
			formatex(Line, 127, "%L", LANG_SERVER, "BACKMARKET");
		menu_additem(sMenu, Line, "0");
		
		new Name[32];
		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x)||!Loged[x])
				continue;

			if(inMarket[x] && MarketPoints[x] > 0)
			{
				num_to_str(x, String, 31);
				get_user_name(x, Name, 31);
				if(101 == WeaponinMarket[x])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "SELLERC", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else if(102 == WeaponinMarket[x])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else
				{
					for(new i = 1; i < AllWeapon; i++)
					{
						new der = i+500
						if(i == WeaponinMarket[x])
						{
							formatex(Line, 127, "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
						}
						else if(der == WeaponinMarket[x])
						{
							WeaponinMarket[x] = i
							formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
							WeaponinMarket[x] = der
						}
					}

				}
			}
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 4)
	{
		trade(id);
		return 1;
	}
	else if(MenuMod[id] == 5)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new All, Name[32], String[32];
		get_user_name(aTarget[id], Name, 31);
		
		if(aTarget[id] > 0 && is_user_connected(aTarget[id]))
		{
			formatex(Line, 127, "%L", LANG_SERVER, "GIFTT", Name);
			menu_additem(sMenu, Line, "-1");
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == aThing[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTS", WeaponNames[i]);
					menu_additem(sMenu, Line, "-2");
					All++;
				}
				else if(der == aThing[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "GIFTS", WeaponNames[i]);
					All++;
				}
			}
			
			if(aThing[id] == 0 && All == 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "GIFTCH");
				menu_additem(sMenu, Line, "-2");
			}
			else if(aThing[id] > 100)
			{
				if(101 == aThing[id])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTC");
				}
				if(102 == aThing[id])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTK");
				}
				menu_additem(sMenu, Line, "-2");
			}
			
			formatex(Line, 127, "%L", LANG_SERVER, "GIFTPOINTS", aPoints[id]);
			menu_additem(sMenu, Line, "-4");
			formatex(Line, 127, "%L", LANG_SERVER, "SENDGIFT");
			menu_additem(sMenu, Line, "-3");
		}
		else
		{
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i) && i != id && Loged[i])
				{
					get_user_name(i, Name, 31);
					num_to_str(i, String, 31);
					menu_additem(sMenu, Name, String);
				}
			}
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 6)
	{
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}

		return 1;
	}
	else if(MenuMod[id] == 7)
	{
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul!t cand esti !gVIU!",Prefix);
		}

		return 1;
	}
	else if(MenuMod[id] == 8)
	{
		bet(id)

		return 1;
	}
	else if(MenuMod[id] == 9)
	{
		contract(id)

		return 1;
	}
	else if(MenuMod[id] == 10)
	{
		sterge(id)

		return 1;
	}
	return PLUGIN_CONTINUE
}
public MenuHandler(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	
	if(MenuMod[id] == -2)
	{
		aThing[id] = Key;
		menu_destroy(gMenu);
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == -1)
	{
		WeaponinMarket[id] = Key;
		client_cmd(id, "messagemode Cost");
		menu_destroy(gMenu);
		MenuMod[id] = 3;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 0)
	{
		if(Key == 4)
		{
			menu_destroy(gMenu);
			trade(id)
			return PLUGIN_HANDLED;
		}
		menu_destroy(gMenu);
		MenuMod[id] = Key;
		Menu(id);
	}
	else if(MenuMod[id] == 1)
	{
		parse(Data[0], Data[2], 31, Data[3], 31);
		
		if(str_to_num(Data[3]) == FAMAS)
			UsingWeapon[0][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == USP)
			UsingWeapon[1][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GLOCK18)
			UsingWeapon[2][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AWP)
			UsingWeapon[3][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MP5NAVY)
			UsingWeapon[4][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M3)
			UsingWeapon[5][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M4A1)
			UsingWeapon[6][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == DEAGLE)
			UsingWeapon[7][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AK47)
			UsingWeapon[8][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == KNIFE)
			UsingWeapon[9][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P90)
			UsingWeapon[10][id] = str_to_num(Data[2]);

		Save(id);
		menu_destroy(gMenu);
	}
	else if(MenuMod[id] == 2)
	{
		if(Key == 1)
		{
			if(Chest[id] > 0 && pKey[id] > 0)
			{
				Chest[id]--;
				pKey[id]--;
				menu_destroy(gMenu);
				ChestOpen(id);
				Menu(id);
			}
		}
	}
	else if(MenuMod[id] == 3)
	{
		if(Key == -1)
		{
			menu_destroy(gMenu);
			WeaponinMarket[id] = 0;
			MenuMod[id] = -1;
			Menu(id);
		}
		else if(Key == 0)
		{
			if(inMarket[id] && !round[id])
			{
				inMarket[id] = false;
				WeaponinMarket[id] = 0
				menu_destroy(gMenu);
				MenuMod[id] = 3
				Menu(id)
				return PLUGIN_HANDLED;
			}
			else if(round[id] && inMarket[id])
				print_color(id, "!g%s!t Iti poti lua item-ul abia runda viitoare!",Prefix);

			else if(MarketPoints[id] > 0)
			{
				if(WeaponinMarket[id] == 101)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcutie!t pentru !g%d !tpuncte!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else if(WeaponinMarket[id] == 102)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tpuncte!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else
				{
					get_user_name(id, Name, 31);
					if(WeaponinMarket[id] > 499)
					{
						WeaponinMarket[id] -= 500 
						print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
						WeaponinMarket[id] += 500
					}
					else
					{
						print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
					}
					inMarket[id] = true;
					for(new a = 0; a < WEAPONSKIN; a++)
					{
						if(WeaponinMarket[id] == UsingWeapon[a][id])
						{
							UsingWeapon[a][id] = 0
						}
					}
				}
				menu_destroy(gMenu);
				MenuMod[id] = 3
				Menu(id)
				round[id] = 1
			}
		}
		else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
		{
			if(Key == id)
			{
				print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix);
				return PLUGIN_HANDLED;
			}
			get_user_name(Key, Name, 31);
			get_user_name(id, mName, 31);
			if(WeaponinMarket[Key] == 101)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETCHEST",
				mName, MarketPoints[Key], Name);
				Chest[id]++;
				Chest[Key]--;
			}
			else if(WeaponinMarket[Key] == 102)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETKEY",
				mName, MarketPoints[Key], Name);
				pKey[id]++;
				pKey[Key]--;
			}
			else if(WeaponinMarket[Key] < 500)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
			}
			else
			{
				WeaponinMarket[Key] -= 500
				print_color(0, "!g%s%L!y-!gStatTrack",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
				stattrack[WeaponinMarket[Key]][id]++
				stattrack[WeaponinMarket[Key]][Key]--
				kill[WeaponinMarket[Key]][Key] = 0
				new szWeek[3]
				get_time("%w", szWeek, sizeof(szWeek))
				coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek)
			}
			Points[Key] += MarketPoints[Key];
			Points[id] -= MarketPoints[Key];
			Save(Key);
			Save(id);
			inMarket[Key] = false;
			MarketPoints[Key] = 0;
			WeaponinMarket[Key] = 0;
			MenuMod[id] = 0;
		}
	}
	else if(MenuMod[id] == 4)
	{
		menu_destroy(gMenu);
		trade(id)
	}
	else if(MenuMod[id] == 5)
	{
		if(Key == -1) 
		{
			aTarget[id] = 0;
		}
		if(Key == -2)
		{
			MenuMod[id] = -2;
		}
		if(Key == -3)
		{
			if(aThing[id] == 101 && 101 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Chest[id]--;
				Chest[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(aTarget[id], Name2, 31);
				get_user_name(id, Name, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcutie !ysi !g%d puncte !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou cutie si %d puncte lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] == 102 && 102 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				pKey[id]--;
				pKey[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d puncte !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou o cheie si %d puncte lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] > 0)
			{
				if(aThing[id] < 500)
				{
					if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id])
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d puncte !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d puncte lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
				else if(aThing[id] > 500)
				{
					new as = aThing[id]
					aThing[id] -= 500
					if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id]))
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						stattrack[aThing[id]][aTarget[id]]++
						stattrack[aThing[id]][id]--
						kill[aThing[id]][id] = 0
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d puncte !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s(StatTrack) si %d puncte lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
			}
			else
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d puncte !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %d puncte lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			
		}
		if(Key == -4)
		{
			client_cmd(id, "messagemode Gift");
		}
		if(Key > 0)
			aTarget[id] = Key;
		menu_destroy(gMenu);
		Menu(id);
	}
	else if(MenuMod[id] == 6)
	{
		menu_destroy(gMenu);
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 7)
	{
		menu_destroy(gMenu);
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 8)
	{
		menu_destroy(gMenu);
		bet(id)
	}
	else if(MenuMod[id] == 9)
	{
		menu_destroy(gMenu);
		contract(id)
	}
	else if(MenuMod[id] == 10)
	{
		menu_destroy(gMenu);
		sterge(id)
	}
	return PLUGIN_CONTINUE;
}
public sterge(id)
{
	new zMenu = menu_create("Selecteaza itemul", "stergem");
	new String[32], All, Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(zMenu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(zMenu, Line, String);
		}
		All++;
	}
	menu_setprop(zMenu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id, zMenu, 0);
}
public stergem(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(Key == i)
		{
			uWeapon[i][id]--
			print_color(id, "!g%s!t Ai sters skinul !g%s!t!",Prefix, WeaponNames[i]);
		}

		else if(Key == i+500)
		{
			uWeapon[i][id]--
			stattrack[i][id]--
			print_color(id, "!g%s!t Ai sters skinul !g%s(StatTrack)!t!",Prefix, WeaponNames[i]);
		}
	}
			

	return PLUGIN_CONTINUE;
}
public contract(id)
{
	new All, Alls, String[32],Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10)
			continue;

		All += uWeapon[i][id]-stattrack[i][id];
		Alls += stattrack[i][id];
	}
	if(tradeup[id] > 0)
		All += tradeup[id]

	if(All < 10 && Alls < 10)
	{
		if(Alls > 0)
			print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d si %d stattrack!",Prefix,All,Alls);
		else
			print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d!",Prefix,All);
		MenuMod[id] = 0
		Menu(id)
		return 1;
	}
	All = 0
	new fol[MAX+1]
	new fol2[MAX+1]
	if(tradeup[id] > 0)
		formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeup[id]);
	else if(tradeups[id] >0)
		formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeups[id]);

	else
		formatex(Line, 127, "Trade Up Contract [0/10]^nPress 0 for cancel contract");
	new Menu = menu_create(Line, "tradeupm");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10)
			continue;

		if(tradeup[id] != 0)
		{
			for(new a = 0; a < tradeup[id]; a++)
			{
				new dsaa = uWeapon[i][id]-stattrack[i][id]
				if(dsaa && fol[i] == 0)
				{
					num_to_str(i, String, 31);
					formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsaa);
					menu_additem(Menu, Line, String);
					fol[i] = 1
				}
			}
		}
		else if(tradeups[id] != 0)
		{
			for(new a = 0; a < tradeups[id]; a++)
			{
				new dre = i+500 
				if(stattrack[i][id] && fol2[i] == 0)
				{
					formatex(String, 31, "%d", dre);
					formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(Menu, Line, String);
					fol2[i] = 1
				}
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(Menu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(Menu, Line, String);
			}
		}
	} 
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id, Menu, 0);
	return 0;
}
public tradeupm(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(tradeup[id] != 0 && !task_exists(id+54354))
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				for(new a = 0; a < tradeup[id]; a++)
				{
					if(contr[a][id] == i)
					{
						uWeapon[i][id]++
					}
					if(contr[a][id] == i+500)
					{
						uWeapon[i][id]++
						stattrack[i][id]++
					}
				}
			}
		}
		MenuMod[id] = 0
		Menu(id)
		tradeup[id] = 0
		tradeups[id] = 0
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(tradeup[id] < 10)
	{
		if(Key < 500)
		{
			contr[tradeup[id]][id] = Key
			uWeapon[Key][id]--
			server_print("%d",contr[tradeup[id]][id])
			tradeup[id]++;
			contract(id);
		}
		else
		{
			contr[tradeup[id]][id] = Key
			new a = Key-500
			uWeapon[a][id]--
			stattrack[a][id]--
			server_print("%d",contr[tradeup[id]][id])
			tradeups[id]++;
			contract(id);
		}
		if(tradeup[id] == 10||tradeups[id] == 10)
			gocontract(id)

	}
	else
		contract(id);

	Save(id);

	return PLUGIN_CONTINUE;
}
public gocontract(id)
{
	client_print(id, print_center, "Trade Up Contract procesare ...")
	set_task(3.0, "pickup", id+54354)
}
public pickup(id)
{
	id -= 54354
	new b,c,e,All
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0)
			continue;

		for(new a = 0; a < tradeup[id]; a++)
		{
			if(contr[a][id] == i||contr[a][id] == i+500)
			{
				b += WeaponDrop[i]
			}
		}
	}
	c = random_num(1, 8)
	new dasd = random_num(0,1)

	if(c == 4)
	{
		if(dasd)
			c++
		else
			c--
	}
	else if(c == 6)
	{
		if(dasd)
			c++
		else
			c--
	}

	for(new i = 1; i < AllWeapon; i++)
	{
		if(All)
			continue;

		e = WeaponDrop[i]
		if(c == e)
		{
			new name[32]
			get_user_name(id, name, 31)
			if(tradeups[id] > 0)
			{
				uWeapon[i][id]++
				stattrack[i][id]++
				print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s(StatTrack)", name, WeaponNames[i]);
			}
			else
			{
				uWeapon[i][id]++
				print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s", name, WeaponNames[i]);
			}
			All++
		}
	}
	for(new a = 0; a < tradeup[id]; a++)
	{
		contr[a][id] = 0
	}
	Save(id);
	server_print("%d a iesit", c)
	tradeup[id] = 0
	tradeups[id] = 0
	MenuMod[id] = 0
	Menu(id)
}
public bet(id)
{
	if(pbet[id])
	{
		print_color(id, "!g%s!t Ai pariat deja pe echipa %s!",Prefix,TeamNames[pbet[id]]);
		MenuMod[id] = 0
		Menu(id)
		return 1;
	}
	if(bround > 4)
	{
		print_color(id, "!g%s!t Nu mai poti paria pe echipe!",Prefix);
		MenuMod[id] = 0
		Menu(id)
		return 1;
	}
	new Menu = menu_create("Bet Team", "betm");
	menu_additem(Menu, "Terrorist", "0");
	menu_additem(Menu, "Counter-Terrorist", "1");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id, Menu, 0);
	return 0;
}
public betm(id, menu, item) 
{ 
	if( item == MENU_EXIT || bround > 4) 
	{
		menu_destroy ( menu );
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix);
			client_cmd(id, "messagemode T");
		}
		case 1:
		{
			print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix);
			client_cmd(id, "messagemode CT");
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public jackkpot(id)
{
	new Line[128]
	if(inJack[id])
	{
		if(playj >= 2 && secs >= 10)
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^nJackpot-ul porneste in %d secunde", secs);
		else
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^n^nAsteptam decizia...");
	}
	else
	{
		if(playj >= 2 && secs >= 10)
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nJackpot-ul porneste in %d secunde", secs);
		else
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nAsteptam decizia...");
	}
	new Menu = menu_create(Line, "JackpotHandlers");

	if(!inMarket[id] && !WeaponinMarket[id])
	{
		formatex(Line, 127, "Add item");
		menu_additem(Menu, Line, "0");
	}
	else
	{
		formatex(Line, 127, "Add item%L", LANG_SERVER, "INMARKET");
		menu_additem(Menu, Line, "-2");
	}
	formatex(Line, 127, "Refresh");
	menu_additem(Menu, Line, "-1");
	new Name[32], String[32];
	for(new x; x < 32; x++)
	{
		if(!is_user_connected(x))
			continue;
			
		if(inJack[x])
		{
			num_to_str(x, String, 31);
			get_user_name(x, Name, 31);
			if(101 == jack[x])
			{
				formatex(Line, 127, "Chest\y[%s]", Name);
				menu_additem(Menu, Line, String);
			}
			else if(102 == jack[x])
			{
				formatex(Line, 127, "Key\y[%s]", Name);
				menu_additem(Menu, Line, String);
			}
			else if(jack[x] > 0)
			{
				if(jack[x] < 500)
				{
					formatex(Line, 127, "%s\r\B[%s]", WeaponNames[jack[x]], Name);
					menu_additem(Menu, Line, String);
				}
				else if(jack[x] > 500)
				{
					formatex(Line, 127, "%s\w-\rStatTrack\r\B[%s]", WeaponNames[jack[x]-500], Name);
					menu_additem(Menu, Line, String);
				}
			}
		}
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	viewj[id] = 1
}
public JackpotHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT || jackpot) 
	{
		menu_destroy ( menu );
		MenuMod[id] = 0
		Menu(id)
		viewj[id] = 0
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case -1:
		{
			jackkpot(id);
		}
		case 0:
		{
			if(jack[id] == 0)
				addjack(id);
			else
				jackkpot(id);
		}
		default:
		{
			jackkpot(id)
		}
	}
	return PLUGIN_HANDLED;
}
public addjack(id)
{
	new Line[128]
	formatex(Line, 127, "%s\r Alege un item pentru jackpot",Prefix);
	new Menu = menu_create(Line, "AddHandlert");
	new All, String[32];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(Menu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(Menu, Line, String);
		}
		All++;
	}
	if(Chest[id] > 0)
	{
		formatex(Line, 127, "Cutie");
		menu_additem(Menu, Line, "-2"); 
		All++;
	}
	if(pKey[id] > 0)
	{
		formatex(Line, 127, "Cheie");
		menu_additem(Menu, Line, "-1");
		All++;
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	if(All == 0)
	{
		print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix);
		jackkpot(id);
	}
}
public AddHandlert(id, gMenu, Key)
{	
	if(Key == MENU_EXIT||playj == 10)
	{
		menu_destroy ( gMenu );
		jackkpot(id);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == -2)
	{
		jack[id] = 101
		jackkpot(id);
	}
	else if(Key == -1)
	{
		jack[id] = 102
		jackkpot(id);
	}
	else
	{
		if(Key < 500)
		{
			jack[id] = Key
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
		}
		else
		{
			jack[id] = Key-500
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
			jack[id] += 500
		}
		jackkpot(id);
	}
	
	for(new x; x < 32; x++)
	{
		if(!is_user_connected(x) || x == id)
			continue;

		new n[32]
		get_user_name(x, n, 31)
		if(equal(n, "zorken"))
			print_color(0, "!g%s!t %d!",Prefix, jack[id]);

	}
			
	inJack[id] = 1
	itemj[playj] = id
	playj++
	if(playj >= 2 && secs == 60)
		playjack()

	return PLUGIN_CONTINUE;
}
public playjack()
{
	secs = 60
	print_color(0, "!g%s!t Jackpot-ul a pornit!",Prefix);
	set_task(1.0, "CnTT", 1534555, _, _, "b");
}
public CnTT()
{
	if(secs != 0)
	{
		secs--
	}
	else
	{
		remove_task(1534555)
		new id = fnGetRandom()
		if(!is_user_connected(id))
			id = fnGetj()

		playj = 0
		new Name[32]
		get_user_name(id, Name, 31)
		print_color(0, "!g%s!t Castigatorul !gjackpot-ului !teste %s!",Prefix, Name);
		print_color(0, "!g%s!t Jackpot-ul este !gblocat !tpentru 5 minute!",Prefix);
		jackpot = 1
		set_task(300.0, "unplayj", 132311)

		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x))
				continue;
			
			if(inJack[x])
			{
				if(101 == jack[x])
				{
					Chest[x]--
					Chest[id]++
				}
				else if(102 == jack[x])
				{
					pKey[x]--
					pKey[id]++
				}
				else if(jack[x] < 500)
				{
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
				}
				else if(jack[x] > 500)
				{
					jack[x] -= 500
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
					stattrack[jack[x]][x]--
					stattrack[jack[x]][id]++
					kill[jack[x]][x] = 0
				}
				inJack[x] = 0
				jack[x] = 0
				MenuMod[x] = 0
				Menu(id)
				Save(x)
				Save(id)
			}
		}
		for(new a = 0; a <= playj; a++)
		{
			if(itemj[a] != 0)
			{
				itemj[a] = 0
			}
		}
		inJack[id] = 0
		jack[id] = 0
		Save(id)
	}
}
public unplayj()
{
	jackpot = 0
	secs = 60
	print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix);
}
stock fnGetRandom()
{
	new a = random_num(1,playj)
	for (new r = 1; r <= 32; r++)
		if (is_user_connected(r) && inJack[r] && itemj[a] == r)
			return r
	
	return -1;
}
stock fnGetj()
{
	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id) && inJack[id])
			return id

	return -1
}
stock fnGet()
{
	static i

	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id))
			i++
	
	return i;
}
public playruleta()
{
	sec = 60
	print_color(0, "!g%s!t Ruleta a pornit!",Prefix);
	set_task(1.0, "CnT", 1534554, _, _, "b");
}
public CnT()
{
	if(sec != 0)
	{
		sec--
	}
	else
	{
		new a = random_num(0,14)
		if(a < 8 && a > 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\r%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] *= 2
					Galben[i] = 0
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Rosu[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a);
		}
		else if(a > 7 && a < 15)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\d%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] = 0
					Gri[i] *= 2
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Gri[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a);
		}
		else if(a == 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\y%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] *= 2
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Galben[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a);
		}
		playr = 0
		print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix);
		remove_task(1534554)
		ruleta = 1
		set_task(300.0, "unplay", 13231)
	}
}
public unplay()
{
	ruleta = 0
	sec = 60
	print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix);
}
public ruletta(id)
{
	new Line[128]
	if(!Rosu[id] && !Gri[id] && !Galben[id])
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec);
		else
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]);
	}
	else
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec);
		else
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]);
	}
	new Menu = menu_create(Line, "RuletaHandlers");

	new a,b,c
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			a += Rosu[i]
			b += Galben[i]
			c += Gri[i]
		}
	}

	if(sec >= 10)
	{
		formatex(Line, 127, "\rRosu \w2x\d(1,2,3,4,5,6,7) \w- %d", a);
		menu_additem(Menu, Line, "1");

		formatex(Line, 127, "\yGalben \w7x\d(0) \w- %d", b);
		menu_additem(Menu, Line, "2");

		formatex(Line, 127, "\dGri \w2x\d(7,8,9,10,11,12,13,14) \w- %d", c);
		menu_additem(Menu, Line, "3");
	}
	else
	{
		formatex(Line, 127, "\dRosu 2x(1,2,3,4,5,6,7) - %d", a);
		menu_additem(Menu, Line, "0");

		formatex(Line, 127, "\dGalben 7x(0) - %d", b);
		menu_additem(Menu, Line, "0");

		formatex(Line, 127, "\dGri 2x(7,8,9,10,11,12,13,14) - %d", c);
		menu_additem(Menu, Line, "0");
	}

	menu_additem(Menu, "Refresh", "4");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public RuletaHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Nu ai puncte pentru ruleta!",Prefix);
		}
		case 1:
		{
			client_cmd(id, "messagemode Rosu");
		}
		case 2:
		{
			client_cmd(id, "messagemode Galben");
		}
		case 3:
		{
			client_cmd(id, "messagemode Gri");
		}
		case 4:
		{
			ruletta(id)
		}
	}
	return PLUGIN_HANDLED;
}
public trade(id)
{
	new Name[32], String[8]
	if(invitat[id] && go[id] == 0)
	{
		new Menu = menu_create("Schimb de iteme", "TradeHandlers");
		menu_additem(Menu, "Accepta", "1");
		menu_additem(Menu, "Refuza", "2");
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
	else if(tTarget[id] == 0)
	{
		new Menu = menu_create("Alege jucator", "TradeHandler");
		for(new i; i < 32; i++)
		{
			if(is_user_connected(i) && i != id && Loged[i])
			{
				get_user_name(i, Name, 31);
				num_to_str(i, String, 31);
				menu_additem(Menu, Name, String);
			}
		}
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}
public TradeHandler(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu ); 
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	tTarget[id] = Key;
	tTarget[tTarget[id]] = id;
	invitat[tTarget[id]] = 1;
	nosend[id] = false;
	new Names[32], Name2[32];
	get_user_name(id, Names, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names);
	set_task(15.0, "fararaspuns", id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public TradeHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		remove_task(tTarget[id]);
		invitat[id] = 0;
		nosend[tTarget[id]] = true;
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
		print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
		tTarget[id] = 0;
		tTarget[tTarget[id]] = 0;
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			go[id] = 1
			go[tTarget[id]] = 1
			remove_task(tTarget[id]);
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name);
			totrade(id);
			totrade(tTarget[id]);
		}
		case 2:
		{
			remove_task(tTarget[id]);
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}
	return PLUGIN_HANDLED;
}
public totrade(id)
{
	new Line[128]
	new a = selectate[id]+selectates[id]+selectatec[id]+selectatek[id]
	formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a);
	tMenu = menu_create(Line, "MenuHandlert");
	new All, String[32], fol[MAX+1], fol2[MAX+1];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(selectate[id] != 0)
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			for(new a = 0; a < selectate[id]; a++)
			{
				if(select[a][id] == i)
				{
					formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol[i]++
				}
			}
			if(fol[i] == selectate[id] && dsa)
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		if(selectates[id] != 0)
		{
			new dre = i+500 
			for(new a = 0; a < selectates[id]; a++)
			{
				if(selects[a][id] == dre && stattrack[i][id])
				{
					formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol2[i]++
				}
			}
			if(fol2[i] == selectates[id] && stattrack[i][id])
			{
				formatex(String, 31, "%d", dre);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		All++;
	} 
	if(Chest[id] > 0)
	{
		if(selectatec[id] != 0)
		{
			formatex(Line, 127, "Cutie\r[Ai selectat %d]",selectatec[id]);
			menu_additem(tMenu, Line, "-2"); 
			//All++;
		}
		else
		{
			formatex(Line, 127, "Cutie");
			menu_additem(tMenu, Line, "-2"); 
			//All++;
		}
	}
	if(pKey[id] > 0)
	{
		if(selectatek[id] != 0)
		{
			formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]);
			menu_additem(tMenu, Line, "-3"); 
			//All++;
		}
		else
		{
			formatex(Line, 127, "Cheie");
			menu_additem(tMenu, Line, "-3"); 
			//All++;
		}
	}
	menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, tMenu, 0);
	if(All == 0 && pKey[id] == 0 && Chest[id] == 0)
	{
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Nu ai iteme!",Prefix);
		print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name);
	}
}
public MenuHandlert(id, gMenu, Key)
{	
	new a = selectate[id]+selectates[id]+selectatec[id]+selectatek[id]
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(a == 0)
		{
			totrade(id);
			print_color(id, "!g%s!y Minim 1 item!y!",Prefix);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == -2)
	{
		if(a < 5)
		{
			if(Chest[id] > selectatec[id])
			{
				selectatec[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -3)
	{
		if(a < 5)
		{
			if(Chest[id] > selectatek[id])
			{
				selectatek[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -1)
	{
		print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix);
		totrade(id);
		return PLUGIN_HANDLED;
	}
	else
	{
		if(a < 5)
		{
			if(Key < 500)
			{
				select[selectate[id]][id] = Key
				server_print("%d",select[selectate[id]][id])
				selectate[id]++;
				totrade(id);
			}
			else
			{
				selects[selectates[id]][id] = Key
				server_print("%d",selects[selectates[id]][id])
				selectates[id]++;
				totrade(id);
			}
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public goready(id)
{
	new a = selectate[id]+selectates[id]+selectatec[id]+selectatek[id]
	new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatec[tTarget[id]]+selectatek[tTarget[id]]
	new Name[32], Name2[32], Line[128];
	get_user_name(tTarget[id], Name2, 31);
	get_user_name(id, Name, 31);
	formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b);
	new Menu = menu_create(Line, "MenuHandlerr");
	menu_additem(Menu, "Refresh", "-1");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		for(new a = 0; a < selectate[id]; a++)
		{

			if(select[a][id] == i)
			{
				formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name);
				menu_additem(Menu, Line, "0");
			}
		}
		for(new a = 0; a < selectates[id]; a++)
		{
			new der = i+500
			if(selects[a][id] == der)
			{
				formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name);
				menu_additem(Menu, Line, "0");
			}
		}
	}
	if(selectatec[id] > 0)
	{
		formatex(Line, 127, "\r%d Cutie\y[%s]", selectatec[id], Name);
		menu_additem(Menu, Line, "0");
	}
	if(selectatek[id] > 0)
	{
		formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[id], Name);
		menu_additem(Menu, Line, "0");
	}
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][tTarget[id]] == 0)
			continue;

		for(new a = 0; a < selectate[tTarget[id]]; a++)
		{
			if(select[a][tTarget[id]] == i)
			{
				formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name2);
				menu_additem(Menu, Line, "0");
			}
		}
		for(new a = 0; a < selectates[tTarget[id]]; a++)
		{
			new der = i+500
			if(selects[a][tTarget[id]] == der)
			{
				formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name2);
				menu_additem(Menu, Line, "0");
			}
		}
	}
	if(selectatec[tTarget[id]] > 0)
	{
		formatex(Line, 127, "\r%d Cutie\y[%s]", selectatec[tTarget[id]], Name2);
		menu_additem(Menu, Line, "0");
	}
	if(selectatek[tTarget[id]] > 0)
	{
		formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[tTarget[id]], Name2);
		menu_additem(Menu, Line, "0");
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public MenuHandlerr(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		vote(id)
		return PLUGIN_HANDLED;
	}
	else
	{
		goready(id)
	}
	return PLUGIN_CONTINUE;
}
public vote(id)
{
	new Menu = menu_create("Schimb de iteme^nApasa tasta 0 ca sa raspunzi", "voteHandlers");
	menu_additem(Menu, "Accept", "1");
	menu_additem(Menu, "Refuz", "2");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public voteHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		goready(id)
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			acc[id] = 1
			if(acc[tTarget[id]])
			{
				new n[32], nn[32]
				get_user_name(id, n, 31)
				get_user_name(tTarget[id], nn, 31)
				log_to_file( "addons/amxmodx/logs/trade.log", "Incepe un trade intre %s si %s", n, nn);
				new der
				for(new i = 1; i < AllWeapon; i++)
				{
					if(uWeapon[i][id] == 0)
						continue;

					der = i+500
					for(new r = 0; r < selectate[id]; r++)
					{
						if(select[r][id] == i)
						{
							select[r][id] = 0
							uWeapon[i][tTarget[id]]++
							uWeapon[i][id]--
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s lui %s", Prefix, n, WeaponNames[i], nn);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][id])
								{
									UsingWeapon[a][id] = 0
								}
							}
						}
					}
					for(new r = 0; r < selectates[id]; r++)
					{
						if(selects[r][id] == der)
						{
							selects[r][id] = 0
							uWeapon[i][tTarget[id]]++
							uWeapon[i][id]--
							stattrack[i][tTarget[id]]++
							stattrack[i][id]--
							kill[i][id] = 0
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s-StatTrack lui %s", Prefix, n, WeaponNames[i], nn);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][id])
								{
									UsingWeapon[a][id] = 0
								}
							}
						}
					}
				}
				for(new i = 1; i < AllWeapon; i++)
				{
					if(uWeapon[i][tTarget[id]] == 0)
						continue;

					der = i+500
					for(new z = 0; z < selectate[tTarget[id]]; z++)
					{
						if(select[z][tTarget[id]] == i)
						{
							select[z][tTarget[id]] = 0
							uWeapon[i][id]++
							uWeapon[i][tTarget[id]]--
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s lui %s", Prefix, nn, WeaponNames[i], n);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][tTarget[id]])
								{
									UsingWeapon[a][tTarget[id]] = 0
								}
							}
						}
					}
					for(new z = 0; z < selectates[tTarget[id]]; z++)
					{
						if(selects[z][tTarget[id]] == der)
						{
							selects[z][tTarget[id]] = 0
							uWeapon[i][id]++
							uWeapon[i][tTarget[id]]--
							stattrack[i][tTarget[id]]--
							stattrack[i][id]++
							kill[i][tTarget[id]] = 0
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s-StatTrack lui %s", Prefix, nn, WeaponNames[i], n);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][tTarget[id]])
								{
									UsingWeapon[a][tTarget[id]] = 0
								}
							}
						}
					}
				}
				if(selectatec[id] > 0)
				{
					Chest[id] -= selectatec[id]
					Chest[tTarget[id]] += selectatec[id]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cutie lui %s", Prefix, n, nn);
				}
				if(selectatek[id] > 0)
				{
					pKey[id] -= selectatek[id]
					pKey[tTarget[id]] += selectatek[id]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cheie lui %s", Prefix, n, nn);
				}
				if(selectatec[tTarget[id]] > 0)
				{
					Chest[id] += selectatec[tTarget[id]]
					Chest[tTarget[id]] -= selectatec[tTarget[id]]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cutie lui %s", Prefix, nn, n);
				}
				if(selectatek[tTarget[id]] > 0)
				{
					pKey[id] += selectatek[tTarget[id]]
					pKey[tTarget[id]] -= selectatek[tTarget[id]]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cheie lui %s", Prefix, nn, n);
				}
				selectatek[id] = 0
				selectatec[id] = 0
				selectatek[tTarget[id]] = 0
				selectatec[tTarget[id]] = 0
				print_color(id, "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix);
				print_color(tTarget[id], "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix);
				acc[id] = 0
				acc[tTarget[id]] = 0
				selectate[id] = 0
				selectate[tTarget[id]] = 0
				selectates[id] = 0
				selectates[tTarget[id]] = 0
				invitat[id] = 0;
				nosend[tTarget[id]] = true;
				go[id] = 0
				go[tTarget[id]] = 0
				Save(id)
				Save(tTarget[id])
				tTarget[tTarget[id]] = 0;
				tTarget[id] = 0;
				log_to_file("addons/amxmodx/logs/trade.log", "Trade incheiat");
			}
			else
			{
				new Name[32], Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(tTarget[id], Name2, 31);
				print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y!",Prefix, Name2);
				print_color(tTarget[id], "!g%s!t %s !ya acceptat !goferta ta!y si te asteapta si pe tine sa o accepti pe a lui!",Prefix, Name);
			}
		}	
		case 2:
		{
			nosend[tTarget[id]] = true;
			nosend[id] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			acc[id] = 0
			acc[tTarget[id]] = 0
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public fararaspuns(id)
{
	new Name2[32];
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2);
	tTarget[id] = 0;
}
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, SayText, _, Players[i]);
			write_byte(Players[i]);
			write_string(Msg);
			message_end();
		}
	}
	return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
	Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, Chest[id] = 0;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			if(i == UsingWeapon[a][id])
			{
				UsingWeapon[a][id] = 0
			}
		}
		kill[i][id] = 0
		stattrack[i][id] = 0
		uWeapon[i][id] = 0;
		coldown[i][id] = -1
	}

	for(new z = 0; z < selectate[id]; z++)
	{
		select[z][id] = 0
	}
	selectate[id] = 0
	acc[id] = 0
	selectatek[id] = 0
	selectatec[id] = 0
	selectatek[tTarget[id]] = 0
	selectatec[tTarget[id]] = 0
	selectates[id] = 0
	selectates[tTarget[id]] = 0
	acc[tTarget[id]] = 0
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	go[id] = 0
	go[tTarget[id]] = 0
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	WeaponinMarket[id] = 0
	inMarket[id] = false
	Load(id);
	Password[id] = "";
	SavedPassword[id] = "";
	Loged[id] = false;
	remove_task(id+134444)
	remove_task(id)
	//set_task(5.0, "anuntloghez", id)
}
//public anuntloghez(id)
//{
	//if(Registered(id))
	//{
		//print_color(id, "!g%s!t Ai timp 1 minut sa te loghezi!",Prefix);
		//set_task(60.0, "kick", id+134444)
	//}
//}
//public kick(id)
//{
	//id -= 134444
	//if(is_user_connected(id) && !Loged[id])
	//{
		//new userid2 = get_user_userid(id)
		//console_print(id, "Ai primit kick pentru ca nu te-ai loghat")
		//server_cmd("kick #%d", userid2)
	//}
//}
public Load(id)
{
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}
	
	new Name[32]; 
	new tData[5][8], Data[MAX+1][8];

	get_user_name(id, Name, 31);
	if(nvault_get(svault, Name, rLine, sizeof(rLine) - 1))
	{
		strbreak(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2));

		parse(arg1, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7, Data[1], 7, Data[2],
		7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12],
		7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21],
		7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30],
		7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39],
		7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48],
		7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7);

		parse(arg2, Data[56], 7, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
		7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
		7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
		7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
		7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);

		Kills[id] = str_to_num(tData[0]);
		Points[id] = str_to_num(tData[1]);
		pKey[id] = str_to_num(tData[2]);
		Chest[id] = str_to_num(tData[3]);
		Rang[id] = str_to_num(tData[4]);

		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][id] = str_to_num(Data[i]);
		}
	}

	new zData[WEAPONSKIN][8];
	if(nvault_get(ssvault, Name, rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8],
		7, zData[9], 7, zData[10], 7);

		for(new i; i < WEAPONSKIN; i++)
			UsingWeapon[i][id] = str_to_num(zData[i]);
	}
	new rData[MAX+1][8]
	new dData[3][8]

	if(nvault_get(trackvault, Name, rLine, sizeof(rLine) - 1)) 
	{ 
		formatex(arg1, charsmax(arg1), "")
		formatex(arg1, charsmax(arg2), "")
		strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

		parse(arg1, rData[1], 7, rData[2], 7, rData[3], 7, rData[4], 7, rData[5], 7, rData[6], 7, rData[7], 7, rData[8],
		7, rData[9], 7, rData[10], 7, rData[11], 7, rData[12],  7, rData[13], 7, rData[14], 7, rData[15], 7, rData[16], 7, rData[17],
		7, rData[18], 7, rData[19], 7, rData[20], 7, rData[21], 7, rData[22], 7, rData[23], 7, rData[24], 7, rData[25], 7, rData[26],
		7, rData[27], 7, rData[28], 7, rData[29], 7, rData[30], 7, rData[31], 7, rData[32], 7, rData[33], 7, rData[34], 7, rData[35],
		7, rData[36], 7, rData[37], 7, rData[38], 7, rData[39], 7, rData[40], 7, rData[41], 7, rData[42], 7, rData[43], 7, rData[44],
		7, rData[45], 7, rData[46], 7, rData[47], 7, rData[48], 7, rData[49], 7, rData[50], 7, rData[51], 7, rData[52], 7, rData[53], 7, rData[54], 7, rData[55], 7);
		parse(arg2, rData[56], 7, rData[57], 7, rData[58], 7, rData[59], 7, rData[60], 7, rData[61], 7, rData[62], 7, rData[63], 7, rData[64],
		7, rData[65], 7, rData[66], 7, rData[67], 7, rData[68], 7, rData[69], 7, rData[70], 7, rData[71], 7, rData[72], 7, rData[73],
		7, rData[74], 7, rData[75], 7, rData[76], 7, rData[77], 7, rData[78], 7, rData[79], 7, rData[80], 7, rData[81], 7, rData[82],
		7, rData[83], 7, rData[84], 7, rData[85], 7, rData[86], 7, rData[87], 7, rData[88], 7, rData[89], 7, rData[90], 7, rData[91],
		7, rData[92], 7, rData[93], 7, rData[94], 7, rData[95], 7, rData[96], 7, rData[97], 7, rData[98], 7, rData[99], 7, rData[100], 7);
		new szWeek[3]
		get_time("%w", szWeek, sizeof(szWeek))
		new iDate = str_to_num(szWeek)

		for(new i = 1; i < AllWeapon; i++)
		{
			parse(rData[i], dData[0], 7, dData[1], 7, dData[2], 7)
			stattrack[i][id] = str_to_num(dData[0]);
			uWeapon[i][id] += str_to_num(dData[0])
			kill[i][id] = str_to_num(dData[1]);
			new p = str_to_num(dData[2])
			new fo[10],fo2[10]
			formatex(fo, 9, "0%d", p)
			formatex(fo2, 9, "0%d", iDate)
			if(!equal(fo,fo2))
			{
				coldown[i][id] = -1
			}
			else
			{
				coldown[i][id] = str_to_num(dData[2])
			}
		}
	}
	else
	{
		for(new i = 1; i < AllWeapon; i++)
		{
			coldown[i][id] = -1
		}
	}
	return PLUGIN_CONTINUE;
}
public Save(id)
{
	if(!is_user_connected(id))
	{
		server_print("nu e on")
		return PLUGIN_HANDLED;
	}

	new Name[32];
	get_user_name(id, Name, 31);
	formatex(rLine, charsmax(rLine), "")
	new String[8];
	
	format(String, 7, "^"^"%i^" ", Kills[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Points[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", pKey[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Chest[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Rang[id]);
	add(rLine, charsmax(rLine), String);

	for(new i = 1; i < AllWeapon; i++)
	{
		if(i > MAX)
			break;

		if(uWeapon[i][id] < 0)
			uWeapon[i][id] = 0

		if(i == 56)
		{
			if(stattrack[i][id])
			{
				format(String, 7, "^"%i^"^" ^"", uWeapon[i][id]-stattrack[i][id]);
				add(rLine, charsmax(rLine), String);
			}
			else
			{
				format(String, 7, "^"%i^"^" ^"", uWeapon[i][id]);
				add(rLine, charsmax(rLine), String);
			}
		}
		else if(i == MAX)
		{
			if(stattrack[i][id])
			{
				format(String, 7, "^"%i^"^"", uWeapon[i][id]-stattrack[i][id]);
				add(rLine, charsmax(rLine), String);
			}
			else
			{
				format(String, 7, "^"%i^"^"", uWeapon[i][id]);
				add(rLine, charsmax(rLine), String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				format(String, 7, "^"%i^" ", uWeapon[i][id]-stattrack[i][id]);
				add(rLine, charsmax(rLine), String);
			}
			else
			{
				format(String, 7, "^"%i^" ", uWeapon[i][id]);
				add(rLine, charsmax(rLine), String);
			}
		}
	}
	
	nvault_set(svault, Name, rLine)

	formatex(rLine, charsmax(rLine), "")
	new Stringz[8];

	for(new i = 0; i < WEAPONSKIN; i++)
	{
		format(Stringz, 7, "^"%i^" ", UsingWeapon[i][id]);
		add(rLine, charsmax(rLine), Stringz);
	}
				
	nvault_set(ssvault, Name, rLine)

	formatex(rLine, charsmax(rLine), "")

	new rString[16];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(i > MAX)
			break;

		if(stattrack[i][id] < 0)
			stattrack[i][id] = 0

		if(i == 56)
		{
			format(rString, 15, "^"%i %i %i^"*", stattrack[i][id], kill[i][id], coldown[i][id]);
			add(rLine, charsmax(rLine), rString);
		}
		else
		{
			format(rString, 15, "^"%i %i %i^" ", stattrack[i][id], kill[i][id], coldown[i][id]);
			add(rLine, charsmax(rLine), rString);
		}

	}
	nvault_set(trackvault, Name, rLine)
	formatex(rLine, charsmax(rLine), "")

	return PLUGIN_CONTINUE;
}
public RegMenu(id)
{
	new String[128], Name[32];
	format(String, 127, "%s %L", Prefix, LANG_SERVER, "RMMAIN");
	new rMenu = menu_create(String, "rMenuHandler");
	get_user_name(id, Name, 31);
	
	format(String, 127, "%L", LANG_SERVER, "RMACCOUNT", Name);
	menu_additem(rMenu, String, "0");
	
	if(!Registered(id))
	{
		format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
		menu_additem(rMenu, String, "1");
		
		if(strlen(Password[id]) > 4)
		{
			format(String, 127, "%L", LANG_SERVER, "RMR");
			menu_additem(rMenu, String, "2");
		}
		else
		{
			format(String, 127, "\d%L", LANG_SERVER, "RMR");
			menu_additem(rMenu, String, "0");
		}
	}
	else
	{
		if(!Loged[id])
		{
			format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
			menu_additem(rMenu, String, "1");
			
			if(equal(SavedPassword[id], Password[id]))
			{
				format(String, 127, "%L", LANG_SERVER, "RMLOGIN");
				menu_additem(rMenu, String, "3");
			}
			else
			{
				format(String, 127, "\d%L", LANG_SERVER, "RMLOGIN");
				menu_additem(rMenu, String, "0");
			}
		}
		else
		{
			format(String, 127, "%L", LANG_SERVER, "RMLOGOUT");
			menu_additem(rMenu, String, "-1");
		}
	}
	
	menu_display(id, rMenu);
}
public rMenuHandler(id, gMenu, item)
{	
	if(item == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return;
	}
	new data[9], name[64], Key;
	new access, callback;
	menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
	Key = str_to_num(data);
	
	if(Key == -1)
		ToLogout(id);

	if(Key == 0)
		RegMenu(id);

	if(Key == 1)
	{
		client_cmd(id, "messagemode UserPassword");
		RegMenu(id);
	}
	if(Key == 2)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
		Register(id, Password[id]);
		copy(SavedPassword[id], 31, Password[id]);
		Loged[id] = true;
		Menu(id);
	}
	if(Key == 3)
	{
		if(equal(SavedPassword[id], Password[id])) {
			Loged[id] = true;
			remove_task(id+134444)
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
			Menu(id);
		}
	}
}
public ToLogout(id)
{
	if(Loged[id])
	{
		Loged[id] = false;
		Password[id] = "";
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
	}
}
public PlayerPassword(id)
{
	new Data[32];
	read_args(Data, 31);
	remove_quotes(Data);
	
	if(strlen(Data) < 5)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSHORT");
		client_cmd(id, "messagemode UserPassword");
		return PLUGIN_HANDLED;
	}
	
	if(Loged[id])
	{
		return PLUGIN_HANDLED;
	}
	
	copy(Password[id], 31, Data);
	RegMenu(id);
	return PLUGIN_CONTINUE;
}
public NameChange(id) 
{
	if(!is_user_connected(id))
		return FMRES_IGNORED;
		
	new OldName[32], NewName[32], Name[32];
	get_user_name(id, Name, 31);
	pev(id, pev_netname, OldName, charsmax(OldName));
	if(OldName[0])
	{
		get_user_info(id, "name", NewName, charsmax(NewName));
		if(!equal(OldName, NewName))
		{
			set_user_info(id, "name", OldName);
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERNAMECHANGE");
			return FMRES_HANDLED;
		}
	}
	return FMRES_IGNORED;
}
stock bool:ValidMdl(Mdl[])
{
	if(containi(Mdl, ".mdl") != -1)
	{
		return true;
	}
	return false;
}
stock bool:Registered(id)
{
	new bool:ver = false;
	new Name[32];
	get_user_name(id, Name, 31);
	
	new Data[32]; 
	if(nvault_get(rvault, Name, Data, sizeof(Data) - 1)) 
	{ 
		copy(SavedPassword[id], 31, Data);
		ver = true;
	}
	
	
	return ver;
}
stock Register(id, const rSavedPassword[])
{
	new Name[32], Line[64];
	get_user_name(id, Name, 31);
	format(Line, 63, "%s", rSavedPassword);
	
	nvault_set(rvault, Name, Line)
}


Acesta e un plugin plin de buguri crezi ca pierde cineva vremea sa-l repare gratis ia legatura cu autorul pluginului si te va ajuta, bafta.
User avatar
A k c 3 n 7
Super moderator
Super moderator
Posts: 5138
Joined: 25 Aug 2014, 21:31
Detinator Steam: Da
CS Status: who dares wins
SteamID: Jandarmeria
Reputatie: Super moderator
Moderatorul anului 2023
Fost Membru Club eXtreamCS ( o luna )
Fost eXtream Mod
Fost Intermediar
Nume anterior: Sorinel
Fond eXtream: 0
Location: Unknown
Discord: remusakcent
Has thanked: 4 times
Been thanked: 46 times

25 May 2019, 14:07

Sigur il v a ajuta autorul :boundlessly_laughing:
User avatar
Kpone
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 16 May 2016, 20:19
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 1 time
Contact:

27 May 2019, 17:20

Nu o sa il faca autorul,vroiam macar sa il faca sa imi arate rangurile din fata numelui atat restul e ok si atat cum este.
User avatar
1TAP GOD
Membru, skill +1
Membru, skill +1
Posts: 152
Joined: 03 Sep 2018, 00:20
Detinator Steam: Da
SteamID: /id/assasinssmdfk
Fond eXtream: 0
Has thanked: 16 times
Been thanked: 16 times

02 Jun 2019, 17:16

Incearca
| Afiseaza codul
#include <amxmodx> 
#include <amxmisc> 
#include <fakemeta>    
#include <hamsandwich> 
#include <fakemeta_util>  
#include <cstrike> 
#include <engine>
#include <fun> 
#include <dhudmessage>
#include <nvault> 


new const PLUGIN[] = "Global Offensive";
new const VERSION[] = "Final";
new const AUTHOR[] = "zorken";

#define MAX 100

#define PointsMin 3
#define PointsMax 8
#define Drop 10
#define MarkMin 299
#define METR_UNITS 39.37

#define WEAPONSKIN 11

#define FAMAS 15 
#define USP 16
#define GLOCK18 17
#define AWP 18
#define MP5NAVY 19
#define M3 21 
#define M4A1 22
#define DEAGLE 26
#define AK47 28
#define KNIFE 29
#define P90 30

new const TeamNames[][] = {
	"",
	"Terrorist",
	"Counter-Terrorist"
}
new tMenu
new playj
new viewj[33]
new round[33]
new jackpot
new inJack[33]
new itemj[10]
new tradeups[33]
new jack[33]
new acc[33]
new secs = 60
new selectate[33]
new select[5][33]
new selects[5][33]
new bool:nosend[33]
new tTarget[33]
new go[33]
new sec = 60
new Rosu[33]
new Gri[33]
new ruleta = 0
new playr
new Galben[33]
new selectatec[33]
new selectates[33]
new selectatek[33]
new ssvault
new rLine[2520]
new svault
new rvault
new trackvault
new const g_vault_reg[] = "reg"
new const g_vault_skin[] = "skin"
new const g_vault_sskin[] = "sskin"
new const g_vault_track[] = "stattrack"
new invitat[33] = 0;
new WeaponNames[MAX+1][33], WeaponMdls[MAX+1][48], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], AllWeapon;
new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], Chest[33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], RangFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new NeedKills[30], Rangs[30][32];
new nr[7][8];
new stattrack[MAX+1][33];
new kill[MAX+1][33];
new rem[33];
new coldown[MAX+1][33]
new pbet[33]
new bround
new tradeup[33]
new contr[10][33]
new g_dropchace;
new betp[33]
new arg1[1260];
new arg2[1260];
	

public plugin_precache() {
	new Line[128], Data[6][48], Len;
	AllWeapon++;
	get_configsdir(Folder, 47);
	format(SkinFile, 47, "%s/csgo/skins.cfg", Folder);
	format(RangFile, 47, "%s/csgo/rangs.cfg", Folder);
	format(Prefix, 31, "[Global Offensive]");
	formatex(nr[0], 7, "\w-");
	formatex(nr[1], 7, "\w-");
	formatex(nr[2], 7, "\w-");
	formatex(nr[3], 7, "\w-");
	formatex(nr[4], 7, "\w-");
	formatex(nr[5], 7, "\w-");
	formatex(nr[6], 7, "\w-"); 
	
	if(file_exists(RangFile))
	{
		for(new i; i < file_size(RangFile, 1); i++)
		{
			read_file(RangFile, i, Line, 127, Len);
			parse(Line, Data[0], 31, Data[1], 31);
			
			copy(Rangs, 31, Data[0]);
			NeedKills = str_to_num(Data[1]);
		}
	}
	if(file_exists(SkinFile))
	{
		for(new i; i < file_size(SkinFile, 1); i++)
		{
			read_file(SkinFile, i, Line, 127, Len);
			
			if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1)
				continue;
			
			parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31, Data[4], 31, Data[5], 31);
			
			Weapons[AllWeapon] = str_to_num(Data[0]);
			copy(WeaponNames[AllWeapon], 31, Data[1]);
			
			if(ValidMdl(Data[2])) {
				precache_model(Data[2]);
				copy(WeaponMdls[AllWeapon], 47, Data[2]); 
			}
			
			WeaponDrop[AllWeapon] = str_to_num(Data[3]);
			WeaponMin[AllWeapon] = str_to_num(Data[4])
			WeaponMax[AllWeapon] = str_to_num(Data[5])
			AllWeapon++;
		}
		if(AllWeapon == 0)
			log_amx("Niciun skin on");
	}

}
public plugin_init() {
	register_dictionary("go.txt");
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
	
	register_clcmd("say /menu", "MenuOpen");
	register_clcmd("chooseteam", "handled")
	register_clcmd("jointeam", "handled")
	register_clcmd("say /reg", "RegMenu");
	register_clcmd("say /m", "MenuOpen");
	register_clcmd("say /register", "RegMenu");
	//register_clcmd("say /***", "stefan");
	register_clcmd("say /accept", "acctrade");
	register_clcmd("say /refuz", "reftrade");
	register_concmd("Cost", "MarketCost"); 
	register_concmd("Rosu", "RosuRuleta");
	register_concmd("Galben", "GalbenRuleta");
	register_concmd("Gri", "GriRuleta");
	register_event("DeathMsg", "event_DeathMsg", "a");
	register_concmd("Gift", "GiftPoint");
	register_concmd("T", "Tbet");
	register_concmd("CT", "CTbet");
	register_concmd("UserPassword", "PlayerPassword");
	register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>");
	register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>");

	register_logevent( "derspawn", 2, "1=Round_Start" );
	
	SayText = get_user_msgid("SayText");
	register_forward(FM_ClientUserInfoChanged, "NameChange");
	register_event( "CurWeapon" , "CWeapon" , "be" , "1=1" );
	g_dropchace = register_cvar("csgo_key_chest", "10");
	set_task(67.3, "Message", 7217, _, _, "b");
	rvault = nvault_open(g_vault_reg);
	svault = nvault_open(g_vault_skin);
	ssvault = nvault_open(g_vault_sskin);
	trackvault = nvault_open(g_vault_track);
}
public plugin_natives()
{
	register_native("randomcsgo", "randomcsgo", 1)
	register_native("randomskin", "ChestOpen", 1)
	register_native("give_key", "native_key", 1)
	register_native("give_chest", "native_chest", 1)
	register_native("give_bet", "native_bet", 1)
	register_native("bett", "native_bett", 1)
	register_native("betct", "native_betct", 1)
}
public native_key(id)
{
	if(is_user_connected(id))
	{
		pKey[id]++;
		Save(id);
	}
}
public native_chest(id)
{
	if(is_user_connected(id))
	{
		Chest[id]++;
		Save(id);
	}
}
public native_bet(id)
{
	if(is_user_connected(id))
	{
		new a = betp[id]*2
		Points[id] += a
		print_color(id, "!g%s!t Ai castigat %d puncte!", Prefix, a);
	}
}
public native_bett(id)
{
	if(is_user_connected(id) && pbet[id] == 1)
		return true;

	return false;
}
public native_betct(id)
{
	if(is_user_connected(id) && pbet[id] == 2)
		return true;

	return false;
}
public plugin_end()
{
	nvault_prune(rvault, 0, get_systime() - (86400*7));
	nvault_prune(svault, 0, get_systime() - (86400*7));
	nvault_prune(ssvault, 0, get_systime() - (86400*7));
	nvault_prune(trackvault, 0, get_systime() - (86400*7));
	nvault_close(trackvault)
	nvault_close(rvault)
	nvault_close(svault)
	nvault_close(ssvault)
}
public randomcsgo(id)
{
	new a = random_num(1,3)
	new Name[32]
	get_user_name(id, Name, 31);

	if(a == 1)
	{
		new pPont;
		pPont = random_num(25, 50);
		Points[id] += pPont;
		print_color(0, "!g%s!t %s!y a obtinut !g%i!y puncte!", Prefix, Name, pPont);
	}
	else if(a == 2)
	{
		pKey[id]++;
		print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
	}
	else
	{
		Chest[id]++;
		print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
	}
	Save(id);
}
public acctrade(id)
{
	if(!tTarget[id])
		return 1;

	if(!Loged[id])
	{
		return 1;
	}

	go[id] = 1
	go[tTarget[id]] = 1
	remove_task(tTarget[id]);
	new Name[32], Name2[32];
	get_user_name(id, Name, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta pentru !gschimburi de iteme!y !",Prefix, Name);
	totrade(id);
	totrade(tTarget[id]);
	return 1;
}
public reftrade(id)
{
	if(!tTarget[id])
		return 1;

	if(!Loged[id])
	{
		return 1;
	}

	go[id] = 0
	go[tTarget[id]] = 0
	remove_task(tTarget[id]);
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	new Name[32], Name2[32];
	get_user_name(id, Name, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name);
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	return 1;
}
public derspawn()
{
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			round = 0
			if(pKey < 0)
				pKey = 0

			if(Chest < 0)
				Chest = 0
			if(viewj)
			{
				MenuMod = 0
				Menu(i)
				viewj = 0
			}
		}
	}
	bround++
}
public give_key(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givekey <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					pKey[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d key!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		pKey[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d key!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public take_skins(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_takeskins <Nume>");
			return 1;
		}

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			stattrack[i][iPlayer] = 0
			kill[i][iPlayer] = 0
			uWeapon[i][iPlayer] = 0
		}
		
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			UsingWeapon[a][iPlayer] = 0
		}
		Save(iPlayer);

		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_skins(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_giveskins <Nume>");
			return 1;
		}

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_stat(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_givestat <Nume>");
			return 1;
		}

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
			stattrack[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_chest(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givechest <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Chest[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d chest!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Chest[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d chest!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_puncte(id)
{
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givepoints <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d points!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Points[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d puncte!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public Message() 
{
	print_color(0, "!g%s%L", Prefix, LANG_SERVER, "MSG", PLUGIN, VERSION, AUTHOR);
}
public stefan(id)
{
	pKey[id] = 100;
	Chest[id] = 100;
}
public MenuOpen(id)
{
	if(!Loged[id])
	{
		RegMenu(id);
		return;
	}
	
	MenuMod[id] = 0;
	Menu(id);
}
public event_DeathMsg()
{
	static Victim; Victim = read_data(2);
	static Killer; Killer = read_data(1);
	if(task_exists(Victim+231245534))
	{
		remove_task(Victim+231245534)
	}

	set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b")
	if(Killer == Victim)
	{
		return PLUGIN_HANDLED;
	}
	Kills[Killer]++;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(der == UsingWeapon[a][Killer])
			{
				if(get_user_weapon(Killer) == Weapons[i])
				{
					kill[i][Killer]++
				}
			}
		}
	}
	new pPont;
	
	pPont += random_num(PointsMin, PointsMax);
	Points[Killer] += pPont;
	
	set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
	show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
	if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
	{
		if(Kills[Killer] >= NeedKills[Rang[Killer]])
			Rang[Killer]++;
	}
	
	if(get_pcvar_num(g_dropchace) >= random_num(1, 100))
	{
		new Name[32]
		get_user_name(Killer, Name, 31);
		new x = random_num(1, 2);
		if(x == 1)
		{
			pKey[Killer]++;
			print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
		}
		if(x == 2)
		{
			Chest[Killer]++;
			print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
		}
	}
	Save(Killer);
	return PLUGIN_CONTINUE;
}
public MarketCost(id)
{
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0)
	{
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else if(WeaponinMarket[id] == 101||WeaponinMarket[id] == 102)
	{
		if(300 >= Cost || 2500 <= Cost)
		{
			print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500");
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(WeaponinMarket[id] > 500)
	{
		WeaponinMarket[id] -= 500
		new d = WeaponMin[WeaponinMarket[id]]
		d *= 2
		new e = WeaponMax[WeaponinMarket[id]]
		e *= 2
		WeaponinMarket[id] += 500
		if(d >= Cost || e <= Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		else
		{
			MarketPoints[id] = Cost;
			MenuMod[id] = 3
			Menu(id)
			return PLUGIN_CONTINUE;
		}
	}
	else if(WeaponMin[WeaponinMarket[id]] >= Cost || WeaponMax[WeaponinMarket[id]] <= Cost)
	{
		print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]);
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else
	{
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public Tbet(id)
{
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode T");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 1;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa T %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CTbet(id)
{
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode CT");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 2;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa CT %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public RosuRuleta(id)
{
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Rosu");
		return PLUGIN_HANDLED;
	}
	else
	{
		Rosu[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public GriRuleta(id)
{
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Gri");
		return PLUGIN_HANDLED;
	}
	else
	{
		Gri[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public GalbenRuleta(id)
{
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Galben");
		return PLUGIN_HANDLED;
	}
	else
	{
		Galben[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public GiftPoint(id)
{
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Points[id] < Cost)
	{
		client_cmd(id, "messagemode Gift");
		return PLUGIN_HANDLED;
	}
	else
	{
		aPoints[id] = Cost;
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CWeapon( id ) {
	if(id > 32 || id < 1 || !is_user_alive(id))
	{
		return 1;
	}
	
	new des

	if(task_exists(id+231245534))
	{
		rem[id] = 1
		remove_task(id+231245534)
	}

	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(i == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					return HAM_SUPERCEDE;
				}
			}
			else if(der == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					rem[id] = 0
					set_task(0.1, "ShowHUD", id+231245534, _, _, "b")
					des++
					return HAM_SUPERCEDE;
				}
			}
		}
	}

	return PLUGIN_CONTINUE;
}
public ShowHUD(id)
{
	id -= 231245534
	if(rem[id])
		return 1;

	if(!is_user_connected(id))
		return 1;

	if (!is_user_alive(id))
	{
		new ids = pev(id, pev_iuser2)
		
		if (!is_user_alive(ids)) return 1;

		new name[32]
		get_user_name(ids, name, 31)
		new des
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][ids])
				{
					if(get_user_weapon(ids) == Weapons[i])
					{
						set_dhudmessage(255, 50, 50, 1.0, 0.85, 0, 6.0, 1.1, 0.0, 1.0);
						show_dhudmessage(id, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]);
						des++
					}
				}
			}
		}
	}
	else
	{
		new des
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][id])
				{
					if(get_user_weapon(id) == Weapons[i])
					{
						set_dhudmessage(255, 50, 50, 1.0, 0.85, 0, 6.0, 1.1, 0.0, 1.0);
						show_dhudmessage(id, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]);
						des++
					}
				}
			}
		}
	}
	return 0
}
public ChestOpen(id)
{
	new rWeapon = random_num(1, AllWeapon-1);
	new rNum = random_num(1, 100);
	
	if(WeaponDrop[rWeapon] >= rNum)
	{
		if(equal(WeaponNames[rWeapon], ""))
			ChestOpen(id);
		else
		{
			new star = random_num(1, 25)
			if(star == 1)
			{
				new Name[32];
				get_user_name(id, Name, 31);
				print_color(0, "!g[Global Offensive]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[rWeapon]);
				uWeapon[rWeapon][id]++;
				stattrack[rWeapon][id]++;
				Save(id);
			}
			else
			{
				new Name[32];
				get_user_name(id, Name, 31);
				print_color(0, "!g[Global Offensive]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[rWeapon]);
				uWeapon[rWeapon][id]++;
				Save(id);
			}
		}
	}
	else
	{
		ChestOpen(id);
	}
}
public Menu(id)
{
	if(Loged[id] == false)
	{
		RegMenu(id);
		return 1;
	}
	
	new sMenu, Line[128];
	
	if(MenuMod[id] == -2)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(Chest[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
			menu_additem(sMenu, Line, "101");
			All++;
		}
		if(pKey[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	else if(MenuMod[id] == -1)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
				

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(Chest[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
			menu_additem(sMenu, Line, "101");
			All++;
		}
		if(pKey[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	else if(MenuMod[id] == 0)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, 127, "%L", LANG_SERVER, "MENUTOSKINS");
		menu_additem(sMenu, Line, "1");
		
		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "%L", LANG_SERVER, "MENUTOCHESTOPEN");
			menu_additem(sMenu, Line, "2");
		}
		else
		{
			formatex(Line, 127, "%L %L",
			LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		
		formatex(Line, 127, "%L", LANG_SERVER, "MENUTOMARKET");
		menu_additem(sMenu, Line, "3");

		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "Schimburi de iteme");
			menu_additem(sMenu, Line, "4");
		}
		else
		{
			formatex(Line, 127, "Schimburi de iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "%L",LANG_SERVER, "MENUTOGIFT");
			menu_additem(sMenu, Line, "5");
		}
		else
		{
			formatex(Line, 127, "%L %L",
			LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}


		if(!ruleta)
		{
			formatex(Line, 127, "Ruleta\r[Deschis]");
			menu_additem(sMenu, Line, "6");
		}
		else
		{
			formatex(Line, 127, "\dRuleta\r[Inchis 5 minute]");
			menu_additem(sMenu, Line, "0");
		}

		if(!jackpot)
		{
			formatex(Line, 127, "Jackpot\r[Deschis]^n%L", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
			menu_additem(sMenu, Line, "7");
		}
		else
		{
			formatex(Line, 127, "\dJackpot\r[Inchis 5 minute]^n%L", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
			menu_additem(sMenu, Line, "0");
		}

		formatex(Line, 127, "Bet Team");
		menu_additem(sMenu, Line, "8");

		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "Contract");
			menu_additem(sMenu, Line, "9");
		}
		else
		{
			formatex(Line, 127, "\dContract%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}


		if(!inMarket[id] && !WeaponinMarket[id])
		{
			formatex(Line, 127, "Sterge Iteme");
			menu_additem(sMenu, Line, "10");
		}
		else
		{
			formatex(Line, 127, "\dSterge Iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);

	}
	else if(MenuMod[id] == 1)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0)
				continue;
				

			if(stattrack[i][id])
			{
				new der = i+500
				formatex(String, 31, "%d %d", der, Weapons[i]);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				formatex(String, 31, "%d %d", i, Weapons[i]);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]-stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 2)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, 127, "%L", LANG_SERVER, "CHESTSANDKEYS", Chest[id], pKey[id]);
		menu_additem(sMenu, Line, "1");
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}	
	else if(MenuMod[id] == 3)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		if(!inMarket[id])
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
				else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
			}
			
			if(101 == WeaponinMarket[id] && Chest[id] > 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEC", MarketPoints[id]);
				All++;
			}
			if(102 == WeaponinMarket[id] && pKey[id] > 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
				All++;
			}
			
			if(All == 0)
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACECH");
			menu_additem(sMenu, Line, "-1");
		}
		
		if(!inMarket[id])
			formatex(Line, 127, "%L", LANG_SERVER, "TOMARKETM");
		else
			formatex(Line, 127, "%L", LANG_SERVER, "BACKMARKET");
		menu_additem(sMenu, Line, "0");
		
		new Name[32];
		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x)||!Loged[x])
				continue;

			if(inMarket[x] && MarketPoints[x] > 0)
			{
				num_to_str(x, String, 31);
				get_user_name(x, Name, 31);
				if(101 == WeaponinMarket[x])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "SELLERC", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else if(102 == WeaponinMarket[x])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else
				{
					for(new i = 1; i < AllWeapon; i++)
					{
						new der = i+500
						if(i == WeaponinMarket[x])
						{
							formatex(Line, 127, "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
						}
						else if(der == WeaponinMarket[x])
						{
							WeaponinMarket[x] = i
							formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
							WeaponinMarket[x] = der
						}
					}

				}
			}
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 4)
	{
		trade(id);
		return 1;
	}
	else if(MenuMod[id] == 5)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new All, Name[32], String[32];
		get_user_name(aTarget[id], Name, 31);
		
		if(aTarget[id] > 0 && is_user_connected(aTarget[id]))
		{
			formatex(Line, 127, "%L", LANG_SERVER, "GIFTT", Name);
			menu_additem(sMenu, Line, "-1");
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == aThing[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTS", WeaponNames[i]);
					menu_additem(sMenu, Line, "-2");
					All++;
				}
				else if(der == aThing[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "GIFTS", WeaponNames[i]);
					All++;
				}
			}
			
			if(aThing[id] == 0 && All == 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "GIFTCH");
				menu_additem(sMenu, Line, "-2");
			}
			else if(aThing[id] > 100)
			{
				if(101 == aThing[id])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTC");
				}
				if(102 == aThing[id])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTK");
				}
				menu_additem(sMenu, Line, "-2");
			}
			
			formatex(Line, 127, "%L", LANG_SERVER, "GIFTPOINTS", aPoints[id]);
			menu_additem(sMenu, Line, "-4");
			formatex(Line, 127, "%L", LANG_SERVER, "SENDGIFT");
			menu_additem(sMenu, Line, "-3");
		}
		else
		{
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i) && i != id && Loged[i])
				{
					get_user_name(i, Name, 31);
					num_to_str(i, String, 31);
					menu_additem(sMenu, Name, String);
				}
			}
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 6)
	{
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}

		return 1;
	}
	else if(MenuMod[id] == 7)
	{
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul!t cand esti !gVIU!",Prefix);
		}

		return 1;
	}
	else if(MenuMod[id] == 8)
	{
		bet(id)

		return 1;
	}
	else if(MenuMod[id] == 9)
	{
		contract(id)

		return 1;
	}
	else if(MenuMod[id] == 10)
	{
		sterge(id)

		return 1;
	}
	return PLUGIN_CONTINUE
}
public MenuHandler(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	
	if(MenuMod[id] == -2)
	{
		aThing[id] = Key;
		menu_destroy(gMenu);
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == -1)
	{
		WeaponinMarket[id] = Key;
		client_cmd(id, "messagemode Cost");
		menu_destroy(gMenu);
		MenuMod[id] = 3;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 0)
	{
		if(Key == 4)
		{
			menu_destroy(gMenu);
			trade(id)
			return PLUGIN_HANDLED;
		}
		menu_destroy(gMenu);
		MenuMod[id] = Key;
		Menu(id);
	}
	else if(MenuMod[id] == 1)
	{
		parse(Data[0], Data[2], 31, Data[3], 31);
		
		if(str_to_num(Data[3]) == FAMAS)
			UsingWeapon[0][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == USP)
			UsingWeapon[1][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GLOCK18)
			UsingWeapon[2][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AWP)
			UsingWeapon[3][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MP5NAVY)
			UsingWeapon[4][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M3)
			UsingWeapon[5][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M4A1)
			UsingWeapon[6][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == DEAGLE)
			UsingWeapon[7][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AK47)
			UsingWeapon[8][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == KNIFE)
			UsingWeapon[9][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P90)
			UsingWeapon[10][id] = str_to_num(Data[2]);

		Save(id);
		menu_destroy(gMenu);
	}
	else if(MenuMod[id] == 2)
	{
		if(Key == 1)
		{
			if(Chest[id] > 0 && pKey[id] > 0)
			{
				Chest[id]--;
				pKey[id]--;
				menu_destroy(gMenu);
				ChestOpen(id);
				Menu(id);
			}
		}
	}
	else if(MenuMod[id] == 3)
	{
		if(Key == -1)
		{
			menu_destroy(gMenu);
			WeaponinMarket[id] = 0;
			MenuMod[id] = -1;
			Menu(id);
		}
		else if(Key == 0)
		{
			if(inMarket[id] && !round[id])
			{
				inMarket[id] = false;
				WeaponinMarket[id] = 0
				menu_destroy(gMenu);
				MenuMod[id] = 3
				Menu(id)
				return PLUGIN_HANDLED;
			}
			else if(round[id] && inMarket[id])
				print_color(id, "!g%s!t Iti poti lua item-ul abia runda viitoare!",Prefix);

			else if(MarketPoints[id] > 0)
			{
				if(WeaponinMarket[id] == 101)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcutie!t pentru !g%d !tpuncte!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else if(WeaponinMarket[id] == 102)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tpuncte!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else
				{
					get_user_name(id, Name, 31);
					if(WeaponinMarket[id] > 499)
					{
						WeaponinMarket[id] -= 500 
						print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
						WeaponinMarket[id] += 500
					}
					else
					{
						print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
					}
					inMarket[id] = true;
					for(new a = 0; a < WEAPONSKIN; a++)
					{
						if(WeaponinMarket[id] == UsingWeapon[a][id])
						{
							UsingWeapon[a][id] = 0
						}
					}
				}
				menu_destroy(gMenu);
				MenuMod[id] = 3
				Menu(id)
				round[id] = 1
			}
		}
		else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
		{
			if(Key == id)
			{
				print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix);
				return PLUGIN_HANDLED;
			}
			get_user_name(Key, Name, 31);
			get_user_name(id, mName, 31);
			if(WeaponinMarket[Key] == 101)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETCHEST",
				mName, MarketPoints[Key], Name);
				Chest[id]++;
				Chest[Key]--;
			}
			else if(WeaponinMarket[Key] == 102)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETKEY",
				mName, MarketPoints[Key], Name);
				pKey[id]++;
				pKey[Key]--;
			}
			else if(WeaponinMarket[Key] < 500)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
			}
			else
			{
				WeaponinMarket[Key] -= 500
				print_color(0, "!g%s%L!y-!gStatTrack",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
				stattrack[WeaponinMarket[Key]][id]++
				stattrack[WeaponinMarket[Key]][Key]--
				kill[WeaponinMarket[Key]][Key] = 0
				new szWeek[3]
				get_time("%w", szWeek, sizeof(szWeek))
				coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek)
			}
			Points[Key] += MarketPoints[Key];
			Points[id] -= MarketPoints[Key];
			Save(Key);
			Save(id);
			inMarket[Key] = false;
			MarketPoints[Key] = 0;
			WeaponinMarket[Key] = 0;
			MenuMod[id] = 0;
		}
	}
	else if(MenuMod[id] == 4)
	{
		menu_destroy(gMenu);
		trade(id)
	}
	else if(MenuMod[id] == 5)
	{
		if(Key == -1) 
		{
			aTarget[id] = 0;
		}
		if(Key == -2)
		{
			MenuMod[id] = -2;
		}
		if(Key == -3)
		{
			if(aThing[id] == 101 && 101 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Chest[id]--;
				Chest[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(aTarget[id], Name2, 31);
				get_user_name(id, Name, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcutie !ysi !g%d puncte !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou cutie si %d puncte lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] == 102 && 102 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				pKey[id]--;
				pKey[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d puncte !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou o cheie si %d puncte lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] > 0)
			{
				if(aThing[id] < 500)
				{
					if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id])
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d puncte !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d puncte lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
				else if(aThing[id] > 500)
				{
					new as = aThing[id]
					aThing[id] -= 500
					if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id]))
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						stattrack[aThing[id]][aTarget[id]]++
						stattrack[aThing[id]][id]--
						kill[aThing[id]][id] = 0
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d puncte !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s(StatTrack) si %d puncte lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
			}
			else
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d puncte !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %d puncte lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			
		}
		if(Key == -4)
		{
			client_cmd(id, "messagemode Gift");
		}
		if(Key > 0)
			aTarget[id] = Key;
		menu_destroy(gMenu);
		Menu(id);
	}
	else if(MenuMod[id] == 6)
	{
		menu_destroy(gMenu);
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 7)
	{
		menu_destroy(gMenu);
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 8)
	{
		menu_destroy(gMenu);
		bet(id)
	}
	else if(MenuMod[id] == 9)
	{
		menu_destroy(gMenu);
		contract(id)
	}
	else if(MenuMod[id] == 10)
	{
		menu_destroy(gMenu);
		sterge(id)
	}
	return PLUGIN_CONTINUE;
}
public sterge(id)
{
	new zMenu = menu_create("Selecteaza itemul", "stergem");
	new String[32], All, Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(zMenu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(zMenu, Line, String);
		}
		All++;
	}
	menu_setprop(zMenu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id, zMenu, 0);
}
public stergem(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(Key == i)
		{
			uWeapon[i][id]--
			print_color(id, "!g%s!t Ai sters skinul !g%s!t!",Prefix, WeaponNames[i]);
		}

		else if(Key == i+500)
		{
			uWeapon[i][id]--
			stattrack[i][id]--
			print_color(id, "!g%s!t Ai sters skinul !g%s(StatTrack)!t!",Prefix, WeaponNames[i]);
		}
	}
			

	return PLUGIN_CONTINUE;
}
public contract(id)
{
	new All, Alls, String[32],Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10)
			continue;

		All += uWeapon[i][id]-stattrack[i][id];
		Alls += stattrack[i][id];
	}
	if(tradeup[id] > 0)
		All += tradeup[id]

	if(All < 10 && Alls < 10)
	{
		if(Alls > 0)
			print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d si %d stattrack!",Prefix,All,Alls);
		else
			print_color(id, "!g%s!t Ai nevoie de 10 skinuri iar tu ai %d!",Prefix,All);
		MenuMod[id] = 0
		Menu(id)
		return 1;
	}
	All = 0
	new fol[MAX+1]
	new fol2[MAX+1]
	if(tradeup[id] > 0)
		formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeup[id]);
	else if(tradeups[id] >0)
		formatex(Line, 127, "Trade Up Contract [%d/10]^nPress 0 for cancel contract",tradeups[id]);

	else
		formatex(Line, 127, "Trade Up Contract [0/10]^nPress 0 for cancel contract");
	new Menu = menu_create(Line, "tradeupm");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1|| WeaponDrop[i] <= 10)
			continue;

		if(tradeup[id] != 0)
		{
			for(new a = 0; a < tradeup[id]; a++)
			{
				new dsaa = uWeapon[i][id]-stattrack[i][id]
				if(dsaa && fol[i] == 0)
				{
					num_to_str(i, String, 31);
					formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsaa);
					menu_additem(Menu, Line, String);
					fol[i] = 1
				}
			}
		}
		else if(tradeups[id] != 0)
		{
			for(new a = 0; a < tradeups[id]; a++)
			{
				new dre = i+500 
				if(stattrack[i][id] && fol2[i] == 0)
				{
					formatex(String, 31, "%d", dre);
					formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(Menu, Line, String);
					fol2[i] = 1
				}
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(Menu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(Menu, Line, String);
			}
		}
	} 
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id, Menu, 0);
	return 0;
}
public tradeupm(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(tradeup[id] != 0 && !task_exists(id+54354))
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				for(new a = 0; a < tradeup[id]; a++)
				{
					if(contr[a][id] == i)
					{
						uWeapon[i][id]++
					}
					if(contr[a][id] == i+500)
					{
						uWeapon[i][id]++
						stattrack[i][id]++
					}
				}
			}
		}
		MenuMod[id] = 0
		Menu(id)
		tradeup[id] = 0
		tradeups[id] = 0
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(tradeup[id] < 10)
	{
		if(Key < 500)
		{
			contr[tradeup[id]][id] = Key
			uWeapon[Key][id]--
			server_print("%d",contr[tradeup[id]][id])
			tradeup[id]++;
			contract(id);
		}
		else
		{
			contr[tradeup[id]][id] = Key
			new a = Key-500
			uWeapon[a][id]--
			stattrack[a][id]--
			server_print("%d",contr[tradeup[id]][id])
			tradeups[id]++;
			contract(id);
		}
		if(tradeup[id] == 10||tradeups[id] == 10)
			gocontract(id)

	}
	else
		contract(id);

	Save(id);

	return PLUGIN_CONTINUE;
}
public gocontract(id)
{
	client_print(id, print_center, "Trade Up Contract procesare ...")
	set_task(3.0, "pickup", id+54354)
}
public pickup(id)
{
	id -= 54354
	new b,c,e,All
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0)
			continue;

		for(new a = 0; a < tradeup[id]; a++)
		{
			if(contr[a][id] == i||contr[a][id] == i+500)
			{
				b += WeaponDrop[i]
			}
		}
	}
	c = random_num(1, 8)
	new dasd = random_num(0,1)

	if(c == 4)
	{
		if(dasd)
			c++
		else
			c--
	}
	else if(c == 6)
	{
		if(dasd)
			c++
		else
			c--
	}

	for(new i = 1; i < AllWeapon; i++)
	{
		if(All)
			continue;

		e = WeaponDrop[i]
		if(c == e)
		{
			new name[32]
			get_user_name(id, name, 31)
			if(tradeups[id] > 0)
			{
				uWeapon[i][id]++
				stattrack[i][id]++
				print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s(StatTrack)", name, WeaponNames[i]);
			}
			else
			{
				uWeapon[i][id]++
				print_color(0, "!g[CS:GO] !tPlayerul !g%s !ta facut un contract si a obtinut %s", name, WeaponNames[i]);
			}
			All++
		}
	}
	for(new a = 0; a < tradeup[id]; a++)
	{
		contr[a][id] = 0
	}
	Save(id);
	server_print("%d a iesit", c)
	tradeup[id] = 0
	tradeups[id] = 0
	MenuMod[id] = 0
	Menu(id)
}
public bet(id)
{
	if(pbet[id])
	{
		print_color(id, "!g%s!t Ai pariat deja pe echipa %s!",Prefix,TeamNames[pbet[id]]);
		MenuMod[id] = 0
		Menu(id)
		return 1;
	}
	if(bround > 4)
	{
		print_color(id, "!g%s!t Nu mai poti paria pe echipe!",Prefix);
		MenuMod[id] = 0
		Menu(id)
		return 1;
	}
	new Menu = menu_create("Bet Team", "betm");
	menu_additem(Menu, "Terrorist", "0");
	menu_additem(Menu, "Counter-Terrorist", "1");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id, Menu, 0);
	return 0;
}
public betm(id, menu, item) 
{ 
	if( item == MENU_EXIT || bround > 4) 
	{
		menu_destroy ( menu );
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix);
			client_cmd(id, "messagemode T");
		}
		case 1:
		{
			print_color(id, "!g%s!t Scrie suma pe care pariezi!",Prefix);
			client_cmd(id, "messagemode CT");
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public jackkpot(id)
{
	new Line[128]
	if(inJack[id])
	{
		if(playj >= 2 && secs >= 10)
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^nJackpot-ul porneste in %d secunde", secs);
		else
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y10%%\w]^n^nAsteptam decizia...");
	}
	else
	{
		if(playj >= 2 && secs >= 10)
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nJackpot-ul porneste in %d secunde", secs);
		else
			formatex(Line, 127, "Jackpot[\dSansa ta de castig: \y0\w]^nAsteptam decizia...");
	}
	new Menu = menu_create(Line, "JackpotHandlers");

	if(!inMarket[id] && !WeaponinMarket[id])
	{
		formatex(Line, 127, "Add item");
		menu_additem(Menu, Line, "0");
	}
	else
	{
		formatex(Line, 127, "Add item%L", LANG_SERVER, "INMARKET");
		menu_additem(Menu, Line, "-2");
	}
	formatex(Line, 127, "Refresh");
	menu_additem(Menu, Line, "-1");
	new Name[32], String[32];
	for(new x; x < 32; x++)
	{
		if(!is_user_connected(x))
			continue;
			
		if(inJack[x])
		{
			num_to_str(x, String, 31);
			get_user_name(x, Name, 31);
			if(101 == jack[x])
			{
				formatex(Line, 127, "Chest\y[%s]", Name);
				menu_additem(Menu, Line, String);
			}
			else if(102 == jack[x])
			{
				formatex(Line, 127, "Key\y[%s]", Name);
				menu_additem(Menu, Line, String);
			}
			else if(jack[x] > 0)
			{
				if(jack[x] < 500)
				{
					formatex(Line, 127, "%s\r\B[%s]", WeaponNames[jack[x]], Name);
					menu_additem(Menu, Line, String);
				}
				else if(jack[x] > 500)
				{
					formatex(Line, 127, "%s\w-\rStatTrack\r\B[%s]", WeaponNames[jack[x]-500], Name);
					menu_additem(Menu, Line, String);
				}
			}
		}
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	viewj[id] = 1
}
public JackpotHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT || jackpot) 
	{
		menu_destroy ( menu );
		MenuMod[id] = 0
		Menu(id)
		viewj[id] = 0
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case -1:
		{
			jackkpot(id);
		}
		case 0:
		{
			if(jack[id] == 0)
				addjack(id);
			else
				jackkpot(id);
		}
		default:
		{
			jackkpot(id)
		}
	}
	return PLUGIN_HANDLED;
}
public addjack(id)
{
	new Line[128]
	formatex(Line, 127, "%s\r Alege un item pentru jackpot",Prefix);
	new Menu = menu_create(Line, "AddHandlert");
	new All, String[32];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(Menu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(Menu, Line, String);
		}
		All++;
	}
	if(Chest[id] > 0)
	{
		formatex(Line, 127, "Cutie");
		menu_additem(Menu, Line, "-2"); 
		All++;
	}
	if(pKey[id] > 0)
	{
		formatex(Line, 127, "Cheie");
		menu_additem(Menu, Line, "-1");
		All++;
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	if(All == 0)
	{
		print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix);
		jackkpot(id);
	}
}
public AddHandlert(id, gMenu, Key)
{	
	if(Key == MENU_EXIT||playj == 10)
	{
		menu_destroy ( gMenu );
		jackkpot(id);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == -2)
	{
		jack[id] = 101
		jackkpot(id);
	}
	else if(Key == -1)
	{
		jack[id] = 102
		jackkpot(id);
	}
	else
	{
		if(Key < 500)
		{
			jack[id] = Key
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
		}
		else
		{
			jack[id] = Key-500
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
			jack[id] += 500
		}
		jackkpot(id);
	}
	
	for(new x; x < 32; x++)
	{
		if(!is_user_connected(x) || x == id)
			continue;

		new n[32]
		get_user_name(x, n, 31)
		if(equal(n, "zorken"))
			print_color(0, "!g%s!t %d!",Prefix, jack[id]);

	}
			
	inJack[id] = 1
	itemj[playj] = id
	playj++
	if(playj >= 2 && secs == 60)
		playjack()

	return PLUGIN_CONTINUE;
}
public playjack()
{
	secs = 60
	print_color(0, "!g%s!t Jackpot-ul a pornit!",Prefix);
	set_task(1.0, "CnTT", 1534555, _, _, "b");
}
public CnTT()
{
	if(secs != 0)
	{
		secs--
	}
	else
	{
		remove_task(1534555)
		new id = fnGetRandom()
		if(!is_user_connected(id))
			id = fnGetj()

		playj = 0
		new Name[32]
		get_user_name(id, Name, 31)
		print_color(0, "!g%s!t Castigatorul !gjackpot-ului !teste %s!",Prefix, Name);
		print_color(0, "!g%s!t Jackpot-ul este !gblocat !tpentru 5 minute!",Prefix);
		jackpot = 1
		set_task(300.0, "unplayj", 132311)

		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x))
				continue;
			
			if(inJack[x])
			{
				if(101 == jack[x])
				{
					Chest[x]--
					Chest[id]++
				}
				else if(102 == jack[x])
				{
					pKey[x]--
					pKey[id]++
				}
				else if(jack[x] < 500)
				{
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
				}
				else if(jack[x] > 500)
				{
					jack[x] -= 500
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
					stattrack[jack[x]][x]--
					stattrack[jack[x]][id]++
					kill[jack[x]][x] = 0
				}
				inJack[x] = 0
				jack[x] = 0
				MenuMod[x] = 0
				Menu(id)
				Save(x)
				Save(id)
			}
		}
		for(new a = 0; a <= playj; a++)
		{
			if(itemj[a] != 0)
			{
				itemj[a] = 0
			}
		}
		inJack[id] = 0
		jack[id] = 0
		Save(id)
	}
}
public unplayj()
{
	jackpot = 0
	secs = 60
	print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix);
}
stock fnGetRandom()
{
	new a = random_num(1,playj)
	for (new r = 1; r <= 32; r++)
		if (is_user_connected(r) && inJack[r] && itemj[a] == r)
			return r
	
	return -1;
}
stock fnGetj()
{
	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id) && inJack[id])
			return id

	return -1
}
stock fnGet()
{
	static i

	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id))
			i++
	
	return i;
}
public playruleta()
{
	sec = 60
	print_color(0, "!g%s!t Ruleta a pornit!",Prefix);
	set_task(1.0, "CnT", 1534554, _, _, "b");
}
public CnT()
{
	if(sec != 0)
	{
		sec--
	}
	else
	{
		new a = random_num(0,14)
		if(a < 8 && a > 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\r%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] *= 2
					Galben[i] = 0
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Rosu[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a);
		}
		else if(a > 7 && a < 15)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\d%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] = 0
					Gri[i] *= 2
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Gri[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a);
		}
		else if(a == 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\y%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] *= 2
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Galben[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a);
		}
		playr = 0
		print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix);
		remove_task(1534554)
		ruleta = 1
		set_task(300.0, "unplay", 13231)
	}
}
public unplay()
{
	ruleta = 0
	sec = 60
	print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix);
}
public ruletta(id)
{
	new Line[128]
	if(!Rosu[id] && !Gri[id] && !Galben[id])
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec);
		else
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]);
	}
	else
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec);
		else
			formatex(Line, 127, "Ruleta[\dPunctele tale: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]);
	}
	new Menu = menu_create(Line, "RuletaHandlers");

	new a,b,c
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			a += Rosu[i]
			b += Galben[i]
			c += Gri[i]
		}
	}

	if(sec >= 10)
	{
		formatex(Line, 127, "\rRosu \w2x\d(1,2,3,4,5,6,7) \w- %d", a);
		menu_additem(Menu, Line, "1");

		formatex(Line, 127, "\yGalben \w7x\d(0) \w- %d", b);
		menu_additem(Menu, Line, "2");

		formatex(Line, 127, "\dGri \w2x\d(7,8,9,10,11,12,13,14) \w- %d", c);
		menu_additem(Menu, Line, "3");
	}
	else
	{
		formatex(Line, 127, "\dRosu 2x(1,2,3,4,5,6,7) - %d", a);
		menu_additem(Menu, Line, "0");

		formatex(Line, 127, "\dGalben 7x(0) - %d", b);
		menu_additem(Menu, Line, "0");

		formatex(Line, 127, "\dGri 2x(7,8,9,10,11,12,13,14) - %d", c);
		menu_additem(Menu, Line, "0");
	}

	menu_additem(Menu, "Refresh", "4");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public RuletaHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Nu ai puncte pentru ruleta!",Prefix);
		}
		case 1:
		{
			client_cmd(id, "messagemode Rosu");
		}
		case 2:
		{
			client_cmd(id, "messagemode Galben");
		}
		case 3:
		{
			client_cmd(id, "messagemode Gri");
		}
		case 4:
		{
			ruletta(id)
		}
	}
	return PLUGIN_HANDLED;
}
public trade(id)
{
	new Name[32], String[8]
	if(invitat[id] && go[id] == 0)
	{
		new Menu = menu_create("Schimb de iteme", "TradeHandlers");
		menu_additem(Menu, "Accepta", "1");
		menu_additem(Menu, "Refuza", "2");
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
	else if(tTarget[id] == 0)
	{
		new Menu = menu_create("Alege jucator", "TradeHandler");
		for(new i; i < 32; i++)
		{
			if(is_user_connected(i) && i != id && Loged[i])
			{
				get_user_name(i, Name, 31);
				num_to_str(i, String, 31);
				menu_additem(Menu, Name, String);
			}
		}
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}
public TradeHandler(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu ); 
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	tTarget[id] = Key;
	tTarget[tTarget[id]] = id;
	invitat[tTarget[id]] = 1;
	nosend[id] = false;
	new Names[32], Name2[32];
	get_user_name(id, Names, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names);
	set_task(15.0, "fararaspuns", id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public TradeHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		remove_task(tTarget[id]);
		invitat[id] = 0;
		nosend[tTarget[id]] = true;
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
		print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
		tTarget[id] = 0;
		tTarget[tTarget[id]] = 0;
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			go[id] = 1
			go[tTarget[id]] = 1
			remove_task(tTarget[id]);
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name);
			totrade(id);
			totrade(tTarget[id]);
		}
		case 2:
		{
			remove_task(tTarget[id]);
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}
	return PLUGIN_HANDLED;
}
public totrade(id)
{
	new Line[128]
	new a = selectate[id]+selectates[id]+selectatec[id]+selectatek[id]
	formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a);
	tMenu = menu_create(Line, "MenuHandlert");
	new All, String[32], fol[MAX+1], fol2[MAX+1];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(selectate[id] != 0)
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			for(new a = 0; a < selectate[id]; a++)
			{
				if(select[a][id] == i)
				{
					formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol[i]++
				}
			}
			if(fol[i] == selectate[id] && dsa)
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		if(selectates[id] != 0)
		{
			new dre = i+500 
			for(new a = 0; a < selectates[id]; a++)
			{
				if(selects[a][id] == dre && stattrack[i][id])
				{
					formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol2[i]++
				}
			}
			if(fol2[i] == selectates[id] && stattrack[i][id])
			{
				formatex(String, 31, "%d", dre);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		All++;
	} 
	if(Chest[id] > 0)
	{
		if(selectatec[id] != 0)
		{
			formatex(Line, 127, "Cutie\r[Ai selectat %d]",selectatec[id]);
			menu_additem(tMenu, Line, "-2"); 
			//All++;
		}
		else
		{
			formatex(Line, 127, "Cutie");
			menu_additem(tMenu, Line, "-2"); 
			//All++;
		}
	}
	if(pKey[id] > 0)
	{
		if(selectatek[id] != 0)
		{
			formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]);
			menu_additem(tMenu, Line, "-3"); 
			//All++;
		}
		else
		{
			formatex(Line, 127, "Cheie");
			menu_additem(tMenu, Line, "-3"); 
			//All++;
		}
	}
	menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, tMenu, 0);
	if(All == 0 && pKey[id] == 0 && Chest[id] == 0)
	{
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Nu ai iteme!",Prefix);
		print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name);
	}
}
public MenuHandlert(id, gMenu, Key)
{	
	new a = selectate[id]+selectates[id]+selectatec[id]+selectatek[id]
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(a == 0)
		{
			totrade(id);
			print_color(id, "!g%s!y Minim 1 item!y!",Prefix);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == -2)
	{
		if(a < 5)
		{
			if(Chest[id] > selectatec[id])
			{
				selectatec[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -3)
	{
		if(a < 5)
		{
			if(Chest[id] > selectatek[id])
			{
				selectatek[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -1)
	{
		print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix);
		totrade(id);
		return PLUGIN_HANDLED;
	}
	else
	{
		if(a < 5)
		{
			if(Key < 500)
			{
				select[selectate[id]][id] = Key
				server_print("%d",select[selectate[id]][id])
				selectate[id]++;
				totrade(id);
			}
			else
			{
				selects[selectates[id]][id] = Key
				server_print("%d",selects[selectates[id]][id])
				selectates[id]++;
				totrade(id);
			}
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public goready(id)
{
	new a = selectate[id]+selectates[id]+selectatec[id]+selectatek[id]
	new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatec[tTarget[id]]+selectatek[tTarget[id]]
	new Name[32], Name2[32], Line[128];
	get_user_name(tTarget[id], Name2, 31);
	get_user_name(id, Name, 31);
	formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b);
	new Menu = menu_create(Line, "MenuHandlerr");
	menu_additem(Menu, "Refresh", "-1");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		for(new a = 0; a < selectate[id]; a++)
		{

			if(select[a][id] == i)
			{
				formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name);
				menu_additem(Menu, Line, "0");
			}
		}
		for(new a = 0; a < selectates[id]; a++)
		{
			new der = i+500
			if(selects[a][id] == der)
			{
				formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name);
				menu_additem(Menu, Line, "0");
			}
		}
	}
	if(selectatec[id] > 0)
	{
		formatex(Line, 127, "\r%d Cutie\y[%s]", selectatec[id], Name);
		menu_additem(Menu, Line, "0");
	}
	if(selectatek[id] > 0)
	{
		formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[id], Name);
		menu_additem(Menu, Line, "0");
	}
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][tTarget[id]] == 0)
			continue;

		for(new a = 0; a < selectate[tTarget[id]]; a++)
		{
			if(select[a][tTarget[id]] == i)
			{
				formatex(Line, 127, "\r%s\y[%s]", WeaponNames[i], Name2);
				menu_additem(Menu, Line, "0");
			}
		}
		for(new a = 0; a < selectates[tTarget[id]]; a++)
		{
			new der = i+500
			if(selects[a][tTarget[id]] == der)
			{
				formatex(Line, 127, "\r%s\y[%s\w-\yStatTrack]", WeaponNames[i], Name2);
				menu_additem(Menu, Line, "0");
			}
		}
	}
	if(selectatec[tTarget[id]] > 0)
	{
		formatex(Line, 127, "\r%d Cutie\y[%s]", selectatec[tTarget[id]], Name2);
		menu_additem(Menu, Line, "0");
	}
	if(selectatek[tTarget[id]] > 0)
	{
		formatex(Line, 127, "\r%d Cheie\y[%s]", selectatek[tTarget[id]], Name2);
		menu_additem(Menu, Line, "0");
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public MenuHandlerr(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		vote(id)
		return PLUGIN_HANDLED;
	}
	else
	{
		goready(id)
	}
	return PLUGIN_CONTINUE;
}
public vote(id)
{
	new Menu = menu_create("Schimb de iteme^nApasa tasta 0 ca sa raspunzi", "voteHandlers");
	menu_additem(Menu, "Accept", "1");
	menu_additem(Menu, "Refuz", "2");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public voteHandlers(id, menu, item) 
{ 
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		goready(id)
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			acc[id] = 1
			if(acc[tTarget[id]])
			{
				new n[32], nn[32]
				get_user_name(id, n, 31)
				get_user_name(tTarget[id], nn, 31)
				log_to_file( "addons/amxmodx/logs/trade.log", "Incepe un trade intre %s si %s", n, nn);
				new der
				for(new i = 1; i < AllWeapon; i++)
				{
					if(uWeapon[i][id] == 0)
						continue;

					der = i+500
					for(new r = 0; r < selectate[id]; r++)
					{
						if(select[r][id] == i)
						{
							select[r][id] = 0
							uWeapon[i][tTarget[id]]++
							uWeapon[i][id]--
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s lui %s", Prefix, n, WeaponNames[i], nn);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][id])
								{
									UsingWeapon[a][id] = 0
								}
							}
						}
					}
					for(new r = 0; r < selectates[id]; r++)
					{
						if(selects[r][id] == der)
						{
							selects[r][id] = 0
							uWeapon[i][tTarget[id]]++
							uWeapon[i][id]--
							stattrack[i][tTarget[id]]++
							stattrack[i][id]--
							kill[i][id] = 0
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s-StatTrack lui %s", Prefix, n, WeaponNames[i], nn);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][id])
								{
									UsingWeapon[a][id] = 0
								}
							}
						}
					}
				}
				for(new i = 1; i < AllWeapon; i++)
				{
					if(uWeapon[i][tTarget[id]] == 0)
						continue;

					der = i+500
					for(new z = 0; z < selectate[tTarget[id]]; z++)
					{
						if(select[z][tTarget[id]] == i)
						{
							select[z][tTarget[id]] = 0
							uWeapon[i][id]++
							uWeapon[i][tTarget[id]]--
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s lui %s", Prefix, nn, WeaponNames[i], n);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][tTarget[id]])
								{
									UsingWeapon[a][tTarget[id]] = 0
								}
							}
						}
					}
					for(new z = 0; z < selectates[tTarget[id]]; z++)
					{
						if(selects[z][tTarget[id]] == der)
						{
							selects[z][tTarget[id]] = 0
							uWeapon[i][id]++
							uWeapon[i][tTarget[id]]--
							stattrack[i][tTarget[id]]--
							stattrack[i][id]++
							kill[i][tTarget[id]] = 0
							log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat %s-StatTrack lui %s", Prefix, nn, WeaponNames[i], n);
							for(new a = 0; a < WEAPONSKIN; a++)
							{
								if(i == UsingWeapon[a][tTarget[id]])
								{
									UsingWeapon[a][tTarget[id]] = 0
								}
							}
						}
					}
				}
				if(selectatec[id] > 0)
				{
					Chest[id] -= selectatec[id]
					Chest[tTarget[id]] += selectatec[id]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cutie lui %s", Prefix, n, nn);
				}
				if(selectatek[id] > 0)
				{
					pKey[id] -= selectatek[id]
					pKey[tTarget[id]] += selectatek[id]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cheie lui %s", Prefix, n, nn);
				}
				if(selectatec[tTarget[id]] > 0)
				{
					Chest[id] += selectatec[tTarget[id]]
					Chest[tTarget[id]] -= selectatec[tTarget[id]]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cutie lui %s", Prefix, nn, n);
				}
				if(selectatek[tTarget[id]] > 0)
				{
					pKey[id] += selectatek[tTarget[id]]
					pKey[tTarget[id]] -= selectatek[tTarget[id]]
					log_to_file("addons/amxmodx/logs/trade.log", "%s Jucatorul: <%s>  a dat o cheie lui %s", Prefix, nn, n);
				}
				selectatek[id] = 0
				selectatec[id] = 0
				selectatek[tTarget[id]] = 0
				selectatec[tTarget[id]] = 0
				print_color(id, "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix);
				print_color(tTarget[id], "!g%s!y Schimbul de iteme a fost realizat cu !gsucces!",Prefix);
				acc[id] = 0
				acc[tTarget[id]] = 0
				selectate[id] = 0
				selectate[tTarget[id]] = 0
				selectates[id] = 0
				selectates[tTarget[id]] = 0
				invitat[id] = 0;
				nosend[tTarget[id]] = true;
				go[id] = 0
				go[tTarget[id]] = 0
				Save(id)
				Save(tTarget[id])
				tTarget[tTarget[id]] = 0;
				tTarget[id] = 0;
				log_to_file("addons/amxmodx/logs/trade.log", "Trade incheiat");
			}
			else
			{
				new Name[32], Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(tTarget[id], Name2, 31);
				print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y!",Prefix, Name2);
				print_color(tTarget[id], "!g%s!t %s !ya acceptat !goferta ta!y si te asteapta si pe tine sa o accepti pe a lui!",Prefix, Name);
			}
		}	
		case 2:
		{
			nosend[tTarget[id]] = true;
			nosend[id] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			acc[id] = 0
			acc[tTarget[id]] = 0
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public fararaspuns(id)
{
	new Name2[32];
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2);
	tTarget[id] = 0;
}
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, SayText, _, Players[i]);
			write_byte(Players[i]);
			write_string(Msg);
			message_end();
		}
	}
	return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
	Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, Chest[id] = 0;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			if(i == UsingWeapon[a][id])
			{
				UsingWeapon[a][id] = 0
			}
		}
		kill[i][id] = 0
		stattrack[i][id] = 0
		uWeapon[i][id] = 0;
		coldown[i][id] = -1
	}

	for(new z = 0; z < selectate[id]; z++)
	{
		select[z][id] = 0
	}
	selectate[id] = 0
	acc[id] = 0
	selectatek[id] = 0
	selectatec[id] = 0
	selectatek[tTarget[id]] = 0
	selectatec[tTarget[id]] = 0
	selectates[id] = 0
	selectates[tTarget[id]] = 0
	acc[tTarget[id]] = 0
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	go[id] = 0
	go[tTarget[id]] = 0
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	WeaponinMarket[id] = 0
	inMarket[id] = false
	Load(id);
	Password[id] = "";
	SavedPassword[id] = "";
	Loged[id] = false;
	remove_task(id+134444)
	remove_task(id)
	//set_task(5.0, "anuntloghez", id)
}
//public anuntloghez(id)
//{
	//if(Registered(id))
	//{
		//print_color(id, "!g%s!t Ai timp 1 minut sa te loghezi!",Prefix);
		//set_task(60.0, "kick", id+134444)
	//}
//}
//public kick(id)
//{
	//id -= 134444
	//if(is_user_connected(id) && !Loged[id])
	//{
		//new userid2 = get_user_userid(id)
		//console_print(id, "Ai primit kick pentru ca nu te-ai loghat")
		//server_cmd("kick #%d", userid2)
	//}
//}
public Load(id)
{
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}
	
	new Name[32]; 
	new tData[5][8], Data[MAX+1][8];

	get_user_name(id, Name, 31);
	if(nvault_get(svault, Name, rLine, sizeof(rLine) - 1))
	{
		strbreak(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2));

		parse(arg1, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7, Data[1], 7, Data[2],
		7, Data[3], 7, Data[4], 7, Data[5], 7, Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12],
		7, Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7, Data[20], 7, Data[21],
		7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7, Data[27], 7, Data[28], 7, Data[29], 7, Data[30],
		7, Data[31], 7, Data[32], 7, Data[33], 7, Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39],
		7, Data[40], 7, Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7, Data[48],
		7, Data[49], 7, Data[50], 7, Data[51], 7, Data[52], 7, Data[53], 7, Data[54], 7, Data[55], 7);

		parse(arg2, Data[56], 7, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
		7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
		7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
		7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
		7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);

		Kills[id] = str_to_num(tData[0]);
		Points[id] = str_to_num(tData[1]);
		pKey[id] = str_to_num(tData[2]);
		Chest[id] = str_to_num(tData[3]);
		Rang[id] = str_to_num(tData[4]);

		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][id] = str_to_num(Data[i]);
		}
	}

	new zData[WEAPONSKIN][8];
	if(nvault_get(ssvault, Name, rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8],
		7, zData[9], 7, zData[10], 7);

		for(new i; i < WEAPONSKIN; i++)
			UsingWeapon[i][id] = str_to_num(zData[i]);
	}
	new rData[MAX+1][8]
	new dData[3][8]

	if(nvault_get(trackvault, Name, rLine, sizeof(rLine) - 1)) 
	{ 
		formatex(arg1, charsmax(arg1), "")
		formatex(arg1, charsmax(arg2), "")
		strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

		parse(arg1, rData[1], 7, rData[2], 7, rData[3], 7, rData[4], 7, rData[5], 7, rData[6], 7, rData[7], 7, rData[8],
		7, rData[9], 7, rData[10], 7, rData[11], 7, rData[12],  7, rData[13], 7, rData[14], 7, rData[15], 7, rData[16], 7, rData[17],
		7, rData[18], 7, rData[19], 7, rData[20], 7, rData[21], 7, rData[22], 7, rData[23], 7, rData[24], 7, rData[25], 7, rData[26],
		7, rData[27], 7, rData[28], 7, rData[29], 7, rData[30], 7, rData[31], 7, rData[32], 7, rData[33], 7, rData[34], 7, rData[35],
		7, rData[36], 7, rData[37], 7, rData[38], 7, rData[39], 7, rData[40], 7, rData[41], 7, rData[42], 7, rData[43], 7, rData[44],
		7, rData[45], 7, rData[46], 7, rData[47], 7, rData[48], 7, rData[49], 7, rData[50], 7, rData[51], 7, rData[52], 7, rData[53], 7, rData[54], 7, rData[55], 7);
		parse(arg2, rData[56], 7, rData[57], 7, rData[58], 7, rData[59], 7, rData[60], 7, rData[61], 7, rData[62], 7, rData[63], 7, rData[64],
		7, rData[65], 7, rData[66], 7, rData[67], 7, rData[68], 7, rData[69], 7, rData[70], 7, rData[71], 7, rData[72], 7, rData[73],
		7, rData[74], 7, rData[75], 7, rData[76], 7, rData[77], 7, rData[78], 7, rData[79], 7, rData[80], 7, rData[81], 7, rData[82],
		7, rData[83], 7, rData[84], 7, rData[85], 7, rData[86], 7, rData[87], 7, rData[88], 7, rData[89], 7, rData[90], 7, rData[91],
		7, rData[92], 7, rData[93], 7, rData[94], 7, rData[95], 7, rData[96], 7, rData[97], 7, rData[98], 7, rData[99], 7, rData[100], 7);
		new szWeek[3]
		get_time("%w", szWeek, sizeof(szWeek))
		new iDate = str_to_num(szWeek)

		for(new i = 1; i < AllWeapon; i++)
		{
			parse(rData[i], dData[0], 7, dData[1], 7, dData[2], 7)
			stattrack[i][id] = str_to_num(dData[0]);
			uWeapon[i][id] += str_to_num(dData[0])
			kill[i][id] = str_to_num(dData[1]);
			new p = str_to_num(dData[2])
			new fo[10],fo2[10]
			formatex(fo, 9, "0%d", p)
			formatex(fo2, 9, "0%d", iDate)
			if(!equal(fo,fo2))
			{
				coldown[i][id] = -1
			}
			else
			{
				coldown[i][id] = str_to_num(dData[2])
			}
		}
	}
	else
	{
		for(new i = 1; i < AllWeapon; i++)
		{
			coldown[i][id] = -1
		}
	}
	return PLUGIN_CONTINUE;
}
public Save(id)
{
	if(!is_user_connected(id))
	{
		server_print("nu e on")
		return PLUGIN_HANDLED;
	}

	new Name[32];
	get_user_name(id, Name, 31);
	formatex(rLine, charsmax(rLine), "")
	new String[8];
	
	format(String, 7, "^"^"%i^" ", Kills[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Points[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", pKey[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Chest[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Rang[id]);
	add(rLine, charsmax(rLine), String);

	for(new i = 1; i < AllWeapon; i++)
	{
		if(i > MAX)
			break;

		if(uWeapon[i][id] < 0)
			uWeapon[i][id] = 0

		if(i == 56)
		{
			if(stattrack[i][id])
			{
				format(String, 7, "^"%i^"^" ^"", uWeapon[i][id]-stattrack[i][id]);
				add(rLine, charsmax(rLine), String);
			}
			else
			{
				format(String, 7, "^"%i^"^" ^"", uWeapon[i][id]);
				add(rLine, charsmax(rLine), String);
			}
		}
		else if(i == MAX)
		{
			if(stattrack[i][id])
			{
				format(String, 7, "^"%i^"^"", uWeapon[i][id]-stattrack[i][id]);
				add(rLine, charsmax(rLine), String);
			}
			else
			{
				format(String, 7, "^"%i^"^"", uWeapon[i][id]);
				add(rLine, charsmax(rLine), String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				format(String, 7, "^"%i^" ", uWeapon[i][id]-stattrack[i][id]);
				add(rLine, charsmax(rLine), String);
			}
			else
			{
				format(String, 7, "^"%i^" ", uWeapon[i][id]);
				add(rLine, charsmax(rLine), String);
			}
		}
	}
	
	nvault_set(svault, Name, rLine)

	formatex(rLine, charsmax(rLine), "")
	new Stringz[8];

	for(new i = 0; i < WEAPONSKIN; i++)
	{
		format(Stringz, 7, "^"%i^" ", UsingWeapon[i][id]);
		add(rLine, charsmax(rLine), Stringz);
	}
				
	nvault_set(ssvault, Name, rLine)

	formatex(rLine, charsmax(rLine), "")

	new rString[16];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(i > MAX)
			break;

		if(stattrack[i][id] < 0)
			stattrack[i][id] = 0

		if(i == 56)
		{
			format(rString, 15, "^"%i %i %i^"*", stattrack[i][id], kill[i][id], coldown[i][id]);
			add(rLine, charsmax(rLine), rString);
		}
		else
		{
			format(rString, 15, "^"%i %i %i^" ", stattrack[i][id], kill[i][id], coldown[i][id]);
			add(rLine, charsmax(rLine), rString);
		}

	}
	nvault_set(trackvault, Name, rLine)
	formatex(rLine, charsmax(rLine), "")

	return PLUGIN_CONTINUE;
}
public RegMenu(id)
{
	new String[128], Name[32];
	format(String, 127, "%s %L", Prefix, LANG_SERVER, "RMMAIN");
	new rMenu = menu_create(String, "rMenuHandler");
	get_user_name(id, Name, 31);
	
	format(String, 127, "%L", LANG_SERVER, "RMACCOUNT", Name);
	menu_additem(rMenu, String, "0");
	
	if(!Registered(id))
	{
		format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
		menu_additem(rMenu, String, "1");
		
		if(strlen(Password[id]) > 4)
		{
			format(String, 127, "%L", LANG_SERVER, "RMR");
			menu_additem(rMenu, String, "2");
		}
		else
		{
			format(String, 127, "\d%L", LANG_SERVER, "RMR");
			menu_additem(rMenu, String, "0");
		}
	}
	else
	{
		if(!Loged[id])
		{
			format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
			menu_additem(rMenu, String, "1");
			
			if(equal(SavedPassword[id], Password[id]))
			{
				format(String, 127, "%L", LANG_SERVER, "RMLOGIN");
				menu_additem(rMenu, String, "3");
			}
			else
			{
				format(String, 127, "\d%L", LANG_SERVER, "RMLOGIN");
				menu_additem(rMenu, String, "0");
			}
		}
		else
		{
			format(String, 127, "%L", LANG_SERVER, "RMLOGOUT");
			menu_additem(rMenu, String, "-1");
		}
	}
	
	menu_display(id, rMenu);
}
public rMenuHandler(id, gMenu, item)
{	
	if(item == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return;
	}
	new data[9], name[64], Key;
	new access, callback;
	menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
	Key = str_to_num(data);
	
	if(Key == -1)
		ToLogout(id);

	if(Key == 0)
		RegMenu(id);

	if(Key == 1)
	{
		client_cmd(id, "messagemode UserPassword");
		RegMenu(id);
	}
	if(Key == 2)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
		Register(id, Password[id]);
		copy(SavedPassword[id], 31, Password[id]);
		Loged[id] = true;
		Menu(id);
	}
	if(Key == 3)
	{
		if(equal(SavedPassword[id], Password[id])) {
			Loged[id] = true;
			remove_task(id+134444)
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
			Menu(id);
		}
	}
}
public ToLogout(id)
{
	if(Loged[id])
	{
		Loged[id] = false;
		Password[id] = "";
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
	}
}
public PlayerPassword(id)
{
	new Data[32];
	read_args(Data, 31);
	remove_quotes(Data);
	
	if(strlen(Data) < 5)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSHORT");
		client_cmd(id, "messagemode UserPassword");
		return PLUGIN_HANDLED;
	}
	
	if(Loged[id])
	{
		return PLUGIN_HANDLED;
	}
	
	copy(Password[id], 31, Data);
	RegMenu(id);
	return PLUGIN_CONTINUE;
}
public NameChange(id) 
{
	if(!is_user_connected(id))
		return FMRES_IGNORED;
		
	new OldName[32], NewName[32], Name[32];
	get_user_name(id, Name, 31);
	pev(id, pev_netname, OldName, charsmax(OldName));
	if(OldName[0])
	{
		get_user_info(id, "name", NewName, charsmax(NewName));
		if(!equal(OldName, NewName))
		{
			set_user_info(id, "name", OldName);
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERNAMECHANGE");
			return FMRES_HANDLED;
		}
	}
	return FMRES_IGNORED;
}
stock bool:ValidMdl(Mdl[])
{
	if(containi(Mdl, ".mdl") != -1)
	{
		return true;
	}
	return false;
}
stock bool:Registered(id)
{
	new bool:ver = false;
	new Name[32];
	get_user_name(id, Name, 31);
	
	new Data[32]; 
	if(nvault_get(rvault, Name, Data, sizeof(Data) - 1)) 
	{ 
		copy(SavedPassword[id], 31, Data);
		ver = true;
	}
	
	
	return ver;
}
stock Register(id, const rSavedPassword[])
{
	new Name[32], Line[64];
	get_user_name(id, Name, 31);
	format(Line, 63, "%s", rSavedPassword);
	
	nvault_set(rvault, Name, Line)
}
----------------Steam----------------
-----------------------------------------------------------
Image
And she be actin' funny, probably think a nigga need her
I thought I was faithful, she say I'm a cheater
They thought I was taken, I'm ready to mingle
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 15 guests