Page 1 of 1

Global Offensive Mod 2.16 Beta

Posted: 04 Sep 2019, 03:28
by Filiq_
Descriere: Da, da stiu, ca am pus ca postez un addons, dar sincer nu am nici un chef sa fac asta nu este greu sa faceit voi unul. Acest mod aduca cs:go-ul pe cs 1.6.
Descarcare:
2.16 beta | Afiseaza codul
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <sqlx>
#include <fakemeta>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <xs>
#include <ColorChat>

#define PLUGIN "Global Offensive"
#define VERSION "2.16"
#define AUTHOR "Filiq_ & DeRoiD" // De la deroid am inceput pluginul.
new const Prefix[] = "[CSGOMOD]";

new SQL_Host[32], SQL_Database[32], SQL_User[32], SQL_Password[32];
new Handle:SQL_TUPLE;
new ServerLoaded;

new const SkinFolder[] = "deroidcsgo/";
new const DSkinFolder[] = "deroidcsgo/default/";

#define MAXP 32 + 1
#define MAXWP 120 + 1

#define MAXCASES 6
#define MAXKNIFESKINS 30 + 1
#define MAXTRADEINSAMETIME 5 

#pragma semicolon 1

new Weapons[MAXP][MAXWP], SkinDataTrade[MAXWP][32], inUse[MAXP][4], Dollars[MAXP], Cases[MAXP][MAXCASES+1], Keys[MAXP], Name[MAXP][32],
TradeFounding[MAXP], inTrade[MAXP], TradeID[MAXP], TradePiece[MAXP], TradeItem[MAXP], TradeDollars[MAXP],
TradePartner[MAXP], Accept[MAXP], MarketDollar[MAXP], MarketItem[MAXP], InMarket[MAXP], bool:Logined[MAXP],
User[MAXP][32], Password[MAXP][32], Found[MAXP], UserLoad[MAXP], RegisterMod[MAXP], inProgress[MAXP],
UserID[MAXP], Activity[MAXP], Choosen[MAXP], CurrentRank[MAXP], Kills[MAXP], Weaponss = 0;

new dSync;

new CvarHost, CvarDatabase, CvarUser, CvarPassword, CvarFoundCase, CvarFoundKey, CvarMinDollarDrop,
CvarMaxDollarDrop, CvarMinDollarMarket, CvarMaxDollarMarket, CvarSkinCheck, CvarMenuButton, CvarWeaponMenu, CvarGiveSmokeGrenade;
new MinDollarMarket, MaxDollarMarket, MinDollarDrop, MaxDollarDrop, FoundKeyChance, FoundCasesChance, GiveSmokeGrenade;
new PendingTrade, PTradeId[MAXP];

new const AnimationIDs[][] =
{
	{ 0, 0, 0 },
	{ 6, 0, 1 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 6, 0, 1 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 6, 0, 1 },
	{ 6, 0, 1 },
	{ 16, 17, 2 },
	{ 13, 0, 2 },
	{ 6, 0, 1 },
	{ 6, 0, 1 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 15, 14, 1 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 6, 0, 2 },
	{ 0, 0, 0 },
	{ 6, 0, 1 },
	{ 8, 0, 3 },
	{ 0, 0, 0 },
	{ 0, 0, 0 },
	{ 0, 0, 0 }
};

new const DropData[][] = 
{
	{ 0, 00, 00, 00, 00, 00, 00, 00, 00, 00, 0000 },
	{ 0, 01, 11, 21, 33, 43, 53, 65, 75, 85, 0000 },
	{ 0, 31, 41, 51, 83, 73, 63, 35, 45, 55, 0000 },
	{ 1, 81, 71, 61, 13, 23, 03, 25, 15, 05, 0004 },
	{ 1, 02, 12, 22, 34, 44, 54, 66, 76, 86, 0008 },
	{ 1, 32, 42, 52, 84, 74, 64, 36, 46, 56, 0010 },
	{ 1, 82, 72, 62, 14, 24, 04, 26, 16, 06, 0020 }
};

new const DefaultModels[][][] = {
	{ "", "" },
	{ "", "" },
	{ "", "" },
	{ "", "" },
	{ "HE.mdl", "weapon_hegrenade" },
	{ "", "" },
	{ "C4.mdl", "weapon_c4" },
	{ "", "" },
	{ "", "" },
	{ "", "" },
	{ "", "" },
	{ "", "" },
	{ "", "" },
	{ "", "" },
	{ "Galil.mdl", "weapon_galil" },
	{ "Famas.mdl", "weapon_famas" },
	{ "USP-S.mdl", "weapon_usp" },
	{ "Glock.mdl", "weapon_glock18" },
	{ "AWP.mdl", "weapon_awp" },
	{ "MP7.mdl", "weapon_mp5navy" },
	{ "", "" },
	{ "", "" },
	{ "M4A4.mdl", "weapon_m4a1" },
	{ "", "" },
	{ "", "" },
	{ "FLASH.mdl", "weapon_flashbang" },
	{ "Deagle.mdl", "weapon_deagle" },
	{ "", "" },
	{ "AK47.mdl", "weapon_ak47" },
	{ "Knife.mdl", "weapon_knife" },
	{ "", "" },
	{ "", "" },
	{ "", "" }
};

new SkinData[256][256][256];

new const RareData[][] = 
{
	"",
	"\d",
	"\w",
	"\r",
	"\y"
}; 

new const KeyName[] = "Key";

new const Case_Data[][][] = 
{
	{ "Case Name", "Found Num 0.1-100.0%" }, //Last must be 1
	{ "Chroma Case", 1000 }, //First must be 1000
	{ "Chroma 2 Case", 1025 },
	{ "Chroma 3 Case", 0380 },
	{ "Gamma Case", 0105 },
	{ "Gamma 2 Case", 0017 },
	{ "Falcion Case", 0009 }
};

new const FirstWeaponNames[][][] =
{
	{ "", "", 0 },
	{ "AK47", "weapon_ak47", CSW_AK47 },
	{ "M4A4", "weapon_m4a1", CSW_M4A1 },
	{ "AWP", "weapon_awp", CSW_AWP },
	{ "FAMAS", "weapon_famas", CSW_FAMAS },
	{ "MP5", "weapon_mp5navy", CSW_MP5NAVY },
	{ "GALIL", "weapon_galil", CSW_GALIL }
};

new const SecondaryWeaponNames[][][] =
{
	{ "", "", 0 },
	{ "DEAGLE", "weapon_deagle", CSW_DEAGLE },
	{ "USP", "weapon_usp", CSW_USP },
	{ "GLOCK-18", "weapon_glock18", CSW_GLOCK18 }
};

new const Ranks[][] =
{
	"",
	"Silver I",
	"Silver II",
	"Silver III",
	"Silver IV",
	"Silver Elite",
	"Silver Elite Master",
	"Gold Nova I",
	"Gold Nova II",
	"Gold Nova III",
	"Gold Nova Master",
	"Master Guardian I",
	"Master Guardian II",
	"Master Guardian Elite",
	"Distinguished Master Guardian",
	"Legendary Eagle",
	"Legendary Eagle Master",
	"Supreme Master First Class",
	"The Global Elite",
	""
};

new const RankKills[] =
{
	0,
	0,
	25,
	100,
	250,
	750,
	1000,
	1500,
	2250,
	3000,
	3900,
	4900,
	5900,
	7000,
	8500,
	10000,
	15000,
	22000,
	30000,
	40000,
	0
};

public plugin_precache() {

	new Line[156], 
		Data[5][60], 
		Len, 
		Skins[50],
		Folder[50],
		String[100];

	Weaponss++;
	get_configsdir(Folder, 47);
	format(Skins, 47, "%s/skins.cfg", Folder);

	if(file_exists(Skins)) {
		for(new i; i < file_size(Skins, 1); i++) {
			read_file(Skins, i, Line, 127, Len);
			
			if(Line[0] == ';' || Weaponss == MAXWP+1)
				continue;
			// { "Name", "VMODEL", "PMODEL", 0, 0 } 
			// { "AK-47 | Outlaw", "ak47/Outlaw", "", CSW_AK47, COMMON },
			parse(Line, Data[0], 50, Data[1], 30, Data[2], 30, Data[3], 20, Data[4], 11);
			
			formatex(SkinData[Weaponss][0], 50, Data[0]);

			if(contain(Data[1], "mdl") != -1) { 
				formatex(SkinData[Weaponss][1], 50, Data[1]);
				formatex(String, 100, "models/%s%s.mdl", SkinFolder, Data[1]);
				precache_model(String);
			}
			if(contain(Data[1], "mdl") != -1) { 
				formatex(SkinData[Weaponss][1], 50, Data[2]);
				formatex(String, 100, "models/%s%s.mdl", SkinFolder, Data[2]);
				precache_model(String);
			} 

			SkinData[3][0] = str_to_num(Data[3]);
			SkinData[4][0] = str_to_num(Data[4]); 

			server_print("Am icnarcat arma: %s cu modelul %s cu raritatea %d | %d", Data[0], Data[1], str_to_num(Data[3]), str_to_num(Data[4]));
			Weaponss++;
		}
	}

	new Mdl[96];
	
	/*for(new i = 1; i < Weaponss; i++)
	{
		if(strlen(SkinData[0]) > 1)
		{
			formatex(Mdl, charsmax(Mdl), "models/%s%s.mdl", SkinFolder, SkinData[1]);
			precache_model(Mdl);
		}
		
		if(strlen(SkinData[2]) > 1)
		{
			formatex(Mdl, charsmax(Mdl), "models/%s%s.mdl", SkinFolder, SkinData[2]);
			precache_model(Mdl);
		}
	}*/
	
	for(new i = 1; i < sizeof(DefaultModels); i++)
	{
		if(strlen(DefaultModels[0]) > 1)
		{
			formatex(Mdl, charsmax(Mdl), "models/%s%s", DSkinFolder, DefaultModels[0]);
			precache_model(Mdl);
		}
	}
}

public plugin_end()
{
	SQL_FreeHandle(SQL_TUPLE);
}

public plugin_init()
{
	for(new i; i < MAXWP; i++)
	{
		copy(SkinDataTrade, 31, SkinData[0]);
	}
	
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
	register_dictionary("csgov2.txt");
	
	CvarHost = register_cvar("csgo_host", "remotemysql.com");
	CvarDatabase = register_cvar("csgo_db", "TPOiI8MQGM");
	CvarUser = register_cvar("csgo_user", "TPOiI8MQGM");
	CvarPassword = register_cvar("csgo_pw", "K8esX5d99M");
	
	get_pcvar_string(CvarHost, SQL_Host, charsmax(SQL_Host));
	get_pcvar_string(CvarDatabase, SQL_Database, charsmax(SQL_Database));
	get_pcvar_string(CvarUser, SQL_User, charsmax(SQL_User));
	get_pcvar_string(CvarPassword, SQL_Password, charsmax(SQL_Password));

	CvarFoundCase = register_cvar("csgo_casefound", "20");
	CvarFoundKey = register_cvar("csgo_keyfound", "15");
	CvarMinDollarDrop = register_cvar("csgo_minddrop", "1");
	CvarMaxDollarDrop = register_cvar("csgo_maxddrop", "3");
	CvarMinDollarMarket = register_cvar("csgo_minmarketd", "10");
	CvarMaxDollarMarket = register_cvar("csgo_maxmarketd", "1000000");
	CvarSkinCheck = register_cvar("csgo_scheck", "1");
	CvarMenuButton = register_cvar("csgo_mbutton", "1");
	CvarWeaponMenu = register_cvar("csgo_wpmenu", "1");
	CvarGiveSmokeGrenade = register_cvar("csgo_givesg", "0");
	
	FoundCasesChance = get_pcvar_num(CvarFoundCase);
	FoundKeyChance = get_pcvar_num(CvarFoundKey);
	MinDollarDrop = get_pcvar_num(CvarMinDollarDrop);
	MaxDollarDrop = get_pcvar_num(CvarMaxDollarDrop);
	MinDollarMarket = get_pcvar_num(CvarMinDollarMarket);
	MaxDollarMarket = get_pcvar_num(CvarMaxDollarMarket);
	FoundCasesChance = get_pcvar_num(CvarFoundCase);
	GiveSmokeGrenade = get_pcvar_num(CvarGiveSmokeGrenade);
	
	register_concmd("TRADEPIECE", "cmdPiece");
	register_concmd("TRADEDOLLARS", "cmdDollarT");
	register_concmd("MARKETDOLLAR", "cmdDollarM");
	register_concmd("MY_USERNAME", "cmdUser");
	register_concmd("MY_PASSWORD", "cmdPassword");
	
	register_clcmd("say /menu", "MainMenu");
	
	if(get_pcvar_num(CvarSkinCheck) == 1)
		register_impulse(100, "SkinCheck");
		
	if(get_pcvar_num(CvarMenuButton) == 1)
		register_impulse(201, "MainMenu");
		
	register_event("DeathMsg", "Death", "a");
	
	dSync = CreateHudSyncObj();
	
	for(new i = 1; i < sizeof(DefaultModels); i++)
	{
		if(strlen(DefaultModels[i][1]) > 0)
		{
			RegisterHam(Ham_Item_Deploy, DefaultModels[i][1], "WeaponSkin", 1);
		}
	}
	
	RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
	
	if(get_pcvar_num(CvarWeaponMenu) == 1)
	{
		register_message(get_user_msgid("StatusIcon"), "msgStatusIcon");
		register_clcmd("say /guns", "Guns");
		register_clcmd("say guns", "Guns");
	}
	
	register_clcmd("say", "HandleSay");
	
	set_task(55.0, "Message", 20170309, _, _, "b");
	
	SQL_FirstLoad() ;
}

public msgStatusIcon(msgid, msgdest, id) 
{ 
	static szIcon[8]; 
	get_msg_arg_string(2, szIcon, 7); 
	
	if(equal(szIcon, "buyzone") && get_msg_arg_int(1)) 
	{ 
		set_pdata_int(id, 235, get_pdata_int(id, 235) & ~(1<<0)); 
		return PLUGIN_HANDLED; 
	}
	
	return PLUGIN_CONTINUE; 
}

public Message() 
{
	for(new i; i < MAXP; i++)
		if(is_user_connected(i))
			print_color(i, "!g%s!y %L", Prefix, i, "SVMESSAGE");
}

public HandleSay(id)
{
	new Message[192], None[2][32], Chat[192], Alive[16];
	
	read_args(Message, 191);
	remove_quotes(Message);

	formatex(None[0], 31, "");
	formatex(None[1], 31, " ");
	
	if(Message[0] == '@' || Message[0] == '!' || equal (Message, ""))
		return PLUGIN_HANDLED;
	
	if(!is_user_alive(id))
		Alive = "*DEATH* ";
	else
		Alive = "";
		
	if(!equali(Message, None[0]) && !equali(Message, None[1]))
	{
		if(Logined[id])
		{
			formatex(Chat, 191, "^1%s^4[%s] ^3%s^1 : %s", Alive, Ranks[CurrentRank[id]], Name[id], Message);
		}
		else
		{
			formatex(Chat, 191, "^1%s^4[Unranked] ^3%s^1 : %s", Alive, Name[id], Message);
		}
		
		switch(cs_get_user_team(id))
		{
			case CS_TEAM_T: ColorChat(0, RED, Chat);
			case CS_TEAM_CT: ColorChat(0, BLUE, Chat);
			case CS_TEAM_SPECTATOR: ColorChat(0, GREY, Chat);
		}
		
		return PLUGIN_HANDLED;
	}
	
	return PLUGIN_HANDLED;
}

public Death()
{
	new id = read_data(1);
	new x = read_data(2);
	
	if(id == 0 || id == x || x == 0 || !Logined[id])
	{
		return;
	}
	
	new DollarDrop = random_num(MinDollarDrop, MaxDollarDrop);
	
	Dollars[id] += DollarDrop;
	
	set_hudmessage(0, 255, 0, -1.00, 0.85, 0, 6.0, 2.0);
	ShowSyncHudMsg(id, dSync, "+%d$", x);
	
	new Drop = random_num(1, 100);
	
	if(FoundCasesChance >= Drop)
	{
		DropCase(id);
	}
	else if(FoundCasesChance+FoundKeyChance >= Drop)
	{
		for(new i; i < MAXP; i++)
			if(is_user_connected(i))
				print_color(i, "!g%s!y %L", Prefix, i, "FOUND", Name[id], KeyName);
		Keys[id]++;
	}
	
	Kills[id]++;
	
	if(RankKills[CurrentRank[id]+1] <= Kills[id] && RankKills[CurrentRank[id]+1] != 0)
	{
		CurrentRank[id]++;
		print_color(id, "!g%s!y %L", Prefix, id, "RANKNEWLV", Ranks[CurrentRank[id]]);
	}
		
	SQL_UpdateUser(id);
}

