Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Plugin editlermisiniz

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
Revenqe
Mesajlar: 333
Kayıt: Pzt Ağu 08, 2016 2:09 am

Plugin editlermisiniz

Mesaj gönderen Revenqe »

Selamin Aleykum arkadaslar bu plugin düzeltirmisiniz

Sorunu El basi önceki raundaki silahlari resetliyor yani önce ki eldeki aldıgın silahlari sifirliyor T GLOCK İLE CT USP İLE BASLIYOR

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <colorchat>
#include <fun>

new const PLUGIN[] = "DASWRWAT";
new const VERSION[] = "1.1p";
new const AUTHOR[] = "DeRoiD";

#define MAX 50

#define PointsMin 3
#define PointsMax 8
#define Drop 10
#define MarkMin 25

#pragma semicolon 1

new WeaponNames[MAX][32], WeaponMdls[MAX][48], Weapons[MAX], WeaponDrop[MAX], AllWeapon;
new UsingWeapon[3][33], uWeapon[MAX][33], Chest[33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], SaveFile[48], RegisterFile[48], DefaultSkinFile[48], RangFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new DefaultSkin[31][32], NeedKills[30], Rangs[30][32];

new const eWeapon[][] =
{
	"weapon_famas", "weapon_usp", "weapon_awp", "weapon_mp5navy", "weapon_m3", "weapon_m4a1",
	"weapon_deagle", "weapon_ak47", "weapon_knife", "weapon_flashbang", "weapon_hegrenade",
	"weapon_smokegrenade", "weapon_c4"
};

new const FirstWeaponNames[][][] =
{
	{ "AK47", "weapon_ak47" },
	{ "M4A1", "weapon_m4a1" },
	{ "AWP", "weapon_awp" },
	{ "FAMAS", "weapon_famas" },
	{ "MP5", "weapon_mp5navy" },
	{ "SHOTGUN", "weapon_mp3" }
};

new const SecondaryWeaponNames[][][] =
{
	{ "DEAGLE", "weapon_deagle" },
	{ "USP", "weapon_usp" }
};