public DropCase(id)
{
	new RandomNum;
	RandomNum = random(1001);
	
	for(new i = 1; i < sizeof(Case_Data); i++)
	{
		if(Case_Data[i][1][0] <= RandomNum)
		{
			for(new x; x < MAXP; x++)
				if(is_user_connected(x))
					print_color(x, "!g%s!y %L", Prefix, x, "FOUND", Name[id], Case_Data[i][0]);
					
			Cases[id][i]++;
			break;
		}
	}
	
	SQL_UpdateUser(id);
}

public SkinDrop(id, CaseNum)
{
	new RandomNum = random_num(1, 1000);
	
	if(DropData[CaseNum][10] >= RandomNum && DropData[CaseNum][0] == 1)
	{
		new RandomKnife = random_num(91, 90+MAXKNIFESKINS-1);
		Weapons[id][RandomKnife]++;
		
		for(new i; i < MAXP; i++)
			if(is_user_connected(i))
				print_color(i, "!g%s!y %L", Prefix, i, "UNBOXING", Name[id], SkinData[RandomKnife][0]);
	}
	else
	{
		new RandomNums[2], DroppedSkin;
		RandomNum = random_num(1, 10);
		
		if(RandomNum == 1)
		{
			RandomNums[0] = 7; RandomNums[1] = 9;
		}
		else if(RandomNum <= 4)
		{
			RandomNums[0] = 4; RandomNums[1] = 6;
		}
		else if(RandomNum <= 10)
		{
			RandomNums[0] = 1; RandomNums[1] = 3;
		}
		
		DroppedSkin = DropData[CaseNum][random_num(RandomNums[0], RandomNums[1])];
		
		Weapons[id][DroppedSkin]++;
		
		for(new i; i < MAXP; i++)
			if(is_user_connected(i))
				print_color(i, "!g%s!y %L", Prefix, i, "UNBOXING", Name[id], SkinData[DroppedSkin][0]);
	}
	
	SQL_UpdateUser(id);
}

public WeaponSkin(f)
{
	new id = get_pdata_cbase(f, 41, 4);
	new wid = cs_get_weapon_id(f);
	
	if(id > 32 || id < 1 || !is_user_alive(id))
	{
		return HAM_SUPERCEDE;
	}
	
	new k = AnimationIDs[wid][2], Mdl[86];
	
	if(inUse[id][k] > 0 && SkinData[inUse[id][k]][3][0] == wid && Weapons[id][inUse[id][k]] > 0)
	{
		formatex(Mdl, charsmax(Mdl), "models/%s%s.mdl", SkinFolder, SkinData[inUse[id][k]][1]);
		set_pev(id, pev_viewmodel2, Mdl);
		
		if(strlen(SkinData[inUse[id][k]][2]) > 0)
		{
			formatex(Mdl, charsmax(Mdl), "models/%s%s.mdl", SkinFolder, SkinData[inUse[id][k]][2]);
			set_pev(id, pev_weaponmodel2, Mdl);
		}
	}
	else
	{
		formatex(Mdl, charsmax(Mdl), "models/%s%s", DSkinFolder, DefaultModels[wid][0]);
		set_pev(id, pev_viewmodel2, Mdl);
	}
	
	return HAM_IGNORED;
}

public MainMenu(id)
{
	if(!Logined[id])
	{
		RegMenu(id);
		return;
	}
	
	new String[128];
	formatex(String, charsmax(String), "%L", id, "MAINMENU", Dollars[id]);
	new Menu = menu_create(String, "MainMenuh");
	
	formatex(String, charsmax(String), "%L", id, "INVENTORY");
	menu_additem(Menu, String, "1");
	
	formatex(String, charsmax(String), "%L", id, "CASEOPEN");
	menu_additem(Menu, String, "2");
	
	formatex(String, charsmax(String), "%L", id, "TRADE");
	menu_additem(Menu, String, "3");
	
	formatex(String, charsmax(String), "%L^n", id, "MARKET");
	menu_additem(Menu, String, "4");
	
	if(RankKills[CurrentRank[id]+1] != 0)
	{
		formatex(String, charsmax(String), "%L%L", id, "TRASH", id, "RANKMENU",
		Ranks[CurrentRank[id]], Kills[id], RankKills[CurrentRank[id]+1], Ranks[CurrentRank[id]+1]);
	}
	else
	{
		formatex(String, charsmax(String), "%L%L", id, "TRASH", id, "RANKMENUMAX",
		Ranks[CurrentRank[id]], Kills[id]);
	}
	menu_additem(Menu, String, "5");
	
	menu_display(id, Menu);
}

public MainMenuh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	
	new x = str_to_num(Data);
	
	switch(x)
	{
		case 1 : {
			Inventory(id);
		}
		
		case 2 : {
			CaseMenu(id);
			
			if(MarketItem[id] > 0 || TradeItem[id] > 0 || inTrade[id] > 0)
			{
				print_color(id, "!g%s!y %L", Prefix, id, "TMMESSAGE");
				DeleteTradeandMarket(id);
			}
		}
		
		case 3 : {
			if(PendingTrade > MAXTRADEINSAMETIME && PTradeId[id] == 0)
			{
				print_color(id, "!g%s!y %L", Prefix, id, "BLOCKTRADE");
				return;
			}
			
			TradeMenu(id);
			
			if(MarketItem[id] > 0)
			{
				print_color(id, "!g%s!y %L", Prefix, id, "TMMESSAGE");
				DeleteTradeandMarket(id);
			}
		}
		
		case 4 : {
			MMarketMenu(id);
			
			if(TradeItem[id] > 0 || inTrade[id] > 0)
			{
				print_color(id, "!g%s!y %L", Prefix, id, "TMMESSAGE");
				DeleteTradeandMarket(id);
			}
		}
		
		case 5 : {
			TrashMenu(id);
			
			if(MarketItem[id] > 0 || TradeItem[id] > 0 || inTrade[id] > 0)
			{
				print_color(id, "!g%s!y %L", Prefix, id, "TMMESSAGE");
				DeleteTradeandMarket(id);
			}
		}
	}
}

public CaseMenu(id)
{
	new String[128];
	formatex(String, charsmax(String), "%L", id, "CASEOPENM", Keys[id]);
	new Menu = menu_create(String, "CaseMenuh");
	
	for(new i = 1; i < sizeof(Case_Data); i++)
	{
		new NumToString[6];
		num_to_str(i, NumToString, 5);
		formatex(String, charsmax(String), "%s \r(%d)", Case_Data[i][0], Cases[id][i]);
		menu_additem(Menu, String, NumToString);
	}
	
	menu_display(id, Menu);
}

public CaseMenuh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	
	new x = str_to_num(Data);
	
	if(Cases[id][x] > 0 && Keys[id] > 0)
	{
		Keys[id]--;
		Cases[id][x]--;
		SkinDrop(id, x);
	}
	else if(Keys[id] == 0)
	{
		print_color(id, "!g%s!y %L", Prefix, id, "NOTENOUGHK");
	}
	else
	{
		print_color(id, "!g%s!y %L", Prefix, id, "NOTENOUGHC");
	}
	
	CaseMenu(id);
}

public TrashMenu(id)
{
	new String[128];
	formatex(String, charsmax(String), "%L", id, "TRASH");
	new Menu = menu_create(String, "TrashMenuh");
	
	for(new i = 1; i < Weaponss; i++)
	{
		if(Weapons[id][i] > 0 && strlen(SkinData[i][0]) > 1)
		{
			new NumToString[6];
			num_to_str(i, NumToString, 5);
			
			if(SkinData[i][3][0] != CSW_KNIFE)
				formatex(String, charsmax(String), "%s%s \y(%d)", RareData[SkinData[i][4][0]], SkinData[i][0], Weapons[id][i]);
			else
				formatex(String, charsmax(String), "%s%s \w(%d)", RareData[SkinData[i][4][0]], SkinData[i][0], Weapons[id][i]);
			menu_additem(Menu, String, NumToString);
		}
	}
	
	menu_display(id, Menu);
}

public TrashMenuh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	new x = str_to_num(Data);
	
	Weapons[id][x]--;
	TrashMenu(id);
	SQL_UpdateUser(id);
}

public Inventory(id)
{
	new String[128];
	formatex(String, charsmax(String), "%L", id, "INVENTORY");
	new Menu = menu_create(String, "Inventoryh");
	
	for(new i = 1; i < Weaponss; i++)
	{
		if(Weapons[id][i] > 0 && strlen(SkinData[i][0]) > 1)
		{
			new NumToString[6];
			num_to_str(i, NumToString, 5);
			
			if(SkinData[i][3][0] != CSW_KNIFE)
				formatex(String, charsmax(String), "%s%s \y(%d)", RareData[SkinData[i][4][0]], SkinDataTrade[i], Weapons[id][i]);
			else
				formatex(String, charsmax(String), "%s%s \w(%d)", RareData[SkinData[i][4][0]], SkinDataTrade[i], Weapons[id][i]);
			menu_additem(Menu, String, NumToString);
		}
	}
	
	menu_display(id, Menu);
}

public Inventoryh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	new x = str_to_num(Data);
	
	if(SkinData[x][3][0] == 16 || SkinData[x][3][0] == 17 || SkinData[x][3][0] == 26)
	{
		inUse[id][2] = x;
	}
	else if(SkinData[x][3][0] == 29)
	{
		inUse[id][3] = x;
	}
	else
	{
		inUse[id][1] = x;
	}
}

public SkinCheck(id)
{
	if(!is_user_alive(id))
		return PLUGIN_HANDLED;
	
	new Sil, WPName[32];
	formatex(WPName, charsmax(WPName), DefaultModels[get_user_weapon(id)][1]);
	new WPN = find_ent_by_owner(-1, DefaultModels[get_user_weapon(id)][1], id);
	
	if(get_user_weapon(id) == CSW_M4A1 || get_user_weapon(id) == CSW_USP)
		Sil = cs_get_weapon_silen(WPN);
		
	if(get_user_weapon(id) == CSW_AWP)
		cs_set_user_zoom(id, 0, 0);
	
	PlayAnimation(id, AnimationIDs[get_user_weapon(id)][Sil]);

	return PLUGIN_HANDLED;
}

public TradeMenu(id)
{
	if(TradePiece[id] == 0)
	{
		TradePiece[id] = 1;
	}
	
	new String[128], kid, Menu;
	
	if(TradePartner[id] > 0)
		kid = TradePartner[id];
	else
		kid = TradeID[id];

	if(TradeFounding[id] == 1)
	{
		formatex(String, charsmax(String), "%L", id, "WANTTRADE", Name[kid]);
	}
	else if(inTrade[id] == 1 && inTrade[kid] == 1)
	{
		formatex(String, charsmax(String), "%L", id, "TRADEITEMS", Name[kid]);
	}
	else 
	{
		formatex(String, charsmax(String), "%L", id, "TRADEDOLLAR", Dollars[id]);
	}
	
	Menu = menu_create(String, "TradeMenuh");
	
	if(TradeFounding[id] == 1)
	{
		formatex(String, charsmax(String), "%L", id, "TRADEACCEPT");
		menu_additem(Menu, String, "-3");
		
		formatex(String, charsmax(String), "%L", id, "TRADEREJECT");
		menu_additem(Menu, String, "-2");
	}
	else if(inTrade[id] == 1 && inTrade[kid] == 1)
	{
		if(TradeItem[kid] == 0)
		{
			formatex(String, charsmax(String), "%L", id, "TRADENOTHING");
		}
		else if(TradeItem[kid] > 0 && TradeItem[kid] <= 90+MAXKNIFESKINS)
		{
			formatex(String, charsmax(String), "%L", id, "TRADEITEM", SkinDataTrade[TradeItem[kid]], TradePiece[kid]);
		}
		else if(TradeItem[kid] > 90+MAXKNIFESKINS && TradeItem[kid] <= 90+MAXKNIFESKINS+MAXCASES)
		{
			formatex(String, charsmax(String), "%L", id, "TRADEITEM", Case_Data[TradeItem[kid]-(90+MAXKNIFESKINS)][0], TradePiece[kid]);
		}
		else
		{
			formatex(String, charsmax(String), "%L", id, "TRADEITEM", KeyName, TradePiece[kid]);
		}
			
		menu_additem(Menu, String, "0");
		
		formatex(String, charsmax(String), "%L", id, "TRADEYOURITEMS", TradeDollars[kid]);
		menu_additem(Menu, String, "0");
		
		if(TradeItem[id] == 0)
		{
			formatex(String, charsmax(String), "%L", id, "TRADENOTHING");
		}
		else if(TradeItem[id] > 0 && TradeItem[id] <= 90+MAXKNIFESKINS)
		{
			formatex(String, charsmax(String), "%L", id, "TRADEITEM", SkinDataTrade[TradeItem[id]], TradePiece[id]);
		}
		else if(TradeItem[id] > 90+MAXKNIFESKINS && TradeItem[id] <= 90+MAXKNIFESKINS+MAXCASES)
		{
			formatex(String, charsmax(String), "%L", id, "TRADEITEM", Case_Data[TradeItem[id]-(90+MAXKNIFESKINS)][0], TradePiece[id]);
		}
		else
		{
			formatex(String, charsmax(String), "%L", id, "TRADEITEM", KeyName, TradePiece[id]);
		}
		menu_additem(Menu, String, "-4");
		
		formatex(String, charsmax(String), "%L", id, "TRADEDOLLAR2", TradeDollars[id]);
		menu_additem(Menu, String, "-5");
		
		formatex(String, charsmax(String), "%L", id, "TRADEACCEPT");
		menu_additem(Menu, String, "-6");
		
		formatex(String, charsmax(String), "%L", id, "TRADEREJECT");
		menu_additem(Menu, String, "-7");
	}
	else if(TradeID[id] == 0)
	{
		for(new i; i < MAXP; i++)
		{
			new NumToStr[6];
			if(is_user_connected(i))
			{
				if(i == id || is_user_bot(i))
					continue;
					
				if(TradeFounding[i] == 0 && inTrade[i] == 0)
				{
					num_to_str(i, NumToStr, 5);
					formatex(String, charsmax(String), "%s", Name[i]);
					menu_additem(Menu, String, NumToStr);
				}
			}
		}
	}
	else if(TradeID[id] > 0)
	{
		print_color(id, "!g%s!y %L", Prefix, id, "DONTACCEPTEDTRADE");
		return;
	}

	menu_display(id, Menu);
}
public TradeMenuh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	
	new x = str_to_num(Data);
	
	if(x <= 0)
	{
		switch(x)
		{
			case 0 : TradeMenu(id);
			
			case -3 : {
				if(PendingTrade > MAXTRADEINSAMETIME)
				{
					print_color(id, "!g%s!y %L", Prefix, id, "BLOCKTRADE");
					return;
				}
				
				TradeFounding[id] = 0;
				inTrade[id] = 1;
				new kid;
				if(TradePartner[id] > 0)
					kid = TradePartner[id];
				else
					kid = TradeID[id];
				inTrade[kid] = 1;
				TradePiece[id] = 0;
				TradePiece[kid] = 0;
				PTradeId[id] = 1;
				PTradeId[kid] = 1;
				TradeMenu(id);
				TradeMenu(kid);
				PendingTrade++;
			}
			
			case -2 : {
				new kid;
				if(TradePartner[id] > 0)
					kid = TradePartner[id];
				else
					kid = TradeID[id];
				inTrade[id] = 0;
				TradePartner[id] = 0;
				TradeFounding[id] = 0;
				inTrade[kid] = 0;
				TradeID[kid] = 0;
				TradeID[id] = 0;
			}
			
			case -4 : {
				TChooseItem(id);
			}
			
			case -5 : {
				client_cmd(id, "messagemode TRADEDOLLARS");
			}
			
			case -6 : {
				new kid;
				
				if(TradePartner[id] > 0)
					kid = TradePartner[id];
				else
					kid = TradeID[id];
					
				Accept[id] = 1;
				
				if(Accept[id] == 1 && Accept[kid] == 1)
				{
					Trade(id, kid);
				}
				else
				{
					MainMenu(id);
				}
			}
			
			case -7 : {
				new kid;
				if(TradePartner[id] > 0)
					kid = TradePartner[id];
				else
					kid = TradeID[id];
				
				inTrade[id] = 0;
				TradePartner[id] = 0;
				TradeFounding[id] = 0;
				TradeID[id] = 0;
				inTrade[kid] = 0;
				TradePartner[kid] = 0;
				TradeFounding[kid] = 0;
				TradeID[kid] = 0;
				PTradeId[id] = 0;
				PTradeId[kid] = 0;
				PendingTrade--;
			}
		}
	}
	else
	{
		if(PendingTrade > MAXTRADEINSAMETIME && PTradeId[id] == 0)
		{
			print_color(id, "!g%s!y %L", Prefix, id, "BLOCKTRADE");
			return;
		}
			
		TradeID[id] = x;
		print_color(x, "!g%s!y %L", Prefix, x, "WANTTRADE2", Name[id]);
		TradeFounding[x] = 1;
		TradeFounding[id] = 0;
		inTrade[id] = 1;
		TradePartner[x] = id;
		remove_task(TradeID[id]+9929);
		set_task(30.0, "DeleteTrade", TradeID[id]+9929);
	}
}

public DeleteTrade(id) 
{
	id = id - 9929;
	if(Logined[id])
	{
		if(inTrade[id] == 0)
		{
			inTrade[id] = 0;
			TradePartner[id] = 0;
			TradeFounding[id] = 0;
		}
	}
}

public Trade(x, y) {
	if(Logined[x] && Logined[y] ||
	inTrade[x] == 1 && inTrade[y] == 1  ||
	Accept[x] == 1 && Accept[y] == 1)
	{
		PendingTrade--;
		
		if(TradeItem[x] > 0 && TradeItem[x] <= 90+MAXKNIFESKINS)
		{
			Weapons[y][TradeItem[x]] += TradePiece[x];
			Weapons[x][TradeItem[x]] -= TradePiece[x];
		}
		else if(TradeItem[x] > 90+MAXKNIFESKINS && TradeItem[x] <= 90+MAXKNIFESKINS+MAXCASES)
		{
			Cases[y][TradeItem[x]-(90+MAXKNIFESKINS)] += TradePiece[x];
			Cases[x][TradeItem[x]-(90+MAXKNIFESKINS)] -= TradePiece[x];
		}
		else if(TradeItem[x] > 0)
		{
			Keys[y] += TradePiece[x];
			Keys[x] -= TradePiece[x];
		}
		
		if(TradeItem[y] > 0 && TradeItem[y] <= 90+MAXKNIFESKINS)
		{
			Weapons[y][TradeItem[y]] -= TradePiece[y];
			Weapons[x][TradeItem[y]] += TradePiece[y];
		}
		else if(TradeItem[y] > 90+MAXKNIFESKINS && TradeItem[y] <= 90+MAXKNIFESKINS+MAXCASES)
		{
			Cases[y][TradeItem[y]-(90+MAXKNIFESKINS)] -= TradePiece[y];
			Cases[x][TradeItem[y]-(90+MAXKNIFESKINS)] += TradePiece[y];
		}
		else if(TradeItem[y] > 0)
		{
			Keys[y] -= TradePiece[y];
			Keys[x] += TradePiece[y];
		}
		
		Dollars[x] += TradeDollars[y];
		Dollars[y] += TradeDollars[x];
		Dollars[x] -= TradeDollars[x];
		Dollars[y] -= TradeDollars[y];
		
		print_color(x, "!g%s!y %L", Prefix, x, "SUCCESSTRADE");
		print_color(y, "!g%s!y %L", Prefix, y, "SUCCESSTRADE");
		
		DeleteTradeandMarket(x);
		DeleteTradeandMarket(y);
		
		show_menu(x, 0, "^n", 1);
		show_menu(y, 0, "^n", 1);
		
		set_task(0.5, "SQL_UpdateUser", x);
		set_task(0.5, "SQL_UpdateUser", y);
		
		PTradeId[x] = 0;
		PTradeId[y] = 0;
	}	
}

public TChooseItem(id)
{
	new String[128];
	formatex(String, charsmax(String), "%L", id, "CHOOSEITEM");
	new Menu = menu_create(String, "TChooseItemh");
	
	for(new i = 1; i < Weaponss; i++)
	{
		if(Weapons[id][i] > 0 && strlen(SkinDataTrade[i]) > 1)
		{
			new NumToString[6];
			num_to_str(i, NumToString, 5);
			
			if(SkinData[i][3][0] != CSW_KNIFE)
				formatex(String, charsmax(String), "%s%s \y(%d)", RareData[SkinData[i][4][0]], SkinDataTrade[i], Weapons[id][i]);
			else
				formatex(String, charsmax(String), "%s%s \w(%d)", RareData[SkinData[i][4][0]], SkinDataTrade[i], Weapons[id][i]);
			menu_additem(Menu, String, NumToString);
		}
	}
	
	for(new i = 1; i < sizeof(Case_Data); i++)
	{
		if(Cases[id][i] > 0)
		{
			new NumToString[6];
			num_to_str(i+Weaponss, NumToString, 5);
			formatex(String, charsmax(String), "%s \r(%d)", Case_Data[i][0], Cases[id][i]);
			menu_additem(Menu, String, NumToString);
		}
	}
	
	if(Keys[id] > 0)
	{
		new NumToString[6];
		num_to_str(1+Weaponss+sizeof(Case_Data), NumToString, 5);
		formatex(String, charsmax(String), "%s \r(%d)", KeyName, Keys[id]);
		menu_additem(Menu, String, NumToString);
	}
	
	menu_display(id, Menu);
}

public TChooseItemh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	new x = str_to_num(Data);
	
	TradeItem[id] = x;
	client_cmd(id, "messagemode TRADEPIECE");
}

public MChooseItem(id)
{
	new String[128];
	formatex(String, charsmax(String), "%L", id, "CHOOSEITEM");
	new Menu = menu_create(String, "MChooseItemh");
	
	for(new i = 1; i < Weaponss; i++)
	{
		if(Weapons[id][i] > 0 && strlen(SkinDataTrade[i]) > 1)
		{
			new NumToString[6];
			num_to_str(i, NumToString, 5);
			
			if(SkinData[i][3][0] != CSW_KNIFE)
				formatex(String, charsmax(String), "%s%s \y(%d)", RareData[SkinData[i][4][0]], SkinDataTrade[i], Weapons[id][i]);
			else
				formatex(String, charsmax(String), "%s%s \w(%d)", RareData[SkinData[i][4][0]], SkinDataTrade[i], Weapons[id][i]);
			menu_additem(Menu, String, NumToString);
		}
	}
	
	for(new i = 1; i < sizeof(Case_Data); i++)
	{
		if(Cases[id][i] > 0)
		{
			new NumToString[6];
			num_to_str(i+Weaponss, NumToString, 5);
			formatex(String, charsmax(String), "%s \r(%d)", Case_Data[i][0], Cases[id][i]);
			menu_additem(Menu, String, NumToString);
		}
	}
	
	if(Keys[id] > 0)
	{
		new NumToString[6];
		num_to_str(1+Weaponss+sizeof(Case_Data), NumToString, 5);
		formatex(String, charsmax(String), "%s \r(%d)", KeyName, Keys[id]);
		menu_additem(Menu, String, NumToString);
	}
	
	menu_display(id, Menu);
}

public MChooseItemh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	new x = str_to_num(Data);
	
	MarketItem[id] = x;
	MarketMenu(id);
}

public cmdDollarM(id)
{
	if(inTrade[id] == 1 || !Logined[id])
		return;
	
	new Price, Data[32];
	read_args(Data, charsmax(Data));
	remove_quotes(Data);
	
	Price = str_to_num(Data);
	
	if(Price <= MinDollarMarket)
	{
		print_color(id, "!g%s!y %L", Prefix, id, "LOWPRICE", MinDollarMarket);
		client_cmd(id, "messagemode MARKETDOLLAR");
		MarketMenu(id);
	}
	else if(MaxDollarMarket >= Price)
	{
		MarketDollar[id] = Price;
		MarketMenu(id);
	}
	else
	{
		print_color(id, "!g%s!y %L", Prefix, id, "HIGHPRICE", MaxDollarMarket);
		client_cmd(id, "messagemode MARKETDOLLAR");
		MarketMenu(id);
	}
}

public cmdDollarT(id)
{
	if(inTrade[id] == 0 || !Logined[id])
		return;
	
	new Piece, Data[32], kid;
	read_args(Data, charsmax(Data));
	remove_quotes(Data);
	
	Piece = str_to_num(Data);
	
	if(TradePartner[id] > 0)
		kid = TradePartner[id];
	else
		kid = TradeID[id];
	
	if(Piece <= 0)
	{
		client_cmd(id, "messagemode TRADEDOLLARS");
	}
	else if(Dollars[id] >= Piece)
	{
		TradeDollars[id] = Piece;
		TradeMenu(id);
		TradeMenu(kid);
		Accept[id] = 0;
		Accept[kid] = 0;
	}
	else
	{
		TradeDollars[id] = Dollars[id];
		TradeMenu(id);
		TradeMenu(kid);
		Accept[id] = 0;
		Accept[kid] = 0;
	}
}
public cmdPiece(id)
{
	new kid;
	
	if(TradePartner[id] > 0)
		kid = TradePartner[id];
	else
		kid = TradeID[id];
		
	if(inTrade[id] == 0 || inTrade[kid] == 0 || !Logined[id])
		return;
	
	new Piece, Data[32];
	read_args(Data, charsmax(Data));
	remove_quotes(Data);
	
	Piece = str_to_num(Data);
	
	if(TradeItem[id] > 0 && TradeItem[id] <= 90+MAXKNIFESKINS)
	{
		if(Weapons[id][TradeItem[id]] >= Piece && Piece >= 1)
		{
			TradePiece[id] = Piece;
			TradeMenu(id);
			TradeMenu(kid);
			Accept[id] = 0;
			Accept[kid] = 0;
		}
	}
	else if(TradeItem[id] > 90+MAXKNIFESKINS && TradeItem[id] <= 90+MAXKNIFESKINS+MAXCASES)
	{
		if(Cases[id][TradeItem[id]-(90+MAXKNIFESKINS)] >= Piece && Piece >= 1)
		{
			TradePiece[id] = Piece;
			TradeMenu(id);
			TradeMenu(kid);
			Accept[id] = 0;
			Accept[kid] = 0;
		}
	}
	else if(TradeItem[id] > 0)
	{
		if(Keys[id] >= Piece && Piece >= 1)
		{
			TradePiece[id] = Piece;
			TradeMenu(id);
			TradeMenu(kid);
			Accept[id] = 0;
			Accept[kid] = 0;
		}
	}
	else
	{
		TradePiece[id] = 0;
		TradeMenu(id);
		TradeMenu(kid);
		Accept[id] = 0;
		Accept[kid] = 0;
		return;
	}
}

public RegMenu(id)
{
	if(ServerLoaded == 0)
	{
		print_color(id, "!g%s!y %L", Prefix, id, "SERVERLOADING");
		return;
	}
	
	new String[128];
	formatex(String, charsmax(String), "%L", id, "REGISTERMENU");
	new menu = menu_create(String, "RegMenuh" );
		
	if(strlen(User[id]) > 0)
	{
		formatex(String, charsmax(String), "%L", id, "USERNAME", User[id]);
		menu_additem(menu, String, "1");
		
		formatex(String, charsmax(String), "%L^n", id, "PASSWORD", Password[id]);
		menu_additem(menu, String, "2");
	}
	else
	{
		formatex(String, charsmax(String), "%L", id, "USERNAME2", User[id]);
		menu_additem(menu, String, "1");
	}
	
	if(strlen(User[id]) > 0 && strlen(Password[id]) > 0 && UserLoad[id] == 0 && inProgress[id] == 0)
	{
		if(Found[id])
		{
			formatex(String, charsmax(String), "%L", id, "LOGIN");
			menu_additem(menu, String, "3");
		}
		else
		{
			formatex(String, charsmax(String), "%L", id, "REGISTER");
			menu_additem(menu, String, "4");
		}
	}
	
	menu_display(id, menu);
}

public RegMenuh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	
	new x = str_to_num(Data);
	
	switch(x)
	{
		case 1 : {
			client_cmd(id, "messagemode MY_USERNAME");
			RegMenu(id);
		}
		
		case 2 : {
			client_cmd(id, "messagemode MY_PASSWORD");
			RegMenu(id);
		}
		
		case 3 : {
			if(inProgress[id] == 0)
			{
				inProgress[id] = 1;
				print_color(id, "!g%s!y %L", Prefix, id, "LOGINPENDING");
				RegisterMod[id] = 1;
				SQL_Check(id);
				RegMenu(id);
			}
			else
			{
				RegMenu(id);
			}
		}
		
		case 4 : {
			if(inProgress[id] == 0)
			{
				inProgress[id] = 1;
				print_color(id, "!g%s!y %L", Prefix, id, "REGISTERPENDING");
				RegisterMod[id] = 2;
				SQL_Check(id);
				RegMenu(id);
			}
			else
			{
				RegMenu(id);
			}
		}
	}
}

public SQL_RegCheck(id)
{
	new szQuery[128], Len, a[32];
	
	formatex(a, 31, "%s", User[id]);

	replace_all(a, 31, "\", "\\");
	replace_all(a, 31, "'", "\'");
	
	Len += formatex(szQuery[Len], 128, "SELECT * FROM globaloffensive ");
	Len += formatex(szQuery[Len], 128-Len,"WHERE USER = '%s'", a);
	
	new szData[2];
	szData[0] = id;
	szData[1] = get_user_userid(id);
	
	SQL_ThreadQuery(SQL_TUPLE, "SQL_RegCheckResult", szQuery, szData, 2);
	
	UserLoad[id] = 1;
}

public SQL_RegCheckResult(FailState, Handle:Query, Error[], Errcode, szData[], DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("%s", Error);
		return;
	}
	
	new id = szData[0];
	
	if(szData[1] != get_user_userid(id))
		return;
	
	if(SQL_NumRows(Query) > 0)
	{
		Found[id] = true;
	}
	else
	{
		Found[id] = false;
	}
	
	UserLoad[id] = 0;
	RegMenu(id);
}

public SQL_Check(id)
{
	new szQuery[128], Len, a[32];
	
	formatex(a, 31, "%s", User[id]);

	replace_all(a, 31, "\", "\\");
	replace_all(a, 31, "'", "\'");
	
	Len += formatex(szQuery[Len], 128, "SELECT * FROM globaloffensive ");
	Len += formatex(szQuery[Len], 128-Len,"WHERE USER = '%s'", a);
	
	new szData[2];
	szData[0] = id;
	szData[1] = get_user_userid(id);
	
	SQL_ThreadQuery(SQL_TUPLE, "SQL_CheckResult", szQuery, szData, 2);
}

public SQL_CheckResult(FailState, Handle:Query, Error[], Errcode, szData[], DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("%s", Error);
		return;
	}
	
	new id = szData[0];
	
	if(szData[1] != get_user_userid(id))
		return;
	
	if(RegisterMod[id] == 2)
	{	
		if(SQL_NumRows(Query) > 0)
		{
			print_color(id, "!g%s!y %L", Prefix, id, "USERNAMEUSING");
			inProgress[id] = 0;
			RegMenu(id);
		}
		else
		{
			SQL_NewAccount(id);
		}
	}
	else if(RegisterMod[id] == 1)
	{
		if(SQL_NumRows(Query) == 0)
		{
			print_color(id, "!g%s!y %L", Prefix, id, "BADPW");
			inProgress[id] = 0;
			RegMenu(id);
		}
		else
		{
			SQL_UserLoad(id);
		}
	}
}