public plugin_precache() {
	new Line[128], Data[4][48], Len;
	AllWeapon++;
	get_configsdir(Folder, 47);
	format(SkinFile, 47, "%s/csgo/skins.cfg", Folder);
	format(SaveFile, 47, "%s/csgo/save.ini", Folder);
	format(RangFile, 47, "%s/csgo/rangs.cfg", Folder);
	format(RegisterFile, 47, "%s/csgo/reg.ini", Folder);
	format(DefaultSkinFile, 47, "%s/csgo/dskins.cfg", Folder);
	format(Prefix, 31, "[Global Offensive]");
	
	if(file_exists(RangFile))
	{
		for(new i; i < file_size(RangFile, 1); i++)
		{
			read_file(RangFile, i, Line, 127, Len);
			parse(Line, Data[0], 31, Data[1], 31);
			
			copy(Rangs[i], 31, Data[0]);
			NeedKills[i] = str_to_num(Data[1]);
		}
	}
	if(file_exists(SkinFile))
	{
		for(new i; i < file_size(SkinFile, 1); i++)
		{
			read_file(SkinFile, i, Line, 127, Len);
			
			if(strlen(Line) < 5 || Line[0] == ';')
				continue;
			
			parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31);
			
			Weapons[AllWeapon] = str_to_num(Data[0]);
			copy(WeaponNames[AllWeapon], 31, Data[1]);
			
			if(ValidMdl(Data[2])) {
				precache_model(Data[2]);
				copy(WeaponMdls[AllWeapon], 47, Data[2]);
			}
			
			WeaponDrop[AllWeapon] = str_to_num(Data[3]);
			AllWeapon++;
		}
	}
	if(file_exists(DefaultSkinFile))
	{
		for(new i; i < file_size(DefaultSkinFile, 1); i++)
		{
			read_file(DefaultSkinFile, i, Line, 127, Len);
			
			if(strlen(Line) < 5 || Line[0] == ';')
				continue;
			
			parse(Line, Data[0], 31, Data[1], 47);
			
			if(ValidMdl(Data[1])) {
				precache_model(Data[1]);
				copy(DefaultSkin[str_to_num(Data[0])], 47, Data[1]);
			}
		}
	}
}
public plugin_init() {
	register_dictionary("globaloffensive.txt");
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
	
	register_clcmd("say /menu", "MenuOpen");
	register_clcmd("say /reg", "RegMenu");
	register_clcmd("say /gun", "Guns");
	
	register_concmd("Cost", "MarketCost");
	register_concmd("Gift", "GiftPoint");
	register_concmd("UserPassword", "PlayerPassword");
	
	SayText = get_user_msgid("SayText");
	register_forward(FM_ClientUserInfoChanged, "NameChange");
	RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
	
	for(new i; i < sizeof(eWeapon); i++)
	{
		RegisterHam(Ham_Item_Deploy, eWeapon[i], "WeaponSwitch", 1);
	}
	
	register_clcmd("say", "Say");
	register_clcmd("say_team", "Say");
	
	set_task(67.3, "Message", 7217, _, _, "b");
}
public Message() 
{
	print_color(0, "!g%s%L", Prefix, LANG_SERVER, "MSG", PLUGIN, VERSION, AUTHOR);
}
public Guns(id) 
{
	if(Choosen[id] < 1)
	{
		Choosen[id] = 0;
		
	}
}
public PlayerSpawn(id) 
{
	if(is_user_alive(id))
	{
		Choosen[id] = 0;
		
		if(user_has_weapon(id, CSW_C4))
		{
			strip_user_weapons(id);
			give_item(id, "weapon_c4");
			give_item(id, "weapon_knife");
			if(cs_get_user_team(id) == CS_TEAM_T)
			{
			       give_item(id, "weapon_glock18");
			}
			if(cs_get_user_team(id) == CS_TEAM_CT)
			{
			       give_item(id, "weapon_usp");
		
			}
			
			return PLUGIN_HANDLED;
		}
		
		strip_user_weapons(id);
		give_item(id, "weapon_knife");
		if(cs_get_user_team(id) == CS_TEAM_T)
		{
		      give_item(id, "weapon_glock18");
		}
		if(cs_get_user_team(id) == CS_TEAM_CT)
		{
		      give_item(id, "weapon_usp");
		
		}	
		
		
		if(cs_get_user_team(id) == CS_TEAM_CT)
		{
			cs_set_user_defuse(id, 1);
		}
	}
	return PLUGIN_CONTINUE;
}
public Say(id)
{
	new Chat[256], Name[32], cChat[256];
	read_args(Chat, 255);
	remove_quotes(Chat);
	get_user_name(id, Name, 31);
	
	if(strlen(Chat) > 1)
	{
		formatex(cChat, 255, "^4[%s] ^3%s^1: %s", Rangs[Rang[id]], Name, Chat);
	}
	
	ColorChat(0, TEAM_COLOR, cChat);
	return PLUGIN_HANDLED;
}
public MenuOpen(id)
{
	if(!Loged[id])
	{
		RegMenu(id);
		return;
	}
	
	MenuMod[id] = 0;
	Menu(id);
}
public client_death(Killer, Victim)
{
	if(Killer == Victim)
	{
		return PLUGIN_HANDLED;
	}
	
	Kills[Killer]++;
	
	if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
	{
		if(Kills[Killer] >= NeedKills[Rang[Killer]])
			Rang[Killer]++;
	}
	
	new pPont, Name[32];
	
	pPont += random_num(PointsMin, PointsMax);
	Points[Killer] += pPont;
	
	set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
	show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
	
	
	if(Drop >= random_num(1, 100))
	{
		get_user_name(Killer, Name, 31);
		new x = random_num(1, 2);
		if(x == 1)
		{
			pKey[Killer]++;
			print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
		}
		if(x == 2)
		{
			Chest[Killer]++;
			print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
		}
	}
	Save(Killer);
	return PLUGIN_CONTINUE;
}
public MarketCost(id)
{
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0)
	{
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else if(MarkMin >= Cost)
	{
		print_color(id, "%s %L", Prefix, LANG_SERVER, "NOTENOUGHTMARKET", MarkMin);
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else
	{
		MarketPoints[id] = Cost;
		Menu(id);
		MenuMod[id] = 3;
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public GiftPoint(id)
{
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Points[id] < Cost)
	{
		client_cmd(id, "messagemode Gift");
		return PLUGIN_HANDLED;
	}
	else
	{
		aPoints[id] = Cost;
		Menu(id);
		MenuMod[id] = 5;
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public WeaponSwitch(Weapon) {
	new id = get_pdata_cbase(Weapon, 41, 4);
	new wid = cs_get_weapon_id(Weapon);
	
	if(id > 32 || id < 1)
	{
		return HAM_SUPERCEDE;
	}
	
	for(new i = 1; i < AllWeapon; i++)
	{
		if(i == UsingWeapon[0][id])
		{
			if(wid == Weapons[i])
			{
				set_pev(id, pev_viewmodel2, WeaponMdls[i]);
				return HAM_SUPERCEDE;
			}
		}
		else if(i == UsingWeapon[1][id])
		{
			if(wid == Weapons[i])
			{
				set_pev(id, pev_viewmodel2, WeaponMdls[i]);
				return HAM_SUPERCEDE;
			}
		}
		else if(i == UsingWeapon[2][id])
		{
			if(wid == Weapons[i])
			{
				set_pev(id, pev_viewmodel2, WeaponMdls[i]);
				return HAM_SUPERCEDE;
			}
		}
		
	}
	if(ValidMdl(DefaultSkin[wid]))
	{
		set_pev(id, pev_viewmodel2, DefaultSkin[wid]);
	}
	return HAM_IGNORED;
}
public ChestOpen(id)
{
	new rWeapon = random_num(1, AllWeapon);
	new rNum = random_num(1, 100);
	
	if(WeaponDrop[rWeapon] >= rNum)
	{
		new Name[32];
		get_user_name(id, Name, 31);
		print_color(id, "!g[CSGO]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[rWeapon]);
		uWeapon[rWeapon][id]++;
		Save(id);
	}
	else
	{
		set_task(0.1, "ChestOpen", id);
	}
}
public Menu(id)
{
	if(!Loged[id])
	{
		RegMenu(id);
		return;
	}
	
	new sMenu, Line[128];
	
	if(MenuMod[id] == -2)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0)
				continue;
				
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
			menu_additem(sMenu, Line, String);
			All++;
		}
		if(Chest[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
			menu_additem(sMenu, Line, "101");
			All++;
		}
		if(pKey[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	else if(MenuMod[id] == -1)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0)
				continue;
				
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
			menu_additem(sMenu, Line, String);
			All++;
		}
		if(Chest[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
			menu_additem(sMenu, Line, "101");
			All++;
		}
		if(pKey[id] > 0)
		{
			formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	else if(MenuMod[id] == 0)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, 127, "%L", LANG_SERVER, "MENUTOSKINS");
		menu_additem(sMenu, Line, "1");
		
		if(!inMarket[id])
		{
			formatex(Line, 127, "%L", LANG_SERVER, "MENUTOCHESTOPEN");
			menu_additem(sMenu, Line, "2");
		}
		else
		{
			formatex(Line, 127, "%L %L",
			LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		
		formatex(Line, 127, "%L", LANG_SERVER, "MENUTOMARKET");
		menu_additem(sMenu, Line, "3");
		
		if(!inMarket[id])
		{
			formatex(Line, 127, "%L", LANG_SERVER, "MENUTODUSTBIN");
			menu_additem(sMenu, Line, "4");
		}
		else
		{
			formatex(Line, 127, "%L %L",
			LANG_SERVER, "MENUTODUSTBIN", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		
		if(!inMarket[id])
		{
			formatex(Line, 127, "%L%L",
			LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
			menu_additem(sMenu, Line, "5");
		}
		else
		{
			formatex(Line, 127, "%L %L%L",
			LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "INMARKET", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
			menu_additem(sMenu, Line, "0");
		}
	}
	else if(MenuMod[id] == 1)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0)
				continue;
				
			formatex(String, 31, "%d %d", i, Weapons[i]);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
			menu_additem(sMenu, Line, String);
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	else if(MenuMod[id] == 2)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, 127, "%L", LANG_SERVER, "CHESTSANDKEYS", Chest[id], pKey[id]);
		menu_additem(sMenu, Line, "1");
	}
	else if(MenuMod[id] == 3)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		if(!inMarket[id])
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
			}
			
			if(101 == WeaponinMarket[id] && Chest[id] > 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEC", MarketPoints[id]);
				All++;
			}
			if(102 == WeaponinMarket[id] && pKey[id] > 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
				All++;
			}
			
			if(All == 0)
				formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACECH");
			menu_additem(sMenu, Line, "-1");
		}
		
		if(!inMarket[id])
			formatex(Line, 127, "%L", LANG_SERVER, "TOMARKETM");
		else
			formatex(Line, 127, "%L", LANG_SERVER, "BACKMARKET");
		menu_additem(sMenu, Line, "0");
		
		new Name[32];
		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x))
				continue;
			
			if(inMarket[x] && MarketPoints[x] > 0)
			{
				num_to_str(x, String, 31);
				get_user_name(x, Name, 31);
				if(101 == WeaponinMarket[x])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "SELLERC", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else if(102 == WeaponinMarket[x])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else
				{
					formatex(Line, 127, "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
			}
		}
	}
	else if(MenuMod[id] == 4)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTODUSTBIN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0)
				continue;
				
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
			menu_additem(sMenu, Line, String);
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
		}
	}
	else if(MenuMod[id] == 5)
	{
		formatex(Line, 127, "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new All, Name[32], String[32];
		get_user_name(aTarget[id], Name, 31);
		
		if(aTarget[id] > 0 && is_user_alive(aTarget[id]))
		{
			formatex(Line, 127, "%L", LANG_SERVER, "GIFTT", Name);
			menu_additem(sMenu, Line, "-1");
			for(new i = 1; i < AllWeapon; i++)
			{
				if(i == aThing[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTS", WeaponNames[i]);
					menu_additem(sMenu, Line, "-2");
					All++;
				}
			}
			
			if(aThing[id] == 0 && All == 0)
			{
				formatex(Line, 127, "%L", LANG_SERVER, "GIFTCH");
				menu_additem(sMenu, Line, "-2");
			}
			else if(aThing[id] > 100)
			{
				if(101 == aThing[id])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTC");
				}
				if(102 == aThing[id])
				{
					formatex(Line, 127, "%L", LANG_SERVER, "GIFTK");
				}
				menu_additem(sMenu, Line, "-2");
			}
			
			formatex(Line, 127, "%L", LANG_SERVER, "GIFTPOINTS", aPoints[id]);
			menu_additem(sMenu, Line, "-4");
			formatex(Line, 127, "%L", LANG_SERVER, "SENDGIFT");
			menu_additem(sMenu, Line, "-3");
		}
		else
		{
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					get_user_name(i, Name, 31);
					num_to_str(i, String, 31);
					menu_additem(sMenu, Name, String);
				}
			}
		}
	}
	menu_display(id, sMenu);
}
public MenuHandler(id, gMenu, Key)
{	
	if(Key == MENU_EXIT)
	{
		MenuMod[id] = 0;
		menu_destroy(gMenu);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32], Name[32], mName[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	
	if(MenuMod[id] == -2)
	{
		aThing[id] = Key;
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	if(MenuMod[id] == -1)
	{
		MenuMod[id] = 3;
		WeaponinMarket[id] = Key;
		client_cmd(id, "messagemode Cost");
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 0)
	{
		MenuMod[id] = Key;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 1)
	{
		parse(Data[0], Data[2], 31, Data[3], 31);
		
		if(str_to_num(Data[3]) == 16 || str_to_num(Data[3]) == 26)
			UsingWeapon[1][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == 29)
			UsingWeapon[2][id] = str_to_num(Data[2]);
		else
			UsingWeapon[0][id] = str_to_num(Data[2]);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 2)
	{
		if(Key == 1)
		{
			if(Chest[id] > 0 && pKey[id] > 0)
			{
				Chest[id]--;
				pKey[id]--;
				ChestOpen(id);
				Menu(id);
				return PLUGIN_HANDLED;
			}
		}
	}
	else if(MenuMod[id] == 3)
	{
		if(Key == -1)
		{
			MenuMod[id] = -1;
			Menu(id);
			return PLUGIN_HANDLED;
		}
		else if(Key == 0)
		{
			if(inMarket[id])
				inMarket[id] = false;
			else if(MarketPoints[id] > 0)
			{
				get_user_name(id, Name, 31);
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
				inMarket[id] = true;
			}
			Menu(id);
			return PLUGIN_HANDLED;
		}
		else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
		{
			get_user_name(Key, Name, 31);
			get_user_name(id, mName, 31);
			if(WeaponinMarket[Key] < 101)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
			}
			else if(WeaponinMarket[Key] == 101)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETCHEST",
				mName, MarketPoints[Key], Name);
				Chest[id]++;
				Chest[Key]--;
			}
			else if(WeaponinMarket[Key] == 102)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETKEY",
				mName, MarketPoints[Key], Name);
				pKey[id]++;
				pKey[Key]--;
			}
			Points[Key] += MarketPoints[Key];
			Points[id] -= MarketPoints[Key];
			Save(Key);
			Save(id);
			inMarket[Key] = false;
			MarketPoints[Key] = 0;
			WeaponinMarket[Key] = 0;
			MenuMod[id] = 0;
		}
	}
	else if(MenuMod[id] == 4)
	{
		uWeapon[Key][id]--;
		Menu(id);
		Save(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 5)
	{
		if(Key == -1)
		{
			aTarget[id] = 0;
		}
		if(Key == -2)
		{
			MenuMod[id] = -2;
		}
		if(Key == -3)
		{
			if(uWeapon[aThing[id]][id] > 0)
			{
				uWeapon[aThing[id]][aTarget[id]]++;
				uWeapon[aThing[id]][id]--;
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Save(aTarget[id]);
				Save(id);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
				print_color(id, "!g%s%L",
				Prefix, LANG_SERVER, "GIFTSUCCESS");
			}
		}
		if(Key == -4)
		{
			client_cmd(id, "messagemode Gift");
		}
		if(Key > 0)
			aTarget[id] = Key;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	MenuMod[id] = 0;
	return PLUGIN_CONTINUE;
}
stock print_color(const id, const input[], any:...)
{
	new Count = 1, Players[32];
	static Msg[191];
	vformat(Msg, 190, input, 3);
	
	replace_all(Msg, 190, "!g", "^4");
	replace_all(Msg, 190, "!y", "^1");
	replace_all(Msg, 190, "!t", "^3");

	if(id) Players[0] = id; else get_players(Players, Count, "ch");
	{
		for (new i = 0; i < Count; i++)
		{
			if (is_user_connected(Players[i]))
			{
				message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]);
				write_byte(Players[i]);
				write_string(Msg);
				message_end();
			}
		}
	}
	return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
	Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, Chest[id] = 0;
	for(new i; i < AllWeapon; i++)
	{
		uWeapon[i][id] = 0;
	}
	Load(id);
	Password[id] = "";
	SavedPassword[id] = "";
	Loged[id] = false;
}
public Load(id)
{
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}
	
	new pFile, Name[32];
	pFile = fopen(SaveFile, "rt");
	get_user_name(id, Name, 31);
	
	if(pFile)
	{
		new Line[256];
		new LineName[32], tData[5][8], Data[MAX][8];
		
		while(!feof(pFile))
		{
			fgets(pFile, Line, 255);
			
			if(Line[0] == ';' || strlen(Line) < 2)
				continue;
				
			parse(Line, LineName, 31);
			
			if(equal(LineName, Name))
			{
				parse(Line, LineName, 31, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7,
				Data[0], 7, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7,
				Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12], 7,
				Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7,
				Data[20], 7, Data[21], 7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7,
				Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7,
				Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7,
				Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7,
				Data[48], 7, Data[49], 7);
				
				Kills[id] = str_to_num(tData[0]);
				Points[id] = str_to_num(tData[1]);
				pKey[id] = str_to_num(tData[2]);
				Chest[id] = str_to_num(tData[3]);
				Rang[id] = str_to_num(tData[4]);
				
				for(new i; i < MAX; i++)
				{
					uWeapon[i][id] = str_to_num(Data[i]);
				}
				return PLUGIN_HANDLED;
			}
		}
		fclose(pFile);
	}
	return PLUGIN_CONTINUE;
}
public Save(id)
{
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}
	
	new pFile, Name[32];
	pFile = fopen(SaveFile, "rt");
	get_user_name(id, Name, 31);
	
	if(pFile)
	{
		new Line[192], Lines;
		
		new LineName[32], bool:Found;
		
		while(!feof(pFile))
		{
			fgets(pFile, Line, 191);
			
			if(Line[0] == ';' || strlen(Line) < 2)
				continue;
				
			parse(Line, LineName, 31);
			
			if(equal(LineName, Name) && !Found)
			{
				new mLine[256], LoadWeapon[256], String[8];
				
				format(String, 7, "^"%i^" ", Kills[id]);
				add(LoadWeapon, 255, String);
				
				format(String, 7, "^"%i^" ", Points[id]);
				add(LoadWeapon, 255, String);
				
				format(String, 7, "^"%i^" ", pKey[id]);
				add(LoadWeapon, 255, String);
				
				format(String, 7, "^"%i^" ", Chest[id]);
				add(LoadWeapon, 255, String);
				
				format(String, 7, "^"%i^" ", Rang[id]);
				add(LoadWeapon, 255, String);
					
				for(new i; i < MAX; i++)
				{
					format(String, 7, "^"%i^" ", uWeapon[i][id]);
					add(LoadWeapon, 255, String);
				}
				
				formatex(mLine, 255, "^"%s^" %s", Name, LoadWeapon);
				write_file(SaveFile, mLine, Lines);
				Found = true;
				return PLUGIN_HANDLED;
			}
			
			Lines++;
		}
		
		if(!Found)
		{
			new mLine[256], LoadWeapon[256], String[8];
			
			format(String, 7, "^"%i^" ", Kills[id]);
			add(LoadWeapon, 255, String);
			
			format(String, 7, "^"%i^" ", Points[id]);
			add(LoadWeapon, 255, String);
			
			format(String, 7, "^"%i^" ", pKey[id]);
			add(LoadWeapon, 255, String);
			
			format(String, 7, "^"%i^" ", Chest[id]);
			add(LoadWeapon, 255, String);
			
			format(String, 7, "^"%i^" ", Rang[id]);
			add(LoadWeapon, 255, String);
			
			for(new i; i < MAX; i++)
			{
				format(String, 7, "^"%i^" ", uWeapon[i][id]);
				add(LoadWeapon, 255, String);
			}
			
			formatex(mLine, 255, "^"%s^" %s", Name, LoadWeapon);
			write_file(SaveFile, mLine);
			return PLUGIN_HANDLED;
		}
		fclose(pFile);
	}
	return PLUGIN_CONTINUE;
}
public WeaponMenu(id)
{
	new String[128], Name[32];
	format(String, 127, "%s %L", Prefix, LANG_SERVER, "WPM");
	new wMenu = menu_create(String, "wMenuHandler");
	get_user_name(id, Name, 31);
	
	if(Choosen[id] == 0)
	{
		for(new i; i < sizeof(FirstWeaponNames); i++)
		{
			format(String, 127, "%s", FirstWeaponNames[i][0]);
			menu_additem(wMenu, String, FirstWeaponNames[i][1]);
		}
	}
	if(Choosen[id] == 1)
	{
		for(new i; i < sizeof(SecondaryWeaponNames); i++)
		{
			format(String, 127, "%s", SecondaryWeaponNames[i][0]);
			menu_additem(wMenu, String, SecondaryWeaponNames[i][1]);
		}
	}
	
	menu_display(id, wMenu);
}
public wMenuHandler(id, gMenu, item)
{	
	if(item == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return;
	}
	new data[32], name[64];
	new access, callback;
	menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
	
	give_item(id, data);
	Choosen[id]++;
	
	if(Choosen[id] >= 2)
		Grenades(id);
		
	WeaponMenu(id);
}
public RegMenu(id)
{
	new String[128], Name[32];
	format(String, 127, "%s %L", Prefix, LANG_SERVER, "RMMAIN");
	new rMenu = menu_create(String, "rMenuHandler");
	get_user_name(id, Name, 31);
	
	format(String, 127, "%L", LANG_SERVER, "RMACCOUNT", Name);
	menu_additem(rMenu, String, "0");
	
	if(!Registered(id))
	{
		format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
		menu_additem(rMenu, String, "1");
		
		if(strlen(Password[id]) > 4)
		{
			format(String, 127, "%L", LANG_SERVER, "RMR");
			menu_additem(rMenu, String, "2");
		}
		else
		{
			format(String, 127, "\d%L", LANG_SERVER, "RMR");
			menu_additem(rMenu, String, "0");
		}
	}
	else
	{
		if(!Loged[id])
		{
			format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
			menu_additem(rMenu, String, "1");
			
			if(equal(SavedPassword[id], Password[id]))
			{
				format(String, 127, "%L", LANG_SERVER, "RMLOGIN");
				menu_additem(rMenu, String, "3");
			}
			else
			{
				format(String, 127, "\d%L", LANG_SERVER, "RMLOGIN");
				menu_additem(rMenu, String, "0");
			}
		}
		else
		{
			format(String, 127, "%L", LANG_SERVER, "RMLOGOUT");
			menu_additem(rMenu, String, "-1");
		}
	}
	
	menu_display(id, rMenu);
}
public rMenuHandler(id, gMenu, item)
{	
	if(item == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return;
	}
	new data[9], name[64], Key;
	new access, callback;
	menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
	Key = str_to_num(data);
	
	if(Key == -1)
		ToLogout(id);
	if(Key == 0)
		RegMenu(id);
	if(Key == 1)
	{
		client_cmd(id, "messagemode UserPassword");
		RegMenu(id);
	}
	if(Key == 2)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
		Register(id, Password[id]);
		copy(SavedPassword[id], 31, Password[id]);
		Loged[id] = true;
		Menu(id);
	}
	if(Key == 3)
	{
		if(equal(SavedPassword[id], Password[id])) {
			Loged[id] = true;
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
			Menu(id);
		}
	}
}
public ToLogout(id)
{
	if(Loged[id])
	{
		Loged[id] = false;
		Password[id] = "";
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
	}
}
public PlayerPassword(id)
{
	new Data[32];
	read_args(Data, 31);
	remove_quotes(Data);
	
	if(strlen(Data) < 5)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSHORT");
		client_cmd(id, "messagemode UserPassword");
		return PLUGIN_HANDLED;
	}
	
	if(Loged[id])
	{
		return PLUGIN_HANDLED;
	}
	
	copy(Password[id], 31, Data);
	RegMenu(id);
	return PLUGIN_CONTINUE;
}
public NameChange(id) 
{
	if(!is_user_connected(id))
		return FMRES_IGNORED;
		
	new OldName[32], NewName[32], Name[32];
	get_user_name(id, Name, 31);
	pev(id, pev_netname, OldName, charsmax(OldName));
	if(OldName[0])
	{
		get_user_info(id, "name", NewName, charsmax(NewName));
		if(!equal(OldName, NewName))
		{
			set_user_info(id, "name", OldName);
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERNAMECHANGE");
			return FMRES_HANDLED;
		}
	}
	return FMRES_IGNORED;
}
stock bool:ValidMdl(Mdl[])
{
	if(containi(Mdl, ".mdl") != -1)
	{
		return true;
	}
	return false;
}
stock bool:Registered(id)
{
	new pFile, Data[2][32], Line[64], Name[32];
	get_user_name(id, Name, 31);
	pFile = fopen(RegisterFile, "rt");
	
	while(!feof(pFile))
	{
		fgets(pFile, Line, 63);
		
		parse(Line, Data[0], 31, Data[1], 31);
		
		if(equal(Data[0], Name))
		{
			copy(SavedPassword[id], 31, Data[1]);
			return true;
		}
	}
	
	fclose(pFile);
	
	return false;
}
stock Register(id, const rSavedPassword[])
{
	new pFile, Line[64], Name[32];
	get_user_name(id, Name, 31);
	pFile = fopen(RegisterFile, "at+");
	format(Line, 63, "^n^"%s^" ^"%s^"", Name, rSavedPassword);
	write_file(RegisterFile, Line);
	fclose(pFile);
}
stock Grenades(id)
{
	give_item(id, "weapon_hegrenade");
	give_item(id, "weapon_smokegrenade");
	give_item(id, "weapon_flashbang");
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/
Teşekkürler

@CSmiLeFaCe
@redarmygaming
@caddegarge

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10427
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Plugin editlermisiniz

Mesaj gönderen Taha Demirbaş »

@Revenqe Editlenmiş plugin ektedir.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
Revenqe
Mesajlar: 333
Kayıt: Pzt Ağu 08, 2016 2:09 am

Plugin editlermisiniz

Mesaj gönderen Revenqe »

@redarmygaming olmadi kardes yine sifirlaniyor bidaha incelermisin rica etsem

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10427
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Plugin editlermisiniz

Mesaj gönderen Taha Demirbaş »

Buyur aşağadaki kodda düzeltilmiştir.

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <colorchat>
#include <fun>

new const PLUGIN[] = "DASWRWAT";
new const VERSION[] = "1.1p";
new const AUTHOR[] = "DeRoiD";

#define MAX 50

#define PointsMin 3
#define PointsMax 8
#define Drop 10
#define MarkMin 25

#pragma semicolon 1

new WeaponNames[MAX][32], WeaponMdls[MAX][48], Weapons[MAX], WeaponDrop[MAX], AllWeapon;
new UsingWeapon[3][33], uWeapon[MAX][33], Chest[33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], SaveFile[48], RegisterFile[48], DefaultSkinFile[48], RangFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new DefaultSkin[31][32], NeedKills[30], Rangs[30][32];

new const eWeapon[][] =
{
   "weapon_famas", "weapon_usp", "weapon_awp", "weapon_mp5navy", "weapon_m3", "weapon_m4a1",
   "weapon_deagle", "weapon_ak47", "weapon_knife", "weapon_flashbang", "weapon_hegrenade",
   "weapon_smokegrenade", "weapon_c4"
};

new const FirstWeaponNames[][][] =
{
   { "AK47", "weapon_ak47" },
   { "M4A1", "weapon_m4a1" },
   { "AWP", "weapon_awp" },
   { "FAMAS", "weapon_famas" },
   { "MP5", "weapon_mp5navy" },
   { "SHOTGUN", "weapon_mp3" }
};

new const SecondaryWeaponNames[][][] =
{
   { "DEAGLE", "weapon_deagle" },
   { "USP", "weapon_usp" }
};

public plugin_precache() {
   new Line[128], Data[4][48], Len;
   AllWeapon++;
   get_configsdir(Folder, 47);
   format(SkinFile, 47, "%s/csgo/skins.cfg", Folder);
   format(SaveFile, 47, "%s/csgo/save.ini", Folder);
   format(RangFile, 47, "%s/csgo/rangs.cfg", Folder);
   format(RegisterFile, 47, "%s/csgo/reg.ini", Folder);
   format(DefaultSkinFile, 47, "%s/csgo/dskins.cfg", Folder);
   format(Prefix, 31, "[Global Offensive]");
   
   if(file_exists(RangFile))
   {
      for(new i; i < file_size(RangFile, 1); i++)
      {
         read_file(RangFile, i, Line, 127, Len);
         parse(Line, Data[0], 31, Data[1], 31);
         
         copy(Rangs[i], 31, Data[0]);
         NeedKills[i] = str_to_num(Data[1]);
      }
   }
   if(file_exists(SkinFile))
   {
      for(new i; i < file_size(SkinFile, 1); i++)
      {
         read_file(SkinFile, i, Line, 127, Len);
         
         if(strlen(Line) < 5 || Line[0] == ';')
            continue;
         
         parse(Line, Data[0], 31, Data[1], 31, Data[2], 47, Data[3], 31);
         
         Weapons[AllWeapon] = str_to_num(Data[0]);
         copy(WeaponNames[AllWeapon], 31, Data[1]);
         
         if(ValidMdl(Data[2])) {
            precache_model(Data[2]);
            copy(WeaponMdls[AllWeapon], 47, Data[2]);
         }
         
         WeaponDrop[AllWeapon] = str_to_num(Data[3]);
         AllWeapon++;
      }
   }
   if(file_exists(DefaultSkinFile))
   {
      for(new i; i < file_size(DefaultSkinFile, 1); i++)
      {
         read_file(DefaultSkinFile, i, Line, 127, Len);
         
         if(strlen(Line) < 5 || Line[0] == ';')
            continue;
         
         parse(Line, Data[0], 31, Data[1], 47);
         
         if(ValidMdl(Data[1])) {
            precache_model(Data[1]);
            copy(DefaultSkin[str_to_num(Data[0])], 47, Data[1]);
         }
      }
   }
}
public plugin_init() {
   register_dictionary("globaloffensive.txt");
   register_plugin(PLUGIN, VERSION, AUTHOR);
   register_cvar(PLUGIN, VERSION, FCVAR_SERVER);
   
   register_clcmd("say /menu", "MenuOpen");
   register_clcmd("say /reg", "RegMenu");
   register_clcmd("say /gun", "Guns");
   
   register_concmd("Cost", "MarketCost");
   register_concmd("Gift", "GiftPoint");
   register_concmd("UserPassword", "PlayerPassword");
   
   SayText = get_user_msgid("SayText");
   register_forward(FM_ClientUserInfoChanged, "NameChange");
   RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
   
   for(new i; i < sizeof(eWeapon); i++)
   {
      RegisterHam(Ham_Item_Deploy, eWeapon[i], "WeaponSwitch", 1);
   }
   
   register_clcmd("say", "Say");
   register_clcmd("say_team", "Say");
   
   set_task(67.3, "Message", 7217, _, _, "b");
}
public Message() 
{
   print_color(0, "!g%s%L", Prefix, LANG_SERVER, "MSG", PLUGIN, VERSION, AUTHOR);
}
public Guns(id) 
{
   if(Choosen[id] < 1)
   {
      Choosen[id] = 0;
      
   }
}
public PlayerSpawn(id) 
{
   if(is_user_alive(id))
   {
      Choosen[id] = 0;
      
      if(user_has_weapon(id, CSW_C4))
      {
       
         
         if(cs_get_user_team(id) == CS_TEAM_T)
         {
               
         }
         if(cs_get_user_team(id) == CS_TEAM_CT)
         {
                
      
         }
         
         return PLUGIN_HANDLED;
      }
      
      
      give_item(id, "weapon_knife");
      if(cs_get_user_team(id) == CS_TEAM_T)
      {
           
      }
      if(cs_get_user_team(id) == CS_TEAM_CT)
      {
            g
      
      }   
      
      
      if(cs_get_user_team(id) == CS_TEAM_CT)
      {
         cs_set_user_defuse(id, 1);
      }
   }
   return PLUGIN_CONTINUE;
}
public Say(id)
{
   new Chat[256], Name[32], cChat[256];
   read_args(Chat, 255);
   remove_quotes(Chat);
   get_user_name(id, Name, 31);
   
   if(strlen(Chat) > 1)
   {
      formatex(cChat, 255, "^4[%s] ^3%s^1: %s", Rangs[Rang[id]], Name, Chat);
   }
   
   ColorChat(0, TEAM_COLOR, cChat);
   return PLUGIN_HANDLED;
}
public MenuOpen(id)
{
   if(!Loged[id])
   {
      RegMenu(id);
      return;
   }
   
   MenuMod[id] = 0;
   Menu(id);
}
public client_death(Killer, Victim)
{
   if(Killer == Victim)
   {
      return PLUGIN_HANDLED;
   }
   
   Kills[Killer]++;
   
   if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
   {
      if(Kills[Killer] >= NeedKills[Rang[Killer]])
         Rang[Killer]++;
   }
   
   new pPont, Name[32];
   
   pPont += random_num(PointsMin, PointsMax);
   Points[Killer] += pPont;
   
   set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
   show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
   
   
   if(Drop >= random_num(1, 100))
   {
      get_user_name(Killer, Name, 31);
      new x = random_num(1, 2);
      if(x == 1)
      {
         pKey[Killer]++;
         print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
      }
      if(x == 2)
      {
         Chest[Killer]++;
         print_color(0, "!g%s%L", Prefix, LANG_SERVER, "FOUNDCHEST", Name);
      }
   }
   Save(Killer);
   return PLUGIN_CONTINUE;
}
public MarketCost(id)
{
   if(inMarket[id] || !Loged[id])
      return PLUGIN_HANDLED;
      
   new Data[32], Cost;
   read_args(Data, 31);
   remove_quotes(Data);
   
   Cost = str_to_num(Data);
   
   if(Cost < 0)
   {
      client_cmd(id, "messagemode Cost");
      return PLUGIN_HANDLED;
   }
   else if(MarkMin >= Cost)
   {
      print_color(id, "%s %L", Prefix, LANG_SERVER, "NOTENOUGHTMARKET", MarkMin);
      client_cmd(id, "messagemode Cost");
      return PLUGIN_HANDLED;
   }
   else
   {
      MarketPoints[id] = Cost;
      Menu(id);
      MenuMod[id] = 3;
      return PLUGIN_CONTINUE;
   }
   return PLUGIN_CONTINUE;
}
public GiftPoint(id)
{
   if(inMarket[id] || !Loged[id])
      return PLUGIN_HANDLED;
      
   new Data[32], Cost;
   read_args(Data, 31);
   remove_quotes(Data);
   
   Cost = str_to_num(Data);
   
   if(Cost < 0 || Points[id] < Cost)
   {
      client_cmd(id, "messagemode Gift");
      return PLUGIN_HANDLED;
   }
   else
   {
      aPoints[id] = Cost;
      Menu(id);
      MenuMod[id] = 5;
      return PLUGIN_CONTINUE;
   }
   return PLUGIN_CONTINUE;
}
public WeaponSwitch(Weapon) {
   new id = get_pdata_cbase(Weapon, 41, 4);
   new wid = cs_get_weapon_id(Weapon);
   
   if(id > 32 || id < 1)
   {
      return HAM_SUPERCEDE;
   }
   
   for(new i = 1; i < AllWeapon; i++)
   {
      if(i == UsingWeapon[0][id])
      {
         if(wid == Weapons[i])
         {
            set_pev(id, pev_viewmodel2, WeaponMdls[i]);
            return HAM_SUPERCEDE;
         }
      }
      else if(i == UsingWeapon[1][id])
      {
         if(wid == Weapons[i])
         {
            set_pev(id, pev_viewmodel2, WeaponMdls[i]);
            return HAM_SUPERCEDE;
         }
      }
      else if(i == UsingWeapon[2][id])
      {
         if(wid == Weapons[i])
         {
            set_pev(id, pev_viewmodel2, WeaponMdls[i]);
            return HAM_SUPERCEDE;
         }
      }
      
   }
   if(ValidMdl(DefaultSkin[wid]))
   {
      set_pev(id, pev_viewmodel2, DefaultSkin[wid]);
   }
   return HAM_IGNORED;
}
public ChestOpen(id)
{
   new rWeapon = random_num(1, AllWeapon);
   new rNum = random_num(1, 100);
   
   if(WeaponDrop[rWeapon] >= rNum)
   {
      new Name[32];
      get_user_name(id, Name, 31);
      print_color(id, "!g[CSGO]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[rWeapon]);
      uWeapon[rWeapon][id]++;
      Save(id);
   }
   else
   {
      set_task(0.1, "ChestOpen", id);
   }
}
public Menu(id)
{
   if(!Loged[id])
   {
      RegMenu(id);
      return;
   }
   
   new sMenu, Line[128];
   
   if(MenuMod[id] == -2)
   {
      formatex(Line, 127, "%s\r %L %L",
      Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
      sMenu = menu_create(Line, "MenuHandler");
      new String[32], All;
      for(new i = 1; i < AllWeapon; i++)
      {
         if(uWeapon[i][id] == 0)
            continue;
            
         num_to_str(i, String, 31);
         formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
         menu_additem(sMenu, Line, String);
         All++;
      }
      if(Chest[id] > 0)
      {
         formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
         menu_additem(sMenu, Line, "101");
         All++;
      }
      if(pKey[id] > 0)
      {
         formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
         menu_additem(sMenu, Line, "102");
         All++;
      }
      if(All == 0)
      {
         MenuMod[id] = 0;
         Menu(id);
      }
   }
   else if(MenuMod[id] == -1)
   {
      formatex(Line, 127, "%s\r %L %L",
      Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
      sMenu = menu_create(Line, "MenuHandler");
      new String[32], All;
      for(new i = 1; i < AllWeapon; i++)
      {
         if(uWeapon[i][id] == 0)
            continue;
            
         num_to_str(i, String, 31);
         formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
         menu_additem(sMenu, Line, String);
         All++;
      }
      if(Chest[id] > 0)
      {
         formatex(Line, 127, "%L", LANG_SERVER, "CHESTPIECE", Chest[id]);
         menu_additem(sMenu, Line, "101");
         All++;
      }
      if(pKey[id] > 0)
      {
         formatex(Line, 127, "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
         menu_additem(sMenu, Line, "102");
         All++;
      }
      if(All == 0)
      {
         MenuMod[id] = 0;
         Menu(id);
      }
   }
   else if(MenuMod[id] == 0)
   {
      formatex(Line, 127, "%s\r %L %L",
      Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
      sMenu = menu_create(Line, "MenuHandler");
      formatex(Line, 127, "%L", LANG_SERVER, "MENUTOSKINS");
      menu_additem(sMenu, Line, "1");
      
      if(!inMarket[id])
      {
         formatex(Line, 127, "%L", LANG_SERVER, "MENUTOCHESTOPEN");
         menu_additem(sMenu, Line, "2");
      }
      else
      {
         formatex(Line, 127, "%L %L",
         LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
         menu_additem(sMenu, Line, "0");
      }
      
      formatex(Line, 127, "%L", LANG_SERVER, "MENUTOMARKET");
      menu_additem(sMenu, Line, "3");
      
      if(!inMarket[id])
      {
         formatex(Line, 127, "%L", LANG_SERVER, "MENUTODUSTBIN");
         menu_additem(sMenu, Line, "4");
      }
      else
      {
         formatex(Line, 127, "%L %L",
         LANG_SERVER, "MENUTODUSTBIN", LANG_SERVER, "INMARKET");
         menu_additem(sMenu, Line, "0");
      }
      
      if(!inMarket[id])
      {
         formatex(Line, 127, "%L%L",
         LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
         menu_additem(sMenu, Line, "5");
      }
      else
      {
         formatex(Line, 127, "%L %L%L",
         LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "INMARKET", LANG_SERVER, "MRANG", Rangs[Rang[id]+1], Kills[id], NeedKills[Rang[id]]);
         menu_additem(sMenu, Line, "0");
      }
   }
   else if(MenuMod[id] == 1)
   {
      formatex(Line, 127, "%s\r %L %L",
      Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
      sMenu = menu_create(Line, "MenuHandler");
      new String[32], All;
      for(new i = 1; i < AllWeapon; i++)
      {
         if(uWeapon[i][id] == 0)
            continue;
            
         formatex(String, 31, "%d %d", i, Weapons[i]);
         formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
         menu_additem(sMenu, Line, String);
         All++;
      }
      if(All == 0)
      {
         MenuMod[id] = 0;
         Menu(id);
      }
   }
   else if(MenuMod[id] == 2)
   {
      formatex(Line, 127, "%s\r %L %L",
      Prefix, LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "YPOINT", Points[id]);
      sMenu = menu_create(Line, "MenuHandler");
      formatex(Line, 127, "%L", LANG_SERVER, "CHESTSANDKEYS", Chest[id], pKey[id]);
      menu_additem(sMenu, Line, "1");
   }
   else if(MenuMod[id] == 3)
   {
      formatex(Line, 127, "%s\r %L %L",
      Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
      sMenu = menu_create(Line, "MenuHandler");
      new String[32], All;
      if(!inMarket[id])
      {
         for(new i = 1; i < AllWeapon; i++)
         {
            if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
            {
               formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
               All++;
            }
         }
         
         if(101 == WeaponinMarket[id] && Chest[id] > 0)
         {
            formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEC", MarketPoints[id]);
            All++;
         }
         if(102 == WeaponinMarket[id] && pKey[id] > 0)
         {
            formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
            All++;
         }
         
         if(All == 0)
            formatex(Line, 127, "%L", LANG_SERVER, "MARKETPLACECH");
         menu_additem(sMenu, Line, "-1");
      }
      
      if(!inMarket[id])
         formatex(Line, 127, "%L", LANG_SERVER, "TOMARKETM");
      else
         formatex(Line, 127, "%L", LANG_SERVER, "BACKMARKET");
      menu_additem(sMenu, Line, "0");
      
      new Name[32];
      for(new x; x < 32; x++)
      {
         if(!is_user_connected(x))
            continue;
         
         if(inMarket[x] && MarketPoints[x] > 0)
         {
            num_to_str(x, String, 31);
            get_user_name(x, Name, 31);
            if(101 == WeaponinMarket[x])
            {
               formatex(Line, 127, "%L", LANG_SERVER, "SELLERC", Name, MarketPoints[x]);
               menu_additem(sMenu, Line, String);
            }
            else if(102 == WeaponinMarket[x])
            {
               formatex(Line, 127, "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
               menu_additem(sMenu, Line, String);
            }
            else
            {
               formatex(Line, 127, "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
               menu_additem(sMenu, Line, String);
            }
         }
      }
   }
   else if(MenuMod[id] == 4)
   {
      formatex(Line, 127, "%s\r %L %L",
      Prefix, LANG_SERVER, "MENUTODUSTBIN", LANG_SERVER, "YPOINT", Points[id]);
      sMenu = menu_create(Line, "MenuHandler");
      new String[32], All;
      for(new i = 1; i < AllWeapon; i++)
      {
         if(uWeapon[i][id] == 0)
            continue;
            
         num_to_str(i, String, 31);
         formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]);
         menu_additem(sMenu, Line, String);
         All++;
      }
      if(All == 0)
      {
         MenuMod[id] = 0;
         Menu(id);
      }
   }
   else if(MenuMod[id] == 5)
   {
      formatex(Line, 127, "%s\r %L %L",
      Prefix, LANG_SERVER, "MENUTOGIFT", LANG_SERVER, "YPOINT", Points[id]);
      sMenu = menu_create(Line, "MenuHandler");
      new All, Name[32], String[32];
      get_user_name(aTarget[id], Name, 31);
      
      if(aTarget[id] > 0 && is_user_alive(aTarget[id]))
      {
         formatex(Line, 127, "%L", LANG_SERVER, "GIFTT", Name);
         menu_additem(sMenu, Line, "-1");
         for(new i = 1; i < AllWeapon; i++)
         {
            if(i == aThing[id] && uWeapon[i][id] > 0)
            {
               formatex(Line, 127, "%L", LANG_SERVER, "GIFTS", WeaponNames[i]);
               menu_additem(sMenu, Line, "-2");
               All++;
            }
         }
         
         if(aThing[id] == 0 && All == 0)
         {
            formatex(Line, 127, "%L", LANG_SERVER, "GIFTCH");
            menu_additem(sMenu, Line, "-2");
         }
         else if(aThing[id] > 100)
         {
            if(101 == aThing[id])
            {
               formatex(Line, 127, "%L", LANG_SERVER, "GIFTC");
            }
            if(102 == aThing[id])
            {
               formatex(Line, 127, "%L", LANG_SERVER, "GIFTK");
            }
            menu_additem(sMenu, Line, "-2");
         }
         
         formatex(Line, 127, "%L", LANG_SERVER, "GIFTPOINTS", aPoints[id]);
         menu_additem(sMenu, Line, "-4");
         formatex(Line, 127, "%L", LANG_SERVER, "SENDGIFT");
         menu_additem(sMenu, Line, "-3");
      }
      else
      {
         for(new i; i < 32; i++)
         {
            if(is_user_connected(i))
            {
               get_user_name(i, Name, 31);
               num_to_str(i, String, 31);
               menu_additem(sMenu, Name, String);
            }
         }
      }
   }
   menu_display(id, sMenu);
}
public MenuHandler(id, gMenu, Key)
{   
   if(Key == MENU_EXIT)
   {
      MenuMod[id] = 0;
      menu_destroy(gMenu);
      return PLUGIN_HANDLED;
   }
   new aMenu[2], Data[4][32], sKey[32], Name[32], mName[32];
   menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
   
   parse(Data[0], sKey, 31);
   Key = str_to_num(sKey);
   
   if(MenuMod[id] == -2)
   {
      aThing[id] = Key;
      MenuMod[id] = 5;
      Menu(id);
      return PLUGIN_HANDLED;
   }
   if(MenuMod[id] == -1)
   {
      MenuMod[id] = 3;
      WeaponinMarket[id] = Key;
      client_cmd(id, "messagemode Cost");
      Menu(id);
      return PLUGIN_HANDLED;
   }
   else if(MenuMod[id] == 0)
   {
      MenuMod[id] = Key;
      Menu(id);
      return PLUGIN_HANDLED;
   }
   else if(MenuMod[id] == 1)
   {
      parse(Data[0], Data[2], 31, Data[3], 31);
      
      if(str_to_num(Data[3]) == 16 || str_to_num(Data[3]) == 26)
         UsingWeapon[1][id] = str_to_num(Data[2]);
      else if(str_to_num(Data[3]) == 29)
         UsingWeapon[2][id] = str_to_num(Data[2]);
      else
         UsingWeapon[0][id] = str_to_num(Data[2]);
      return PLUGIN_HANDLED;
   }
   else if(MenuMod[id] == 2)
   {
      if(Key == 1)
      {
         if(Chest[id] > 0 && pKey[id] > 0)
         {
            Chest[id]--;
            pKey[id]--;
            ChestOpen(id);
            Menu(id);
            return PLUGIN_HANDLED;
         }
      }
   }
   else if(MenuMod[id] == 3)
   {
      if(Key == -1)
      {
         MenuMod[id] = -1;
         Menu(id);
         return PLUGIN_HANDLED;
      }
      else if(Key == 0)
      {
         if(inMarket[id])
            inMarket[id] = false;
         else if(MarketPoints[id] > 0)
         {
            get_user_name(id, Name, 31);
            print_color(0, "!g%s%L",
            Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
            inMarket[id] = true;
         }
         Menu(id);
         return PLUGIN_HANDLED;
      }
      else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
      {
         get_user_name(Key, Name, 31);
         get_user_name(id, mName, 31);
         if(WeaponinMarket[Key] < 101)
         {
            print_color(0, "!g%s%L",
            Prefix, LANG_SERVER, "BUYMARKETITEM",
            mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
            uWeapon[WeaponinMarket[Key]][id]++;
            uWeapon[WeaponinMarket[Key]][Key]--;
         }
         else if(WeaponinMarket[Key] == 101)
         {
            print_color(0, "!g%s%L",
            Prefix, LANG_SERVER, "BUYMARKETCHEST",
            mName, MarketPoints[Key], Name);
            Chest[id]++;
            Chest[Key]--;
         }
         else if(WeaponinMarket[Key] == 102)
         {
            print_color(0, "!g%s%L",
            Prefix, LANG_SERVER, "BUYMARKETKEY",
            mName, MarketPoints[Key], Name);
            pKey[id]++;
            pKey[Key]--;
         }
         Points[Key] += MarketPoints[Key];
         Points[id] -= MarketPoints[Key];
         Save(Key);
         Save(id);
         inMarket[Key] = false;
         MarketPoints[Key] = 0;
         WeaponinMarket[Key] = 0;
         MenuMod[id] = 0;
      }
   }
   else if(MenuMod[id] == 4)
   {
      uWeapon[Key][id]--;
      Menu(id);
      Save(id);
      return PLUGIN_HANDLED;
   }
   else if(MenuMod[id] == 5)
   {
      if(Key == -1)
      {
         aTarget[id] = 0;
      }
      if(Key == -2)
      {
         MenuMod[id] = -2;
      }
      if(Key == -3)
      {
         if(uWeapon[aThing[id]][id] > 0)
         {
            uWeapon[aThing[id]][aTarget[id]]++;
            uWeapon[aThing[id]][id]--;
            Points[aTarget[id]] += aPoints[id];
            Points[id] -= aPoints[id];
            Save(aTarget[id]);
            Save(id);
            MenuMod[id] = 0;
            aThing[id] = 0;
            aTarget[id] = 0;
            aPoints[id] = 0;
            print_color(id, "!g%s%L",
            Prefix, LANG_SERVER, "GIFTSUCCESS");
         }
      }
      if(Key == -4)
      {
         client_cmd(id, "messagemode Gift");
      }
      if(Key > 0)
         aTarget[id] = Key;
      Menu(id);
      return PLUGIN_HANDLED;
   }
   MenuMod[id] = 0;
   return PLUGIN_CONTINUE;
}
stock print_color(const id, const input[], any:...)
{
   new Count = 1, Players[32];
   static Msg[191];
   vformat(Msg, 190, input, 3);
   
   replace_all(Msg, 190, "!g", "^4");
   replace_all(Msg, 190, "!y", "^1");
   replace_all(Msg, 190, "!t", "^3");

   if(id) Players[0] = id; else get_players(Players, Count, "ch");
   {
      for (new i = 0; i < Count; i++)
      {
         if (is_user_connected(Players[i]))
         {
            message_begin(MSG_ONE_UNRELIABLE, SayText, _, Players[i]);
            write_byte(Players[i]);
            write_string(Msg);
            message_end();
         }
      }
   }
   return PLUGIN_HANDLED;
}
public client_putinserver(id)
{
   Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, Chest[id] = 0;
   for(new i; i < AllWeapon; i++)
   {
      uWeapon[i][id] = 0;
   }
   Load(id);
   Password[id] = "";
   SavedPassword[id] = "";
   Loged[id] = false;
}
public Load(id)
{
   if(!is_user_connected(id))
   {
      return PLUGIN_HANDLED;
   }
   
   new pFile, Name[32];
   pFile = fopen(SaveFile, "rt");
   get_user_name(id, Name, 31);
   
   if(pFile)
   {
      new Line[256];
      new LineName[32], tData[5][8], Data[MAX][8];
      
      while(!feof(pFile))
      {
         fgets(pFile, Line, 255);
         
         if(Line[0] == ';' || strlen(Line) < 2)
            continue;
            
         parse(Line, LineName, 31);
         
         if(equal(LineName, Name))
         {
            parse(Line, LineName, 31, tData[0], 7, tData[1], 7, tData[2], 7, tData[3], 7, tData[4], 7,
            Data[0], 7, Data[1], 7, Data[2], 7, Data[3], 7, Data[4], 7, Data[5], 7,
            Data[6], 7, Data[7], 7, Data[8], 7, Data[9], 7, Data[10], 7, Data[11], 7, Data[12], 7,
            Data[13], 7, Data[14], 7, Data[15], 7, Data[16], 7, Data[17], 7, Data[18], 7, Data[19], 7,
            Data[20], 7, Data[21], 7, Data[22], 7, Data[23], 7, Data[24], 7, Data[25], 7, Data[26], 7,
            Data[27], 7, Data[28], 7, Data[29], 7, Data[30], 7, Data[31], 7, Data[32], 7, Data[33], 7,
            Data[34], 7, Data[35], 7, Data[36], 7, Data[37], 7, Data[38], 7, Data[39], 7, Data[40], 7,
            Data[41], 7, Data[42], 7, Data[43], 7, Data[44], 7, Data[45], 7, Data[46], 7, Data[47], 7,
            Data[48], 7, Data[49], 7);
            
            Kills[id] = str_to_num(tData[0]);
            Points[id] = str_to_num(tData[1]);
            pKey[id] = str_to_num(tData[2]);
            Chest[id] = str_to_num(tData[3]);
            Rang[id] = str_to_num(tData[4]);
            
            for(new i; i < MAX; i++)
            {
               uWeapon[i][id] = str_to_num(Data[i]);
            }
            return PLUGIN_HANDLED;
         }
      }
      fclose(pFile);
   }
   return PLUGIN_CONTINUE;
}
public Save(id)
{
   if(!is_user_connected(id))
   {
      return PLUGIN_HANDLED;
   }
   
   new pFile, Name[32];
   pFile = fopen(SaveFile, "rt");
   get_user_name(id, Name, 31);
   
   if(pFile)
   {
      new Line[192], Lines;
      
      new LineName[32], bool:Found;
      
      while(!feof(pFile))
      {
         fgets(pFile, Line, 191);
         
         if(Line[0] == ';' || strlen(Line) < 2)
            continue;
            
         parse(Line, LineName, 31);
         
         if(equal(LineName, Name) && !Found)
         {
            new mLine[256], LoadWeapon[256], String[8];
            
            format(String, 7, "^"%i^" ", Kills[id]);
            add(LoadWeapon, 255, String);
            
            format(String, 7, "^"%i^" ", Points[id]);
            add(LoadWeapon, 255, String);
            
            format(String, 7, "^"%i^" ", pKey[id]);
            add(LoadWeapon, 255, String);
            
            format(String, 7, "^"%i^" ", Chest[id]);
            add(LoadWeapon, 255, String);
            
            format(String, 7, "^"%i^" ", Rang[id]);
            add(LoadWeapon, 255, String);
               
            for(new i; i < MAX; i++)
            {
               format(String, 7, "^"%i^" ", uWeapon[i][id]);
               add(LoadWeapon, 255, String);
            }
            
            formatex(mLine, 255, "^"%s^" %s", Name, LoadWeapon);
            write_file(SaveFile, mLine, Lines);
            Found = true;
            return PLUGIN_HANDLED;
         }
         
         Lines++;
      }
      
      if(!Found)
      {
         new mLine[256], LoadWeapon[256], String[8];
         
         format(String, 7, "^"%i^" ", Kills[id]);
         add(LoadWeapon, 255, String);
         
         format(String, 7, "^"%i^" ", Points[id]);
         add(LoadWeapon, 255, String);
         
         format(String, 7, "^"%i^" ", pKey[id]);
         add(LoadWeapon, 255, String);
         
         format(String, 7, "^"%i^" ", Chest[id]);
         add(LoadWeapon, 255, String);
         
         format(String, 7, "^"%i^" ", Rang[id]);
         add(LoadWeapon, 255, String);
         
         for(new i; i < MAX; i++)
         {
            format(String, 7, "^"%i^" ", uWeapon[i][id]);
            add(LoadWeapon, 255, String);
         }
         
         formatex(mLine, 255, "^"%s^" %s", Name, LoadWeapon);
         write_file(SaveFile, mLine);
         return PLUGIN_HANDLED;
      }
      fclose(pFile);
   }
   return PLUGIN_CONTINUE;
}
public WeaponMenu(id)
{
   new String[128], Name[32];
   format(String, 127, "%s %L", Prefix, LANG_SERVER, "WPM");
   new wMenu = menu_create(String, "wMenuHandler");
   get_user_name(id, Name, 31);
   
   if(Choosen[id] == 0)
   {
      for(new i; i < sizeof(FirstWeaponNames); i++)
      {
         format(String, 127, "%s", FirstWeaponNames[i][0]);
         menu_additem(wMenu, String, FirstWeaponNames[i][1]);
      }
   }
   if(Choosen[id] == 1)
   {
      for(new i; i < sizeof(SecondaryWeaponNames); i++)
      {
         format(String, 127, "%s", SecondaryWeaponNames[i][0]);
         menu_additem(wMenu, String, SecondaryWeaponNames[i][1]);
      }
   }
   
   menu_display(id, wMenu);
}
public wMenuHandler(id, gMenu, item)
{   
   if(item == MENU_EXIT)
   {
      menu_destroy(gMenu);
      return;
   }
   new data[32], name[64];
   new access, callback;
   menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
   
   give_item(id, data);
   Choosen[id]++;
   
   if(Choosen[id] >= 2)
      Grenades(id);
      
   WeaponMenu(id);
}
public RegMenu(id)
{
   new String[128], Name[32];
   format(String, 127, "%s %L", Prefix, LANG_SERVER, "RMMAIN");
   new rMenu = menu_create(String, "rMenuHandler");
   get_user_name(id, Name, 31);
   
   format(String, 127, "%L", LANG_SERVER, "RMACCOUNT", Name);
   menu_additem(rMenu, String, "0");
   
   if(!Registered(id))
   {
      format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
      menu_additem(rMenu, String, "1");
      
      if(strlen(Password[id]) > 4)
      {
         format(String, 127, "%L", LANG_SERVER, "RMR");
         menu_additem(rMenu, String, "2");
      }
      else
      {
         format(String, 127, "\d%L", LANG_SERVER, "RMR");
         menu_additem(rMenu, String, "0");
      }
   }
   else
   {
      if(!Loged[id])
      {
         format(String, 127, "%L", LANG_SERVER, "RMP", Password[id]);
         menu_additem(rMenu, String, "1");
         
         if(equal(SavedPassword[id], Password[id]))
         {
            format(String, 127, "%L", LANG_SERVER, "RMLOGIN");
            menu_additem(rMenu, String, "3");
         }
         else
         {
            format(String, 127, "\d%L", LANG_SERVER, "RMLOGIN");
            menu_additem(rMenu, String, "0");
         }
      }
      else
      {
         format(String, 127, "%L", LANG_SERVER, "RMLOGOUT");
         menu_additem(rMenu, String, "-1");
      }
   }
   
   menu_display(id, rMenu);
}
public rMenuHandler(id, gMenu, item)
{   
   if(item == MENU_EXIT)
   {
      menu_destroy(gMenu);
      return;
   }
   new data[9], name[64], Key;
   new access, callback;
   menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
   Key = str_to_num(data);
   
   if(Key == -1)
      ToLogout(id);
   if(Key == 0)
      RegMenu(id);
   if(Key == 1)
   {
      client_cmd(id, "messagemode UserPassword");
      RegMenu(id);
   }
   if(Key == 2)
   {
      print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
      Register(id, Password[id]);
      copy(SavedPassword[id], 31, Password[id]);
      Loged[id] = true;
      Menu(id);
   }
   if(Key == 3)
   {
      if(equal(SavedPassword[id], Password[id])) {
         Loged[id] = true;
         print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
         Menu(id);
      }
   }
}
public ToLogout(id)
{
   if(Loged[id])
   {
      Loged[id] = false;
      Password[id] = "";
      print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
   }
}
public PlayerPassword(id)
{
   new Data[32];
   read_args(Data, 31);
   remove_quotes(Data);
   
   if(strlen(Data) < 5)
   {
      print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSHORT");
      client_cmd(id, "messagemode UserPassword");
      return PLUGIN_HANDLED;
   }
   
   if(Loged[id])
   {
      return PLUGIN_HANDLED;
   }
   
   copy(Password[id], 31, Data);
   RegMenu(id);
   return PLUGIN_CONTINUE;
}
public NameChange(id) 
{
   if(!is_user_connected(id))
      return FMRES_IGNORED;
      
   new OldName[32], NewName[32], Name[32];
   get_user_name(id, Name, 31);
   pev(id, pev_netname, OldName, charsmax(OldName));
   if(OldName[0])
   {
      get_user_info(id, "name", NewName, charsmax(NewName));
      if(!equal(OldName, NewName))
      {
         set_user_info(id, "name", OldName);
         print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERNAMECHANGE");
         return FMRES_HANDLED;
      }
   }
   return FMRES_IGNORED;
}
stock bool:ValidMdl(Mdl[])
{
   if(containi(Mdl, ".mdl") != -1)
   {
      return true;
   }
   return false;
}
stock bool:Registered(id)
{
   new pFile, Data[2][32], Line[64], Name[32];
   get_user_name(id, Name, 31);
   pFile = fopen(RegisterFile, "rt");
   
   while(!feof(pFile))
   {
      fgets(pFile, Line, 63);
      
      parse(Line, Data[0], 31, Data[1], 31);
      
      if(equal(Data[0], Name))
      {
         copy(SavedPassword[id], 31, Data[1]);
         return true;
      }
   }
   
   fclose(pFile);
   
   return false;
}
stock Register(id, const rSavedPassword[])
{
   new pFile, Line[64], Name[32];
   get_user_name(id, Name, 31);
   pFile = fopen(RegisterFile, "at+");
   format(Line, 63, "^n^"%s^" ^"%s^"", Name, rSavedPassword);
   write_file(RegisterFile, Line);
   fclose(pFile);
}
stock Grenades(id)
{
   give_item(id, "weapon_hegrenade");
   give_item(id, "weapon_smokegrenade");
   give_item(id, "weapon_flashbang");
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
*/

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10427
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Plugin editlermisiniz

Mesaj gönderen Taha Demirbaş »

@Revenqe Geri dönüşe baktım. Attığınız kod hatalı editte hiçbir sıkıntı gözükmüyor.

Link:
Linklerini gizle
Linki Kopyala
Cevapla