public SQL_NewAccount(id)
{
	new szQuery[512], Len, a[32], b[32], c[32];
	
	formatex(a, 31, "%s", User[id]);
	formatex(b, 31, "%s", Password[id]);
	formatex(c, 31, "%s", Name[id]);

	replace_all(a, 31, "\", "\\");
	replace_all(a, 31, "'", "\'"); 
	replace_all(b, 31, "\", "\\");
	replace_all(b, 31, "'", "\'"); 
	replace_all(c, 31, "\", "\\");
	replace_all(c, 31, "'", "\'");
	 
	Len += formatex(szQuery[Len], 511, "INSERT INTO globaloffensive ");
	Len += formatex(szQuery[Len], 511-Len,"(USER,PW,NAME) VALUES('%s','%s','%s')", a, b, c);
	
	new szData[2];
	szData[0] = id;
	szData[1] = get_user_userid(id);

	SQL_ThreadQuery(SQL_TUPLE,"SQL_NewAccountResult", szQuery, szData, 2);
}

public SQL_NewAccountResult(FailState, Handle:Query, Error[], Errcode, szData[], DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("%s", Error);
		return;
	}
		
	new id = szData[0];
	
	if(szData[1] != get_user_userid(id))
		return;
	
	inProgress[id] = 0;
	RegisterMod[id] = 2;
	print_color(id, "!g%s!y %L", Prefix, id, "REGISTERED");
	print_color(id, "!g%s!y %L", Prefix, id, "REGDATAS", User[id], Password[id]);
	SQL_RegCheck(id);
	
	return;
}

public SQL_UserLoad(id)
{
	new szQuery[256], Len, a[32];
	
	formatex(a, 31, "%s", User[id]);

	replace_all(a, 31, "\", "\\");
	replace_all(a, 31, "'", "\'");
	
	Len += formatex(szQuery[Len], 256, "SELECT * FROM globaloffensive ");
	Len += formatex(szQuery[Len], 256-Len,"WHERE USER = '%s'", a);
	
	new szData[2];
	szData[0] = id;
	szData[1] = get_user_userid(id);

	SQL_ThreadQuery(SQL_TUPLE,"SQL_UserLoadResult", szQuery, szData, 2);
}

public SQL_UserLoadResult(FailState, Handle:Query, Error[], Errcode, szData[], DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("%s", Error);
		return;
	}
	else
	{
		new id = szData[0];
		
		if(szData[1] != get_user_userid(id))
			return;
		
		new SqlPassword[32], i;
		SQL_ReadResult(Query, 2, SqlPassword, 31);
		
		if(equal(Password[id], SqlPassword))
		{	
			SQL_ReadResult(Query, 2, Password[id], 31);
			Activity[id] = SQL_ReadResult(Query, 132);
			
			if(Activity[id] > 0)
			{
				print_color(id, "!g%s!y %L", Prefix, id, "USERUSING");
				inProgress[id] = 0;
				RegMenu(id);
				return;
			}
			
			UserID[id] = SQL_ReadResult(Query, 0);
			
			Dollars[id] = SQL_ReadResult(Query, 4);
			Keys[id] = SQL_ReadResult(Query, 11);
			
			for(i = 1; i < sizeof(Case_Data); i++)
			{
				Cases[id][i] = SQL_ReadResult(Query, 4+i);
			}

			for(i = 1; i < Weaponss; i++)
			{
				Weapons[id][i] = SQL_ReadResult(Query, 11+i);
			}
			
			Activity[id] = 1;
			
			Kills[id] = SQL_ReadResult(Query, 133);
			CurrentRank[id] = SQL_ReadResult(Query, 134);
			
			if(CurrentRank[id] == 0)
			{
				CurrentRank[id] = 1;
			}
			
			SQL_UpdateActivity(id);
			
			print_color(id, "!g%s!y %L", Prefix, id, "LOGINED");
			
			inProgress[id] = 0;
			Logined[id] = true;
			MainMenu(id);
		}
		else
		{
			print_color(id, "!g%s!y %L", Prefix, id, "BADPW");
			inProgress[id] = 0;
			RegMenu(id);
		}
	}
}

public cmdUser(id)
{
	if(Logined[id])
	{
		return PLUGIN_HANDLED;
	}
	
	if(UserLoad[id] == 1)
	{
		RegMenu(id);
		return PLUGIN_HANDLED;
	}
	
	new cmdData[32], cmdLength;
	cmdData[0] = EOS;
	read_args(cmdData, 31);
	remove_quotes(cmdData);
	
	cmdLength = strlen(cmdData);
	
	if(cmdLength < 4)
	{
		print_color(id, "!g%s!y %L", Prefix, id, "SHORT");
		return PLUGIN_HANDLED;
	}
	
	if(cmdLength > 19)
	{
		print_color(id, "!g%s!y %L", Prefix, id, "LONG");
		return PLUGIN_HANDLED;
	}
	
	copy(User[id], 31, cmdData);
	SQL_RegCheck(id);
	return PLUGIN_HANDLED;
}

public cmdPassword(id)
{
	if(Logined[id] || strlen(User[id]) == 0)
	{
		return PLUGIN_HANDLED;
	}
	
	new cmdData[32], cmdLength;
	cmdData[0] = EOS;
	read_args(cmdData, 31);
	remove_quotes(cmdData);
	
	cmdLength = strlen(cmdData);
	
	if(cmdLength < 4)
	{
		print_color(id, "!g%s!y %L", Prefix, id, "SHORT");
		return PLUGIN_HANDLED;
	}
	
	if(cmdLength > 19)
	{
		print_color(id, "!g%s!y %L", Prefix, id, "LONG");
		return PLUGIN_HANDLED;
	}
	
	copy(Password[id], 31, cmdData);
	RegMenu(id);
	return PLUGIN_HANDLED;
}

public SQL_Results(FailState, Handle:Query, Error[], Errcode, szData[], DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("%s", Error);
		return;
	}
}

public SQL_FirstLoad() 
{
	SQL_TUPLE = SQL_MakeDbTuple(SQL_Host, SQL_User, SQL_Password, SQL_Database);
	SQL_Reload();
}

public SQL_Reload()
{
	new szQuery[256], Len;
	
	Len += formatex(szQuery[Len], 256, "UPDATE globaloffensive SET ");
	Len += formatex(szQuery[Len], 255-Len,"ACT = '0' ");
	Len += formatex(szQuery[Len], 255-Len,"WHERE ACT = '1'");
	
	SQL_ThreadQuery(SQL_TUPLE,"SQL_Results", szQuery);
	ServerLoaded = 1;
}

public SQL_UpdateActivity(id)
{
	new sQuery[512], szQuery[256], a[32];
	formatex(a, 31, "%s", Name[id]);

	replace_all(a, 31, "\", "\\");
	replace_all(a, 31, "'", "\'");
	
	formatex(szQuery, charsmax(szQuery), "UPDATE globaloffensive SET ");
	add(sQuery, charsmax(sQuery), szQuery);
	
	formatex(szQuery, charsmax(szQuery),"NAME = '%s', ", a);
	add(sQuery, charsmax(sQuery), szQuery);
	
	formatex(szQuery, charsmax(szQuery),"ACT = '%d' ", Activity[id]);
	add(sQuery, charsmax(sQuery), szQuery);
	
	formatex(szQuery, charsmax(szQuery),"WHERE Id = '%d'", UserID[id]);
	add(sQuery, charsmax(sQuery), szQuery);
	
	SQL_ThreadQuery(SQL_TUPLE, "SQL_Results", sQuery);
}

public SQL_UpdateUser(id)
{	
	if(!Logined[id])
		return;
	
	new sQuery[2000], szQuery[256];
	new a[32], i;
	formatex(a, 31, "%s", Name[id]);

	replace_all(a, 31, "\", "\\");
	replace_all(a, 31, "'", "\'");
	
	formatex(szQuery, charsmax(szQuery), "UPDATE globaloffensive SET ");
	add(sQuery, charsmax(sQuery), szQuery);
	
	formatex(szQuery, charsmax(szQuery),"NAME = '%s', ", a);
	add(sQuery, charsmax(sQuery), szQuery);
	
	formatex(szQuery, charsmax(szQuery),"DOLLAR = '%d', ", Dollars[id]);
	add(sQuery, charsmax(sQuery), szQuery);
	
	formatex(szQuery, charsmax(szQuery),"K = '%d', ", Keys[id]);
	add(sQuery, charsmax(sQuery), szQuery);
	
	formatex(szQuery, charsmax(szQuery),"KILLS = '%d', ", Kills[id]);
	add(sQuery, charsmax(sQuery), szQuery);
	
	formatex(szQuery, charsmax(szQuery),"RANK = '%d', ", CurrentRank[id]);
	add(sQuery, charsmax(sQuery), szQuery);
	
	for(i = 1; i < sizeof(Case_Data); i++)
	{
		formatex(szQuery, charsmax(szQuery), "C%d = '%d', ", i, Cases[id][i]);
		add(sQuery, charsmax(sQuery), szQuery);
	}
	
	for(i = 1; i < Weaponss; i++)
	{
		formatex(szQuery, charsmax(szQuery), "W%d = '%d', ", i, Weapons[id][i]);
		add(sQuery, charsmax(sQuery), szQuery);
	}
	
	formatex(szQuery, charsmax(szQuery),"ACT = '%d' ", Activity[id]);
	add(sQuery, charsmax(sQuery), szQuery);
	
	formatex(szQuery, charsmax(szQuery),"WHERE Id = '%d'", UserID[id]);
	add(sQuery, charsmax(sQuery), szQuery);
	
	SQL_ThreadQuery(SQL_TUPLE, "SQL_Results", sQuery);
}

public client_putinserver(id)
{
	for(new i = 1; i < 3; i++)
		inUse[id][i] = 0;
		
	UserLoad[id] = 0;
	inProgress[id] = 0;
	Logined[id] = false;
	copy(Password[id], 31, "");
	copy(User[id], 31, "");
	get_user_name(id, Name[id], 31);
	
	Activity[id] = 0;
	DeleteTradeandMarket(id);
}

public client_disconnect(id)
{
	DeleteTradeandMarket(id);

	if(Logined[id])
	{
		Logined[id] = false;
		Activity[id] = 0;
		SQL_UpdateActivity(id);
		log_amx("asdsdadsadsa");
	}
}

public DeleteTradeandMarket(id)
{
	new kid;
	
	if(TradePartner[id] > 0)
		kid = TradePartner[id];
	else if(TradeID[id] > 0)
		kid = TradeID[id];
	
	inTrade[id] = 0;
	TradeDollars[id] = 0;
	TradeFounding[id] = 0;
	TradePartner[id] = 0;
	TradeItem[id] = 0;
	TradeID[id] = 0;
	
	if(kid > 0)
	{
		inTrade[id] = 0;
		TradeDollars[id] = 0;
		TradeFounding[id] = 0;
		TradePartner[id] = 0;
		TradeItem[id] = 0;
		TradeID[id] = 0;
		PTradeId[id] = 0;
		PTradeId[kid] = 0;
	}
}

public MMarketMenu(id)
{
	new String[128];
	formatex(String, charsmax(String), "%L", id, "MMARKET", Dollars[id]);
	new Menu = menu_create(String, "MMarketMenuh");
	
	formatex(String, charsmax(String), "%L", id, "SELLI");
	menu_additem(Menu, String, "1");
	
	formatex(String, charsmax(String), "%L", id, "BUYI");
	menu_additem(Menu, String, "2");
	
	menu_display(id, Menu);
}

public MMarketMenuh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	
	new x = str_to_num(Data);
	
	switch(x)
	{
		case 1 : {
			MarketMenu(id);
		}
		
		case 2 : {
			BuyMenu(id);
		}
	}
}

public MarketMenu(id)
{		
	new String[128], ItemName[32];
	
	if(MarketItem[id] > 0 && MarketItem[id] <= 90+MAXKNIFESKINS)
	{
		formatex(ItemName, charsmax(ItemName), "%s", SkinData[MarketItem[id]][0]);
	}
	else if(MarketItem[id] > 90+MAXKNIFESKINS && MarketItem[id] <= 90+MAXKNIFESKINS+MAXCASES)
	{
		formatex(ItemName, charsmax(ItemName), "%s", Case_Data[MarketItem[id]-(90+MAXKNIFESKINS)][0]);
	}
	else if(MarketItem[id] > 0)
	{
		formatex(ItemName, charsmax(ItemName), "%s", KeyName);
	}
	
	formatex(String, charsmax(String), "%L", id, "MARKET");
	new menu = menu_create(String, "MarketMenuh" );
	
	if(InMarket[id] == 0)
	{
		if(MarketItem[id] == 0)
		{
			formatex(String, charsmax(String), "%L^n", id, "CHOOSEITEM");
		}
		else
		{
			formatex(String, charsmax(String), "%L", id, "ITEM", ItemName);
		}
		menu_additem(menu, String, "1");
		
		formatex(String, charsmax(String), "%L", id, "CHOOSESELLITEM", MarketDollar[id]);
		menu_additem(menu, String, "2");
		
		formatex(String, charsmax(String), "%L", id, "TOMARKET");
		menu_additem(menu, String, "3");
	}
	else
	{
		formatex(String, charsmax(String), "%L", id, "INMARKET", ItemName, MarketDollar[id]);
		menu_additem(menu, String, "0");
	}
	
	menu_display(id, menu);
}

public MarketMenuh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	
	new x = str_to_num(Data);
	
	switch(x)
	{
		case 0:
		{
			InMarket[id] = 0;
			MarketItem[id] = 0;
			MarketDollar[id] = 0;
			MChooseItem(id);
		}
		
		case 1:
		{
			MChooseItem(id);
		}
		
		case 2:
		{
			client_cmd(id, "messagemode MARKETDOLLAR");
			MarketMenu(id);
		}
		
		case 3:
		{
			if(MarketItem[id] > 0)
			{
				new ItemName[32];
	
				if(MarketItem[id] > 0 && MarketItem[id] <= 90+MAXKNIFESKINS)
				{
					formatex(ItemName, charsmax(ItemName), "%s", SkinData[MarketItem[id]][0]);
				}
				else if(MarketItem[id] > 90+MAXKNIFESKINS && MarketItem[id] <= 90+MAXKNIFESKINS+MAXCASES)
				{
					formatex(ItemName, charsmax(ItemName), "%s", Case_Data[MarketItem[id]-(90+MAXKNIFESKINS)][0]);
				}
				else if(MarketItem[id] > 0)
				{
					formatex(ItemName, charsmax(ItemName), "%s", KeyName);
				}
				
				for(new i; i < MAXP; i++)
					if(is_user_connected(i))
						print_color(i, "!g%s!y %L", Prefix, i, "SOLVEDTOMARKET", Name[id], ItemName, MarketDollar[id]);
						
				InMarket[id] = 1;
				MarketMenu(id);
			}
			else
			{
				MarketMenu(id);
			}
		}
	}
}

public BuyMenu(id)
{		
	new String[128], ItemName[32];
	
	formatex(String, charsmax(String), "%L", id, "MARKETMENUBUY", Dollars[id]);
	new Menu = menu_create(String, "BuyMenuh" );
	
	for(new i; i < MAXP; i++)
	{
		if(!is_user_connected(i) || !Logined[i] || InMarket[i] == 0)
			continue;
		
		if(MarketItem[i] > 0 && MarketItem[i] <= 90+MAXKNIFESKINS)
		{
			formatex(ItemName, charsmax(ItemName), "%s", SkinDataTrade[MarketItem[i]]);
		}
		else if(MarketItem[i] > 90+MAXKNIFESKINS && MarketItem[i] <= 90+MAXKNIFESKINS+MAXCASES)
		{
			formatex(ItemName, charsmax(ItemName), "%s", Case_Data[MarketItem[i]-(90+MAXKNIFESKINS)][0]);
		}
		else if(MarketItem[i] > 0)
		{
			formatex(ItemName, charsmax(ItemName), "%s", KeyName);
		}
		
		new Nts[3];
		num_to_str(i, Nts, 2);
		formatex(String, charsmax(String), "%L", id, "SELLITEM", ItemName, MarketDollar[i], Name[i]);
		menu_additem(Menu, String, Nts);
	}
	
	menu_display(id, Menu);
}

public BuyMenuh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	
	new x = str_to_num(Data);
	
	if(InMarket[x] > 0 && MarketItem[x] > 0 && MarketDollar[x] > 0)
	{
		if(Dollars[id] < MarketDollar[x])
		{
			print_color(id, "!g%s!y %L", Prefix, id, "NOTENOUGHDOLLAR");
			return;
		}
		
		if(MarketItem[x] > 0 && MarketItem[x] <= 90+MAXKNIFESKINS)
		{
			Weapons[id][MarketItem[x]]++;
			Weapons[x][MarketItem[x]]--;
		}
		else if(MarketItem[x] > 90+MAXKNIFESKINS && MarketItem[x] <= 90+MAXKNIFESKINS+MAXCASES)
		{
			Cases[id][MarketItem[x]-(90+MAXKNIFESKINS)]++;
			Cases[x][MarketItem[x]-(90+MAXKNIFESKINS)]--;
		}
		else if(MarketItem[x] > 0)
		{
			Keys[id]++;
			Keys[x]--;
		}
		
		Dollars[id] -= MarketDollar[x];
		Dollars[x] += MarketDollar[x];
		InMarket[x] = 0;
		
		new ItemName[32];
	
		if(MarketItem[id] > 0 && MarketItem[id] <= 90+MAXKNIFESKINS)
		{
			formatex(ItemName, charsmax(ItemName), "%s", SkinData[MarketItem[id]][0]);
		}
		else if(MarketItem[id] > 90+MAXKNIFESKINS && MarketItem[id] <= 90+MAXKNIFESKINS+MAXCASES)
		{
			formatex(ItemName, charsmax(ItemName), "%s", Case_Data[MarketItem[id]-(90+MAXKNIFESKINS)][0]);
		}
		else if(MarketItem[id] > 0)
		{
			formatex(ItemName, charsmax(ItemName), "%s", KeyName);
		}
		
		
		for(new i; i < MAXP; i++)
			if(is_user_connected(i))
				print_color(i, "!g%s!y %L", Prefix, i, "BUYINGITEM", Name[id], ItemName, MarketDollar[x], Name[x]);
				
		MarketDollar[x] = 0;
		MarketItem[x] = 0;
		SQL_UpdateUser(id);
		SQL_UpdateUser(x);
	}
}

public Guns(id) 
{
	if(Choosen[id] > 1)
	{
		print_color(id, "!g%s!y %L", Prefix, id, "WPMESSAGE");
	}
	else if(Choosen[id] < 1)
	{
		Choosen[id] = 0;
		TakeWeapons(id);
	}
}

public PlayerSpawn(id) 
{
	if(!is_user_alive(id))
		return;
	
	if(get_pcvar_num(CvarWeaponMenu) == 1)
	{
		Choosen[id] = 0;
		TakeWeapons(id);
		
		give_item(id, "item_kevlar");
		give_item(id, "item_assaultsuit");
	}
}

public TakeWeapons(id)
{
	if(is_user_alive(id))
	{
		Choosen[id] = 0;
		new HasC4;
		
		if(user_has_weapon(id, CSW_C4))
		{
			HasC4 = 1;
		}
		
		strip_user_weapons(id);
		give_item(id, "weapon_knife");
		WeaponMenu(id);
		
		if(HasC4 == 1)
		{
			give_item(id, "weapon_c4");
		}
		
		if(cs_get_user_team(id) == CS_TEAM_CT)
		{
			give_item(id, "item_thighpack");
		}
	}
	return PLUGIN_CONTINUE;
}

public WeaponMenu(id)
{
	if(Choosen[id] > 1)
		return;
		
	new String[128], Menu;
	
	if(Choosen[id] == 0)
	{
		formatex(String, 127, "%s %L", Prefix, LANG_SERVER, "WPMENU2");
		Menu = menu_create(String, "WeaponMenuh");
		
		for(new i = 1; i < sizeof(FirstWeaponNames); i++)
		{
			new NumToString[6];
			num_to_str(i, NumToString, 5);
			formatex(String, charsmax(String), "%s", FirstWeaponNames[i][0]);
			menu_additem(Menu, String, NumToString);
		}
	}
	
	if(Choosen[id] == 1)
	{
		formatex(String, 127, "%s %L", Prefix, LANG_SERVER, "WPMENU2");
		Menu = menu_create(String, "WeaponMenuh");
		
		for(new i = 1; i < sizeof(SecondaryWeaponNames); i++)
		{
			new NumToString[6];
			num_to_str(i, NumToString, 5);
			formatex(String, charsmax(String), "%s", SecondaryWeaponNames[i][0]);
			menu_additem(Menu, String, NumToString);
		}
	}
	
	menu_display(id, Menu);
}

public WeaponMenuh(id, Menu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(Menu);
		return;
	}
	
	new Data[14], Line[32];
	new Access, Callback;
	menu_item_getinfo(Menu, Item, Access, Data, charsmax(Data), Line, charsmax(Line), Callback);
	
	new x = str_to_num(Data);
	
	if(Choosen[id] == 0)
	{
		give_item(id, FirstWeaponNames[x][1]);
		cs_set_user_bpammo(id, FirstWeaponNames[x][2][0], 90);
	}
	if(Choosen[id] == 1)
	{
		give_item(id, SecondaryWeaponNames[x][1]);
		cs_set_user_bpammo(id, SecondaryWeaponNames[x][2][0], 90);
	}
		
	Choosen[id]++;
	
	if(Choosen[id] >= 2)
	{
		Grenades(id);
	}
		
	WeaponMenu(id);
}

stock PlayAnimation(const Player, const Sequence)
{
	set_pev(Player, pev_weaponanim, Sequence);
	
	message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player);
	write_byte(Sequence);
	write_byte(pev(Player, pev_body));
	message_end();
}

stock print_color(const id, const input[], any:...)
{
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);

	replace_all(msg, 190, "!g", "^4");
	replace_all(msg, 190, "!y", "^1");
	replace_all(msg, 190, "!t", "^3");   

	if(id) players[0] = id; else get_players(players, count, "ch");
	{
		for (new i = 0; i < count; i++)
		{
			if (is_user_connected(players[i]))
			{
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
				write_byte(players[i]);
				write_string(msg);
				message_end();
			}
		}
	}

	return PLUGIN_HANDLED;
}

stock Grenades(id)
{
	give_item(id, "weapon_hegrenade");
	give_item(id, "weapon_flashbang");
	
	if(GiveSmokeGrenade == 1)
	{
		give_item(id, "weapon_smokegrenade");
	}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/
Lang | Afiseaza codul
[en]
MAINMENU = \dDeRoiD's \yGlobal Offensive \w| \rDollar(s): \d%d\w$
INVENTORY = Inventory
CASEOPEN = Case open
CASEOPENM = Case open^n\wKeys: \y%d
TRADE = Trade
MARKET = Market
MMARKET = Main Market Menu
TRASH = \rSkin trash
RANKMENU = ^n^n\rYour Rank:\d %s \w(\y%d\w/\y%d\w)^n\rNext:\d %s
RANKMENUMAX = ^n^n\rYour Rank:\d %s \wKills: \y%d
REGISTERMENU = \dDeRoiD's \yGlobal Offensive \w| \rRegister System
USERNAME = \rUsername:\d %s
USERNAME2 = \rUsername:\d %s^n\d2. Password:
PASSWORD = \rPassword:\d %s
LOGIN = Login
REGISTER = \yRegister
SHORT = This is too short! (Min. 4 characters)
LONG = This is too long! (Max. 19 characters)
REGISTERED = Successful registration!
REGDATAS = Username:!t %s!y | !yPassword:!t %s
LOGINED = Successful login!
LOGINPENDING = Login is pending. Wait patiently!
REGISTERPENDING = Register is pending. Wait patiently!
USERUSING = This user someone is using!
BADUSER = Username or Password is wrong!
BADPW = Wrong password!
USERNAMEUSING = This username someone is using!
WPMENU1 = Primary Weapons
WPMENU2 = Secondary Weapons
WPMESSAGE = You have already used this!
SVMESSAGE = This mod made by !gDeRoiD
TMMESSAGE = Your Market or Trade deal has been canceled!
RANKNEWLV = Congratulations! You are now: !g%s
SELL = Sell
BUY = Buy
SELLI = Sell item
BUYI = Buy item
ITEM = Item:\d %s^n
SELLITEM = Item:\d %s\r |\w Price:\d %d\r$ \r|\d by \w%s
CHOOSEITEM = Item:\d Choose something
CHOOSESELLITEM = Item price:\d %d\r$^n
INMARKET = Item:\d %s\r |\w Price:\d %d\r$\d (CANCEL)
TOMARKET = \ySolving to market!
MARKETBUY = \yBuy!
MARKETMENUBUY = \wMarket \rDollar(s):\d %d$
LOWPRICE = The lowest price:!g %d!y!
HIGHPRICE = The highest price:!g %d!y!
BADPRICE = The value beetween !t%d!y and!t %d!y has to be!
NOTENOUGHDOLLAR = You dont have enough money!
ITEMISSOLD = This item is sold! You can not buy!
BUYINGITEM = !t%s!y bough a(n)!t %s!y item in!g %d!y dollar(s) from!t %s!y!
SOLVEDTOMARKET = !t%s!y solved a(n)!t %s!y item to market in!g %d!y dollar(s)!
NOTENOUGHK = Not enough key.
NOTENOUGHC = Not enough case.
SERVERLOADING = Server is loading!
UNBOXING = !t%s!y unboxed a(n) !g%s!y weapon!
FOUND = !t%s!y founded a(n) !g%s!y item!
WANTTRADE = \r%s\w want trade!
WANTTRADE2 = !t%s!y want trade!
DONTACCEPTEDTRADE = He doesn't accept trade yet!
TRADEITEMS = \d- \y%s \ritems \d-
TRADEDOLLAR = \wTrade \rDollar(s):\d %d$
TRADEACCEPT = \yAccept!
TRADEREJECT = \rReject!
TRADEITEM = \y%s \r- \d(\wPiece: \r%d\d)
TRADEDOLLAR2 = \rDollar(s): \d%d$^n
TRADENOTHING = \dNothing
TRADECHOOSE = Choose item!
TRADEYOURITEMS = \rDollar(s): \d%d$^n^n   \d - \yYour items \d-^n
SUCCESSTRADE = Successful trade!

[lt]
MAINMENU = \dDeRoiD's \yGlobal Offensive \w| \rValiuta: \d%d\w$
INVENTORY = Inventorius
CASEOPEN = Atidaryti skrynia
CASEOPENM = Atidaryti skrynia^n\wRaktai: \y%d
TRADE = Keistis
MARKET = Turgut
MMARKET = Pagrindinis turgaus meniu
TRASH = \rSiuksline
RANKMENU = ^n^n\rTavo rangas:\d %s \w(\y%d\w/\y%d\w)^n\rKitas:\d %s
RANKMENUMAX = ^n^n\rTavo rangas:\d %s \wNuzudymai: \y%d
REGISTERMENU = \dDeRoiD's \yGlobal Offensive \w| \rRegistracija
USERNAME = \rVardas:\d %s
USERNAME2 = \rVardas:\d %s^n\d2. Slaptazodis:
PASSWORD = \rSlaptazodis:\d %s
LOGIN = Prisijungti
REGISTER = \yRegistruotis
SHORT = Per trumpas! (Min. 4 simboliai)
LONG = Per ilgas! (Maks. 19 simboliu)
REGISTERED = Registracija sekminga!
REGDATAS = Vardas:!t %s!y | !ySlaptazodis:!t %s
LOGINED = Prisijungimas sekmingas!
LOGINPENDING = Prisijungimas kraunamas. Palaukite!
REGISTERPENDING = Registracija kraunama. Palaukite!
USERUSING = Sis vartotojas jau naudojamas!
BADUSER = Vardas arba slaptazodis neteisingas!
BADPW = Slaptazodis neteisingas!
USERNAMEUSING = Sis vardas jau naudojamas!
WPMENU1 = Pagrindiniai ginklai
WPMENU2 = Pistoletai
WPMESSAGE = Jus jau tai naudojote!
SVMESSAGE = Modifikacija pagal !gDeRoiD
TMMESSAGE = Tavo turgaus arba mainymosi sanderis buvo atsauktas!
RANKNEWLV = Sveikiname! Pasiekete: !g%s
SELL = Parduoti
BUY = Pirkti
SELLI = Parduoti daikta
BUYI = Pirkti daikta
ITEM = Daiktas:\d %s^n
SELLITEM = Daiktas:\d %s\r |\w Kaina:\d %d\r$ \r|\d by \w%s
CHOOSEITEM = Daiktas:\d Pasirinkite
CHOOSESELLITEM = Daikto kaina:\d %d\r$^n
INMARKET = Daiktas:\d %s\r |\w Kaina:\d %d\r$\d (ATSAUKTI)
TOMARKET = \yIdeta i turgu!
MARKETBUY = \yPirkti!
MARKETMENUBUY = \wTurgus \rValiuta:\d %d$
LOWPRICE = Zemiausia kaina:!g %d!y!
HIGHPRICE = Auksciausia kaina:!g %d!y!
BADPRICE = Kaina turi but tarp !t%d!y ir!t %d!y!
NOTENOUGHDOLLAR = Neturi pakankamai pinigu!
ITEMISSOLD = Sis daiktas jau parduotas!
BUYINGITEM = !t%s!y nusipirko!t %s!y skina iz!g %d!y dolerius is!t %s!y!
SOLVEDTOMARKET = !t%s!y parduoda!t %s!y skina turguje uz!g %d!y valiuta!
NOTENOUGHK = Nepakanka raktu.
NOTENOUGHC = Nepakanka skryniu.
SERVERLOADING = Serveris kraunasi!
UNBOXING = !t%s!y rado !g%s!y skina!
WANTTRADE = \r%s\w siulo mainytis!
WANTTRADE2 = !t%s!y siulo mainytis!
DONTACCEPTEDTRADE = Jusu pasiulymas buvo atmestas!
TRADEITEMS = \d- \y%s \rdaiktai \d-
TRADEDOLLAR = \wMainytis \rValiuta:\d %d$
TRADEACCEPT = \yPriimti!
TRADEREJECT = \rAtmesti!
TRADEITEM = \y%s \r- \d(\wDalis: \r%d\d)
TRADEDOLLAR2 = \rValiuta: \d%d$^n
TRADENOTHING = \dNiekas
TRADECHOOSE = Pasirink skina!
TRADEYOURITEMS = \rValiuta: \d%d$^n^n   \d - \yDaiktai \d-^n
SUCCESSTRADE = Jusu sanderis buvo priimtas!
FOUND = !t%s!y rado a(n) !g%s!y skina!

[fr]
MAINMENU = \dDeRoiD's \yGlobal Offensive \w| \rDollar(s): \d%d\w$
INVENTORY = Inventaire
CASEOPEN = Affaire ouverte
CASEOPENM = Affaire ouverte^n\wClés: \y%d
TRADE = Commerce
MARKET = Marché
MMARKET = Menu principal du marché
TRASH = \rPoubelle
RANKMENU = ^n^n\rTon rang:\d %s \w(\y%d\w/\y%d\w)^n\rProchain:\d %s
RANKMENUMAX = ^n^n\rTon rang:\d %s \wClés: \y%d
REGISTERMENU = \dDeRoiD's \yGlobal Offensive \w| \rSysteme de registre
USERNAME = \rNom d'utilisateur:\d %s
USERNAME2 = \rNom d'utilisateur:\d %s^n\d2. Mot de passe:
PASSWORD = \rMot de passe:\d %s
LOGIN = S'identifier
REGISTER = \yRegistre
SHORT = C'est trop court! (Min. 4 caracteres)
LONG = C'est trop long! (19 caracteres au maximum)
REGISTERED = Enregistrement réussi!
REGDATAS = Nom d'utilisateur:!t %s!y | !yMot de passe:!t %s
LOGINED = Connexion réussie!
LOGINPENDING = Le login est en attente. Attend patiemment!
REGISTERPENDING = Le registre est en attente. Attend patiemment!
USERUSING = Cet utilisateur que quelqu'un utilise!
BADUSER = Nom d'utilisateur ou mot de passe incorrect!
BADPW = Mauvais mot de passe!
USERNAMEUSING = Ce nom d'utilisateur que quelqu'un utilise!
WPMENU1 = Armes primaires
WPMENU2 = Armes secondaires
WPMESSAGE = Vous avez déja utilisé cela!
SVMESSAGE = Ce mod fait par !gDeRoiD
TMMESSAGE = Votre transaction commerciale ou commerciale a été annulée!
RANKNEWLV = Toutes nos félicitations! Tu es maintenant: !g%s
SELL = Vendre
BUY = Acheter
SELLI = Vendre un article
BUYI = Acheter un article
ITEM = Article:\d %s^n
SELLITEM = Article:\d %s\r |\w Prix:\d %d\r$ \r|\d par \w%s
CHOOSEITEM = Article:\d Choisissez quelque chose
CHOOSESELLITEM = Prix de l'article:\d %d\r$^n
INMARKET = Article:\d %s\r |\w Prix:\d %d\r$\d (CANCEL)
TOMARKET = \yRésolution sur le marché!
MARKETBUY = \yAcheter!
MARKETMENUBUY = \wMarché \rDollar(s):\d %d$
LOWPRICE = Le prix le plus bas:!g %d!y!
HIGHPRICE = Le prix le plus élevé:!g %d!y!
BADPRICE = La valeur entre !t%d!y et!t %d!y doit etre!
NOTENOUGHDOLLAR = Vous n'avez pas assez d'argent!
ITEMISSOLD = Cet article est vendu! Vous ne pouvez pas acheter!
BUYINGITEM = !t%s!y Acheté un!t %s!y article dans!g %d!y dollar(s) de!t %s!y!
SOLVEDTOMARKET = !t%s!y Résolu un!t %s!y Sur le marché!g %d!y dollar(s)!
NOTENOUGHK = Pas assez de clé.
NOTENOUGHC = Pas assez de cas.
SERVERLOADING = Le serveur est en cours de chargement!
UNBOXING = !t%s!y Unboxed un !g%s!y arme!
FOUND = !t%s!y Fondé un !g%s!y article!
WANTTRADE = \r%s\w Voulez le commerce!
WANTTRADE2 = !t%s!y Veux commerce!
DONTACCEPTEDTRADE = Il n'accepte pas encore de commerce!
TRADEITEMS = \d- \y%s \rarticles \d-
TRADEDOLLAR = \wCommerce \rDollar(s):\d %d$
TRADEACCEPT = \yAcceptez!
TRADEREJECT = \rRejeter!
TRADEITEM = \y%s \r- \d(\wPiece: \r%d\d)
TRADEDOLLAR2 = \rDollar(s): \d%d$^n
TRADENOTHING = \dRien
TRADECHOOSE = Choisir un élément!
TRADEYOURITEMS = \rDollar(s): \d%d$^n^n   \d - \yVos articles \d-^n
SUCCESSTRADE = Successful trade!

[ro]
MAINMENU = \dDeRoiD's \yGlobal Offensive \w| \rDolari: \d%d\w$
INVENTORY = Inventar
CASEOPEN = Deschide Cufar
CASEOPENM = Deschide Cufar^n\wChei: \y%d
TRADE = Trade
MARKET = Piata
MMARKET = Piata | Meniu principal
TRASH = \rSterge Skin-uri
RANKMENU = ^n^n\rRank-ul tau:\d %s \w(\y%d\w/\y%d\w)^n\rUrmatorul Rank:\d %s
RANKMENUMAX = ^n^n\rRank-ul tau:\d %s \wUcideri: \y%d
REGISTERMENU = \dDeRoiD's \yGlobal Offensive \w| \rRegister System
USERNAME = \rNume:\d %s
USERNAME2 = \rNume:\d %s^n\d2. Parola:
PASSWORD = \rParola:\d %s
LOGIN = Logheazate
REGISTER = \yInregistrare
SHORT = Parola este prea mica! (Min. 4 caractere)
LONG = Parola este prea lunga! (Max. 19 caractere)
REGISTERED = Te-ai inregistrat cu succes!
REGDATAS = Nume:!t %s!y | !yParola:!t %s
LOGINED = Logare cu succes!
LOGINPENDING = Se proceseaza logarea. Asteptati!
REGISTERPENDING = Se proceseaza inregistrarea. Asteptati!
USERUSING = Acest nume este deja folosit!
BADUSER = Numele sau Parola sunt incorecte!
BADPW = Parola gresita!
USERNAMEUSING = Acest nume este deja folosit!
WPMENU1 = Arme Primare
WPMENU2 = Arme secundare
WPMESSAGE = Ai folosit deja asta!
SVMESSAGE = Acest mod este creat de catre !gDeRoiD
TMMESSAGE = Cererea ta de schimb a fost anulata!
RANKNEWLV = Felicitari! Rank-ul tau este acum: !g%s
SELL = Vinde
BUY = Cumpara
SELLI = Vinde obiect
BUYI = Cumpara obiect
ITEM = Obiect:\d %s^n
SELLITEM = Obiect:\d %s\r |\w Pret:\d %d\r$ \r|\d by \w%s
CHOOSEITEM = Obiect:\d Alege ceva!
CHOOSESELLITEM = Pretul obiectului:\d %d\r$^n
INMARKET = Obiect:\d %s\r |\w Pret:\d %d\r$\d (ANULEAZA)
TOMARKET = \yVinde in magazin!
MARKETBUY = \yCumpara!
MARKETMENUBUY = \wPiata \rDolari:\d %d$
LOWPRICE = Cel mai mic pret:!g %d!y!
HIGHPRICE = Cel mai mare pret:!g %d!y!
BADPRICE = Valoare dintre !t%d!y si!t %d!y trebuie sa fie!
NOTENOUGHDOLLAR = Nu ai suficienti bani!
ITEMISSOLD = Acest obiect este vindut deja! Nu il poti cumpara!
BUYINGITEM = !t%s!y a cumparat !t %s!y obiect cu pretul de!g %d!y Dolari de la!t %s!y!
SOLVEDTOMARKET = !t%s!y a pus la vanzare in magazin !t %s!y cu pretul de!g %d!y Dolari!
NOTENOUGHK = Nu ai destule chei.
NOTENOUGHC = Nu ai destule cufere.
SERVERLOADING = Serverul se incarca!
UNBOXING = !t%s!y a deschis !g%s!y skin!
FOUND = !t%s!y ai gasit !g%s!y!
WANTTRADE = \r%s\w want trade!
WANTTRADE2 = !t%s!y vrea sa faceti schimb!
DONTACCEPTEDTRADE = Cererea de schimb nu a fost acceptata!
TRADEITEMS = \d- \y%s \ritems \d-
TRADEDOLLAR = \wSchimb \rDolari:\d %d$
TRADEACCEPT = \yAccepta!
TRADEREJECT = \rRespinge!
TRADEITEM = \y%s \r- \d(\wPret: \r%d\d)
TRADEDOLLAR2 = \rDolari: \d%d$^n
TRADENOTHING = \dNimic
TRADECHOOSE = Alege un obiect!
TRADEYOURITEMS = \rDolari: \d%d$^n^n   \d - \yObiectele tale \d-^n
SUCCESSTRADE = Schimb effectuat cu succes!

[hu]
MAINMENU = \dDeRoiD's \yGlobal Offensive \w| \rDollár(ok): \d%d\w$
INVENTORY = Raktár
CASEOPEN = Ládanyitás
CASEOPENM = Láda nyitás^n\wKulcsaid: \y%d
TRADE = Kereskedelem
MARKET = Piac
MMARKET = Fõ Piac menü
TRASH = \rKuka
RANKMENU = ^n^n\rRankod:\d %s \w(\y%d\w/\y%d\w)^n\rKövetkezõ:\d %s
RANKMENUMAX = ^n^n\rRankod:\d %s \wÖlések: \y%d
REGISTERMENU = \dDeRoiD's \yGlobal Offensive \w| \rRegisztrációs rendszer
USERNAME = \rFelhasználó:\d %s
USERNAME2 = \rFelhasználó:\d %s^n\d2. Jelszó:
PASSWORD = \rJelszó:\d %s
LOGIN = Bejelentkezés
REGISTER = \yRegisztráció
SHORT = Ez túl rövid! (Min. 4 karakter)
LONG = Ez túl hosszú! (Max. 19 karakter)
REGISTERED = Sikeres regisztráció
REGDATAS = Felhasználó:!t %s!y | !yJelszó:!t %s
LOGINED = Sikeres bejelentkezés!
LOGINPENDING = Bejelentkezés folyamatban. Várj!
REGISTERPENDING = Regisztráció folyamatban. Várj!
USERUSING = Ezt a felhasználót valaki használja!
BADUSER = Rossz felhasználó vagy jelszó!
BADPW = Rossz jelszó!
USERNAMEUSING = Ezt a felhasználónevet valaki használja!
WPMENU1 = Elsõdleges fegyverek
WPMENU2 = Másodlagos fegyverek
WPMESSAGE = Te ezt már használtad!
SVMESSAGE = Módot !gDeRoiD készítette!
TMMESSAGE = Kereskedelmed vagy a piaci bizniszed meglett szakítva!
RANKNEWLV = Gratula! Új rankod: !g%s
SELL = Eladás
BUY = Vásárol
SELLI = Tárgyeladás
BUYI = Tárgyvásárlás
ITEM = Tárgy:\d %s^n
SELLITEM = Tárgy:\d %s\r |\w Ára:\d %d\r$ \r|\d \w%s
CHOOSEITEM = Tárgy:\d Choose something
CHOOSESELLITEM = Ára:\d %d\r$^n
INMARKET = Tárgy:\d %s\r |\w Ár:\d %d\r$\d (VISSZA)
TOMARKET = \yKirakás a piacra!
MARKETBUY = \yMegvásáról!
MARKETMENUBUY = \wPiac \rDollár(ok):\d %d$
LOWPRICE = Legkisebb ár:!g %d!y!
HIGHPRICE = Legnagyobb ár:!g %d!y!
BADPRICE = Az árnak !t%d!y - !t %d!y között kell lennie!
NOTENOUGHDOLLAR = Nincs elég dollárod!
ITEMISSOLD = Ezt valaki megvette!
BUYINGITEM = !t%s!y vásárolt egy!t %s!y-t!g %d!y dollárért!t %s!y-tól/tõl!
SOLVEDTOMARKET = !t%s!y kirakott egy!t %s!y-t a piacra!g %d!y dollárért!
NOTENOUGHK = Nincs kulcsod
NOTENOUGHC = Nincs ládád!
SERVERLOADING = Szerver töltödik!
UNBOXING = !t%s!y talált egy !g%s!y-t!
FOUND = !t%s!y talált egy !g%s!y-t!
WANTTRADE = \r%s\w kereskedni szeretne!
WANTTRADE2 = !t%s!y kereskedni szeretne!
DONTACCEPTEDTRADE = Partnered nem fogadta el a kereskedést!
TRADEITEMS = \d- \y%s \rtárgyai \d-
TRADEDOLLAR = \wKereskedés \rDollár(ok):\d %d$
TRADEACCEPT = \yElfogad!
TRADEREJECT = \rElutasít!
TRADEITEM = \y%s \r- \d(\wDarab: \r%d\d)
TRADEDOLLAR2 = \rDollár(ok): \d%d$^n
TRADENOTHING = \dSemmi
TRADECHOOSE = Válasz valamit
TRADEYOURITEMS = \rDollár(ok): \d%d$^n^n   \d - \yTárgyaid \d-^n
SUCCESSTRADE = A kereskedelem sikeres volt!

[pl]
MAINMENU = \dDeRoiD's \yGlobal Offensive \w| \rDollar(y): \d%d\w$
INVENTORY = Ekwipunek
CASEOPEN = Otworz skrzynke
CASEOPENM = Otworz skrzynke^n\wKlucze: \y%d
TRADE = Wymiana
MARKET = Sklep
MMARKET = Glowne Menu Sklepu
TRASH = \rKosz na skiny
RANKMENU = ^n^n\rTwoja ranga:\d %s \w(\y%d\w/\y%d\w)^n\rNext:\d %s
RANKMENUMAX = ^n^n\rTwoja ranga:\d %s \wZabojstwa: \y%d
REGISTERMENU = \dDeRoiD's \yGlobal Offensive \w| \rSystem rejestracji
USERNAME = \rLogin:\d %s
USERNAME2 = \rLogin:\d %s^n\d2. Haslo:
PASSWORD = \rHaslo:\d %s
LOGIN = Login
REGISTER = \yRejestracja
SHORT = Za krotkie! (Min. 4 znaki)
LONG = Za dlugie! (Max. 19 znakow)
REGISTERED = Rejestracja udana!
REGDATAS = Login:!t %s!y | !yHaslo:!t %s
LOGINED = Logowanie udane!
LOGINPENDING = Trwa logowanie... Poczekaj chwile!
REGISTERPENDING = Trwa rejestracja... Poczekaj chwile!
USERUSING = Ktos uzywa juz tego loginu!
BADUSER = Nazwa uzytkownika lub haslo sa zle!
BADPW = Zle haslo!
USERNAMEUSING = Ktos uzywa juz tego loginu!
WPMENU1 = Karabiny
WPMENU2 = Pistolety
WPMESSAGE = Juz to uzyles!!
SVMESSAGE = Mod stworzony przez !gDeRoiD
TMMESSAGE = Oferta kupna / wymiany anulowana!
RANKNEWLV = Gratulacje! Jestes juz: !g%s
SELL = Sprzedaj
BUY = Kup
SELLI = Sprzedaj przedmiot
BUYI = Kup przedmiot
ITEM = Przedmiot:\d %s^n
SELLITEM = Przedmiot:\d %s\r |\w Cena:\d %d\r$ \r|\d by \w%s
CHOOSEITEM = Przedmiot :\d Wybierz cos
CHOOSESELLITEM = Cena przedmiotu:\d %d\r$^n
INMARKET = Przedmiot:\d %s\r |\w Cena:\d %d\r$\d (CANCEL)
TOMARKET = \yDodawanie do sklepu!
MARKETBUY = \yKup
MARKETMENUBUY = \wSklep \rDolar(y):\d %d$
LOWPRICE = Najnizsza cena:!g %d!y!
HIGHPRICE = Najwyzsza cena:!g %d!y!
BADPRICE = Wartosci pomiedzy !t%d!y i!t %d!y musi byc!
NOTENOUGHDOLLAR = Nie masz wystarczajaco pieniedzy!
ITEMISSOLD = Za pozno! Ktos kupil ten przedmiot przed toba!
BUYINGITEM = !t%s!y kupil!t %s!y za!g %d!y dolar(ow) od!t %s!y!
SOLVEDTOMARKET = !t%s!y wyslal!t %s!y do marketu za in!g %d!y dollar(ow)!
NOTENOUGHK = Niewystarczajaca ilosc kluczy!
NOTENOUGHC = Niewystarczajaca ilosc skrzynek!
SERVERLOADING = Server sie laduje...
UNBOXING = !t%s!y znalazl w skrzynce !g%s!y ! Gratulacje!
FOUND = !t%s!y znalazl !g%s!y !
WANTTRADE = \r%s\w chce sie wymienic!
WANTTRADE2 = !t%s!y chce sie wymienic!
DONTACCEPTEDTRADE = Ta wymiana nie zostala zaakceptowana! t!
TRADEITEMS = \d- \y%s \r \d-
TRADEDOLLAR = \wWymiana \rDollar(ow):\d %d$
TRADEACCEPT = \yAkceptuj!
TRADEREJECT = \rOdrzuc!
TRADEITEM = \y%s \r- \d(\wCzesci: \r%d\d)
TRADEDOLLAR2 = \rDollar(y): \d%d$^n
TRADENOTHING = \dNic
TRADECHOOSE = Wybierz przedmiot
TRADEYOURITEMS = \rDollar(y): \d%d$^n^n   \d - \yTwoje przedmioty \d-^n
SUCCESSTRADE = Wymiana udana!

[de]
MAINMENU = \dDeRoiD's \yGlobal Offensive \w| \rDollar(s): \d%d\w$
INVENTORY = Inventar
CASEOPEN = Geöffnet
CASEOPENM = Geffönet^n\wSchlüssel: \y%d
TRADE = Müll
MARKET = Markt
MMARKET = Mein Marktmenu
TRASH = \rMüll
RANKMENU = ^n^n\rDein Rang:\d %s \w(\y%d\w/\y%d\w)^n\rNächster:\d %s
RANKMENUMAX = ^n^n\rDein Rang:\d %s \wKills: \y%d
REGISTERMENU = \dDeRoiD's \yGlobal Offensive \w| \rRegistrierungssystem
USERNAME = \rBenutzername:\d %s
USERNAME2 = \rBenutzername:\d %s^n\d2. Passwort:
PASSWORD = \rPasswort:\d %s
LOGIN = Anmeldung
REGISTER = \yRegistrierung
SHORT = Das ist zu kurz! (Min. 4 Zeichen)
LONG = Das ist zu lang! (Max. 19 Zeichen)
REGISTERED = Erfolgreich registriert!
REGDATAS = Benutzername:!t %s!y | !yPasswort:!t %s
LOGINED = Erfolgreich eingeloggt!
LOGINPENDING = Anmeldung steht aus, habe etwas Geduld!
REGISTERPENDING = Register steht aus. habe etwas Geduld!
USERUSING = Dieser Benutzer verwendet ihn!
BADUSER = Benutzername oder Passwort ist falsch!
BADPW = falsches Passwort!
USERNAMEUSING = Dieser Benutzername wird bereits verwendet!
WPMENU1 = Primärwaffen
WPMENU2 = Sekundärwaffen
WPMESSAGE = Du hast das schon benutzt!
SVMESSAGE = Dieser Mod ist von !gDeRoiD
TMMESSAGE = Ihr Markt oder Handel wurde abgebrochen!
RANKNEWLV = Glückwunsch! Du bist nun: !g%s
SELL = Verkaufen
BUY = Kaufen
SELLI = Artikel verkaufen
BUYI = Artikel kaufen
ITEM = Artikel:\d %s^n
SELLITEM = Artikel:\d %s\r |\w Preis:\d %d\r$ \r|\d von \w%s
CHOOSEITEM = Artikel:\d Wähle etwas
CHOOSESELLITEM = Artikelpreis:\d %d\r$^n
INMARKET = Artikel:\d %s\r |\w Preis:\d %d\r$\d (Abbruch)
TOMARKET = \yAuf dem Markt verkaufen!
MARKETBUY = \yKaufen!
MARKETMENUBUY = \wMarkt \rDollar(s):\d %d$
LOWPRICE = Der geringste Preis:!g %d!y!
HIGHPRICE = Der hoechste Preis:!g %d!y!
BADPRICE = Der Wert zwischen !t%d!y und!t %d!y muss sein!
NOTENOUGHDOLLAR = Du hast nicht genug Geld!
ITEMISSOLD = Dieser Artikel wurde verkauft! Sie können ihn nicht kaufen!
BUYINGITEM = !t%s!y kaufte ein!t %s!y Artikel für!g %d!y dollar(s) von!t %s!y!
SOLVEDTOMARKET = !t%s!y kaufte ein!t %s!y Artikel im Markt für!g %d!y dollar(s)!
NOTENOUGHK = Nicht genügend Schlüssel.
NOTENOUGHC = Nicht genügend Fälle.
SERVERLOADING = Server wird geladen!
UNBOXING = !t%s!y Waffen in Schachteln ungepackt!g%s!y !  
FOUND = !t%s!y fand ein !g%s!y Artikel!
WANTTRADE = \r%s\w will einen Handel!
WANTTRADE2 = !t%s!y will handeln!
DONTACCEPTEDTRADE = Er hat den Handel noch nicht akzeptiert!
TRADEITEMS = \d- \y%s \rArtikel \d-
TRADEDOLLAR = \wHandel \rDollar(s):\d %d$
TRADEACCEPT = \yAkzeptiert!
TRADEREJECT = \rAbgelehnt!
TRADEITEM = \y%s \r- \d(\wStückzahl: \r%d\d)
TRADEDOLLAR2 = \rDollar(s): \d%d$^n
TRADENOTHING = \dNichts
TRADECHOOSE = Artikel wählen!
TRADEYOURITEMS = \rDollar(s): \d%d$^n^n   \d - \yDeine Artikel \d-^n
SUCCESSTRADE = Erfolgreicher Handel!
tabel sql | Afiseaza codul
-- phpMyAdmin SQL Dump
-- version 4.8.5
-- https://www.phpmyadmin.net/
--
-- Host: localhost
-- Generation Time: Sep 04, 2019 at 12:25 AM
-- Server version: 8.0.13-4
-- PHP Version: 7.2.19-0ubuntu0.18.04.2

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `TPOiI8MQGM`
--

-- --------------------------------------------------------

--
-- Table structure for table `globaloffensive`
--

CREATE TABLE `globaloffensive` (
  `Id` int(10) NOT NULL,
  `USER` varchar(32) NOT NULL,
  `PW` varchar(32) NOT NULL,
  `NAME` varchar(32) NOT NULL,
  `DOLLAR` int(20) NOT NULL DEFAULT '0',
  `C1` int(20) NOT NULL DEFAULT '0',
  `C2` int(20) NOT NULL DEFAULT '0',
  `C3` int(20) NOT NULL DEFAULT '0',
  `C4` int(20) NOT NULL DEFAULT '0',
  `C5` int(20) NOT NULL DEFAULT '0',
  `C6` int(20) NOT NULL DEFAULT '0',
  `K` int(20) NOT NULL DEFAULT '0',
  `W1` int(20) NOT NULL DEFAULT '0',
  `W2` int(20) NOT NULL DEFAULT '0',
  `W3` int(20) NOT NULL DEFAULT '0',
  `W4` int(20) NOT NULL DEFAULT '0',
  `W5` int(20) NOT NULL DEFAULT '0',
  `W6` int(20) NOT NULL DEFAULT '0',
  `W7` int(20) NOT NULL DEFAULT '0',
  `W8` int(20) NOT NULL DEFAULT '0',
  `W9` int(20) NOT NULL DEFAULT '0',
  `W10` int(20) NOT NULL DEFAULT '0',
  `W11` int(20) NOT NULL DEFAULT '0',
  `W12` int(20) NOT NULL DEFAULT '0',
  `W13` int(20) NOT NULL DEFAULT '0',
  `W14` int(20) NOT NULL DEFAULT '0',
  `W15` int(20) NOT NULL DEFAULT '0',
  `W16` int(20) NOT NULL DEFAULT '0',
  `W17` int(20) NOT NULL DEFAULT '0',
  `W18` int(20) NOT NULL DEFAULT '0',
  `W19` int(20) NOT NULL DEFAULT '0',
  `W20` int(20) NOT NULL DEFAULT '0',
  `W21` int(20) NOT NULL DEFAULT '0',
  `W22` int(20) NOT NULL DEFAULT '0',
  `W23` int(20) NOT NULL DEFAULT '0',
  `W24` int(20) NOT NULL DEFAULT '0',
  `W25` int(20) NOT NULL DEFAULT '0',
  `W26` int(20) NOT NULL DEFAULT '0',
  `W27` int(20) NOT NULL DEFAULT '0',
  `W28` int(20) NOT NULL DEFAULT '0',
  `W29` int(20) NOT NULL DEFAULT '0',
  `W30` int(20) NOT NULL DEFAULT '0',
  `W31` int(20) NOT NULL DEFAULT '0',
  `W32` int(20) NOT NULL DEFAULT '0',
  `W33` int(20) NOT NULL DEFAULT '0',
  `W34` int(20) NOT NULL DEFAULT '0',
  `W35` int(20) NOT NULL DEFAULT '0',
  `W36` int(20) NOT NULL DEFAULT '0',
  `W37` int(20) NOT NULL DEFAULT '0',
  `W38` int(20) NOT NULL DEFAULT '0',
  `W39` int(20) NOT NULL DEFAULT '0',
  `W40` int(20) NOT NULL DEFAULT '0',
  `W41` int(20) NOT NULL DEFAULT '0',
  `W42` int(20) NOT NULL DEFAULT '0',
  `W43` int(20) NOT NULL DEFAULT '0',
  `W44` int(20) NOT NULL DEFAULT '0',
  `W45` int(20) NOT NULL DEFAULT '0',
  `W46` int(20) NOT NULL DEFAULT '0',
  `W47` int(20) NOT NULL DEFAULT '0',
  `W48` int(20) NOT NULL DEFAULT '0',
  `W49` int(20) NOT NULL DEFAULT '0',
  `W50` int(20) NOT NULL DEFAULT '0',
  `W51` int(20) NOT NULL DEFAULT '0',
  `W52` int(20) NOT NULL DEFAULT '0',
  `W53` int(20) NOT NULL DEFAULT '0',
  `W54` int(20) NOT NULL DEFAULT '0',
  `W55` int(20) NOT NULL DEFAULT '0',
  `W56` int(20) NOT NULL DEFAULT '0',
  `W57` int(20) NOT NULL DEFAULT '0',
  `W58` int(20) NOT NULL DEFAULT '0',
  `W59` int(20) NOT NULL DEFAULT '0',
  `W60` int(20) NOT NULL DEFAULT '0',
  `W61` int(20) NOT NULL DEFAULT '0',
  `W62` int(20) NOT NULL DEFAULT '0',
  `W63` int(20) NOT NULL DEFAULT '0',
  `W64` int(20) NOT NULL DEFAULT '0',
  `W65` int(20) NOT NULL DEFAULT '0',
  `W66` int(20) NOT NULL DEFAULT '0',
  `W67` int(20) NOT NULL DEFAULT '0',
  `W68` int(20) NOT NULL DEFAULT '0',
  `W69` int(20) NOT NULL DEFAULT '0',
  `W70` int(20) NOT NULL DEFAULT '0',
  `W71` int(20) NOT NULL DEFAULT '0',
  `W72` int(20) NOT NULL DEFAULT '0',
  `W73` int(20) NOT NULL DEFAULT '0',
  `W74` int(20) NOT NULL DEFAULT '0',
  `W75` int(20) NOT NULL DEFAULT '0',
  `W76` int(20) NOT NULL DEFAULT '0',
  `W77` int(20) NOT NULL DEFAULT '0',
  `W78` int(20) NOT NULL DEFAULT '0',
  `W79` int(20) NOT NULL DEFAULT '0',
  `W80` int(20) NOT NULL DEFAULT '0',
  `W81` int(20) NOT NULL DEFAULT '0',
  `W82` int(20) NOT NULL DEFAULT '0',
  `W83` int(20) NOT NULL DEFAULT '0',
  `W84` int(20) NOT NULL DEFAULT '0',
  `W85` int(20) NOT NULL DEFAULT '0',
  `W86` int(20) NOT NULL DEFAULT '0',
  `W87` int(20) NOT NULL DEFAULT '0',
  `W88` int(20) NOT NULL DEFAULT '0',
  `W89` int(20) NOT NULL DEFAULT '0',
  `W90` int(20) NOT NULL DEFAULT '0',
  `W91` int(20) NOT NULL DEFAULT '0',
  `W92` int(20) NOT NULL DEFAULT '0',
  `W93` int(20) NOT NULL DEFAULT '0',
  `W94` int(20) NOT NULL DEFAULT '0',
  `W95` int(20) NOT NULL DEFAULT '0',
  `W96` int(20) NOT NULL DEFAULT '0',
  `W97` int(20) NOT NULL DEFAULT '0',
  `W98` int(20) NOT NULL DEFAULT '0',
  `W99` int(20) NOT NULL DEFAULT '0',
  `W100` int(20) NOT NULL DEFAULT '0',
  `W101` int(20) NOT NULL DEFAULT '0',
  `W102` int(20) NOT NULL DEFAULT '0',
  `W103` int(20) NOT NULL DEFAULT '0',
  `W104` int(20) NOT NULL DEFAULT '0',
  `W105` int(20) NOT NULL DEFAULT '0',
  `W106` int(20) NOT NULL DEFAULT '0',
  `W107` int(20) NOT NULL DEFAULT '0',
  `W108` int(20) NOT NULL DEFAULT '0',
  `W109` int(20) NOT NULL DEFAULT '0',
  `W110` int(20) NOT NULL DEFAULT '0',
  `W111` int(20) NOT NULL DEFAULT '0',
  `W112` int(20) NOT NULL DEFAULT '0',
  `W113` int(20) NOT NULL DEFAULT '0',
  `W114` int(20) NOT NULL DEFAULT '0',
  `W115` int(20) NOT NULL DEFAULT '0',
  `W116` int(20) NOT NULL DEFAULT '0',
  `W117` int(20) NOT NULL DEFAULT '0',
  `W118` int(20) NOT NULL DEFAULT '0',
  `W119` int(20) NOT NULL DEFAULT '0',
  `W120` int(20) NOT NULL DEFAULT '0',
  `ACT` int(20) NOT NULL DEFAULT '0',
  `KILLS` int(20) NOT NULL DEFAULT '0',
  `RANK` int(20) NOT NULL DEFAULT '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `globaloffensive`
--

INSERT INTO `globaloffensive` (`Id`, `USER`, `PW`, `NAME`, `DOLLAR`, `C1`, `C2`, `C3`, `C4`, `C5`, `C6`, `K`, `W1`, `W2`, `W3`, `W4`, `W5`, `W6`, `W7`, `W8`, `W9`, `W10`, `W11`, `W12`, `W13`, `W14`, `W15`, `W16`, `W17`, `W18`, `W19`, `W20`, `W21`, `W22`, `W23`, `W24`, `W25`, `W26`, `W27`, `W28`, `W29`, `W30`, `W31`, `W32`, `W33`, `W34`, `W35`, `W36`, `W37`, `W38`, `W39`, `W40`, `W41`, `W42`, `W43`, `W44`, `W45`, `W46`, `W47`, `W48`, `W49`, `W50`, `W51`, `W52`, `W53`, `W54`, `W55`, `W56`, `W57`, `W58`, `W59`, `W60`, `W61`, `W62`, `W63`, `W64`, `W65`, `W66`, `W67`, `W68`, `W69`, `W70`, `W71`, `W72`, `W73`, `W74`, `W75`, `W76`, `W77`, `W78`, `W79`, `W80`, `W81`, `W82`, `W83`, `W84`, `W85`, `W86`, `W87`, `W88`, `W89`, `W90`, `W91`, `W92`, `W93`, `W94`, `W95`, `W96`, `W97`, `W98`, `W99`, `W100`, `W101`, `W102`, `W103`, `W104`, `W105`, `W106`, `W107`, `W108`, `W109`, `W110`, `W111`, `W112`, `W113`, `W114`, `W115`, `W116`, `W117`, `W118`, `W119`, `W120`, `ACT`, `KILLS`, `RANK`) VALUES
(1, 'filiq_', 'test1234', 'Filiq_', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

--
-- Indexes for dumped tables
--

--
-- Indexes for table `globaloffensive`
--
ALTER TABLE `globaloffensive`
  ADD PRIMARY KEY (`Id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `globaloffensive`
--
ALTER TABLE `globaloffensive`
  MODIFY `Id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Skins.cfg | Afiseaza codul
;Rare 4
;COVERT 3
;RESTRICTED 2
;COMMON 1
"Name" "VMODEL" "PMODEL" "0" "0"
"AK-47 | Outlaw" "ak47/Outlaw" "" "25" "1"
"AK-47 | Aquamarine Revenge" "ak47/Aquamarine" "" "25" "1"
"AK-47 | Jaguar" "ak47/Jaguar" "" "25" "2"
"AK-47 | Vulcan" "ak47/Vulcan" "" "25" "2"
"AK-47 | Wasteland Rebel" "ak47/Wasteland" "" "25" "3"
"AK-47 | Fireserpent" "ak47/Fireserpent" "" "25" "3"
;
"AWP | Worm God" "awp/WormGod" "" "18" "1"
"AWP | Man'o'war" "awp/Manowar" "" "18" "1"
"AWP | Redline" "awp/Redline" "" "18" "2"
"AWP | Hyper Beast" "awp/HBeast" "" "18" "2"
"AWP | Asiimov" "awp/Asiimov" "" "18" "3"
"AWP | Dragon Lore" "awp/DragonLore" "" "18" "3"
;
"M4A4 | Griffin" "m4a1/Griffin" "" "22" "1"
"M4A4 | Bullet Rain" "m4a1/BulletRain" "" "22" "1"
"M4A4 | Dragon King" "m4a1/DragonKing" "" "22" "2"
"M4A4 | Asiimov" "m4a1/Asiimov" "" "22" "2"
"M4A4 | Poseidon" "m4a1/Poseidon" "" "22" "3"
"M4A4 | Howl" "m4a1/Howl" "" "22" "3"
;
"FAMAS | Blue Way" "famas/BlueWay" "" "15" "1"
"FAMAS | Nuclear" "famas/Nuclear" "" "15" "1"
"FAMAS | Vanquish" "famas/Vanquish" "" "15" "2"
"FAMAS | Biohazard" "famas/Biohazard" "" "15" "2"
"FAMAS | Pulse" "famas/Pulse" "" "15" "3"
"FAMAS | Spitfire" "famas/Spitfire" "" "15" "3"
;
"GALIL-AR | Crimson Web" "galil/CrimsonWeb" "" "14" "1"
"GALIL-AR | Blue Way" "galil/BlueWay" "" "14" "1"
"GALIL-AR | Eco" "galil/Eco" "" "14" "2"
"GALIL-AR | Odyssy" "galil/Odyssy" "" "14" "2"
"GALIL-AR | Cerberus" "galil/Cerberus" "" "14" "3"
"GALIL-AR | Chatterbox" "galil/Chatterbox" "" "14" "3"
;
"MP7 | Blood" "mp5/Blood" "" "19" "1"
"MP7 | Now Purple!" "mp5/NowPurple" "" "19" "1"
"MP7 | Rising Sun" "mp5/RisingSun" "" "19" "2"
"MP7 | Seaweed" "mp5/Seaweed" "" "19" "2"
"MP7 | Carbonite" "mp5/Carbonite" "" "19" "3"
"MP7 | Urbanhazard" "mp5/UrbanHazard" "" "19" "3"
;
"USP-S | Stainless" "usp/Stainless" "" "16" "1"
"USP-S | Vertex" "usp/Vertex" "" "16" "1"
"USP-S | Caiman" "usp/Caiman" "" "16" "2"
"USP-S | Road Rash" "usp/Rash" "" "16" "2"
"USP-S | Orion" "usp/Orion" "" "16" "3"
"USP-S | Kill Confirmed" "usp/KConfirmed" "" "16" "3"
;
"DEAGLE | Engraved" "deagle/Engraved" "" "26" "1"
"DEAGLE | Golden Rose" "deagle/GoldenRose" "" "26" "1"
"DEAGLE | Biohazard" "deagle/Biohazard" "" "26" "2"
"DEAGLE | Jungle" "deagle/Jungle" "" "26" "2"
"DEAGLE | Hypnotic" "deagle/Hypnotic" "" "26" "3"
"DEAGLE | Blaze" "deagle/Blaze" "" "26" "3"
;
"GLOCK-18 | Candy Apple" "glock/Candy" "" "17" "1"
"GLOCK-18 | Green Way" "glock/GreenWay" "" "17" "1"
"GLOCK-18 | Catacombs" "glock/Catacombs" "" "17" "2"
"GLOCK-18 | Grinder" "glock/Grinder" "" "17" "2"
"GLOCK-18 | Water Elemental" "glock/WaterElemental" "" "17" "3"
"GLOCK-18 | Fade" "glock/Fade" "" "17" "3"
;
"Karambit | Doppler Ocean" "knife/DopplerOcean_K" "" "29" "4"
"Karambit | Doppler Pink" "knife/DopplerPink_K" "" "29" "4"
"Karambit | Crimson Web" "knife/Crimson_K" "" "29" "4"
"Butterfly Knife | Sea" "knife/Sea_BF" "" "29" "4"
"Butterfly Knife | Hawaiian" "knife/Hawaiian_BF" "" "29" "4"
"Butterfly Knife | Crimson Web" "knife/Crimson_BF" "" "29" "4"
"Bayonet M9 | Fade" "knife/Fade_B" "" "29" "4"
"Bayonet M9 | Doppler Sapphire" "knife/Sapphire_B" "" "29" "4"
"Bayonet | Space" "knife/Space_B" "" "29" "4"
"Gut Knife | Asiimov" "knife/Asiimov_GUT" "" "29" "4"
"Gut Knife | Doppler" "knife/Doppler_GUT" "" "29" "4"
"Gut Knife | Razer" "knife/Razer_GUT" "" "29" "4"
"Flip Knife | ROG" "knife/ROG_FL" "" "29" "4"
"Flip Knife | Fade" "knife/Fade_FL" "" "29" "4"
"Flip Knife | Marble Fade" "knife/MarbleFade_FL" "" "29" "4"
"Shadow Daggers" "knife/Def_SD" "" "29" "4"
"Shadow Daggers | Magma" "knife/Magma_SD" "" "29" "4"
"Shadow Daggers | Rainbow" "knife/Rainbow_SD" "" "29" "4"
"Falchion Knife | Orange" "knife/Orange_F" "" "29" "4"
"Falchion Knife | Diamond" "knife/Diamond_F" "" "29" "4"
"Falchion Knife" "knife/Def_F" "" "29" "4"
"Huntsman Knife | Fade" "knife/Fade_HM" "" "29" "4"
"Huntsman Knife | Crimson Web" "knife/Crimson_HM" "" "29" "4"
"Huntsman Knife | Slaughter" "knife/Slaughter_HM" "" "29" "4"
;

Nume: Global Offensive Mod 2.16 Beta
Versiune: 2.16
Autor: Filiq_

Instalare:
1. Fisierul csgo.sma il puneti in addons/amxmodx/scripting
2. Fisierul csgo.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:

Code: Select all

csgo.amxx


Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
  • csgo_host "ip" - Your SQL IP address
    csgo_db "database" - Your SQL Database name
    csgo_user "user" - Your SQL Username
    csgo_pw "pw" - Your SQL PW
    csgo_casefound "20" - Chance to find case (1-100%)
    csgo_keyfound "15" - Chance to find key (1-100%)
    csgo_minddrop "1" - Min. Dollar drop when u kill enemy
    csgo_maxddrop "3" - Max. Dollar drop when u kill enemy
    csgo_minmarketd "10" - Min. Dollar in market
    csgo_maxmarketd "1000000" - Max. Dollar in market
    csgo_scheck "1" - Check your skins in your hands (Impulse 100)
    csgo_mbutton "1" - Show menu when u push T button (Impulse 201)
    csgo_wpmenu "1" - Auto weapon menu
    csgo_givesg "0" - Give smokegrenade?
Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
Activati toate modelele.

Plugin original: https://forums.alliedmods.net/showthread.php?t=294858
Pareri, idei si buguri lasati un reply.
:hand_over_mouth:
changelogs | Afiseaza codul
2.16:
	Acum incarcarea skinurilor se face din .cfg.
	Rezolvat un bug la salvarea datelor in db.

Re: Global Offensive Mod 2.16 Beta

Posted: 04 Sep 2019, 19:03
by Aneimar
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
Modified for www.freakz.ro

csgo.txt(258) : error 033: array must be indexed (variable "SkinData")
csgo.txt(259) : error 033: array must be indexed (variable "SkinData")
csgo.txt(285) : error 048: array dimensions do not match
csgo.txt(302) : error 048: array dimensions do not match

4 Errors.
Compilarea a esuat!

la fel si pe 1.8.3 .

Re: Global Offensive Mod 2.16 Beta

Posted: 04 Sep 2019, 19:22
by Filiq_
Aneimar wrote:
04 Sep 2019, 19:03
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
Modified for www.freakz.ro

csgo.txt(258) : error 033: array must be indexed (variable "SkinData")
csgo.txt(259) : error 033: array must be indexed (variable "SkinData")
csgo.txt(285) : error 048: array dimensions do not match
csgo.txt(302) : error 048: array dimensions do not match

4 Errors.
Compilarea a esuat!

la fel si pe 1.8.3 .
Încearcă 1.8.2 ca eu nu am probleme.

Re: Global Offensive Mod 2.16 Beta

Posted: 04 Sep 2019, 19:49
by levin
ce ai modificat așa de mult încât te-ai trecut la autor?
codul „sursa” are probleme pe forum

Re: Global Offensive Mod 2.16 Beta

Posted: 04 Sep 2019, 20:10
by Aneimar
L E V I N wrote:
04 Sep 2019, 19:49
ce ai modificat așa de mult încât te-ai trecut la autor?
codul „sursa” are probleme pe forum

Code: Select all

	Acum incarcarea skinurilor se face din .cfg.
	Rezolvat un bug la salvarea datelor in db.
asta a facut :) , apropo , nu merge compilat nici pe 1.8.2

Re: Global Offensive Mod 2.16 Beta

Posted: 04 Sep 2019, 20:22
by levin
am văzut că a făcut aia, da nu e nimic important să se treacă la autor

Re: Global Offensive Mod 2.16 Beta

Posted: 04 Sep 2019, 21:35
by Filiq_
L E V I N wrote:
04 Sep 2019, 20:22
am văzut că a făcut aia, da nu e nimic important să se treacă la autor
Ai văzut cumva ca l-am sters pe deroid de la autor?
Cand ajung acasa o sa mai scot inca o versiune in care poti pune mai multe skinuri pe arme diferite si probabil alte descrieri ale sistemelor si dupa fac o arhiva sa nu mai fie probleme.

Re: Global Offensive Mod 2.16 Beta

Posted: 04 Sep 2019, 21:49
by levin
am zis „să se treacă la autor” nu „să se treacă autor”...omu face plugin cu n linii, după capu lui...mi se pare total aiurea să te pui la autor pentru nimic, mai ales că ești „scripter”
nu înțeleg ce e așa de special la modu ăsta...
ce faci tu acum, e să iei de pe net coduri și să le pui în sursa lu deroid, mi se pare mai mult o modificare nu un plugin(nu e făcut de la 0, nu e făcut de tine)

Re: Global Offensive Mod 2.16 Beta

Posted: 04 Sep 2019, 21:54
by Filiq_
L E V I N wrote:
04 Sep 2019, 21:49
am zis „să se treacă la autor” nu „să se treacă autor”...omu face plugin cu n linii, după capu lui...mi se pare total aiurea să te pui la autor pentru nimic, mai ales că ești „scripter”
nu înțeleg ce e așa de special la modu ăsta...
ce faci tu acum, e să iei de pe net coduri și să le pui în sursa lu deroid, mi se pare mai mult o modificare nu un plugin(nu e făcut de la 0, nu e făcut de tine)
Ce am pus in plugin nu am pus nimic de pe net cum sa spui rahatul asta? Ma amuzi, special? Nu prea e nimic special, dar cum toti fac un rahat de mod ai il vand mai bine să fie gratis.

Re: Global Offensive Mod 2.16 Beta

Posted: 04 Sep 2019, 22:42
by 1TAP GOD
Uite 2 idei :
Un hud cu cheile si punctele tale

Code: Select all

public plugin_init(){
set_task( 1.0, " hudinfo", _, _, _, "b", _ );
}
public hudinfo(id)
{
    static id;
    for ( id = 1; id <= get_maxplayers ( ); id++ ) {
        if(is_user_alive(id)) {
         set_hudmessage(0, 255, 255, 0.01, 0.92, 0, 6.0, 12.0);
                   show_hudmessage(id, "Puncte: %d  | Cheii: %d", Dollars[id], Keys[id]);
        }
    }
}
Kick daca gresesti parola de 3 ori

Code: Select all

public client_putinserver(id){
gWarnings[id] = 0;
}

public client_disconnect(id){
gWarnings[id] = 0;
}

public SQL_CheckResult(FailState, Handle:Query, Error[], Errcode, szData[], DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("%s", Error);
		return;
	}
	
	new id = szData[0];
	
	if(szData[1] != get_user_userid(id))
		return;
	
	if(RegisterMod[id] == 2)
	{	
		if(SQL_NumRows(Query) > 0)
		{
			print_color(id, "!g%s!y %L", Prefix, id, "USERNAMEUSING");
			inProgress[id] = 0;
			RegMenu(id);
		}
		else
		{
			SQL_NewAccount(id);
		}
	}
	else if(RegisterMod[id] == 1)
	{
		if(SQL_NumRows(Query) == 0)
		{
			print_color(id, "!g%s!y %L", Prefix, id, "BADPW");
			inProgress[id] = 0;
			gWarnings[id]++;
			RegMenu(id);
		}
		else
		{
			SQL_UserLoad(id);
		}
		
		if(gWarnings[id] >= 3) 
		{
			gWarnings[id] = 0;
			
			server_cmd("amx_kick #%d ^"Incerci sa spargi  contul altei persoane!^"", get_user_userid(id));
		}
	}
}

Re: Global Offensive Mod 2.16 Beta

Posted: 05 Sep 2019, 00:41
by Filiq_
1TAP GOD wrote:
04 Sep 2019, 22:42
Uite 2 idei :
Un hud cu cheile si punctele tale

Code: Select all

public plugin_init(){
set_task( 1.0, " hudinfo", _, _, _, "b", _ );
}
public hudinfo(id)
{
    static id;
    for ( id = 1; id <= get_maxplayers ( ); id++ ) {
        if(is_user_alive(id)) {
         set_hudmessage(0, 255, 255, 0.01, 0.92, 0, 6.0, 12.0);
                   show_hudmessage(id, "Puncte: %d  | Cheii: %d", Dollars[id], Keys[id]);
        }
    }
}
Kick daca gresesti parola de 3 ori

Code: Select all

public client_putinserver(id){
gWarnings[id] = 0;
}

public client_disconnect(id){
gWarnings[id] = 0;
}

public SQL_CheckResult(FailState, Handle:Query, Error[], Errcode, szData[], DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("%s", Error);
		return;
	}
	
	new id = szData[0];
	
	if(szData[1] != get_user_userid(id))
		return;
	
	if(RegisterMod[id] == 2)
	{	
		if(SQL_NumRows(Query) > 0)
		{
			print_color(id, "!g%s!y %L", Prefix, id, "USERNAMEUSING");
			inProgress[id] = 0;
			RegMenu(id);
		}
		else
		{
			SQL_NewAccount(id);
		}
	}
	else if(RegisterMod[id] == 1)
	{
		if(SQL_NumRows(Query) == 0)
		{
			print_color(id, "!g%s!y %L", Prefix, id, "BADPW");
			inProgress[id] = 0;
			gWarnings[id]++;
			RegMenu(id);
		}
		else
		{
			SQL_UserLoad(id);
		}
		
		if(gWarnings[id] >= 3) 
		{
			gWarnings[id] = 0;
			
			server_cmd("amx_kick #%d ^"Incerci sa spargi  contul altei persoane!^"", get_user_userid(id));
		}
	}
}
Hud ul este deja in versiunea care o să fie pe net, acea protecție mi se pare inutilă

Re: Global Offensive Mod 2.16 Beta

Posted: 24 Sep 2019, 03:17
by SkillartzHD
1TAP GOD wrote:
04 Sep 2019, 22:42
Uite 2 idei :
Un hud cu cheile si punctele tale

Code: Select all

public plugin_init(){
set_task( 1.0, " hudinfo", _, _, _, "b", _ );
}
public hudinfo(id)
{
    static id;
    for ( id = 1; id <= get_maxplayers ( ); id++ ) {
        if(is_user_alive(id)) {
         set_hudmessage(0, 255, 255, 0.01, 0.92, 0, 6.0, 12.0);
                   show_hudmessage(id, "Puncte: %d  | Cheii: %d", Dollars[id], Keys[id]);
        }
    }
}
Kick daca gresesti parola de 3 ori

Code: Select all

public client_putinserver(id){
gWarnings[id] = 0;
}

public client_disconnect(id){
gWarnings[id] = 0;
}

public SQL_CheckResult(FailState, Handle:Query, Error[], Errcode, szData[], DataSize)
{
	if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED)
	{
		log_amx("%s", Error);
		return;
	}
	
	new id = szData[0];
	
	if(szData[1] != get_user_userid(id))
		return;
	
	if(RegisterMod[id] == 2)
	{	
		if(SQL_NumRows(Query) > 0)
		{
			print_color(id, "!g%s!y %L", Prefix, id, "USERNAMEUSING");
			inProgress[id] = 0;
			RegMenu(id);
		}
		else
		{
			SQL_NewAccount(id);
		}
	}
	else if(RegisterMod[id] == 1)
	{
		if(SQL_NumRows(Query) == 0)
		{
			print_color(id, "!g%s!y %L", Prefix, id, "BADPW");
			inProgress[id] = 0;
			gWarnings[id]++;
			RegMenu(id);
		}
		else
		{
			SQL_UserLoad(id);
		}
		
		if(gWarnings[id] >= 3) 
		{
			gWarnings[id] = 0;
			
			server_cmd("amx_kick #%d ^"Incerci sa spargi  contul altei persoane!^"", get_user_userid(id));
		}
	}
}
daca faci loop la acele hud-uri e foarte groaznic