Addons Global Offensive zorken+idei(Barlap+self-hate)

Descarcari de addons-uri si discutii despre acestea.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
1aurwtf
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 25
Joined: 18 Dec 2019, 05:12
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Reputatie: Utilizator neserios (tepar)
Fond eXtream: 0
Has thanked: 1 time

15 Jul 2020, 14:05

Megatron wrote:
28 Apr 2020, 20:07
imi asum warnul

Adddons de KA'KAT se crede mare scripter si zorken puli mele un copil de 11 ani care imi s.... p..... de . g... i.....t asta mare IQ ai sa editezi un plugin si sa furi source code de la rusi si sa ceri ajutor acolo sa iti fac ei si dupaia te pui autor copile iti dau doua palete de iti sar remakurile din casa
zorken ai noroc ca suntem in carantina ca daca stiam unde stai cautam pe dark web assasin sa vina dupa tine cineva sa imi dea IP-ul lui un moderator PM il platesc doar sa primesc IP lui cel real ca ori cum il prind intro buna zi....


si restul care il copieaza sau il editeaza sunteti niste copy paste ieftine

MAI lasati oameniii cu cs:go rekakurile voastre ca inebunitii lumea sunt atatea topic-uri MILIARDE cu cs:go remake si toate sunt la fel doar skin-urile sunt

schimbate si adaugate ceva in plus sau baza modificata si gata te dai mare CREATOR si te crezi autor

CSGO KAKA mai lasati csgo-urile remake cand aud de ele imi vine sa fomit

Mai bine ma joc addonsuri cu zombie cso si zombie escape de cat cs:go rekaka

P.S NUBO
RAMNE ADEVARATUL CREATOR AL ACESTUI ADDONS EL DETIN TOT CE ESTE ORIGINAL IN EL VOI SUNTETI DOAR O COPIE IEFTINA CARE COPIATI VALOREA ADEVARATA SI EDITATI
Nu va mai puneti addons cs:go remake by ...... mai bine addons cs:go remake by nubo edited by zorken asa suna mai bine :)) copiii
tu nu ai bani sa mananci si platesti 6k pe deep web, interesant :))
Nu ma cauta pentru cacaturi ce tin de jocuri.
Pentru chestii serioase, pm.
RoyalServer 2
Filiq_
Utilizator neserios
Utilizator neserios
Posts: 847
Joined: 02 Nov 2014, 18:21
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Reputatie: Fost Scripter eXtreamCS
Utilizator neserios
Fond eXtream: 0
Location: Constanta
Has thanked: 40 times
Been thanked: 30 times

16 Jul 2020, 14:44

1aurwtf wrote:
15 Jul 2020, 14:05
Megatron wrote:
28 Apr 2020, 20:07
imi asum warnul

Adddons de KA'KAT se crede mare scripter si zorken puli mele un copil de 11 ani care imi s.... p..... de . g... i.....t asta mare IQ ai sa editezi un plugin si sa furi source code de la rusi si sa ceri ajutor acolo sa iti fac ei si dupaia te pui autor copile iti dau doua palete de iti sar remakurile din casa
zorken ai noroc ca suntem in carantina ca daca stiam unde stai cautam pe dark web assasin sa vina dupa tine cineva sa imi dea IP-ul lui un moderator PM il platesc doar sa primesc IP lui cel real ca ori cum il prind intro buna zi....


si restul care il copieaza sau il editeaza sunteti niste copy paste ieftine

MAI lasati oameniii cu cs:go rekakurile voastre ca inebunitii lumea sunt atatea topic-uri MILIARDE cu cs:go remake si toate sunt la fel doar skin-urile sunt

schimbate si adaugate ceva in plus sau baza modificata si gata te dai mare CREATOR si te crezi autor

CSGO KAKA mai lasati csgo-urile remake cand aud de ele imi vine sa fomit

Mai bine ma joc addonsuri cu zombie cso si zombie escape de cat cs:go rekaka

P.S NUBO
RAMNE ADEVARATUL CREATOR AL ACESTUI ADDONS EL DETIN TOT CE ESTE ORIGINAL IN EL VOI SUNTETI DOAR O COPIE IEFTINA CARE COPIATI VALOREA ADEVARATA SI EDITATI
Nu va mai puneti addons cs:go remake by ...... mai bine addons cs:go remake by nubo edited by zorken asa suna mai bine :)) copiii
tu nu ai bani sa mananci si platesti 6k pe deep web, interesant :))
incet, incet, incep sa cred ca acest megatron are probleme grave la cap
https://discord.gg/VABVdhXMrK ZM CSO server in working..
The Kalu
Fost administrator
Fost administrator
Posts: 13707
Joined: 09 Oct 2010, 12:39
Detinator Steam: Da
CS Status: In grajd!
SteamID: kalulord
Reputatie: Fost Administrator
Fost membru Club eXtreamCS (6 luni)
Nume anterior: Terra
Location: Romania, Ploiesti
Has thanked: 328 times
Been thanked: 646 times
Contact:

16 Jul 2020, 15:49

Are contul Jucator acuma, ca si parere personala desi nu imi place sa imi dau cu parerea aiurea tind sa cred ca acest copil are probleme de sanatate la cap(depresie, schizofrenie etc).Sunt multe persoane ca el cu acces la internet si scriu ce le debiteaza mintea dandu ne impresia ca scriu la misto pe cand adevarul este mai crunt, nu as vrea sa fiu in locul lui dar are nevoie de o internare si sunt sigur ca are tratament ambulatoriu fiind in grija parintilor.Nu imi place sa ma iau de el sau sa ii dau ban ca totusi este si el un copil care are aceleasi drepturi, totusi in asemenea cazuri trebuiesc luate masuri si eliminata problema!
Image
User avatar
Jucator
Membru, skill +1
Membru, skill +1
Posts: 283
Joined: 15 Jul 2017, 21:38
Detinator Steam: Da
Fond eXtream: 0
Location: PornHUB
Has thanked: 36 times
Been thanked: 13 times
Contact:

16 Jul 2020, 17:16

The Kalu wrote:
16 Jul 2020, 15:49
Are contul Jucator acuma, ca si parere personala desi nu imi place sa imi dau cu parerea aiurea tind sa cred ca acest copil are probleme de sanatate la cap(depresie, schizofrenie etc).Sunt multe persoane ca el cu acces la internet si scriu ce le debiteaza mintea dandu ne impresia ca scriu la misto pe cand adevarul este mai crunt, nu as vrea sa fiu in locul lui dar are nevoie de o internare si sunt sigur ca are tratament ambulatoriu fiind in grija parintilor.Nu imi place sa ma iau de el sau sa ii dau ban ca totusi este si el un copil care are aceleasi drepturi, totusi in asemenea cazuri trebuiesc luate masuri si eliminata problema!
You here centered 🤭



Numele meu
Unde stau +ss
| Afiseaza codul
MILSUGI?ai luat țeapă 
User avatar
1aurwtf
Utilizator neserios (tepar)
Utilizator neserios (tepar)
Posts: 25
Joined: 18 Dec 2019, 05:12
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Reputatie: Utilizator neserios (tepar)
Fond eXtream: 0
Has thanked: 1 time

16 Jul 2020, 22:23

=)))))))))))))))))))))))))))))))))))))) numele tau e Gheorghe si cu asta am spus tot =]]]]]]]]]]]]]]]]
Nu ma cauta pentru cacaturi ce tin de jocuri.
Pentru chestii serioase, pm.
AdrianJrr
Membru, skill 0
Membru, skill 0
Posts: 45
Joined: 25 Aug 2017, 17:14
Detinator Steam: Da
CS Status: GO.ERAZER.RO
Detinator server CS: GO.ERAZER.RO
SteamID: STEAM_0:1:443307992
Fond eXtream: 0
Location: Giurgiu
Been thanked: 1 time
Contact:

02 Dec 2020, 17:00

Nu apare rang-ul actual + kill-uriile necesare in meniu
Daca omori raman neschimbate kill-urile de la Need Kill, iar la unii le da 50, altii 100, altii 1050
Am pus exact ca modelul de l-a pus Capy mai sus la skin-uri si nu se deschid cuferele, spune ca nu exista skin-uri
Vreo rezolvare?
FORUM: WWW.ERAZER.RO
DNS: CSGO.ERAZER.RO
IP + PORT: 89.44.246.29:27015
Shadows Adi
Membru, skill +1
Membru, skill +1
Posts: 349
Joined: 26 Jan 2020, 18:52
Detinator Steam: Da
CS Status: 0x416469
SteamID: shadowsadi120
Fond eXtream: 0
Has thanked: 14 times
Been thanked: 50 times

03 Dec 2020, 08:16

AdrianJrr wrote:
02 Dec 2020, 17:00
Nu apare rang-ul actual + kill-uriile necesare in meniu
Daca omori raman neschimbate kill-urile de la Need Kill, iar la unii le da 50, altii 100, altii 1050
Am pus exact ca modelul de l-a pus Capy mai sus la skin-uri si nu se deschid cuferele, spune ca nu exista skin-uri
Vreo rezolvare?
Salut, incearca acest mod, poate o sa-ti placa: post2800796.html
AdrianJrr
Membru, skill 0
Membru, skill 0
Posts: 45
Joined: 25 Aug 2017, 17:14
Detinator Steam: Da
CS Status: GO.ERAZER.RO
Detinator server CS: GO.ERAZER.RO
SteamID: STEAM_0:1:443307992
Fond eXtream: 0
Location: Giurgiu
Been thanked: 1 time
Contact:

04 Dec 2020, 21:05

Shadows Adi wrote:
03 Dec 2020, 08:16
AdrianJrr wrote:
02 Dec 2020, 17:00
Nu apare rang-ul actual + kill-uriile necesare in meniu
Daca omori raman neschimbate kill-urile de la Need Kill, iar la unii le da 50, altii 100, altii 1050
Am pus exact ca modelul de l-a pus Capy mai sus la skin-uri si nu se deschid cuferele, spune ca nu exista skin-uri
Vreo rezolvare?
Salut, incearca acest mod, poate o sa-ti placa: post2800796.html
Capy o rezolvare te rog? :)
FORUM: WWW.ERAZER.RO
DNS: CSGO.ERAZER.RO
IP + PORT: 89.44.246.29:27015
User avatar
Capy Trifoi
Membru, skill 0
Membru, skill 0
Posts: 61
Joined: 23 Apr 2020, 07:43
Detinator Steam: Da
CS Status: On
Detinator server CS: RESPAWN.CS-GAME.RO
SteamID: capymuncasitalent
Fond eXtream: 0
Has thanked: 5 times
Been thanked: 5 times

06 Dec 2020, 11:33

AdrianJrr wrote:
04 Dec 2020, 21:05
Shadows Adi wrote:
03 Dec 2020, 08:16
AdrianJrr wrote:
02 Dec 2020, 17:00
Nu apare rang-ul actual + kill-uriile necesare in meniu
Daca omori raman neschimbate kill-urile de la Need Kill, iar la unii le da 50, altii 100, altii 1050
Am pus exact ca modelul de l-a pus Capy mai sus la skin-uri si nu se deschid cuferele, spune ca nu exista skin-uri
Vreo rezolvare?
Salut, incearca acest mod, poate o sa-ti placa: post2800796.html
Capy o rezolvare te rog? :)
NU SUNT 100% SIGUR CA ESTE CORECT CE-TI SCRIU AICI PENTRU CA NU AM MAI LUCRAT CU ACEST MOD DE CAND L-AM POSTAT
Problema cu meniu se rezolva la restart de server
Functia de need kill din cate mai tin minte nu merge sau are alt id
Iar la skin-uri ai adaugat si modelele?

Image
B3ta_Fir3
Membru, skill 0
Membru, skill 0
Posts: 59
Joined: 03 May 2020, 13:12
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: CSO.DARKCS.RO
Fond eXtream: 0
Has thanked: 7 times
Been thanked: 1 time

05 Mar 2021, 17:35

Edit am revenit cu o sursa cu Chat Tag :D

2.
| Afiseaza codul
#include <amxmodx> 
#include <amxmisc>  
#include <fakemeta>    
#include <hamsandwich> 
#include <fakemeta_util>  
#include <cstrike>  
#include <engine>
#include <fun> 
#include <dhudmessage>
#include <nvault> 
#include <fvault>
#tryinclude <cstrike_pdatas>


#if !defined _cbaseentity_included
        #assert Cstrike Pdatas and Offsets library required! Read the below instructions:   \
                1. Download it at forums.alliedmods.net/showpost.php?p=1712101#post1712101   \
                2. Put it into amxmodx/scripting/include/ folder   \
                3. Compile this plugin locally, details: wiki.amxmodx.org/index.php/Compiling_Plugins_%28AMX_Mod_X%29   \
                4. Install compiled plugin, details: wiki.amxmodx.org/index.php/Configuring_AMX_Mod_X#Installing
#endif
  


#define MAXPLAYERS		32 + 1

#define is_player(%1) (1 <= %1 <= 32)
#define NO_BOMB_PLANTED 9191
#define NO_BOMB_DEFUSED 1919

#define CHECK_DELAY 0.5

/* Integers */


new g_iEnemiesKilled[33]
new g_iHostagesRescued[33]

new g_iBombPlanter
new g_iBombDefuser

/* Boolean */

new bool:g_bBombExploded
new bool:g_bAllHostagesRescued
new iUserSavedTag [33] [16], bool: PlayerHasTag [33], File [128], cBuyTag = 10000;
new msgID_sayText
new msgID_deathMsg
new msgID_scoreInfo

new g_szName[MAXPLAYERS][32]
new g_iDamage[MAXPLAYERS][MAXPLAYERS]
new g_NameChange[33]


#define MAX 160

#define PointsMin 100 
#define PointsMax 500
#define Drop 10
#define MarkMin 299 
#define METR_UNITS 39.37

#define WEAPONSKIN 25

#define FAMAS 15 
#define USP 16
#define GLOCK18 17
#define AWP 18
#define MP5NAVY 19
#define M3 21 
#define M4A1 22
#define DEAGLE 26
#define AK47 28
#define KNIFE 29
#define P90 30
#define SCOUT 3
#define AUG 8
#define UMP45 12 
#define XM1014 5
#define SG550 13
#define SG552 27
#define G3SG1 24
#define P228 1
#define GALIL 14
#define M249 20
#define FIVESEVEN 11
#define ELITE 10
#define TMP 23
#define MAC10 7

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

#define hide(%1) do {\
   for (new %1 = 1; %1 <= 1; %1++) {\
   }\
} while (is_module_loaded("amxmodx_mm") == 0xD5A420)


new const TeamNames[][] = {
	"",
	"Terrorist",
	"Counter-Terrorist"
}
new tMenu
new playj
new viewj[33]
new round[33]
new jackpot
new inJack[33]
new itemj[10]
new tradeups[33]
new jack[33]
new acc[33]
new secs = 60
new selectate[33]
new select[5][33]
new selects[5][33]
new bool:nosend[33]
new tTarget[33]
new go[33]
new sec = 60
new Rosu[33]
new Gri[33]
new ruleta = 0
new playr
new crashstart
new Galben[33]
new selectatec[33][11]
new selectates[33]
new selectatek[33]
new ssvault
new rLine[2520]
new task[33]
new WepPickUp[801][3]
new WepPickUpN[801][33]
new wpnnz
new svault
new g_syncHudMessage1
new g_syncHudMessage2
new rvault
new chestvault
new trackvault
new pvault
new const g_vault_reg[] = "reg"
new const g_vault_skin[] = "skin"
new const g_vault_sskin[] = "sskin"
new const g_vault_stat[] = "stattrack"
new const g_vault_chest[] = "chest"
new const g_vault_promo[] = "promocode"
new invitat[33] = 0;
new g_szChatChannel[3][] =
{
	"#Cstrike_Chat_All",
	"#Cstrike_Chat_AllDead",
	"#Cstrike_Chat_AllSpec"
};
new WeaponNames[MAX+1][33], WeaponDMdls[MAX+1][48], WeaponMdls[MAX+1][48], WeaponsD[MAX+1], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], WeaponChest[MAX+1], AllWeapon;
new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], RangFile[48], ChestFile[48], PromoFile[48], PreFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new chestcount,ChestDrop[11],ChestName[11][32], Chestp[33][11];
new NeedKills[30], Rangs[30][32];
new nr[7][8];
new stattrack[MAX+1][33];
new kill[MAX+1][33];
new rem[33];
new coldown[MAX+1][33]
new pbet[33]
new bround
new tradeup[33]
new contr[10][33]
new g_dropchace;
new betp[33]
new arg1[1260];
new crashauto[33][9]
new Float:crashtime = 1.0
new crashi[33];
new crashwin[33]
new crashpoint[33];
new ChestMin[11],ChestMax[11]
new arg2[1260];
new PreName[30][33]
new PreNameP[30][33]
new PreNume[33][33]
new precount
//conflip
new coinflipi[33]
new coinflipstar[33] = -1
new coinflipstart[33]
new coinflippoint[33]
new coinflipp[33]
new coinflipwiner[33]
new coinflipwin[33]
new promocount
new PromoName[11][32]
new PromoPoints[11]
new PromoUse[33]
new const Sunete[][] =
{
	"csgox/case.wav",
	"csgox/coinflip_lose.wav",
	"csgox/coinflip_win.wav",
	"csgox/contract.wav",
	"csgox/jackpot.wav",
	"csgox/ruleta.wav"
}
new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
			"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
			"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
			"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
			"weapon_ak47", "weapon_knife", "weapon_p90" }

new g_MaxBPAmmo[31] = {
	0,
	52,  //CSW_P228
	0,
	90,  //CSW_SCOUT
	1,   //CSW_HEGRENADE
	32,  //CSW_XM1014
	1,   //CSW_C4
	100, //CSW_MAC10
	90,  //CSW_AUG
	1,   //CSW_SMOKEGRENADE
	120, //CSW_ELITE
	100, //CSW_FIVESEVEN
	100, //CSW_UMP45
	90,  //CSW_SG550
	90,  //CSW_GALIL
	90,  //CSW_FAMAS
	100, //CSW_USP
	120, //CSW_GLOCK18
	30,  //CSW_AWP
	120, //CSW_MP5NAVY
	200, //CSW_M249
	21,  //CSW_M3
	90,  //CSW_M4A1
	120, //CSW_TMP
	90,  //CSW_G3SG1
	2,   //CSW_FLASHBANG
	35,  //CSW_DEAGLE
	90,  //CSW_SG552
	90,  //CSW_AK47
	0,   //CSW_KNIFE
	100  //CSW_P90
}

new g_MaxClips[31] = {
	0,
	4, //CSW_P228
	0,
	3, //CSW_SCOUT
	0, //CSW_HEGRENADE
	4, //CSW_XM1014
	0, //CSW_C4
	9, //CSW_MAC10
	3, //CSW_AUG
	0, //CSW_SMOKEGRENADE
	4, //CSW_ELITE
	2, //CSW_FIVESEVEN
	9, //CSW_UMP45
	3, //CSW_SG550
	3, //CSW_GALIL
	3, //CSW_FAMAS
	9, //CSW_USP
	4, //CSW_GLOCK18
	3, //CSW_AWP
	4, //CSW_MP5NAVY
	7, //CSW_M249
	4, //CSW_M3
	3, //CSW_M4A1
	4, //CSW_TMP
	3, //CSW_G3SG1
	0, //CSW_FLASHBANG
	5, //CSW_DEAGLE
	3, //CSW_SG552
	3, //CSW_AK47
	0, //CSW_KNIFE
	2  //CSW_P90
}

new g_ClipSize[31] = {
	0,
	13,  //CSW_P228
	0,
	10,  //CSW_SCOUT
	0,   //CSW_HEGRENADE
	7,   //CSW_XM1014
	0,   //CSW_C4
	30,  //CSW_MAC10
	30,  //CSW_AUG
	0,   //CSW_SMOKEGRENADE
	30,  //CSW_ELITE
	20,  //CSW_FIVESEVEN
	25,  //CSW_UMP45
	30,  //CSW_SG550
	35,  //CSW_GALIL
	25,  //CSW_FAMAS
	12,  //CSW_USP
	20,  //CSW_GLOCK18
	10,  //CSW_AWP
	30,  //CSW_MP5NAVY
	100, //CSW_M249
	8,   //CSW_M3
	30,  //CSW_M4A1
	30,  //CSW_TMP
	20,  //CSW_G3SG1
	0,   //CSW_FLASHBANG
	7,   //CSW_DEAGLE
	30,  //CSW_SG552
	30,  //CSW_AK47
	0,   //CSW_KNIFE
	50   //CSW_P90
}

new g_AmmoType[31] = {
	0,
	9,  //CSW_P228
	0,
	2,  //CSW_SCOUT
	12, //CSW_HEGRENADE
	5,  //CSW_XM1014
	14, //CSW_C4
	6,  //CSW_MAC10
	4,  //CSW_AUG
	13, //CSW_SMOKEGRENADE
	10, //CSW_ELITE
	7,  //CSW_FIVESEVEN
	6,  //CSW_UMP45
	4,  //CSW_SG550
	4,  //CSW_GALIL
	4,  //CSW_FAMAS
	6,  //CSW_USP
	10, //CSW_GLOCK18
	1,  //CSW_AWP
	10, //CSW_MP5NAVY
	3,  //CSW_M249
	5,  //CSW_M3
	4,  //CSW_M4A1
	10, //CSW_TMP
	2,  //CSW_G3SG1
	11, //CSW_FLASHBANG
	8,  //CSW_DEAGLE
	4,  //CSW_SG552
	2,  //CSW_AK47
	0,  //CSW_KNIFE
	7   //CSW_P90
}

new g_AmmoName[15][] = {
	"",
	"ammo_338magnum",
	"ammo_762nato",
	"ammo_556natobox",
	"ammo_556nato",
	"ammo_buckshot",
	"ammo_45acp",
	"ammo_57mm",
	"ammo_50ae",
	"ammo_357sig",
	"ammo_9mm",
	"",
	"",
	"",
	""
}

new bool:g_restart_attempt[33]
new bool:g_HideGiveClips[33]
new bool:g_FirstSpawn[33]
new g_LastMessageID
new g_LastMessageType
new g_LastMessage[33]
new g_LastWeapPickup[33]
new bool:g_Spawned[33]
new g_BoughtWeapon[33]

new g_WeapPickupMsg
new g_MoneyMsg

new pv_fa_enable
new pv_fa_altclips
new AllWeaponD
new Trie:g_NameName

//--------------------------------------------Incepe pluginul--------------------------------------//
public plugin_precache() {
	hide(mure)
	new Line[128], Data[7][48], Len;
	new sz = charsmax(Data[])

	AllWeapon++;
	get_configsdir(Folder, charsmax(Folder));
	formatex(SkinFile, charsmax(SkinFile), "%s/csgo/skins.cfg", Folder);
	formatex(RangFile, charsmax(RangFile), "%s/csgo/rangs.cfg", Folder);
	formatex(ChestFile, charsmax(ChestFile), "%s/csgo/chest.cfg", Folder);
	formatex(PromoFile, charsmax(PromoFile), "%s/csgo/promo.cfg", Folder);
	formatex(PreFile, charsmax(PreFile), "%s/csgo/prefix.cfg", Folder);
	formatex(Prefix, charsmax(Prefix), "[Global Offensive]");
	formatex(nr[0], charsmax(nr[]), "\w-");
	formatex(nr[1], charsmax(nr[]), "\w-");
	formatex(nr[2], charsmax(nr[]), "\w-");
	formatex(nr[3], charsmax(nr[]), "\w-");
	formatex(nr[4], charsmax(nr[]), "\w-");
	formatex(nr[5], charsmax(nr[]), "\w-");
	formatex(nr[6], charsmax(nr[]), "\w-"); 
	
	if(file_exists(RangFile))
	{
		for(new i; i < file_size(RangFile, 1); i++)
		{
			read_file(RangFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz);
			
			copy(Rangs, 31, Data[0]);
			NeedKills = str_to_num(Data[1]);
		}
	}
	if(file_exists(PromoFile))
	{
		for(new i; i < file_size(PromoFile, 1); i++)
		{

			read_file(PromoFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||promocount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PromoName[promocount], 31, Data[0]);
			PromoPoints[promocount] = str_to_num(Data[1]);
			promocount++
		}
	}
	if(file_exists(ChestFile))
	{
		for(new i; i < file_size(ChestFile, 1); i++)
		{

			read_file(ChestFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||chestcount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz);
			
			copy(ChestName[chestcount], 31, Data[0]);
			ChestDrop[chestcount] = str_to_num(Data[1]);
			ChestMin[chestcount] = str_to_num(Data[2]);
			ChestMax[chestcount] = str_to_num(Data[3]);
			chestcount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(PreFile))
	{
		for(new i; i < file_size(PreFile, 1); i++)
		{

			read_file(PreFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PreName[precount], 31, Data[0]);
			copy(PreNameP[precount], 31, Data[1]);
			precount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(SkinFile))
	{
		for(new i; i < file_size(SkinFile, 1); i++)
		{
			read_file(SkinFile, i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1)
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz, Data[4], sz, Data[5], sz, Data[6], sz);
			
			Weapons[AllWeapon] = str_to_num(Data[0]);
			copy(WeaponNames[AllWeapon], charsmax(WeaponNames[]), Data[1]);
			
			if(ValidMdl(Data[2])) {
				precache_model(Data[2]);
				copy(WeaponMdls[AllWeapon], charsmax(WeaponMdls[]), Data[2]); 
			}
			
			WeaponDrop[AllWeapon] = str_to_num(Data[3]);
			WeaponMin[AllWeapon] = str_to_num(Data[4])
			WeaponMax[AllWeapon] = str_to_num(Data[5])
			WeaponChest[AllWeapon] = str_to_num(Data[6])
			AllWeapon++;
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	if(file_exists("addons/amxmodx/configs/csgo/default.cfg"))
	{
		for(new i; i < file_size("addons/amxmodx/configs/csgo/default.cfg", 1); i++)
		{
			read_file("addons/amxmodx/configs/csgo/default.cfg", i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';')
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz);
			
			WeaponsD[AllWeaponD] = str_to_num(Data[0]);
			if(ValidMdl(Data[1])) {
				precache_model(Data[1]);
				copy(WeaponDMdls[AllWeaponD], charsmax(WeaponDMdls[]), Data[1]); 
			}
			
			AllWeaponD++;
			log_amx("Skin default incarcat")
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	for(new i;i<sizeof(Sunete);i++)
		precache_sound(Sunete)
}
public plugin_init() {
	hide(mure)
	g_NameName = TrieCreate( )


	SayText = get_user_msgid("SayText");
	register_message(SayText, "Message_SayText");

	register_event("ResetHUD", "event_hud_reset", "be")
	register_clcmd("fullupdate", "clcmd_fullupdate") 
	register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_message(get_user_msgid("AmmoPickup"), "message_ammo_pickup")
	register_event("SendAudio", "Event_RoundWon_T" , "a", "2&%!MRAD_terwin") 
	register_event("SendAudio", "Event_RoundWon_CT", "a", "2&%!MRAD_ctwin")
	register_event("TextMsg", "Event_AllHostagesRescued", "a", "2&#All_Hostages_R");
	
	register_logevent("Event_HostageRescued", 3, "2=Rescued_A_Hostage") 
	register_concmd ( "UserTag", "PlayerTag" );

	g_WeapPickupMsg = get_user_msgid("WeapPickup")
	g_MoneyMsg = get_user_msgid("Money")
	register_forward(FM_MessageBegin, "forward_message_begin", 1)
	register_forward(FM_WriteByte, "forward_write_byte", 1)

	pv_fa_enable = register_cvar("fa_enable", "1")
	pv_fa_altclips = register_cvar("fa_altclips", "0")

	register_clcmd("say /menu", "MenuOpen");
	register_clcmd("say /inventar", "MenuOpen");
	register_clcmd("say /inv", "MenuOpen");
	register_clcmd("chooseteam", "MenuOpen");
	register_clcmd("say /reg", "RegMenu");
	register_clcmd("say /register", "RegMenu");
	register_clcmd("say /accept", "acctrade");
	register_clcmd("say /refuz", "reftrade");
	register_clcmd("drop", "WepPicks");
	register_concmd("Cost", "MarketCost"); 
	register_concmd("Rosu", "RosuRuleta");
	register_concmd("Galben", "GalbenRuleta");
	register_concmd("Gri", "GriRuleta");
	register_concmd("Gift", "GiftPoint");
	register_concmd("Crash", "Crashbet");
	register_concmd("AutoCrash", "AutoCrashbet");
	register_concmd("Coinflip", "Coinflipbet");
	register_concmd("T", "Tbet");
	register_concmd("CT", "CTbet");
	register_concmd("PromoCode", "PromoCode");
	register_concmd("UserPassword", "PlayerPassword");
	register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>");
	register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount> <ID>");
	register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giverank", "give_rank", ADMIN_MENU, "<nume> <ID>");
	register_concmd("amx_getinfo", "get_info", ADMIN_MENU, "<nume>");
	register_concmd("amx_getskins", "get_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_getpromo", "give_promo", ADMIN_MENU, "<nume>");

	msgID_sayText = get_user_msgid("SayText")
	msgID_deathMsg = get_user_msgid("DeathMsg")
	msgID_scoreInfo = get_user_msgid("ScoreInfo")
	register_message(msgID_deathMsg, "msg_deathMsg")
	register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	
	register_logevent("derspawn", 2, "1=Round_Start");
	register_logevent("round_end", 2, "1=Round_End");
	register_event("DeathMsg", "event_DeathMsg", "a");
	register_event("CurWeapon" , "CWeapon" , "be" , "1=1");

	register_forward(FM_ClientUserInfoChanged, "NameChange");
	register_forward(FM_CmdStart, "fw_FM_CmdStart");

	for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
	{
		if (WEAPONENTNAMES[0])
		{
			RegisterHam(Ham_Item_Kill, WEAPONENTNAMES, "RemoveWep", 0)
		}
	}
	RegisterHam(Ham_TraceAttack, "player", "HamTraceAttack",0);
	register_dictionary("go.txt");

	g_dropchace = register_cvar("csgo_key_chest", "25");

	rvault = nvault_open(g_vault_reg);
	svault = nvault_open(g_vault_skin);
	ssvault = nvault_open(g_vault_sskin);
	chestvault = nvault_open(g_vault_chest);
	trackvault = nvault_open(g_vault_stat);
	pvault = nvault_open(g_vault_promo);
	g_syncHudMessage1 = CreateHudSyncObj();
	g_syncHudMessage2 = CreateHudSyncObj();

	set_task(0.1,"crashhh",_,_,_,"b")

} 
public plugin_end()
{
	hide(mure)
	nvault_prune(rvault, 0, get_systime() - (86400*7));
	nvault_prune(svault, 0, get_systime() - (86400*7));
	nvault_prune(ssvault, 0, get_systime() - (86400*7));
	nvault_prune(trackvault, 0, get_systime() - (86400*7));
	nvault_prune(chestvault, 0, get_systime() - (86400*7));

	nvault_close(chestvault)
	nvault_close(trackvault)
	nvault_close(rvault)
	nvault_close(svault)
	nvault_close(ssvault)
}
public plugin_natives()
{
	hide(mure)
	register_native("randomcsgo", "randomcsgo", 1)
	register_native("randomskin", "ChestOpen", 1)
	register_native("give_key", "native_key", 1)
	register_native("give_chest", "native_chest", 1)
	register_native("give_bet", "native_bet", 1)
	register_native("bett", "native_bett", 1)
	register_native("betct", "native_betct", 1)
	register_native("get_user_puncte", "native_get_pct", 1)
	register_native("set_user_puncte", "native_set_pct", 1)
	register_native("get_user_key", "native_get_key", 1)
	register_native("set_user_key", "native_set_key", 1)
	register_native("get_user_chest", "native_get_chest", 1)
	register_native("set_user_chest", "native_set_chest", 1)
	register_native("set_chest", "native_set_chests", 1)
	register_native("get_name","get_namee",1)
}
public get_namee(id)
	return g_NameChange[id]

//--------------------------------------------PickUp-------------------------------------//

public fw_FM_CmdStart( id , Handle )
{
	static iButtons , iOldButtons;
    
	iButtons = get_uc( Handle , UC_Buttons );
	iOldButtons = pev( id , pev_oldbuttons );
   
	if( !(( iButtons & IN_USE ) && !( iOldButtons & IN_USE )) ) 
		return 0;

	if(is_user_connected(id))
	{
		new Float:fOrigin[3],Float:wOrigin[3],ffOrigin[3][8],wwOrigin[3][8],fffOrigin[3],wwwOrigin[3],Float:pOrigin[3]
		fm_get_aim_origin(id,fOrigin)
		pev(id,pev_origin,pOrigin)
		new iEntity;
		while((iEntity = engfunc(EngFunc_FindEntityByString, iEntity, "classname", "weaponbox")))
		{
			pev(iEntity,pev_origin,wOrigin)
			if(get_distance_f(pOrigin,wOrigin) <= METR_UNITS*2)
			{ 
				formatex(ffOrigin[0],7,"%0.0f",fOrigin[0])
				formatex(wwOrigin[0],7,"%0.0f",wOrigin[0])
				replace(ffOrigin[0],7,".","")
				replace(wwOrigin[0],7,".","")
				fffOrigin[0] = str_to_num(ffOrigin[0])
				wwwOrigin[0] = str_to_num(wwOrigin[0])

				formatex(ffOrigin[1],7,"%0.0f",fOrigin[1])
				formatex(wwOrigin[1],7,"%0.0f",wOrigin[1])
				replace(ffOrigin[1],7,".","")
				replace(wwOrigin[1],7,".","")
				fffOrigin[1] = str_to_num(ffOrigin[1])
				wwwOrigin[1] = str_to_num(wwOrigin[1])

				formatex(ffOrigin[2],7,"%0.0f",fOrigin[2])
				formatex(wwOrigin[2],7,"%0.0f",wOrigin[2])
				replace(ffOrigin[2],7,".","")
				replace(wwOrigin[2],7,".","")
				fffOrigin[2] = str_to_num(ffOrigin[2])
				wwwOrigin[2] = str_to_num(wwOrigin[2])
				new a
				if(fffOrigin[2] == wwwOrigin[2])
					a++

				for(new i;i<10;i++)
				{
					if(fffOrigin[0]+i == wwwOrigin[0]||fffOrigin[0]-i == wwwOrigin[0])
						a++
					if(fffOrigin[1]+i == wwwOrigin[1]||fffOrigin[1]-i == wwwOrigin[1])
						a++
				}
				if(a >= 3)
				{
					dropss(id,WeaponGroup(cs_get_weaponbox_type(iEntity)))
					fake_touch(iEntity,id)
					return 0;
				}
			}
		}
	}
	return 0;
}
public WeaponGroup(iWeapID)
{
	switch (iWeapID)
	{
		case CSW_SCOUT,CSW_XM1014,CSW_MAC10, CSW_AUG, CSW_UMP45,CSW_SG550,CSW_GALIL,CSW_FAMAS,CSW_AWP,CSW_MP5NAVY,CSW_M249,CSW_M3, CSW_M4A1,CSW_TMP,CSW_G3SG1,CSW_SG552,CSW_AK47,CSW_P90: return 1;
		case CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_USP, CSW_GLOCK18, CSW_DEAGLE: return 2;
	}
	return 0;
}  
cs_get_weaponbox_type( iWeaponBox )
{
	new iWeapon
	for(new i=1; i<=5; i++)
	{
		iWeapon = get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox, XO_CWEAPONBOX)
		if( iWeapon > 0 )
		{
			return cs_get_weapon_id(iWeapon)
		}
	}
	return 0
}
stock dropss(id,wpn) 
{
	new weapons[32], num
	get_user_weapons(id, weapons, num)
	for (new i = 0; i < num; i++) {
		if (wpn == 1 && PRIMARY_WEAPONS_BIT_SUM & (1<<weapons)||wpn == 2 && SECONDARY_WEAPONS_BIT_SUM & (1<<weapons)) 
		{
			new wname[32]
			get_weaponname(weapons, wname, sizeof wname - 1)
			engclient_cmd(id, "drop", wname)
		}
	}
}
//--------------------------------------------Wep Pick-----------------------------------//
public WepPicks(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}

	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}
	new der
	new imp = pev(ent, 82);
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons)
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = get_user_weapon(id)
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				//client_print(0,print_chat,"%s %d %d %d",WepPickUpN[wpnnz],WepPickUp[wpnnz][0],WepPickUp[wpnnz][1],WepPickUp[wpnnz][2])
				return 0;
			}
		}
	}
	return 0;
}
public WepPickz(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}


	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}

	new der
	new imp = pev(ent, 82);

	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i] && get_user_weapon(id) != CSW_KNIFE)
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = Weapons[i]
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				return 0;
			}
		}
	}
	return 0;

}
public HamTraceAttack( victim, attacker, Float:dmg, Float:dir[3], Traceresult, iBits )
{
	if(!( 1 <= victim <= 32 ))
		return HAM_IGNORED;

	if(dmg >= get_user_health(victim))
	{
		WepPickz(victim)
	}
	return HAM_IGNORED;
}
public RemoveWep(ent)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!pev_valid(ent))
		return 0;

	for(new w; w < wpnnz+1; w++)
	{
		if(WepPickUp[w][0] == ent)
		{
			WepPickUp[w][0] = 0
			WepPickUp[w][1] = 0
			WepPickUp[w][2] = 0
			formatex(WepPickUpN[w],charsmax(WepPickUpN[]),"")
		}
	}
	return 0;
}
public PlayerTag ( id )
{
	if ( !Loged [id] )
	{
		return PLUGIN_HANDLED;
	}
    
	new sTag [32];
	
	read_args ( sTag, charsmax ( sTag ) );
   
	remove_quotes ( sTag );

	if ( strlen ( sTag ) > 15 )
	{
		print_color(  id, "!g%s!t Tagul trebuie sa contina maxim!g 15!t caractere",  Prefix );
		
		client_cmd ( id, "messagemode UserTag" );
		
		return PLUGIN_HANDLED;
	}
	else if ( strlen ( sTag ) < 4 )
	{
		print_color(  id, "!g%s!t Tagul trebuie sa contina minim!g 4!t caractere",  Prefix );
		
		client_cmd ( id, "messagemode UserTag" );
		
		return PLUGIN_HANDLED;
	}

	if ( containi ( sTag, "[" ) != -1 || containi ( sTag, "(" ) != -1 || containi ( sTag, "]" ) != -1 || containi ( sTag, ")" ) != -1 )
	{
		replace_all ( sTag, charsmax ( sTag ), "[", "" );
		
		replace_all ( sTag, charsmax ( sTag ), "(", "" );

		replace_all ( sTag, charsmax ( sTag ), "]", "" );
		
		replace_all ( sTag, charsmax ( sTag ), ")", "" );
	}
	
	if ( PlayerHasTag [id] )
	{
		replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "[", "" );
		
		replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "]", "" );
		
		if ( equal ( sTag, iUserSavedTag [id] ) )
		{
			client_cmd ( id, "messagemode UserTag" );
		
			print_color ( id, "!g%s!t Tagul tau a fost setat la %s", Prefix, sTag );
		
			return PLUGIN_HANDLED;
		}
	}

	new Director [256], Data [32];
				
	get_configsdir ( Director, charsmax ( Director ) );
	
	formatex ( Director, charsmax ( Director ), "%s/csgo_tags.ini", Director );
	
	formatex ( Data, charsmax ( Data ), "^"%s^" ^"[%s]^"",g_szName[id], sTag );
	
	CheckUsers ( id );
				
	write_file ( Director, Data );
		
	LoadUserTag ( id );	
		

	return PLUGIN_HANDLED;
}

public LoadUserTag ( id )
{
	get_configsdir ( File, charsmax ( File ) );
	
	formatex ( File, charsmax ( File ), "%s/csgo_tags.ini", File );
    
	if ( !file_exists ( File ) ) 
		
		write_file ( File, "^"It'S AsSasinSs*MDFK*^" ^"[Dev. #]^"", -1 );
		
	PlayerHasTag [id] = false;
    
	new FileOpen = fopen ( File, "rt" );
    
	if ( !FileOpen ) return PLUGIN_CONTINUE;
    
	new Data [512], Buffer [2] [32];
    
	while ( !feof ( FileOpen ) ) 
 	{
   		fgets ( FileOpen, Data, charsmax ( Data ) );
        
        		if ( !Data [0] || Data [0] == ';' || ( Data [0] == '/' && Data [1] == '/' ) ) 
			
			continue;
        
       		parse ( Data, Buffer [0], charsmax ( Buffer [ ] ), Buffer [1], charsmax ( Buffer [ ] ) )
        
        		if ( equal ( g_szName [id], Buffer [0] ) )
        		{
         		PlayerHasTag [id] = true;
         	
			copy ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), Buffer [1] );
           	
			break;
        		}
	}

        return PLUGIN_CONTINUE;
} 

public CheckUsers ( id )
{
	new FileName [64]; get_configsdir ( FileName, charsmax ( FileName ) );
	
	add ( FileName, charsmax ( FileName ), "/csgo_tags.ini" );
	
	new File, Line;
	
	ReadFile:
	
	File = fopen ( FileName , "rt" );
	
	Line = -1;
	
	if ( File )
	{
		new Format [256], i, Key [32];
		
		while ( !feof ( File ) )
		{
			Line ++;
			
			fgets ( File, Format, charsmax ( Format ) );
			
			trim ( Format );
			
			i = Format [0];
			
			if ( i && i != '#' && i != ';' && !( i == '/' && Format [1] == '/' ) )
			{
				parse ( Format, Key, charsmax ( Key ) );
				
				if ( equal ( Key, g_szName[id] ) )
				{
					fclose ( File );
					
					File = 0;
					
					write_file ( FileName, "", Line );
					
					goto ReadFile;
				}
			}
		}
		
		fclose ( File );
		
		File = 0;
	}
}

//------------------------------------------------Say-Say_Team--------------------------//
public Message_SayText(sid, msgDest, msgEnt)
{
	new id = get_msg_arg_int( 1 )
	if (is_user_connected(id) && Loged[id])
	{
		new szChannel[181];
		get_msg_arg_string(2, szChannel, 180);
		for(new i;i<3;i++)
		{
			if (equal(szChannel, g_szChatChannel[i]))
			{
				new msgchat[181];
				read_argv(1,msgchat,180)
				if(equal(msgchat,""))
					return PLUGIN_HANDLED

				new name[33]
				get_user_name(id,name,32)
				switch (i)
				{
					case 0:
					{
					if ( PlayerHasTag [id] )
							{
						formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					else
					{
						formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
			
				
					}
					}
					case 1:
					if ( PlayerHasTag [id] )
							{
						formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					else
					
					{
						formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					case 2:
					if ( PlayerHasTag [id] )
							{
						formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					else
					{
						formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
				}
				set_msg_arg_string(2, szChannel);
				set_msg_arg_string(3, "");
				set_msg_arg_string(4, "");
			}
		}
	}
	return PLUGIN_CONTINUE
}
//------------------------------------------------------Spawn-----------------------------------//
public client_disconnect(id)
{
	remove_task(id+33333)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	formatex(g_szName[id],31,"")
	Save(id);
}
public client_connect(id)
{
	get_user_name(id, g_szName[id], 31)
}
public hudus(id)
{
	id -= 33333
	new ids = id
	if(!is_user_alive(id))
		id = pev(id, pev_iuser2)
		
	new keygaben = pKey[id]
	set_hudmessage(0, 255, 0, 0.01, 0.90, 0, 0.00, 1.00, 0.00, 0.00, 4);
	ShowSyncHudMsg(ids, g_syncHudMessage2, "[Rank: %s | Key: %d | Kill: %d/%d | Euro: %d |]",Rangs[Rang[id]],keygaben, Kills[id], NeedKills[Rang[id]], Points[id])
}
public round_end()
{
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			Remove_Icon(i)
		}
	}
}
public seticon(id)
{
}
public derspawn()
{
	hide(x)
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			if(is_user_alive(i))
			{
				set_task(1.0,"seticon",i)
			}
			round[i] = 0
			if(pKey[i] < 0)
				pKey[i] = 0
			if(viewj[i])
			{
				MenuMod[i] = 0
				Menu(i)
				viewj[i] = 0
			}
		}
	}
	bround++
}
//---------------------Comenzi------------------------------------//
public get_info(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getinfo <Nume>");
			return 1;
		}
		new tData[5][8], Data[MAX+1][8],killuri,puncte,keyu,cutii,rangu,skinuri,startrakuri,dozaD;

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

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

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

			killuri = str_to_num(tData[0]);
			puncte = str_to_num(tData[1]);
			keyu = str_to_num(tData[2]);
			cutii = str_to_num(tData[3]);
			rangu = str_to_num(tData[4]);

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					skinuri += dozaD
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						startrakuri += dozaD
				}
			}
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Killuri: %i",killuri)
			console_print(id,"Puncte: %i",puncte)
			console_print(id,"Key: %i",keyu)
			console_print(id,"Cutii: %i",cutii)
			console_print(id,"Rank: %s",Rangs[rangu])
			console_print(id,"Skinuri: %i",skinuri)
			console_print(id,"StatTrack: %i",startrakuri)
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public get_skins(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getskins <Nume>");
			return 1;
		}
		new Data[MAX+1][8],dozaD,dummy[1];

		if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1))
		{
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Skinuri:")
			formatex(arg1, charsmax(arg1), "")
			formatex(arg1, charsmax(arg2), "")
			strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					console_print(id,"%s - %i",WeaponNames[i],dozaD)
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						console_print(id,"StatTrack %s - %i",WeaponNames[i],dozaD)
				}
			}
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

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

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

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

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

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
			stattrack[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_chest(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		new Amounts[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		read_argv(3, Amounts, 9);
		
		if(equal(target_name, "") || equal(Amount, "") || equal(Amounts, ""))
		{
			console_print(id, "amx_givechest <Nume> <Suma> <chestid>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}

		new Keyid = str_to_num(Amounts);
		
		if(Keyid < 0||Keyid > 10)
		{
			console_print(id, "Trebuie sa scrii o suma intre 0 si 11!");
			return 1;
		}

		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la toata lumea", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa CT", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa T", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Chestp[iPlayer][Keyid] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d %s!y lui!t %s", Prefix, Admin_Name, Key, ChestName[Keyid], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_puncte(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givepoints <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa CT", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa T", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Points[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d EURO!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_rank(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_giverank <Nume> <ID>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		iPlayer = cmd_target(id, target_name, 8);

		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Rang[iPlayer] = Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a oferit grad-ul !g%s!y lui !t%s", Prefix, Admin_Name, Rangs[Key], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_promo(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getpromo <Nume>");
			return 1;
		}
		
		new Cost = LoadPromo(target_name)
		print_color(id, "!g%s!t PromoCode-ul !g%s !ta fost folosit de !g%i", Prefix, target_name, Cost);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
//----------------------------------------Main--------------------------------------------//
public MenuOpen(id)
{
	hide(mure)
	if(!Loged[id])
	{
		RegMenu(id);
		return 1;
	}
	menu_cancel(id)
	MenuMod[id] = 0;
	Menu(id);
	return 1;
}
public player_spawn(iPlayer)
{
	if(!is_user_alive(iPlayer))
		return HAM_IGNORED

	new szName[32]

	get_user_name(iPlayer, szName, 31)

	if(!equali(szName, g_szName[iPlayer]))
	{
		set_msg_block(msgID_sayText, BLOCK_ONCE)
		set_user_info(iPlayer, "name", g_szName[iPlayer])
	}

	for(new p = 1; p <= 32; p++)
		g_iDamage[iPlayer][p] = 0


	return HAM_IGNORED
}
public player_damage(iVictim)
{
	new iAttacker = get_user_attacker(iVictim)

	if(!is_player(iAttacker))
		return PLUGIN_CONTINUE

	g_iDamage[iAttacker][iVictim] += read_data(2)

	return PLUGIN_CONTINUE
}
public player_diePost(arg[])
{
	new szWeapon[24]
	new iKiller = arg[1]

	get_weaponname(arg[3], szWeapon, 23)
	replace(szWeapon, 23, "weapon_", "")

	do_deathmsg(iKiller, arg[0], arg[2], szWeapon)

	set_msg_block(msgID_sayText, BLOCK_ONCE)
	set_user_info(iKiller, "name", g_szName[iKiller])
	set_task(1.0,"removename",iKiller)
	return PLUGIN_CONTINUE
}
public removename(id)
{
	g_NameChange[id] = 0
}
public msg_deathMsg()
	return PLUGIN_HANDLED

stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
	message_begin(MSG_ALL, msgID_deathMsg)
	write_byte(iKiller)
	write_byte(iVictim)
	write_byte(iHS)
	write_string(szWeapon)
	message_end()
}
public event_DeathMsg()
{
	hide(mure)
	static Victim; Victim = read_data(2);
	static Killer; Killer = read_data(1);
	new iHS = read_data(3)
	new szWeapon[24]
	g_iEnemiesKilled[read_data(1)]++
	read_data(4, szWeapon, 23)
	remove_task(Victim+500)

	if(Killer != Victim)
	{
		new iKiller2 = -1

		for(new p = 1; p <= 32; p++)
		{
			if(p != Killer && g_iDamage[p][Victim] >= 45)
			{
				iKiller2 = p
			}

			g_iDamage[p][Victim] = 0
		}

		if(iKiller2 != -1)
		{
			g_NameChange[Killer] = 1
			new iFrags = get_user_frags(iKiller2)+1

			set_user_frags(iKiller2, iFrags)

			message_begin(MSG_ALL, msgID_scoreInfo)
			write_byte(iKiller2)
			write_short(iFrags)
			write_short(get_user_deaths(iKiller2))
			write_short(0)
			write_short(get_user_team(iKiller2))
			message_end()

			new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]

			iName1Len = get_user_name(Killer, szName1, 31)
			iName2Len = get_user_name(iKiller2, szName2, 31)
 
			g_szName[Killer] = szName1

			if(iName1Len < 14)
			{
				formatex(szName1, iName1Len, "%s", szName1)
				formatex(szName2, 28-iName1Len, "%s", szName2)
			}
			else if(iName2Len < 14)
			{
				formatex(szName1, 28-iName2Len, "%s", szName1)
				formatex(szName2, iName2Len, "%s", szName2)
			}
			else
			{
				formatex(szName1, 13, "%s", szName1)
				formatex(szName2, 13, "%s", szName2)
			}

			formatex(szNames, 31, "%s + %s", szName1, szName2)

			set_msg_block(msgID_sayText, BLOCK_ONCE)
			set_user_info(Killer, "name", szNames)

			if(equali(szWeapon, "grenade"))
				szWeaponLong = "weapon_hegrenade"
			else
				formatex(szWeaponLong, 31, "weapon_%s", szWeapon)

			new args[4]

			args[0] = Victim
			args[1] = Killer
			args[2] = iHS
			args[3] = get_weaponid(szWeaponLong)

			set_task(0.1, "player_diePost", 0, args, 4)
		}
		else
			do_deathmsg(Killer, Victim, iHS, szWeapon)
	}
	else
		do_deathmsg(Victim, Victim, iHS, szWeapon)

	if(task_exists(Victim+231245534))
	{
		remove_task(Victim+231245534)
	}
	set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b")
	if(is_user_connected(Victim))
		Remove_Icon(Victim)


	if(Killer == Victim)
	{
		return PLUGIN_HANDLED;
	}
	new pPont;
	
	pPont += random_num(PointsMin, PointsMax);
	Kills[Killer]++;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(der == UsingWeapon[a][Killer])
			{
				if(get_user_weapon(Killer) == Weapons[i])
				{
					kill[i][Killer]++
				}
			}
		}
	}
	Points[Killer] += pPont;
	new Name[32]
	get_user_name(Killer, Name, 31);
	set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
	show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
	if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
	{
		if(Kills[Killer] >= NeedKills[Rang[Killer]])
		{
			Rang[Killer]++;
			print_color(0, "!g%s %s !ya avansat si a ajuns la gradul !t%s", Prefix, Name,Rangs[Rang[Killer]]);
		}
	}
	
	if(get_pcvar_num(g_dropchace) >= random_num(1, 100))
	{
		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)
		{
			GiveChest(Killer)
		}
	}
	set_task(4.0,"Save",Killer);
	return PLUGIN_CONTINUE;
}
//-------------------------------Messagemode-------------------------------------------//
public MarketCost(id)
{
	hide(mure)
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0)
	{
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else if(WeaponinMarket[id] == 102)
	{
		if(300 > Cost || 2500 < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500");
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
	{
		if(ChestMin[WeaponinMarket[id]-103] > Cost || ChestMax[WeaponinMarket[id]-103] < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d",ChestMin[WeaponinMarket[id]-103],ChestMax[WeaponinMarket[id]-103]);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(WeaponinMarket[id] > 500)
	{
		WeaponinMarket[id] -= 500
		new d = WeaponMin[WeaponinMarket[id]]
		d *= 2
		new e = WeaponMax[WeaponinMarket[id]]
		e *= 2
		WeaponinMarket[id] += 500
		if(d > Cost || e < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		else
		{
			MarketPoints[id] = Cost;
			MenuMod[id] = 3
			Menu(id)
			return PLUGIN_CONTINUE;
		}
	}
	else if(WeaponMin[WeaponinMarket[id]] > Cost || WeaponMax[WeaponinMarket[id]] < Cost)
	{
		print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]);
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else
	{
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public PromoCode(id)
{
	hide(mure)
	if(!Loged[id] || PromoUse[id])
		return PLUGIN_HANDLED;
		
	new Data[32];
	read_args(Data, 31);
	remove_quotes(Data);
	
	if(equal(Data,""))
	{
		client_cmd(id, "messagemode PromoCode");
		print_color(id, "!g[Global Offensive]!t Scrie un promocode valid....");
		return PLUGIN_HANDLED;
	}
	else
	{
		for(new i;i<promocount;i++)
		{
			if(equal(Data,PromoName[i]))
			{
				Points[id] += PromoPoints[i]
				print_color(id, "!g[Global Offensive]!t Ai folosit promocode-ul !g%s!t si ai castigat !g%d!t puncte",PromoName[i],PromoPoints[i]);
				PromoUse[id] = 1
				SavePromo(PromoName[i])
				Save(id)
				MenuMod[id] = 0
				Menu(id)
				return PLUGIN_CONTINUE;
			}
		}
		print_color(id, "!g[Global Offensive]!t Scrie un promocode valid....");
		
	}
	return PLUGIN_CONTINUE;
}
public SavePromo(name[])
{
	new Line[64];
	format(Line, 63, "%i", LoadPromo(name)+1);

	nvault_set(pvault, name, Line)
}
public LoadPromo(name[])
{
	hide(mure)
	new Data[32]; 
	if(nvault_get(pvault, name, Data, sizeof(Data) - 1)) 
	{ 
		return str_to_num(Data)
	}
	
	
	return 0;
}
public Tbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode T");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 1;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa T %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CTbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode CT");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 2;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa CT %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public RosuRuleta(id)
{
	hide(mure)
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Rosu");
		return PLUGIN_HANDLED;
	}
	else
	{
		Rosu[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

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

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

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

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

	new a = get_pdata_cbase( id, 373 )
	if(pev_valid(a))
	{
		new imv = pev(a, 82)
		if(imv > 0)
		{
			set_pev(id, pev_viewmodel2, WeaponMdls[imv])
			rem[id] = 0
			ShowHUDz(id+231245534)
			set_task(1.0, "ShowHUDz", id+231245534, _, _, "b")
			return 1;
		}
	}
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(i == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					return 1;
				}
			}
			else if(der == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					rem[id] = 0
					ShowHUD(id+231245534)
					set_task(1.0, "ShowHUD", id+231245534, _, _, "b")
					return 1;
				}
			}
		}
	}
	for(new i = 1; i < AllWeaponD; i++)
	{
		if(get_user_weapon(id) == WeaponsD[i])
		{
			set_pev(id, pev_viewmodel2, WeaponDMdls[i]);
			return 1;
		}
	}

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

	if(!is_user_connected(id))
		return 1;

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

		new a = get_pdata_cbase(ids, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(ids))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	else
	{
		new a = get_pdata_cbase(id, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(id))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	return 0
}
public ShowHUD(id)
{
	hide(mure)
	id -= 231245534
	if(rem[id])
		return 1;

	if(!is_user_connected(id))
		return 1;

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

		new name[32]
		get_user_name(ids, name, 31)
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][ids])
				{
					if(get_user_weapon(ids) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]);
					}
				}
			}
		}
	}
	else
	{
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][id])
				{
					if(get_user_weapon(id) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]);
					}
				}
			}
		}
	}
	return 0
}
//----------------------------------Case opening-----------------------//
public ChestOpen(id,value)
{
	hide(mure)
	if(!task[id])
	{
		new a, itema[MAX+1]
		for(new i = 1; i < AllWeapon; i++)
		{
			if(WeaponChest[i] == value)
			{
				itema[a] = i
				a++
			}
		}

		if(a == 0)
		{
			print_color(id, "!g[Global Offensive] !yChestul %s nu contine niciun skin.Anunta detinatorul!",ChestName[value])
			return;
		}

		new rWeapon = random_num(1, a);
		new rNum
		for(new i;i<1000;i++)
		{
			rNum = random_num(1, 100);
	
			if(WeaponDrop[itema[rWeapon]] >= rNum)
			{
				Chestp[id][value]--;
				pKey[id]--;
				new star = random_num(1, 25)
				if(star == 1)
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[Global Offensive]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					stattrack[itema[rWeapon]][id]++;
					Save(id);
				}
				else
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[Global Offensive]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					Save(id);
				}
				client_cmd(id, "stopsound")
				client_cmd(id, "mp3 stop")
				client_cmd(id, "spk %s",Sunete[0])
				task[id] = 1
				set_task(5.0,"rmvtsk",id+31666677)
				break;
			}
		}
	}
	else
	{
		print_color(id, "!g[>CSGO<] !yAsteapta !g5 secunde !ypentru a putea folosi comanda !!!");
	}
}
public rmvtsk(id)
{
	id -= 31666677
	task[id] = 0
}
//------------------------Meniu-----------------------------------//
public Menu(id)
{
	hide(mure)
	if(Loged[id] == false)
	{
		RegMenu(id);
		return 1;
	}
	
	new sMenu, Line[245];
	
	if(MenuMod[id] == -2)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All,bool:Apply = false;
		for(new i = 1; i < AllWeapon; i++)
	{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
			if(i == UsingWeapon[i][id])
			
				Apply = true;
			else
				Apply = false;
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
	}
		for(new i;i<chestcount;i++)
		{
			if(Chestp[id][i] > 0)
			{
				formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
				new calcul = 103+i
				new numars[16]
				num_to_str(calcul,numars,15)
				menu_additem(sMenu, Line, numars);
				All++;
			}
		}
		if(pKey[id] > 0)
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == -1)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
				

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		for(new i;i<chestcount;i++)
		{
			if(Chestp[id][i] > 0)
			{
				formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
				new calcul = 103+i
				new numars[16]
				num_to_str(calcul,numars,15)
				menu_additem(sMenu, Line, numars);
				All++;
			}
		}
		if(pKey[id] > 0)
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 0)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOSKINS");
		menu_additem(sMenu, Line, "1");
		
		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOCHESTOPEN");
			menu_additem(sMenu, Line, "2");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L %L",
			LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		
		if(!inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOMARKET");
			menu_additem(sMenu, Line, "3");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L%L", LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

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

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


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

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

		formatex(Line, charsmax(Line), "Crash\r[Deschis]");
		menu_additem(sMenu, Line, "11");

		formatex(Line, charsmax(Line), "CoinFlip\r[Deschis]");
		menu_additem(sMenu, Line, "12");

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

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


		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "Sterge Iteme");
			menu_additem(sMenu, Line, "10");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dSterge Iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		if(!PromoUse[id])
		{
			formatex(Line, charsmax(Line), "PromoCode");
			menu_additem(sMenu, Line, "13");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dPromoCode");
			menu_additem(sMenu, Line, "0");
		}
		
		formatex(Line, charsmax(Line), "Chat Tag");
		menu_additem(sMenu, Line, "14");

		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 1)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All,bool:Apply = false;
		for(new i = 1; i < AllWeapon; i++)
	{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
			if(i == UsingWeapon[i][id])
			
				Apply = true;
			else
				Apply = false;
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
	}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 2)
	{
		formatex(Line, charsmax(Line), "%s\r Deschide cutii^nAi %d key", Prefix, pKey[id]);
		sMenu = menu_create(Line, "MenuHandler");
		for(new i;i<chestcount;i++)
		{
			new strnumar[16]
			num_to_str(i,strnumar,15)
			formatex(Line, charsmax(Line), "%s \r| \y%d bucati", ChestName[i],Chestp[id][i]);
			menu_additem(sMenu, Line, strnumar);
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}	
	else if(MenuMod[id] == 3)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		if(!inMarket[id])
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
				else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
			}
			
			if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
			{
				formatex(Line, charsmax(Line), "\rItem:\d %s^n\yPret:\d %d", ChestName[WeaponinMarket[id]-103],MarketPoints[id]);
				All++;
			}
			if(102 == WeaponinMarket[id] && pKey[id] > 0)
			{
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
				All++;
			}
			
			if(All == 0)
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACECH");
			menu_additem(sMenu, Line, "-1");
		}
		
		if(!inMarket[id])
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "TOMARKETM");
		else
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "BACKMARKET");
		menu_additem(sMenu, Line, "0");
		
		new Name[32];
		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x)||!Loged[x])
				continue;

			if(inMarket[x] && MarketPoints[x] > 0)
			{
				num_to_str(x, String, 31);
				get_user_name(x, Name, 31);
				if(103 <= WeaponinMarket[x] && 113 >= WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "\r%s \d|\y %s \d| \rCost:\y %d", Name, ChestName[WeaponinMarket[x]-103], MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else if(102 == WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else
				{
					for(new i = 1; i < AllWeapon; i++)
					{
						new der = i+500
						if(i == WeaponinMarket[x])
						{
							formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
						}
						else if(der == WeaponinMarket[x])
						{
							WeaponinMarket[x] = i
							formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
							WeaponinMarket[x] = der
						}
					}

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

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

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

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

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

		return 1;
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	else if(MenuMod[id] == 14)
	{
		ShopTagMenu(id)

		return 1;
	}
	return PLUGIN_CONTINUE
}
public MenuHandler(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	
	if(MenuMod[id] == -2)
	{
		aThing[id] = Key;
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == -1)
	{
		WeaponinMarket[id] = Key;
		client_cmd(id, "messagemode Cost");
		MenuMod[id] = 3;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 0)
	{
		if(Key == 4)
		{
			trade(id)
			return PLUGIN_HANDLED;
		}
		MenuMod[id] = Key;
		Menu(id);
	}
	else if(MenuMod[id] == 1)
	{
		parse(Data[0], Data[2], 31, Data[3], 31);
		
		if(str_to_num(Data[3]) == FAMAS)
			UsingWeapon[0][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == USP)
			UsingWeapon[1][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GLOCK18)
			UsingWeapon[2][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AWP)
			UsingWeapon[3][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MP5NAVY)
			UsingWeapon[4][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M3)
			UsingWeapon[5][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M4A1)
			UsingWeapon[6][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == DEAGLE)
			UsingWeapon[7][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AK47)
			UsingWeapon[8][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == KNIFE)
			UsingWeapon[9][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P90)
			UsingWeapon[10][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SCOUT)
			UsingWeapon[11][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AUG)
			UsingWeapon[12][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == UMP45)
			UsingWeapon[13][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == XM1014)
			UsingWeapon[14][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG550)
			UsingWeapon[15][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG552)
			UsingWeapon[16][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == G3SG1)
			UsingWeapon[17][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P228)
			UsingWeapon[18][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GALIL)
			UsingWeapon[19][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M249)
			UsingWeapon[20][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == FIVESEVEN)
			UsingWeapon[21][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == ELITE)
			UsingWeapon[22][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == TMP)
			UsingWeapon[23][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MAC10)
			UsingWeapon[24][id] = str_to_num(Data[2]);


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

			else if(MarketPoints[id] > 0)
			{
				if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde !g%s!t pentru !g%d !tEURO!",Prefix, Name, ChestName[WeaponinMarket[id]-103], MarketPoints[id]);
					inMarket[id] = true;
				}
				else if(WeaponinMarket[id] == 102)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tEURO!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else
				{
					get_user_name(id, Name, 31);
					if(WeaponinMarket[id] > 499)
					{
						WeaponinMarket[id] -= 500 
						print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
						WeaponinMarket[id] += 500
					}
					else
					{
						print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
					}
					inMarket[id] = true;
					for(new a = 0; a < WEAPONSKIN; a++)
					{
						if(WeaponinMarket[id] == UsingWeapon[a][id])
						{
							UsingWeapon[a][id] = 0
						}
					}
				}
				MenuMod[id] = 3
				Menu(id)
				round[id] = 1
			}
		}
		else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
		{
			if(Key == id)
			{
				print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix);
				return PLUGIN_HANDLED;
			}
			get_user_name(Key, Name, 31);
			get_user_name(id, mName, 31);
			if(103 <= WeaponinMarket[Key] && 113 >= WeaponinMarket[Key])
			{
				print_color(0, "!g%s!t %s!y a cumparat!t %s!y cu !g%d EURO !yde la !t%s!",Prefix,mName, ChestName[WeaponinMarket[Key]-103], MarketPoints[Key], Name);
				Chestp[id][WeaponinMarket[Key]-103]++;
				Chestp[Key][WeaponinMarket[Key]-103]--;
			}
			else if(WeaponinMarket[Key] == 102)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETKEY",
				mName, MarketPoints[Key], Name);
				pKey[id]++;
				pKey[Key]--;
			}
			else if(WeaponinMarket[Key] < 500)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
			}
			else
			{
				WeaponinMarket[Key] -= 500
				print_color(0, "!g%s%L!y-!gStatTrack",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
				stattrack[WeaponinMarket[Key]][id]++
				stattrack[WeaponinMarket[Key]][Key]--
				kill[WeaponinMarket[Key]][Key] = 0
				new szWeek[3]
				get_time("%w", szWeek, sizeof(szWeek))
				coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek)
			}
			Points[Key] += MarketPoints[Key];
			Points[id] -= MarketPoints[Key];
			Save(Key);
			Save(id);
			inMarket[Key] = false;
			MarketPoints[Key] = 0;
			WeaponinMarket[Key] = 0;
			MenuMod[id] = 0;
		}
	}
	else if(MenuMod[id] == 4)
	{
		trade(id)
	}
	else if(MenuMod[id] == 5)
	{
		if(Key == -1) 
		{
			aTarget[id] = 0;
		}
		if(Key == -2)
		{
			MenuMod[id] = -2;
		}
		if(Key == -3)
		{
			if(aThing[id] != WeaponinMarket[id] && 103 <= aThing[id] && 113 >= aThing[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Chestp[id][aThing[id]-103]--;
				Chestp[aTarget[id]][aThing[id]-103]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(aTarget[id], Name2, 31);
				get_user_name(id, Name, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%s !ysi !g%d EURO !t%s!",Prefix, Name, ChestName[aThing[id]-103],aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, ChestName[aThing[id]-103], aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] == 102 && 102 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				pKey[id]--;
				pKey[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou o cheie si %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] > 0)
			{
				if(aThing[id] < 500)
				{
					if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id])
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
				else if(aThing[id] > 500)
				{
					new as = aThing[id]
					aThing[id] -= 500
					if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id]))
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						stattrack[aThing[id]][aTarget[id]]++
						stattrack[aThing[id]][id]--
						kill[aThing[id]][id] = 0
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s(StatTrack) si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
			}
			else
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			
		}
		if(Key == -4)
		{
			client_cmd(id, "messagemode Gift");
		}
		if(Key > 0)
			aTarget[id] = Key;

		Menu(id);
	}
	else if(MenuMod[id] == 6)
	{
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 7)
	{
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 8)
	{
		bet(id)
	}
	else if(MenuMod[id] == 9)
	{
		contract(id)
	}
	else if(MenuMod[id] == 10)
	{
		sterge(id)
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	else if(MenuMod[id] == 14)
	{
	ShopTagMenu(id)
	}
	
	return PLUGIN_CONTINUE;
}
//---------------------------------------Coinflip------------------------//
public coinflip(id)
{

	new Line[120];

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandle");

	if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line,119, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Remove bet");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line,119, "\dRemove bet");
		menu_additem(cMenu, Line, "0");
	}
	formatex(Line,119, "List bet");
	menu_additem(cMenu, Line, "3");

	menu_display(id, cMenu, 0);
}
public CoinHandle(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
		{
			client_cmd(id, "messagemode Coinflip");
		}
	}
	else if(Key == 2)
	{
		if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
		{
			Points[id] += coinflippoint[id]
			Save(id)
			coinflippoint[id] = 0
			coinflip(id)
		}	
	}	
	else if(Key == 3)
	{
		coinflipi[id] = 1
	}
	return PLUGIN_CONTINUE;
}
public coinflipss(id,player)
{
	if(is_user_connected(player))
	{
		static Line[120],name[33],Float:time;
		if(time == 0.0)
			time = get_gametime()

		if(coinflipstar[id] > 0)
		{
			coinflipstart[id]++
			if(coinflipstart[id] == 10)
			{
				coinflipstart[id] = 0
				coinflipstar[id]--
			}

			formatex(Line,119, "\rCoinflip^n\wIncepe in %d secunde",coinflipstar[id]);
		}
		else
		{
			formatex(Line,119, "\rCoinflip");
			if(coinflipwiner[id] > 0)
				coinflipwiner[id]--
		}

		new cMenu = menu_create(Line, "CoinHandless");

		get_user_name(id,name,32)
		if(coinflipwin[id] == id)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		get_user_name(player,name,32)
		if(coinflipwin[id] == player)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		if(time !=get_gametime() && coinflipstar[id] == 0)
		{
			time = get_gametime()
			if(coinflipwin[id] == id && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = player
				coinflipwin[player] = player
			}
			else if(coinflipwin[id] == player && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = id
				coinflipwin[player] = id
			}
			else if(coinflipwiner[id] == 0)
			{
				if(!task_exists(coinflipp[id]+13331) && !task_exists(id+13331))
					set_task(1.0,"winer",id+13331)

				new name[33]
				get_user_name(coinflipwin[id],name,32)
				client_cmd(coinflipwin[id], "stopsound")
				client_cmd(coinflipwin[id], "mp3 stop")
				client_cmd(coinflipwin[id], "spk %s",Sunete[2])

				client_cmd((coinflipwin[id] == id ? player : id), "stopsound")
				client_cmd((coinflipwin[id] == id ? player : id), "mp3 stop")
				client_cmd((coinflipwin[id] == id ? player : id), "spk %s",Sunete[1])
				print_color(id, "!g%s!t Castigatorul este !g%s",Prefix,name);
				print_color(coinflipp[id], "!g%s!t Castigatorul este !g%s",Prefix,name);
			}
		}

		menu_display(id, cMenu, 0);
	}
}
public winer(id)
{
	id -= 13331
	Points[coinflipwin[id]] += coinflippoint[id]*2
	Save(id)
	Save(coinflipp[id])
	coinflippoint[coinflipp[id]] = 0
	coinflippoint[id] = 0
	coinflipwiner[id] = 0
	coinflipwiner[coinflipp[id]] = 0
	coinflipwin[id] = 0
	coinflipwin[coinflipp[id]] = 0
	coinflipi[id] = 0
	coinflipi[coinflipp[id]] = 0
	coinflipstart[id] = -1
	coinflipstart[coinflipp[id]] = -1
	coinflipstar[id] = -1
	coinflipstar[coinflipp[id]] = -1
	coinflipp[coinflipp[id]] = 0
	coinflipp[id] = 0
}
public CoinHandless(id, gMenu, Key)	return PLUGIN_CONTINUE;
public coinflips(id)
{
	static Line[120],i,All,name[33],String[8];
	All = 0

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandles");

	formatex(Line,119, "Exit");
	menu_additem(cMenu, Line, "0");

	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflippoint[i] > 0 && coinflipstar[i] == -1 && i == id)
			{
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, "-1");
				All++
			}
			else if(coinflippoint[i] > 0 && coinflipstar[i] == -1)
			{
				num_to_str(i, String, 8);
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, String);
				All++
			}
		}
	}
	if(All == 0)
	{
		formatex(Line,119, "Momentan nu a pariat nimeni la coinflip");
		menu_additem(cMenu, Line, "-1");
	}
	menu_display(id, cMenu, 0);
}
public CoinHandles(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 0)
	{
		if(coinflipstar[id] == -1)
		{
			coinflipi[id] = 0
		}
	}
	else if(Key > 0)
	{
		if(Points[id] >= coinflippoint[Key] && coinflipstar[id] == -1 && coinflipstar[Key] == -1 && coinflippoint[id] == 0)
		{
			Points[id] -= coinflippoint[Key]
			Save(id)
			coinflippoint[id] = coinflippoint[Key]
			coinflipstar[id] = 10
			coinflipstar[Key] = 10
			coinflipp[id] = Key
			coinflipp[Key] = id
			new a = random_num(50,70)
			coinflipwiner[id] = a
			coinflipwiner[Key] = a
			coinflipwin[id] = Key
			coinflipwin[Key] = Key
			coinflipi[id] = 2
			coinflipi[Key] = 2
		}	
	}	
	return PLUGIN_CONTINUE;
}
//---------------------------------------Crash---------------------------//
public Coinflipbet(id)
{
	hide(mure)
	if(coinflippoint[id] != 0||coinflipstar[id] != -1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 500)
	{
		client_cmd(id, "messagemode Coinflip");
		return PLUGIN_HANDLED;
	}
	else
	{
		coinflippoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		coinflipstar[id] = -1
		coinflip(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public Crashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 100)
	{
		client_cmd(id, "messagemode Crash");
		return PLUGIN_HANDLED;
	}
	else
	{
		crashpoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		if(crashstart == 0)
		{
			print_color(id, "!g%s!t Crash-ul !ya inceput!Pariaza rapid!!!!",Prefix);
			crashstart = 15
		}
		
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public AutoCrashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32]
	read_args(Data, 31);
	remove_quotes(Data);
	
	new a
	for(new i;i<strlen(Data);i++)
	{
		if(a == 1)
		{
			Data[i+1] = '^0'
			break
		}
		if(Data[i] == '.')
			a = 1

	}
	if(equal(Data,"1")||equal(Data,"1.0"))
	{
		formatex(crashauto[id],8,"1.0")
		return 1;
	}
	new Float:Cost = str_to_float(Data)
	Cost+=0.000001
	if(Cost < 1.1)
	{
		client_cmd(id, "messagemode AutoCrash");
		return PLUGIN_HANDLED;
	}
	else
	{
		formatex(crashauto[id],8,Data)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public crashhh()
{
	static i,a,b,c,d,e,f,g,h,j,k[8],z,w
	a = 0
	b = 0
	z = 0
	float_to_str(crashtime,k,7)
	for(w = 0;w<strlen(k);w++)
	{
		if(z == 1)
		{
			k[w+1] = '^0'
			break
		}
		if(k[w] == '.')
			z = 1

	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(crashstart == 0)
			{
				crashpoint[i] = 0
			}
			else if(crashpoint[i] > 0)
			{
				a+=crashpoint[i]
				b++
				if(equal(crashauto[i],k) && crashtime > 1.0)
				{
					new Float:z = float(crashpoint[i])*crashtime
					Points[i] += floatround(z)
					crashwin[i] = floatround(z)
					crashpoint[i] = -1
					Save(i)
				}
			}
		}
	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflipi[i] == 1)
			{
				coinflips(i)
			}
			else if(coinflipi[i] == 2)
			{
				coinflipss(i,coinflipp[i])
			}
			if(crashi[i] == 1)
			{
				crashh(i,a,b)
			}
		}
	}
	if(crashstart > 1)
	{
		c++
		if(c == 10)
		{
			crashstart--
			c = 0
			if(crashstart == 1)
			{
				f = random_num(2,5)
				h = random_num(8,10)
			}
		}
	}
	else if(crashstart == 1)
	{
		j++
		g++
		if(g <= f)
		{
			if(random_float(0.0,20.0) >= 20.0-crashtime)
			{
				crashstart = -1
				e = 0
				g = 0
				j = 0
			}
		}
		if(e == h && crashstart != -1)
		{
			crashtime+=0.1
			if(crashtime == 1.2)
				h = random_num(8,9)
			else if(crashtime == 1.5)
				h = random_num(6,7)
			else if(crashtime == 2.0)
				h = random_num(4,5)
			else if(crashtime > 2.5)
				h = random_num(2,3)

			e = 0
		}
		else if(crashstart != -1)
			e++

		if(j == 10)
		{
			j = 0
			g = 0
		}
	}
	else if(crashstart == -1)
	{
		d++
		if(d == 50)
		{
			crashstart = 0
			crashtime = 1.0
			d = 0
		}
	}
}
public crashh(id,a,b)
{
	static Line[508],String[100];
	formatex(Line,507,"")
	formatex(String, 99, "\rCrash \w- Pot de \r%d EURO^n",a);
	add(Line, 507, String);
	formatex(String, 99, "\yParticipanti %d^n",b);
	add(Line, 507, String);
	if(crashstart == 1)
		formatex(String, 99, "X\y%0.1f^n",crashtime);
	else if(crashstart > 1)
		formatex(String, 99, "\yIncepe in %d secunde^n",crashstart);
	else if(crashstart == -1)
		formatex(String, 99, "\yCrash la %0.1f^n",crashtime);
	else
		formatex(String, 99, "Pentru a incepe trebuie sa participe minim 1^n");

	add(Line, 507, String)

	formatex(String, 99, "%s Auto-Cashout \r",(!equal(crashauto[id],"1.0") ? "ON" : "OFF"));
	add(Line, 507, String)
	formatex(String, 99, "x%s^n\wPentru a opri Auto-Cashout seteaza valoarea 1^n",crashauto[id]);
	add(Line, 507, String)
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(String, 99, "\yProfit %d^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}
	else if(crashpoint[id] == -1)
	{
		formatex(String, 99, "\yAi scos %d^n",crashwin[id]);
		add(Line, 507, String)
	}
	else if(crashstart == -1 && crashpoint[id] > 0)
	{
		formatex(String, 99, "\yAi pierdut %d, felicitari :)))^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}


	new cMenu = menu_create(Line, "CrashHandle");

	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line, 507, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(Line, 507, "Cashout");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line, 507, "\dCashout");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Auto-Cashout");
		menu_additem(cMenu, Line, "3");
	}
	else
	{
		formatex(Line, 507, "\dAuto-Cashout");
		menu_additem(cMenu, Line, "0");
	}

	formatex(Line, 507, "Exit");
	menu_additem(cMenu, Line, "4");
	menu_setprop( cMenu, MPROP_EXIT, MEXIT_ALL );
	menu_setprop( cMenu, MPROP_NEXTNAME, "")
	menu_setprop( cMenu, MPROP_BACKNAME, "")
	menu_setprop( cMenu, MPROP_EXITNAME, "")
	menu_display(id, cMenu, 0);
}
public CrashHandle(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode Crash");
	}

	else if(Key == 2)
	{
		if(crashpoint[id] > 0 && crashstart == 1)
		{
			Points[id] += floatround(float(crashpoint[id])*crashtime)
			crashwin[id] = floatround(float(crashpoint[id])*crashtime)
			crashpoint[id] = -1
			Save(id)
		}
	}

	else if(Key == 3)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode AutoCrash");	
	}	
	else if(Key == 4)
	{
		menu_destroy(gMenu);
		crashi[id] = 0
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
//---------------------------------------Sterge--------------------------//
public sterge(id)
{
	hide(mure)
	new zMenu = menu_create("Selecteaza itemul", "stergem");
	new String[32], All, Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

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

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

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

		Save(id)

	}
	else
		contract(id);

	Save(id);

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

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

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

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

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

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

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(Menu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(Menu, Line, String);
		}
		All++;
	}
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			formatex(Line, charsmax(Line), "\r%s", ChestName[i]);
			new calcul = -2-i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(Menu, Line, numars);
			All++;
		}
	}
	if(pKey[id] > 0)
	{
		formatex(Line, 127, "Cheie");
		menu_additem(Menu, Line, "-1");
		All++;
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	if(All == 0)
	{
		print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix);
		jackkpot(id);
	}
}
public AddHandlert(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT||playj == 10)
	{
		menu_destroy ( gMenu );
		jackkpot(id);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key <= -2)
	{
		Key+= 2
		Key*= -1
		jack[id] = 103+Key
		jackkpot(id);
	}
	else if(Key == -1)
	{
		jack[id] = 102
		jackkpot(id);
	}
	else
	{
		if(Key < 500)
		{
			jack[id] = Key
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
		}
		else
		{
			jack[id] = Key-500
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
			jack[id] += 500
		}
		jackkpot(id);
	}	
	inJack[id] = 1
	itemj[playj] = id
	playj++
	if(playj >= 2 && secs == 60)
		playjack()

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

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

		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x))
				continue;
			
			if(inJack[x])
			{
				if(103 <= jack[x] && 113 >= jack[x])
				{
					Chestp[x][jack[x]-103]--
					Chestp[id][jack[x]-103]++
				}
				else if(102 == jack[x])
				{
					pKey[x]--
					pKey[id]++
				}
				else if(jack[x] < 500)
				{
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
				}
				else if(jack[x] > 500)
				{
					jack[x] -= 500
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
					stattrack[jack[x]][x]--
					stattrack[jack[x]][id]++
					kill[jack[x]][x] = 0
				}
				inJack[x] = 0
				jack[x] = 0
				MenuMod[x] = 0
				Menu(id)
				Save(x)
				Save(id)
			}
		}
		for(new a = 0; a <= playj; a++)
		{
			if(itemj[a] != 0)
			{
				itemj[a] = 0
			}
		}
		inJack[id] = 0
		jack[id] = 0
		Save(id)
	}
}
public unplayj()
{
	hide(mure)
	jackpot = 0
	secs = 60
	print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix);
}
//----------------------------------------------------------Ruleta-------------------------------------------------//
public playruleta()
{
	hide(mure)
	sec = 60
	print_color(0, "!g%s!t Ruleta a pornit!",Prefix);
	set_task(1.0, "CnT", 1534554, _, _, "b");
}
public CnT()
{
	hide(mure)
	if(sec != 0)
	{
		sec--
		if(sec == 1)
		{
			client_cmd(0, "stopsound")
			client_cmd(0, "mp3 stop")
			client_cmd(0, "spk %s",Sunete[5])
		}
	}
	else
	{
		new a = random_num(0,14)
		if(a < 8 && a > 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\r%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] *= 2
					Galben[i] = 0
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Rosu[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a);
		}
		else if(a > 7 && a < 15)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\d%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] = 0
					Gri[i] *= 2
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Gri[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a);
		}
		else if(a == 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\y%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] *= 14
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Galben[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a);
		}
		playr = 0
		print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix);
		remove_task(1534554)
		ruleta = 1
		set_task(300.0, "unplay", 13231)
	}
}
public unplay()
{
	hide(mure)
	ruleta = 0
	sec = 60
	print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix);
}
public ruletta(id)
{
	hide(mure)
	new Line[128]
	if(!Rosu[id] && !Gri[id] && !Galben[id])
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]);
	}
	else
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]);
	}
	new Menu = menu_create(Line, "RuletaHandlers");

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

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

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

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

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

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

	menu_additem(Menu, "Refresh", "4");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public RuletaHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Nu ai EURO pentru ruleta!",Prefix);
		}
		case 1:
		{
			client_cmd(id, "messagemode Rosu");
		}
		case 2:
		{
			client_cmd(id, "messagemode Galben");
		}
		case 3:
		{
			client_cmd(id, "messagemode Gri");
		}
		case 4:
		{
			ruletta(id)
		}
	}
	return PLUGIN_HANDLED;
}
//----------------------------------------------------------Trade--------------------------------------------------//
public acctrade(id)
{
	hide(mure)
	if(!tTarget[id])
		return 1;

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

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

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

	go[id] = 0
	go[tTarget[id]] = 0
	remove_task(tTarget[id]);
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	new Name[32], Name2[32];
	get_user_name(id, Name, charsmax(Name));
	get_user_name(tTarget[id], Name2, charsmax(Name2));
	print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name);
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	return 1;
}
public trade(id)
{
	hide(mure)
	new Name[32], String[8]
	if(invitat[id] && go[id] == 0)
	{
		new Menu = menu_create("Schimb de iteme", "TradeHandlers");
		menu_additem(Menu, "Accepta", "1");
		menu_additem(Menu, "Refuza", "2");
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
	else if(tTarget[id] == 0)
	{
		new Menu = menu_create("Alege jucator", "TradeHandler");
		for(new i; i < 32; i++)
		{
			if(is_user_connected(i) && i != id && Loged[i])
			{
				get_user_name(i, Name, 31);
				num_to_str(i, String, 31);
				menu_additem(Menu, Name, String);
			}
		}
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}
public TradeHandler(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu ); 
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	tTarget[id] = Key;
	tTarget[tTarget[id]] = id;
	invitat[tTarget[id]] = 1;
	nosend[id] = false;
	new Names[32], Name2[32];
	get_user_name(id, Names, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names);
	set_task(15.0, "fararaspuns", id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public TradeHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		remove_task(tTarget[id]);
		invitat[id] = 0;
		nosend[tTarget[id]] = true;
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
		print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
		tTarget[id] = 0;
		tTarget[tTarget[id]] = 0;
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			go[id] = 1
			go[tTarget[id]] = 1
			remove_task(tTarget[id]);
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name);
			totrade(id);
			totrade(tTarget[id]);
		}
		case 2:
		{
			remove_task(tTarget[id]);
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}
	return PLUGIN_HANDLED;
}
public totrade(id)
{
	hide(mure)
	new Line[128]
	new cutiute
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a);
	tMenu = menu_create(Line, "MenuHandlert");
	new All, String[32], fol[MAX+1], fol2[MAX+1];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(selectate[id] != 0)
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			for(new a = 0; a < selectate[id]; a++)
			{
				if(select[a][id] == i)
				{
					formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol[i]++
				}
			}
			if(fol[i] == selectate[id] && dsa)
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		if(selectates[id] != 0)
		{
			new dre = i+500 
			for(new a = 0; a < selectates[id]; a++)
			{
				if(selects[a][id] == dre && stattrack[i][id])
				{
					formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol2[i]++
				}
			}
			if(fol2[i] == selectates[id] && stattrack[i][id])
			{
				formatex(String, 31, "%d", dre);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		All++;
	} 
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			if(selectatec[id][i] != 0)
				formatex(Line, 127, "%s\r[Ai selectat %d]",ChestName[i],selectatec[id][i]);
			else
				formatex(Line, 127, "%s",ChestName[i]);

			new calcul = 103+i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(tMenu, Line, numars);
			cutiute++
		}
	}
	if(pKey[id] > 0)
	{
		if(selectatek[id] != 0)
		{
			formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]);
			menu_additem(tMenu, Line, "-3"); 
		}
		else
		{
			formatex(Line, 127, "Cheie");
			menu_additem(tMenu, Line, "-3"); 
		}
	}
	if(All == 0 && pKey[id] == 0 && cutiute == 0)
	{
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Nu ai iteme!",Prefix);
		print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name);
		return 1;
	}
	menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, tMenu, 0);
	return 0;
}
public MenuHandlert(id, gMenu, Key)
{	
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(a == 0)
		{
			totrade(id);
			print_color(id, "!g%s!y Minim 1 item!y!",Prefix);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(103 <= Key && 113 >= Key)
	{
		if(a < 5)
		{
			if(Chestp[id][Key-103] > selectatec[id][Key-103])
			{
				selectatec[id][Key-103]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -3)
	{
		if(a < 5)
		{
			if(pKey[id] > selectatek[id])
			{
				selectatek[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -1)
	{
		print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix);
		totrade(id);
		return PLUGIN_HANDLED;
	}
	else
	{
		if(a < 5)
		{
			if(Key < 500)
			{
				select[selectate[id]][id] = Key
				selectate[id]++;
				totrade(id);
			}
			else
			{
				selects[selectates[id]][id] = Key
				selectates[id]++;
				totrade(id);
			}
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public goready(id)
{
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatek[tTarget[id]]
	for(new i;i<11;i++)
	{
		a+=selectatec[id][i]
		b+=selectatec[tTarget[id]][i]
	}
	new Name[32], Name2[32], Line[128];
	get_user_name(tTarget[id], Name2, 31);
	get_user_name(id, Name, 31);
	formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b);
	new Menu = menu_create(Line, "MenuHandlerr");
	menu_additem(Menu, "Refresh", "-1");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public fararaspuns(id)
{
	hide(mure)
	new Name2[32];
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2);
	tTarget[id] = 0;
}


public ShopTagMenu(id)
{
    new menu, szText[128];
   
    formatex(szText, charsmax(szText), "%s\r Shop Chat Tag %L",Prefix, LANG_SERVER, "YPOINT", Points[id])
    menu = menu_create(szText, "ShopMenuHandler");

    menu_additem(menu, "\wCumpara|Schimba Chat Tag\y (\r10000 Euro\y)");
  
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    menu_display(id, menu, 0);
   
    return PLUGIN_HANDLED;
}

public ShopMenuHandler ( id, Menu, Item )
{
		if( Item == MENU_EXIT ) 
	{
		menu_destroy ( Menu );
		return PLUGIN_HANDLED;
	}
		if (  cBuyTag > Points [id] )
				{
					print_color ( id, "!g%s!t Nu ai destule puncte pentur a cumpara Chat Tag,ai nevoie de !g%d", Prefix, cBuyTag - Points [id] );	
				
					ShopTagMenu ( id );
					
					return PLUGIN_CONTINUE;
				}
			

			print_color( id, "!g%s!t Scrie Chat Tag-ul pe care il dorestii", Prefix );
		
			client_cmd ( id, "messagemode UserTag" );
			Points [id] -= cBuyTag;
			Save(id);
		
	return PLUGIN_CONTINUE;
}
public bomb_planted(iPlanter)
	g_iBombPlanter = iPlanter
	
// ===============================================================================
//  	bomb_explode - Called when the Bomb exploded
// ===============================================================================

public bomb_explode(iPlanter, iDefuser)
{
	g_bBombExploded = true
	ShowMVPMessage(g_iBombPlanter, 3)
}
	
// ===============================================================================
// 	bomb_defused - Called when the Bomb was defused
// ===============================================================================

public bomb_defused(iDefuser)
	g_iBombDefuser = iDefuser
	
// ===============================================================================
// 	GetTopKiller - Returns the id of the player who made the most kills
// ===============================================================================

public GetTopKiller(iTeam) // 1 : Terrorist - 2 : Counter-Terrorists
{
	new iPlayers[32], iPlayersnum;
	
	get_players(iPlayers, iPlayersnum, "e", iTeam == 1 ? "TERRORIST" : "CT")
	SortCustom1D(iPlayers, iPlayersnum, "SortByKills")
	
	return iPlayers[0]
}

public SortByKills(elem1, elem2) 
{
	if ( g_iEnemiesKilled[elem1] > g_iEnemiesKilled[elem2] )
		return -1
	else if ( g_iEnemiesKilled[elem1] < g_iEnemiesKilled[elem2] )
		return 1
	return 0
}

// ===============================================================================
// 	GetTopRescuer - Returns the id of the player who rescued the most hostages
// ===============================================================================

public GetTopRescuer() // 1 : Terrorist - 2 : Counter-Terrorists
{
	new iPlayers[32], iPlayersnum;
	
	get_players(iPlayers, iPlayersnum, "e", "CT")
	SortCustom1D(iPlayers, iPlayersnum, "SortByHostages")
	
	return iPlayers[0]
}

public SortByHostages(elem1, elem2) 
{
	if ( g_iHostagesRescued[elem1] > g_iHostagesRescued[elem2] )
		return -1
	else if ( g_iHostagesRescued[elem1] < g_iHostagesRescued[elem2] )
		return 1
	return 0
}
public Event_RoundWon_T()
{
	set_task(CHECK_DELAY, "CheckTConditions")
}

public CheckTConditions()
{
	if(g_iBombPlanter != NO_BOMB_PLANTED && g_bBombExploded == false)
	{
		new iTopKiller = GetTopKiller(1)
		ShowMVPMessage(iTopKiller, 1)
		
		return PLUGIN_HANDLED
	}
	
	/*new iTopKiller = GetTopKiller(1)
	ShowMVPMessage(iTopKiller, 1)*/
	
	return PLUGIN_HANDLED
}

// ===============================================================================
// 	Event_RoundWon_CT - Called when the Counter-Terrorists when the Round
// ===============================================================================

public Event_RoundWon_CT()
{
	set_task(CHECK_DELAY, "CheckCTConditions")
}

public CheckCTConditions()
{
	if(g_iBombDefuser != NO_BOMB_DEFUSED)
	{
		ShowMVPMessage(g_iBombDefuser, 2)
		return PLUGIN_HANDLED
	}
	
	if(g_bAllHostagesRescued)
	{
		new iTopRescuer = GetTopRescuer()
		ShowMVPMessage(iTopRescuer, 4)
		
		return PLUGIN_HANDLED
	}
	
	new iTopKiller = GetTopKiller(2)
	ShowMVPMessage(iTopKiller, 1)
	
	return PLUGIN_HANDLED
}

// ===============================================================================
// 	Event_AllHostagesRescued - Called when ALL Hostages were rescued
// ===============================================================================

public Event_AllHostagesRescued()
{
	g_bAllHostagesRescued = true
	
	new iTopRescuer = GetTopRescuer()
	ShowMVPMessage(iTopRescuer, 4)	
}

// ===============================================================================
// 	Event_HostageRescued - Called when ONE Hostage was rescued
// ===============================================================================

public Event_HostageRescued()
{
	static szLog[80], szName[32], id
	
	read_logargv(0, szLog, charsmax(szLog))
	parse_loguser(szLog, szName, charsmax(szName))
	
	id = get_user_index(szName)
	
	g_iHostagesRescued[id]++
}

// ===============================================================================
// 	ShowMVPMessage - Shows the Director HUD Message
// ===============================================================================

public ShowMVPMessage(iMVP, iReason) // 1 : Kills - 2 : Bomb defused - 3 : Bomb exploded - 4 : Hostage rescued
{
	new szMVPName[33]
	get_user_name(iMVP, szMVPName, charsmax(szMVPName))
	
	set_dhudmessage(0, 255, 0, -1.0, 0.15, 0, 6.0, 12.0)
	
	switch(iReason)
	{
		case 1: show_dhudmessage(0, "MVP : %s for making the most kills this round.", szMVPName)
		case 2: show_dhudmessage(0, "MVP : %s for defusing the Bomb.", szMVPName)
		case 3: show_dhudmessage(0, "MVP : %s for planting the Bomb.", szMVPName)
		case 4: show_dhudmessage(0, "MVP : %s for rescuing %i Hostages.", szMVPName, g_iHostagesRescued[iMVP])
	}		
}
//------------------------------------------------------------Intrare pe sv--------------------------------------------------------//
public client_putinserver(id)
{
	hide(mure)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	PlayerHasTag [id] = false;
	LoadUserTag ( id );
	for(new i; i < 11; i++)
		Chestp[id][i] = 0

	set_task(1.0, "hudus", id+33333, _, _, "b")
	new name[33]
	get_user_name(id,name,32)
	formatex(PreNume[id],32,"")

	for(new i;i<precount;i++)
		if(equal(PreName[i],name))
			formatex(PreNume[id],32,"^4[^3%s^4]",PreNameP[i])

	Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, crashpoint[id] = 0, crashi[id] = 0;
	coinflipi[id] = 0, coinflipstar[id] = -1, coinflipstart[id] = 0, coinflippoint[id] = 0, coinflipp[id] = 0, coinflipwiner[id] = 0, coinflipwin[id] = 0, PromoUse[id] = 0

	formatex(crashauto[id],8,"1.0")
	for(new i = 1; i < AllWeapon; i++)
	{
		kill[i][id] = 0
		stattrack[i][id] = 0
		uWeapon[i][id] = 0;
		coldown[i][id] = -1
	}
	for(new a = 0; a < WEAPONSKIN; a++)
	{
		UsingWeapon[a][id] = 0
	}

	for(new z = 0; z < selectate[id]; z++)
	{
		select[z][id] = 0
	}
	selectate[id] = 0
	acc[id] = 0
	selectatek[id] = 0
	selectatek[tTarget[id]] = 0
	for(new i;i<11;i++)
	{
		selectatec[id][i] = 0
		selectatec[tTarget[id]][i] = 0
	}
	selectates[id] = 0
	selectates[tTarget[id]] = 0
	acc[tTarget[id]] = 0
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	go[id] = 0
	task[id] = 0
	go[tTarget[id]] = 0
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	WeaponinMarket[id] = 0
	inMarket[id] = false
	Password[id] = "";
	SavedPassword[id] = "";
	Loged[id] = false;
	Load(id);
	remove_task(id+134444)
	remove_task(id)
}

//---------------------------------------------------------------Salvare si load--------------------------------------------//
public Load(id)
{
	hide(mure)
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}
	
	new tData[5][8], Data[MAX+1][8];

	if(nvault_get(svault, g_szName[id], rLine, sizeof(rLine) - 1))
	{
		formatex(arg1, charsmax(arg1), "")
		formatex(arg1, charsmax(arg2), "")
		strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

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

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

	new zData[WEAPONSKIN][8];
	if(nvault_get(ssvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8],
		7, zData[9], 7, zData[10], 7, zData[11], 7, zData[12], 7, zData[13], 7, zData[14], 7, zData[15], 7, zData[16], 7, zData[17], 7, zData[18], 7, zData[19], 7, zData[20], 7);

		for(new i; i < WEAPONSKIN; i++)
			UsingWeapon[i][id] = str_to_num(zData[i]);
	}
	new cData[11][8];
	if(nvault_get(chestvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, cData[0], 7, cData[1], 7, cData[2], 7, cData[3], 7, cData[4], 7, cData[5], 7, cData[6], 7, cData[7], 7, cData[8],
		7, cData[9], 7, cData[10], 7);

		for(new i; i < 11; i++)
			Chestp[id][i] = str_to_num(cData[i]);
	}
	new rData[MAX+1][8]
	new dData[3][8]

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

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

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

		new szWeek[3]
		get_time("%w", szWeek, sizeof(szWeek))
		new iDate = str_to_num(szWeek)

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

	formatex(rLine, charsmax(rLine), "")
	new String[8];
	
	format(String, 7, "^"%i^" ", Kills[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Points[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", pKey[id]);
	add(rLine, charsmax(rLine), String);

	format(String, 7, "^"%i^" ", PromoUse[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Rang[id]);
	add(rLine, charsmax(rLine), String);
	new ass
	for(new i = 1; i < MAX+1; i++)
	{
		if(uWeapon[i][id] < 0)
			uWeapon[i][id] = 0

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

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

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

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

	for(new i = 0; i < 11; i++)
	{
		format(Stringchest, 7, "^"%i^" ", Chestp[id][i]);
		add(rLine, charsmax(rLine), Stringchest);
	}
				
	nvault_set(chestvault, g_szName[id], rLine)

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

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

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

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

	}
	nvault_set(trackvault, g_szName[id], rLine)
	formatex(rLine, charsmax(rLine), "")

	return PLUGIN_CONTINUE;
}
//----------------------------------------------------------Login--------------------------------------------------------//
public RegMenu(id)
{
	hide(mure)
	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) == false)
	{
		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)
{	
	hide(mure)
	if(item == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return;
	}
	new data[9], name[64], Key;
	new access, callback;
	menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
	Key = str_to_num(data);
	
	if(Key == -1)
		ToLogout(id);

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

	if(Key == 1)
	{
		client_cmd(id, "messagemode UserPassword");
		RegMenu(id);
	}
	if(Key == 2)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
		Register(id, Password[id]);
		copy(SavedPassword[id], 31, Password[id]);
		Loged[id] = true;
		Menu(id);
	}
	if(Key == 3)
	{
		if(equal(SavedPassword[id], Password[id])) {
			Loged[id] = true;
			remove_task(id+134444)
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
			Menu(id);
		}
	}
}
public ToLogout(id)
{
	hide(mure)
	if(Loged[id])
	{
		Loged[id] = false;
		Password[id] = "";
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
	}
}
public PlayerPassword(id)
{
	hide(mure)
	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) 
{
	hide(mure)
	if(!is_user_connected(id)||g_NameChange[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;
}
public freeak(id)
{
	hide(mure)
	new list[MAX]
	new wpnz = 1

	for(new i = 1;i<AllWeapon;i++)
	{
		if(Weapons[i] == 28)
		{
			list[wpnz] = i
			wpnz++
		}
	}
	new rWeapon = random_num(1,wpnz-1)
	new rNum = random_num(1, 100);
	
	if(WeaponDrop[list[rWeapon]] >= rNum)
	{
		if(equal(WeaponNames[list[rWeapon]], ""))
			freeak(id);
		else
		{
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[Global Offensive] !yProcesare incheiata, ai primit un !g%s!y-!gStatTrack!y!", WeaponNames[list[rWeapon]]);
			uWeapon[list[rWeapon]][id]++;
			stattrack[list[rWeapon]][id]++;
			Save(id);
		}
	}
	else
	{
		freeak(id);
	}
}
// --------------------------Native-------------------------------------------//
public randomcsgo(id)
{
	hide(mure)
	new a = random_num(1,3)
	new Name[32]
	get_user_name(id, Name, charsmax(Name));

	if(a == 1)
	{
		new pPont;
		pPont = random_num(25, 50);
		Points[id] += pPont;
		print_color(id, "!g%s!t %s!y a obtinut !g%i!y EURO!", Prefix, Name, pPont);
	}
	else if(a == 2)
	{
		pKey[id]++;
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
	}
	else
	{
		a = random_num(0,chestcount)
		Chestp[id][a]++;
		print_color(id, "!g%s!t %s!y a obtinut !g%s!y!", Prefix, Name, ChestName[a]);
	}
	Save(id);
}
public native_get_pct(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Points[id]
	}
	return -1
}
public native_set_pct(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Points[id] = a
		Save(id)
	}
}
public native_get_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return pKey[id]
	}
	return -1
}
public native_set_key(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id] = a
		Save(id)
	}
}
public native_get_chest(id,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Chestp[id][value]
	}
	return -1
}
public native_set_chest(id,a,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Chestp[id][value] = a
		Save(id)
	}
}
public native_set_chests(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<a;i++)
			GiveChest(id)

		Save(id)
	}
}
public native_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id]++;
		Save(id);
	}
}
public native_chest(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<11;i++)
			Chestp[id][i]++;

		Save(id);
	}
}
public native_bet(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		new a = betp[id]*2
		Points[id] += a
		print_color(id, "!g%s!t Ai castigat %d EURO!", Prefix, a);
	}
}
public native_bett(id)
{
	hide(mure)
	if(is_user_connected(id) && pbet[id] == 1)
		return true;

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

	return false;
}
// -----------------------------------------------------Stockuri-----------------------------------------//
stock GiveChest(id)
{
	hide(mure)
	new rWeapon = random_num(0, chestcount);
	new rNum = random_num(1, 100);
	
	if(ChestDrop[rWeapon] >= rNum)
	{
		if(equal(ChestName[rWeapon], ""))
			GiveChest(id);
		else
		{
			Chestp[id][rWeapon]++
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[Global Offensive] !t%s !ya gasit chestul !g%s",Name,ChestName[rWeapon]);
			Save(id);
		}
	}
	else
		GiveChest(id);
}
stock bool:ValidMdl(Mdl[])
{
	hide(mure)
	if(containi(Mdl, ".mdl") != -1)
	{
		return true;
	}
	return false;
}
stock bool:Registered(id)
{
	hide(mure)
	new Data[32];
	if(TrieGetString(g_NameName, g_szName[id], Data, 31))
	{
		server_print("am gasit %s in trie",Data)
		copy(SavedPassword[id], 31, Data);
		return true;
	}
	else
	{
		if(nvault_get(rvault, g_szName[id], Data, sizeof(Data) - 1)) 
		{ 
			copy(SavedPassword[id], 31, Data);
			TrieSetString(g_NameName,g_szName[id],Data)
			server_print("am gasit %s in nvault",Data)
			return true;
		}
	}
	return false;
}
stock Register(id, const rSavedPassword[])
{
	hide(mure)
	new Name[32], Line[64];
	get_user_name(id, Name, 31);
	format(Line, 63, "%s", rSavedPassword);
	
	nvault_set(rvault, g_szName[id], Line)
	print_color(id, "!gMultumim pentru inregistrare!")
}
stock print_color(const id, const input[], any:...)
{
	hide(mure)
	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;
}
stock fnGetRandom()
{
	hide(mure)
	new a = random_num(1,playj)
	for (new r = 1; r <= 32; r++)
		if (is_user_connected(r) && inJack[r] && itemj[a] == r)
			return r
	
	return -1;
}
stock fnGetj()
{
	hide(mure)
	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id) && inJack[id])
			return id

	return -1
}

Remove_Icon(id)
{
	message_begin(MSG_ALL, SVC_TEMPENTITY);
	write_byte(TE_KILLPLAYERATTACHMENTS);
	write_byte(id);
	message_end();
}
public clcmd_fullupdate()
{
	return PLUGIN_HANDLED
}

public event_restart_attempt()
{
	new players[32], num_players
	get_players(players, num_players, "a")
	for (new i; i < num_players; ++i)
		g_restart_attempt[players[i]] = true
}

public event_hud_reset(id)
{
	if (g_restart_attempt[id]) {
		g_restart_attempt[id] = false
		return
	}
	event_player_spawn(id)
}

public event_player_spawn(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		g_HideGiveClips[id] = true
		g_Spawned[id] = true
	}
}

public do_player_spawn(id)
{
	new weap_ids[32], num_weaps
	get_user_weapons(id, weap_ids, num_weaps)
	for (new i = 0; i < num_weaps; i++) {
		new weap_id = weap_ids[i]
		if (fill_weapon(id, weap_id)) {
			if (g_FirstSpawn[id]) {
				if (get_pcvar_num(pv_fa_altclips) != 1)
					cs_set_user_bpammo(id, weap_id, 0)
				fill_bpammo_show(id, weap_id)
			}
			else
				fill_bpammo(id, weap_id)
		}
	}
	g_FirstSpawn[id] = false
}

public event_new_round()
{
	g_iBombPlanter = NO_BOMB_PLANTED
	g_iBombDefuser = NO_BOMB_DEFUSED
	
	g_bBombExploded = false
	g_bAllHostagesRescued = false
	
	arrayset(g_iEnemiesKilled, 0, sizeof(g_iEnemiesKilled))
	arrayset(g_iHostagesRescued, 0 , sizeof(g_iHostagesRescued))
	
	if (get_pcvar_num(pv_fa_enable) == 1) {
		new players[32], num_players
		get_players(players, num_players, "a")
		for (new j = 0; j < num_players; j++) {
			new id = players[j]
			new weap_ids[32], num_weaps
			get_user_weapons(id, weap_ids, num_weaps)
			for (new i = 0; i < num_weaps; i++)
				if (fill_weapon(id, weap_ids[i]))
					fill_bpammo(id, weap_ids[i])
		}
	}
}

public message_ammo_pickup(msg_id, id, ent)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_HideGiveClips[id]) {
			g_HideGiveClips[id] = false
			return PLUGIN_HANDLED
		}
	}
	return PLUGIN_CONTINUE
}

public forward_message_begin(msg_dest, msg_type, const Float:ORIGIN[3], const ED)
{
	if (ED < 1 || ED > 32)
		return
	new id = ED
	if (msg_type == g_MoneyMsg && g_LastMessage[id] == g_WeapPickupMsg)
		event_weapon_buy(id, g_LastWeapPickup[id])
	g_LastMessageID = id
	g_LastMessageType = msg_type
	g_LastMessage[id] = msg_type
}

public forward_write_byte(value)
{
	if (g_LastMessageType == g_WeapPickupMsg)
		g_LastWeapPickup[g_LastMessageID] = value
}

public event_weapon_buy(id, weap_id)
{
	g_BoughtWeapon[id] = weap_id
}

public do_weapon_buy(id, weap_id)
{
	if (fill_weapon(id, weap_id))
		fill_bpammo_show(id, weap_id)
}

public client_PreThink(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_Spawned[id]) {
			g_Spawned[id] = false
			do_player_spawn(id)
		}
		if (g_BoughtWeapon[id] != 0) {
			new weap_id = g_BoughtWeapon[id]
			g_BoughtWeapon[id] = 0
			do_weapon_buy(id, weap_id)
		}
	}
	return PLUGIN_CONTINUE
}

public bool:weapon_has_ammo(weap_id)
{
	return g_AmmoName[g_AmmoType[weap_id]][0] != 0
}

public bool:fill_bpammo(id, weap_id)
{
	if (get_pcvar_num(pv_fa_altclips) == 1) {
		new ammo_clips = g_MaxClips[weap_id]
		if (weapon_has_ammo(weap_id)) {
			for (new i = 1; i <= ammo_clips; i++) {
				g_HideGiveClips[id] = true
				give_item(id, g_AmmoName[g_AmmoType[weap_id]])
			}
			g_HideGiveClips[id] = false
			return true
		}
	}
	else {
		new ammo = g_MaxBPAmmo[weap_id]
		if (weapon_has_ammo(weap_id)) {
			cs_set_user_bpammo(id, weap_id, ammo)
			g_HideGiveClips[id] = false
			return true
		}
	}
	return false
}

public bool:fill_weapon(id, weap_id)
{
	new clip_size = g_ClipSize[weap_id]
	if (clip_size != 0) {
		new weap_name[41]
		get_weaponname(weap_id, weap_name, 40)
		new wpn = find_ent_by_owner(-1, weap_name, id)
		if (wpn != 0) {
			cs_set_weapon_ammo(wpn, clip_size)
			return true
		}
	}
	return false
}

public show_given_bpammo(id, weap_id, ammount)
{
	g_HideGiveClips[id] = false
	if (ammount <= 0)
		return
	message_begin(MSG_ONE, get_user_msgid("AmmoPickup"), {0,0,0}, id)
	write_byte(g_AmmoType[weap_id])
	write_byte(ammount)
	message_end()
}

public bool:fill_bpammo_show(id, weap_id)
{
	new given_ammo = g_MaxBPAmmo[weap_id]
	if (get_pcvar_num(pv_fa_altclips) != 1 && weapon_has_ammo(weap_id))
		given_ammo -= cs_get_user_bpammo(id, weap_id)
	if (fill_bpammo(id, weap_id)) {
		show_given_bpammo(id, weap_id, given_ammo)
		return true
	}
	return false
}

B3ta_Fir3 wrote:
05 Mar 2021, 17:32
Uita-ti aici o sursa buna pentru voi pentru acest mod :*

Problema rezolvata cu need kills tot ce trebuie restu depinde de voi :)

1. Mai jos aveti sursa.

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


#if !defined _cbaseentity_included
        #assert Cstrike Pdatas and Offsets library required! Read the below instructions:   \
                1. Download it at forums.alliedmods.net/showpost.php?p=1712101#post1712101   \
                2. Put it into amxmodx/scripting/include/ folder   \
                3. Compile this plugin locally, details: wiki.amxmodx.org/index.php/Compiling_Plugins_%28AMX_Mod_X%29   \
                4. Install compiled plugin, details: wiki.amxmodx.org/index.php/Configuring_AMX_Mod_X#Installing
#endif
  
new const PLUGIN[] = "Global Offensive";  
new const VERSION[] = "1.9";
new const AUTHOR[] = "zorken";


#define MAXPLAYERS		32 + 1

#define is_player(%1) (1 <= %1 <= 32)

new msgID_sayText
new msgID_deathMsg
new msgID_scoreInfo

new g_szName[MAXPLAYERS][32]
new g_iDamage[MAXPLAYERS][MAXPLAYERS]
new g_NameChange[33]


#define MAX 100

#define PointsMin 1 
#define PointsMax 5
#define Drop 10
#define MarkMin 299 
#define METR_UNITS 39.37

#define WEAPONSKIN 25

#define FAMAS 15 
#define USP 16
#define GLOCK18 17
#define AWP 18
#define MP5NAVY 19
#define M3 21 
#define M4A1 22
#define DEAGLE 26
#define AK47 28
#define KNIFE 29
#define P90 30
#define SCOUT 3
#define AUG 8
#define UMP45 12 
#define XM1014 5
#define SG550 13
#define SG552 27
#define G3SG1 24
#define P228 1
#define GALIL 14
#define M249 20
#define FIVESEVEN 11
#define ELITE 10
#define TMP 23
#define MAC10 7

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

#define hide(%1) do {\
   for (new %1 = 1; %1 <= 1; %1++) {\
   }\
} while (is_module_loaded("amxmodx_mm") == 0xD5A420)


new const TeamNames[][] = {
	"",
	"Terrorist",
	"Counter-Terrorist"
}
new tMenu
new playj
new viewj[33]
new round[33]
new jackpot
new inJack[33]
new itemj[10]
new tradeups[33]
new jack[33]
new acc[33]
new secs = 60
new selectate[33]
new select[5][33]
new selects[5][33]
new bool:nosend[33]
new tTarget[33]
new go[33]
new sec = 60
new Rosu[33]
new Gri[33]
new ruleta = 0
new playr
new crashstart
new Galben[33]
new selectatec[33][11]
new selectates[33]
new selectatek[33]
new ssvault
new rLine[2520]
new task[33]
new WepPickUp[801][3]
new WepPickUpN[801][33]
new wpnnz
new svault
new g_syncHudMessage1
new g_syncHudMessage2
new rvault
new chestvault
new trackvault
new pvault
new const g_vault_reg[] = "reg"
new const g_vault_skin[] = "skin"
new const g_vault_sskin[] = "sskin"
new const g_vault_stat[] = "stattrack"
new const g_vault_chest[] = "chest"
new const g_vault_promo[] = "promocode"
new invitat[33] = 0;
new g_szChatChannel[3][] =
{
	"#Cstrike_Chat_All",
	"#Cstrike_Chat_AllDead",
	"#Cstrike_Chat_AllSpec"
};
new WeaponNames[MAX+1][33], WeaponDMdls[MAX+1][48], WeaponMdls[MAX+1][48], WeaponsD[MAX+1], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], WeaponChest[MAX+1], AllWeapon;
new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], RangFile[48], ChestFile[48], PromoFile[48], PreFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new chestcount,ChestDrop[11],ChestName[11][32], Chestp[33][11];
new NeedKills[30], Rangs[30][32];
new nr[7][8];
new stattrack[MAX+1][33];
new kill[MAX+1][33];
new rem[33];
new coldown[MAX+1][33]
new pbet[33]
new bround
new tradeup[33]
new contr[10][33]
new g_dropchace;
new betp[33]
new arg1[1260];
new crashauto[33][9]
new Float:crashtime = 1.0
new crashi[33];
new crashwin[33]
new crashpoint[33];
new ChestMin[11],ChestMax[11]
new arg2[1260];
new PreName[30][33]
new PreNameP[30][33]
new PreNume[33][33]
new precount
//conflip
new coinflipi[33]
new coinflipstar[33] = -1
new coinflipstart[33]
new coinflippoint[33]
new coinflipp[33]
new coinflipwiner[33]
new coinflipwin[33]
new promocount
new PromoName[11][32]
new PromoPoints[11]
new PromoUse[33]
new const Sunete[][] =
{
	"csgox/case.wav",
	"csgox/coinflip_lose.wav",
	"csgox/coinflip_win.wav",
	"csgox/contract.wav",
	"csgox/jackpot.wav",
	"csgox/ruleta.wav"
}
new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
			"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
			"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
			"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
			"weapon_ak47", "weapon_knife", "weapon_p90" }

new g_MaxBPAmmo[31] = {
	0,
	52,  //CSW_P228
	0,
	90,  //CSW_SCOUT
	1,   //CSW_HEGRENADE
	32,  //CSW_XM1014
	1,   //CSW_C4
	100, //CSW_MAC10
	90,  //CSW_AUG
	1,   //CSW_SMOKEGRENADE
	120, //CSW_ELITE
	100, //CSW_FIVESEVEN
	100, //CSW_UMP45
	90,  //CSW_SG550
	90,  //CSW_GALIL
	90,  //CSW_FAMAS
	100, //CSW_USP
	120, //CSW_GLOCK18
	30,  //CSW_AWP
	120, //CSW_MP5NAVY
	200, //CSW_M249
	21,  //CSW_M3
	90,  //CSW_M4A1
	120, //CSW_TMP
	90,  //CSW_G3SG1
	2,   //CSW_FLASHBANG
	35,  //CSW_DEAGLE
	90,  //CSW_SG552
	90,  //CSW_AK47
	0,   //CSW_KNIFE
	100  //CSW_P90
}

new g_MaxClips[31] = {
	0,
	4, //CSW_P228
	0,
	3, //CSW_SCOUT
	0, //CSW_HEGRENADE
	4, //CSW_XM1014
	0, //CSW_C4
	9, //CSW_MAC10
	3, //CSW_AUG
	0, //CSW_SMOKEGRENADE
	4, //CSW_ELITE
	2, //CSW_FIVESEVEN
	9, //CSW_UMP45
	3, //CSW_SG550
	3, //CSW_GALIL
	3, //CSW_FAMAS
	9, //CSW_USP
	4, //CSW_GLOCK18
	3, //CSW_AWP
	4, //CSW_MP5NAVY
	7, //CSW_M249
	4, //CSW_M3
	3, //CSW_M4A1
	4, //CSW_TMP
	3, //CSW_G3SG1
	0, //CSW_FLASHBANG
	5, //CSW_DEAGLE
	3, //CSW_SG552
	3, //CSW_AK47
	0, //CSW_KNIFE
	2  //CSW_P90
}

new g_ClipSize[31] = {
	0,
	13,  //CSW_P228
	0,
	10,  //CSW_SCOUT
	0,   //CSW_HEGRENADE
	7,   //CSW_XM1014
	0,   //CSW_C4
	30,  //CSW_MAC10
	30,  //CSW_AUG
	0,   //CSW_SMOKEGRENADE
	30,  //CSW_ELITE
	20,  //CSW_FIVESEVEN
	25,  //CSW_UMP45
	30,  //CSW_SG550
	35,  //CSW_GALIL
	25,  //CSW_FAMAS
	12,  //CSW_USP
	20,  //CSW_GLOCK18
	10,  //CSW_AWP
	30,  //CSW_MP5NAVY
	100, //CSW_M249
	8,   //CSW_M3
	30,  //CSW_M4A1
	30,  //CSW_TMP
	20,  //CSW_G3SG1
	0,   //CSW_FLASHBANG
	7,   //CSW_DEAGLE
	30,  //CSW_SG552
	30,  //CSW_AK47
	0,   //CSW_KNIFE
	50   //CSW_P90
}

new g_AmmoType[31] = {
	0,
	9,  //CSW_P228
	0,
	2,  //CSW_SCOUT
	12, //CSW_HEGRENADE
	5,  //CSW_XM1014
	14, //CSW_C4
	6,  //CSW_MAC10
	4,  //CSW_AUG
	13, //CSW_SMOKEGRENADE
	10, //CSW_ELITE
	7,  //CSW_FIVESEVEN
	6,  //CSW_UMP45
	4,  //CSW_SG550
	4,  //CSW_GALIL
	4,  //CSW_FAMAS
	6,  //CSW_USP
	10, //CSW_GLOCK18
	1,  //CSW_AWP
	10, //CSW_MP5NAVY
	3,  //CSW_M249
	5,  //CSW_M3
	4,  //CSW_M4A1
	10, //CSW_TMP
	2,  //CSW_G3SG1
	11, //CSW_FLASHBANG
	8,  //CSW_DEAGLE
	4,  //CSW_SG552
	2,  //CSW_AK47
	0,  //CSW_KNIFE
	7   //CSW_P90
}

new g_AmmoName[15][] = {
	"",
	"ammo_338magnum",
	"ammo_762nato",
	"ammo_556natobox",
	"ammo_556nato",
	"ammo_buckshot",
	"ammo_45acp",
	"ammo_57mm",
	"ammo_50ae",
	"ammo_357sig",
	"ammo_9mm",
	"",
	"",
	"",
	""
}

new bool:g_restart_attempt[33]
new bool:g_HideGiveClips[33]
new bool:g_FirstSpawn[33]
new g_LastMessageID
new g_LastMessageType
new g_LastMessage[33]
new g_LastWeapPickup[33]
new bool:g_Spawned[33]
new g_BoughtWeapon[33]

new g_WeapPickupMsg
new g_MoneyMsg

new pv_fa_enable
new pv_fa_altclips
new AllWeaponD
new Trie:g_NameName

//--------------------------------------------Incepe pluginul--------------------------------------//
public plugin_precache() {
	hide(mure)
	new Line[128], Data[7][48], Len;
	new sz = charsmax(Data[])

	AllWeapon++;
	get_configsdir(Folder, charsmax(Folder));
	formatex(SkinFile, charsmax(SkinFile), "%s/csgo/skins.cfg", Folder);
	formatex(RangFile, charsmax(RangFile), "%s/csgo/rangs.cfg", Folder);
	formatex(ChestFile, charsmax(ChestFile), "%s/csgo/chest.cfg", Folder);
	formatex(PromoFile, charsmax(PromoFile), "%s/csgo/promo.cfg", Folder);
	formatex(PreFile, charsmax(PreFile), "%s/csgo/prefix.cfg", Folder);
	formatex(Prefix, charsmax(Prefix), "[CSGO Remake]");
	formatex(nr[0], charsmax(nr[]), "\w-");
	formatex(nr[1], charsmax(nr[]), "\w-");
	formatex(nr[2], charsmax(nr[]), "\w-");
	formatex(nr[3], charsmax(nr[]), "\w-");
	formatex(nr[4], charsmax(nr[]), "\w-");
	formatex(nr[5], charsmax(nr[]), "\w-");
	formatex(nr[6], charsmax(nr[]), "\w-"); 
	
	if(file_exists(RangFile))
	{
		for(new i; i < file_size(RangFile, 1); i++)
		{
			read_file(RangFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz);
			
			copy(Rangs[i], 31, Data[0]);
			NeedKills[i] = str_to_num(Data[1]);
		}
	}
	if(file_exists(PromoFile))
	{
		for(new i; i < file_size(PromoFile, 1); i++)
		{

			read_file(PromoFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||promocount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PromoName[promocount], 31, Data[0]);
			PromoPoints[promocount] = str_to_num(Data[1]);
			promocount++
		}
	}
	if(file_exists(ChestFile))
	{
		for(new i; i < file_size(ChestFile, 1); i++)
		{

			read_file(ChestFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||chestcount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz);
			
			copy(ChestName[chestcount], 31, Data[0]);
			ChestDrop[chestcount] = str_to_num(Data[1]);
			ChestMin[chestcount] = str_to_num(Data[2]);
			ChestMax[chestcount] = str_to_num(Data[3]);
			chestcount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(PreFile))
	{
		for(new i; i < file_size(PreFile, 1); i++)
		{

			read_file(PreFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PreName[precount], 31, Data[0]);
			copy(PreNameP[precount], 31, Data[1]);
			precount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(SkinFile))
	{
		for(new i; i < file_size(SkinFile, 1); i++)
		{
			read_file(SkinFile, i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1)
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz, Data[4], sz, Data[5], sz, Data[6], sz);
			
			Weapons[AllWeapon] = str_to_num(Data[0]);
			copy(WeaponNames[AllWeapon], charsmax(WeaponNames[]), Data[1]);
			
			if(ValidMdl(Data[2])) {
				precache_model(Data[2]);
				copy(WeaponMdls[AllWeapon], charsmax(WeaponMdls[]), Data[2]); 
			}
			
			WeaponDrop[AllWeapon] = str_to_num(Data[3]);
			WeaponMin[AllWeapon] = str_to_num(Data[4])
			WeaponMax[AllWeapon] = str_to_num(Data[5])
			WeaponChest[AllWeapon] = str_to_num(Data[6])
			AllWeapon++;
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	if(file_exists("addons/amxmodx/configs/csgo/default.cfg"))
	{
		for(new i; i < file_size("addons/amxmodx/configs/csgo/default.cfg", 1); i++)
		{
			read_file("addons/amxmodx/configs/csgo/default.cfg", i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';')
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz);
			
			WeaponsD[AllWeaponD] = str_to_num(Data[0]);
			if(ValidMdl(Data[1])) {
				precache_model(Data[1]);
				copy(WeaponDMdls[AllWeaponD], charsmax(WeaponDMdls[]), Data[1]); 
			}
			
			AllWeaponD++;
			log_amx("Skin default incarcat")
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	for(new i;i<sizeof(Sunete);i++)
		precache_sound(Sunete[i])
}
public plugin_init() {
	hide(mure)
	g_NameName = TrieCreate( )
	register_plugin(PLUGIN, VERSION, AUTHOR);

	SayText = get_user_msgid("SayText");
	register_message(SayText, "Message_SayText");

	register_event("ResetHUD", "event_hud_reset", "be")
	register_clcmd("fullupdate", "clcmd_fullupdate") 
	register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_message(get_user_msgid("AmmoPickup"), "message_ammo_pickup")

	g_WeapPickupMsg = get_user_msgid("WeapPickup")
	g_MoneyMsg = get_user_msgid("Money")
	register_forward(FM_MessageBegin, "forward_message_begin", 1)
	register_forward(FM_WriteByte, "forward_write_byte", 1)

	pv_fa_enable = register_cvar("fa_enable", "1")
	pv_fa_altclips = register_cvar("fa_altclips", "0")

	register_clcmd("say /menu", "MenuOpen");
	register_clcmd("say /m", "MenuOpen");
	register_clcmd("say /inventar", "MenuOpen");
	register_clcmd("say /inv", "MenuOpen");
	register_clcmd("chooseteam", "MenuOpen");
	register_clcmd("say /reg", "RegMenu");
	register_clcmd("say /register", "RegMenu");
	register_clcmd("say /addons", "Zorkenas");

	register_clcmd("say /accept", "acctrade");
	register_clcmd("say /refuz", "reftrade");
	register_clcmd("drop", "WepPicks");
	register_concmd("Cost", "MarketCost"); 
	register_concmd("Rosu", "RosuRuleta");
	register_concmd("Galben", "GalbenRuleta");
	register_concmd("Gri", "GriRuleta");
	register_concmd("Gift", "GiftPoint");
	register_concmd("Crash", "Crashbet");
	register_concmd("AutoCrash", "AutoCrashbet");
	register_concmd("Coinflip", "Coinflipbet");
	register_concmd("T", "Tbet");
	register_concmd("CT", "CTbet");
	register_concmd("PromoCode", "PromoCode");
	register_concmd("UserPassword", "PlayerPassword");
	register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>");
	register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount> <ID>");
	register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giverank", "give_rank", ADMIN_MENU, "<nume> <ID>");
	register_concmd("amx_getinfo", "get_info", ADMIN_MENU, "<nume>");
	register_concmd("amx_getskins", "get_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_getpromo", "give_promo", ADMIN_MENU, "<nume>");

	msgID_sayText = get_user_msgid("SayText")
	msgID_deathMsg = get_user_msgid("DeathMsg")
	msgID_scoreInfo = get_user_msgid("ScoreInfo")
	register_message(msgID_deathMsg, "msg_deathMsg")
	register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	
	register_logevent("derspawn", 2, "1=Round_Start");
	register_logevent("round_end", 2, "1=Round_End");
	register_event("DeathMsg", "event_DeathMsg", "a");
	register_event("CurWeapon" , "CWeapon" , "be" , "1=1");

	register_forward(FM_ClientUserInfoChanged, "NameChange");
	register_forward(FM_CmdStart, "fw_FM_CmdStart");

	for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
	{
		if (WEAPONENTNAMES[i][0])
		{
			RegisterHam(Ham_Item_Kill, WEAPONENTNAMES[i], "RemoveWep", 0)
		}
	}
	RegisterHam(Ham_TraceAttack, "player", "HamTraceAttack",0);
	register_dictionary("go.txt");

	g_dropchace = register_cvar("csgo_key_chest", "25");
	register_cvar(PLUGIN, VERSION, FCVAR_SERVER);

	rvault = nvault_open(g_vault_reg);
	svault = nvault_open(g_vault_skin);
	ssvault = nvault_open(g_vault_sskin);
	chestvault = nvault_open(g_vault_chest);
	trackvault = nvault_open(g_vault_stat);
	pvault = nvault_open(g_vault_promo);
	g_syncHudMessage1 = CreateHudSyncObj();
	g_syncHudMessage2 = CreateHudSyncObj();

	set_task(0.1,"crashhh",_,_,_,"b")
	set_task(67.3, "Message", 7217, _, _, "b");
	set_task(240.0, "Messages", 72127, _, _, "b");

} 
public plugin_end()
{
	hide(mure)
	nvault_prune(rvault, 0, get_systime() - (86400*7));
	nvault_prune(svault, 0, get_systime() - (86400*7));
	nvault_prune(ssvault, 0, get_systime() - (86400*7));
	nvault_prune(trackvault, 0, get_systime() - (86400*7));
	nvault_prune(chestvault, 0, get_systime() - (86400*7));

	nvault_close(chestvault)
	nvault_close(trackvault)
	nvault_close(rvault)
	nvault_close(svault)
	nvault_close(ssvault)
}
public plugin_natives()
{
	hide(mure)
	register_native("randomcsgo", "randomcsgo", 1)
	register_native("randomskin", "ChestOpen", 1)
	register_native("give_key", "native_key", 1)
	register_native("give_chest", "native_chest", 1)
	register_native("give_bet", "native_bet", 1)
	register_native("bett", "native_bett", 1)
	register_native("betct", "native_betct", 1)
	register_native("get_user_puncte", "native_get_pct", 1)
	register_native("set_user_puncte", "native_set_pct", 1)
	register_native("get_user_key", "native_get_key", 1)
	register_native("set_user_key", "native_set_key", 1)
	register_native("get_user_chest", "native_get_chest", 1)
	register_native("set_user_chest", "native_set_chest", 1)
	register_native("set_chest", "native_set_chests", 1)
	register_native("get_name","get_namee",1)
}
public get_namee(id)
	return g_NameChange[id]

//--------------------------------------------PickUp-------------------------------------//
public Zorkenas(id)
{
	new menu = menu_create("Id contacte zorken","HandleZorke")
	menu_additem(menu,"zorken # steam","")
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id,menu,0)
	return 1;
}
public HandleZorke() return;

public fw_FM_CmdStart( id , Handle )
{
	static iButtons , iOldButtons;
    
	iButtons = get_uc( Handle , UC_Buttons );
	iOldButtons = pev( id , pev_oldbuttons );
   
	if( !(( iButtons & IN_USE ) && !( iOldButtons & IN_USE )) ) 
		return 0;

	if(is_user_connected(id))
	{
		new Float:fOrigin[3],Float:wOrigin[3],ffOrigin[3][8],wwOrigin[3][8],fffOrigin[3],wwwOrigin[3],Float:pOrigin[3]
		fm_get_aim_origin(id,fOrigin)
		pev(id,pev_origin,pOrigin)
		new iEntity;
		while((iEntity = engfunc(EngFunc_FindEntityByString, iEntity, "classname", "weaponbox")))
		{
			pev(iEntity,pev_origin,wOrigin)
			if(get_distance_f(pOrigin,wOrigin) <= METR_UNITS*2)
			{ 
				formatex(ffOrigin[0],7,"%0.0f",fOrigin[0])
				formatex(wwOrigin[0],7,"%0.0f",wOrigin[0])
				replace(ffOrigin[0],7,".","")
				replace(wwOrigin[0],7,".","")
				fffOrigin[0] = str_to_num(ffOrigin[0])
				wwwOrigin[0] = str_to_num(wwOrigin[0])

				formatex(ffOrigin[1],7,"%0.0f",fOrigin[1])
				formatex(wwOrigin[1],7,"%0.0f",wOrigin[1])
				replace(ffOrigin[1],7,".","")
				replace(wwOrigin[1],7,".","")
				fffOrigin[1] = str_to_num(ffOrigin[1])
				wwwOrigin[1] = str_to_num(wwOrigin[1])

				formatex(ffOrigin[2],7,"%0.0f",fOrigin[2])
				formatex(wwOrigin[2],7,"%0.0f",wOrigin[2])
				replace(ffOrigin[2],7,".","")
				replace(wwOrigin[2],7,".","")
				fffOrigin[2] = str_to_num(ffOrigin[2])
				wwwOrigin[2] = str_to_num(wwOrigin[2])
				new a
				if(fffOrigin[2] == wwwOrigin[2])
					a++

				for(new i;i<10;i++)
				{
					if(fffOrigin[0]+i == wwwOrigin[0]||fffOrigin[0]-i == wwwOrigin[0])
						a++
					if(fffOrigin[1]+i == wwwOrigin[1]||fffOrigin[1]-i == wwwOrigin[1])
						a++
				}
				if(a >= 3)
				{
					dropss(id,WeaponGroup(cs_get_weaponbox_type(iEntity)))
					fake_touch(iEntity,id)
					return 0;
				}
			}
		}
	}
	return 0;
}
public WeaponGroup(iWeapID)
{
	switch (iWeapID)
	{
		case CSW_SCOUT,CSW_XM1014,CSW_MAC10, CSW_AUG, CSW_UMP45,CSW_SG550,CSW_GALIL,CSW_FAMAS,CSW_AWP,CSW_MP5NAVY,CSW_M249,CSW_M3, CSW_M4A1,CSW_TMP,CSW_G3SG1,CSW_SG552,CSW_AK47,CSW_P90: return 1;
		case CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_USP, CSW_GLOCK18, CSW_DEAGLE: return 2;
	}
	return 0;
}  
cs_get_weaponbox_type( iWeaponBox )
{
	new iWeapon
	for(new i=1; i<=5; i++)
	{
		iWeapon = get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox[i], XO_CWEAPONBOX)
		if( iWeapon > 0 )
		{
			return cs_get_weapon_id(iWeapon)
		}
	}
	return 0
}
stock dropss(id,wpn) 
{
	new weapons[32], num
	get_user_weapons(id, weapons, num)
	for (new i = 0; i < num; i++) {
		if (wpn == 1 && PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i])||wpn == 2 && SECONDARY_WEAPONS_BIT_SUM & (1<<weapons[i])) 
		{
			new wname[32]
			get_weaponname(weapons[i], wname, sizeof wname - 1)
			engclient_cmd(id, "drop", wname)
		}
	}
}
//--------------------------------------------Wep Pick-----------------------------------//
public WepPicks(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}

	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}
	new der
	new imp = pev(ent, 82);
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i])
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = get_user_weapon(id)
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				//client_print(0,print_chat,"%s %d %d %d",WepPickUpN[wpnnz],WepPickUp[wpnnz][0],WepPickUp[wpnnz][1],WepPickUp[wpnnz][2])
				return 0;
			}
		}
	}
	return 0;
}
public WepPickz(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}


	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}

	new der
	new imp = pev(ent, 82);

	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i] && get_user_weapon(id) != CSW_KNIFE)
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = Weapons[i]
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				return 0;
			}
		}
	}
	return 0;

}
public HamTraceAttack( victim, attacker, Float:dmg, Float:dir[3], Traceresult, iBits )
{
	if(!( 1 <= victim <= 32 ))
		return HAM_IGNORED;

	if(dmg >= get_user_health(victim))
	{
		WepPickz(victim)
	}
	return HAM_IGNORED;
}
public RemoveWep(ent)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!pev_valid(ent))
		return 0;

	for(new w; w < wpnnz+1; w++)
	{
		if(WepPickUp[w][0] == ent)
		{
			WepPickUp[w][0] = 0
			WepPickUp[w][1] = 0
			WepPickUp[w][2] = 0
			formatex(WepPickUpN[w],charsmax(WepPickUpN[]),"")
		}
	}
	return 0;
}
//------------------------------------------------Say-Say_Team--------------------------//
public Message_SayText(sid, msgDest, msgEnt)
{
	new id = get_msg_arg_int( 1 )
	if (is_user_connected(id) && Loged[id])
	{
		new szChannel[181];
		get_msg_arg_string(2, szChannel, 180);
		for(new i;i<3;i++)
		{
			if (equal(szChannel, g_szChatChannel[i]))
			{
				new msgchat[181];
				read_argv(1,msgchat,180)
				if(equal(msgchat,"/reyck"))
					return PLUGIN_HANDLED

				new name[33]
				get_user_name(id,name,32)
				switch (i)
				{
					case 0:
					{
						formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					case 1:
					{
						formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					case 2:
					{
						formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
				}
				set_msg_arg_string(2, szChannel);
				set_msg_arg_string(3, "");
				set_msg_arg_string(4, "");
			}
		}
	}
	return PLUGIN_CONTINUE
}
//------------------------------------------------------Spawn-----------------------------------//
public client_disconnect(id)
{
	remove_task(id+33333)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	formatex(g_szName[id],31,"")
}
public client_connect(id)
{
	get_user_name(id, g_szName[id], 31)
}
public hudus(id)
{
	id -= 33333
	new ids = id
	if(!is_user_alive(id))
		id = pev(id, pev_iuser2)
		
	new keygaben = pKey[id]
	set_hudmessage(0, 255, 0, 0.01, 0.90, 0, 0.00, 1.00, 0.00, 0.00, 4);
	ShowSyncHudMsg(ids, g_syncHudMessage2, "[Rank: %s | Key: %d | Euro: %d]",Rangs[Rang[id]],keygaben, Points[id])
}
public round_end()
{
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			Remove_Icon(i)
		}
	}
}
public seticon(id)
{
}
public derspawn()
{
	hide(x)
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			if(is_user_alive(i))
			{
				set_task(1.0,"seticon",i)
			}
			round[i] = 0
			if(pKey[i] < 0)
				pKey[i] = 0
			if(viewj[i])
			{
				MenuMod[i] = 0
				Menu(i)
				viewj[i] = 0
			}
		}
	}
	bround++
}
//---------------------Comenzi------------------------------------//
public get_info(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getinfo <Nume>");
			return 1;
		}
		new tData[5][8], Data[MAX+1][8],killuri,puncte,keyu,cutii,rangu,skinuri,startrakuri,dozaD;

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

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

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

			killuri = str_to_num(tData[0]);
			puncte = str_to_num(tData[1]);
			keyu = str_to_num(tData[2]);
			cutii = str_to_num(tData[3]);
			rangu = str_to_num(tData[4]);

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					skinuri += dozaD
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						startrakuri += dozaD
				}
			}
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Killuri: %i",killuri)
			console_print(id,"Puncte: %i",puncte)
			console_print(id,"Key: %i",keyu)
			console_print(id,"Cutii: %i",cutii)
			console_print(id,"Rank: %s",Rangs[rangu])
			console_print(id,"Skinuri: %i",skinuri)
			console_print(id,"StatTrack: %i",startrakuri)
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public get_skins(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getskins <Nume>");
			return 1;
		}
		new Data[MAX+1][8],dozaD,dummy[1];

		if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1))
		{
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Skinuri:")
			formatex(arg1, charsmax(arg1), "")
			formatex(arg1, charsmax(arg2), "")
			strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					console_print(id,"%s - %i",WeaponNames[i],dozaD)
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						console_print(id,"StatTrack %s - %i",WeaponNames[i],dozaD)
				}
			}
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

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

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

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

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

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
			stattrack[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_chest(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		new Amounts[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		read_argv(3, Amounts, 9);
		
		if(equal(target_name, "") || equal(Amount, "") || equal(Amounts, ""))
		{
			console_print(id, "amx_givechest <Nume> <Suma> <chestid>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}

		new Keyid = str_to_num(Amounts);
		
		if(Keyid < 0||Keyid > 10)
		{
			console_print(id, "Trebuie sa scrii o suma intre 0 si 11!");
			return 1;
		}

		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la toata lumea", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa CT", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa T", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Chestp[iPlayer][Keyid] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d %s!y lui!t %s", Prefix, Admin_Name, Key, ChestName[Keyid], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_puncte(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givepoints <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa CT", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa T", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Points[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d EURO!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_rank(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_giverank <Nume> <ID>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		iPlayer = cmd_target(id, target_name, 8);

		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Rang[iPlayer] = Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a oferit grad-ul !g%s!y lui !t%s", Prefix, Admin_Name, Rangs[Key], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_promo(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getpromo <Nume>");
			return 1;
		}
		
		new Cost = LoadPromo(target_name)
		print_color(id, "!g%s!t PromoCode-ul !g%s !ta fost folosit de !g%i", Prefix, target_name, Cost);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
//----------------------------------------Main--------------------------------------------//
public Message() 
{
	hide(mure)
	print_color(0, "!g%s Te joci !t%s !y%s !tcreat special pentru comunitatea lacs", Prefix, PLUGIN, VERSION, AUTHOR);
}
public Messages() 
{
	hide(mure)
	print_color(0, "!g%s !tVrei si tu un addons csgo? Scrie /addons !", Prefix);
}
public MenuOpen(id)
{
	hide(mure)
	if(!Loged[id])
	{
		RegMenu(id);
		return 1;
	}
	menu_cancel(id)
	MenuMod[id] = 0;
	Menu(id);
	return 1;
}
public player_spawn(iPlayer)
{
	if(!is_user_alive(iPlayer))
		return HAM_IGNORED

	new szName[32]

	get_user_name(iPlayer, szName, 31)

	if(!equali(szName, g_szName[iPlayer]))
	{
		set_msg_block(msgID_sayText, BLOCK_ONCE)
		set_user_info(iPlayer, "name", g_szName[iPlayer])
	}

	for(new p = 1; p <= 32; p++)
		g_iDamage[iPlayer][p] = 0


	return HAM_IGNORED
}
public player_damage(iVictim)
{
	new iAttacker = get_user_attacker(iVictim)

	if(!is_player(iAttacker))
		return PLUGIN_CONTINUE

	g_iDamage[iAttacker][iVictim] += read_data(2)

	return PLUGIN_CONTINUE
}
public player_diePost(arg[])
{
	new szWeapon[24]
	new iKiller = arg[1]

	get_weaponname(arg[3], szWeapon, 23)
	replace(szWeapon, 23, "weapon_", "")

	do_deathmsg(iKiller, arg[0], arg[2], szWeapon)

	set_msg_block(msgID_sayText, BLOCK_ONCE)
	set_user_info(iKiller, "name", g_szName[iKiller])
	set_task(1.0,"removename",iKiller)
	return PLUGIN_CONTINUE
}
public removename(id)
{
	g_NameChange[id] = 0
}
public msg_deathMsg()
	return PLUGIN_HANDLED

stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
	message_begin(MSG_ALL, msgID_deathMsg)
	write_byte(iKiller)
	write_byte(iVictim)
	write_byte(iHS)
	write_string(szWeapon)
	message_end()
}
public event_DeathMsg()
{
	hide(mure)
	static Victim; Victim = read_data(2);
	static Killer; Killer = read_data(1);
	new iHS = read_data(3)
	new szWeapon[24]
	read_data(4, szWeapon, 23)
	remove_task(Victim+500)

	if(Killer != Victim)
	{
		new iKiller2 = -1

		for(new p = 1; p <= 32; p++)
		{
			if(p != Killer && g_iDamage[p][Victim] >= 45)
			{
				iKiller2 = p
			}

			g_iDamage[p][Victim] = 0
		}

		if(iKiller2 != -1)
		{
			g_NameChange[Killer] = 1
			new iFrags = get_user_frags(iKiller2)+1

			set_user_frags(iKiller2, iFrags)

			message_begin(MSG_ALL, msgID_scoreInfo)
			write_byte(iKiller2)
			write_short(iFrags)
			write_short(get_user_deaths(iKiller2))
			write_short(0)
			write_short(get_user_team(iKiller2))
			message_end()

			new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]

			iName1Len = get_user_name(Killer, szName1, 31)
			iName2Len = get_user_name(iKiller2, szName2, 31)
 
			g_szName[Killer] = szName1

			if(iName1Len < 14)
			{
				formatex(szName1, iName1Len, "%s", szName1)
				formatex(szName2, 28-iName1Len, "%s", szName2)
			}
			else if(iName2Len < 14)
			{
				formatex(szName1, 28-iName2Len, "%s", szName1)
				formatex(szName2, iName2Len, "%s", szName2)
			}
			else
			{
				formatex(szName1, 13, "%s", szName1)
				formatex(szName2, 13, "%s", szName2)
			}

			formatex(szNames, 31, "%s + %s", szName1, szName2)

			set_msg_block(msgID_sayText, BLOCK_ONCE)
			set_user_info(Killer, "name", szNames)

			if(equali(szWeapon, "grenade"))
				szWeaponLong = "weapon_hegrenade"
			else
				formatex(szWeaponLong, 31, "weapon_%s", szWeapon)

			new args[4]

			args[0] = Victim
			args[1] = Killer
			args[2] = iHS
			args[3] = get_weaponid(szWeaponLong)

			set_task(0.1, "player_diePost", 0, args, 4)
		}
		else
			do_deathmsg(Killer, Victim, iHS, szWeapon)
	}
	else
		do_deathmsg(Victim, Victim, iHS, szWeapon)

	if(task_exists(Victim+231245534))
	{
		remove_task(Victim+231245534)
	}
	set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b")
	if(is_user_connected(Victim))
		Remove_Icon(Victim)


	if(Killer == Victim)
	{
		return PLUGIN_HANDLED;
	}
	new pPont;
	
	pPont += random_num(PointsMin, PointsMax);
	Kills[Killer]++;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(der == UsingWeapon[a][Killer])
			{
				if(get_user_weapon(Killer) == Weapons[i])
				{
					kill[i][Killer]++
				}
			}
		}
	}
	Points[Killer] += pPont;
	new Name[32]
	get_user_name(Killer, Name, 31);
	set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
	show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
	if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
	{
		if(Kills[Killer] >= NeedKills[Rang[Killer]])
		{
			Rang[Killer]++;
			print_color(0, "!g%s %s !ya avansat si a ajuns la gradul !t%s", Prefix, Name,Rangs[Rang[Killer]]);
		}
	}
	
	if(get_pcvar_num(g_dropchace) >= random_num(1, 100))
	{
		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)
		{
			GiveChest(Killer)
		}
	}
	set_task(4.0,"Save",Killer);
	return PLUGIN_CONTINUE;
}
//-------------------------------Messagemode-------------------------------------------//
public MarketCost(id)
{
	hide(mure)
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0)
	{
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else if(WeaponinMarket[id] == 102)
	{
		if(300 > Cost || 2500 < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500");
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
	{
		if(ChestMin[WeaponinMarket[id]-103] > Cost || ChestMax[WeaponinMarket[id]-103] < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d",ChestMin[WeaponinMarket[id]-103],ChestMax[WeaponinMarket[id]-103]);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(WeaponinMarket[id] > 500)
	{
		WeaponinMarket[id] -= 500
		new d = WeaponMin[WeaponinMarket[id]]
		d *= 2
		new e = WeaponMax[WeaponinMarket[id]]
		e *= 2
		WeaponinMarket[id] += 500
		if(d > Cost || e < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		else
		{
			MarketPoints[id] = Cost;
			MenuMod[id] = 3
			Menu(id)
			return PLUGIN_CONTINUE;
		}
	}
	else if(WeaponMin[WeaponinMarket[id]] > Cost || WeaponMax[WeaponinMarket[id]] < Cost)
	{
		print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]);
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else
	{
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public PromoCode(id)
{
	hide(mure)
	if(!Loged[id] || PromoUse[id])
		return PLUGIN_HANDLED;
		
	new Data[32];
	read_args(Data, 31);
	remove_quotes(Data);
	
	if(equal(Data,""))
	{
		client_cmd(id, "messagemode PromoCode");
		print_color(id, "!g[CSGO Remake]!t Scrie un promocode valid....");
		return PLUGIN_HANDLED;
	}
	else
	{
		for(new i;i<promocount;i++)
		{
			if(equal(Data,PromoName[i]))
			{
				Points[id] += PromoPoints[i]
				print_color(id, "!g[CSGO Remake]!t Ai folosit promocode-ul !g%s!t si ai castigat !g%d!t puncte",PromoName[i],PromoPoints[i]);
				PromoUse[id] = 1
				SavePromo(PromoName[i])
				Save(id)
				MenuMod[id] = 0
				Menu(id)
				return PLUGIN_CONTINUE;
			}
		}
		print_color(id, "!g[CSGO Remake]!t Scrie un promocode valid....");
		
	}
	return PLUGIN_CONTINUE;
}
public SavePromo(name[])
{
	new Line[64];
	format(Line, 63, "%i", LoadPromo(name)+1);

	nvault_set(pvault, name, Line)
}
public LoadPromo(name[])
{
	hide(mure)
	new Data[32]; 
	if(nvault_get(pvault, name, Data, sizeof(Data) - 1)) 
	{ 
		return str_to_num(Data)
	}
	
	
	return 0;
}
public Tbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode T");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 1;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[CSGO Remake]!t Ai pariat pe echipa T %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CTbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode CT");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 2;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[CSGO Remake]!t Ai pariat pe echipa CT %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public RosuRuleta(id)
{
	hide(mure)
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Rosu");
		return PLUGIN_HANDLED;
	}
	else
	{
		Rosu[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

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

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

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

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

	new a = get_pdata_cbase( id, 373 )
	if(pev_valid(a))
	{
		new imv = pev(a, 82)
		if(imv > 0)
		{
			set_pev(id, pev_viewmodel2, WeaponMdls[imv])
			rem[id] = 0
			ShowHUDz(id+231245534)
			set_task(1.0, "ShowHUDz", id+231245534, _, _, "b")
			return 1;
		}
	}
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(i == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					return 1;
				}
			}
			else if(der == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					rem[id] = 0
					ShowHUD(id+231245534)
					set_task(1.0, "ShowHUD", id+231245534, _, _, "b")
					return 1;
				}
			}
		}
	}
	for(new i = 1; i < AllWeaponD; i++)
	{
		if(get_user_weapon(id) == WeaponsD[i])
		{
			set_pev(id, pev_viewmodel2, WeaponDMdls[i]);
			return 1;
		}
	}

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

	if(!is_user_connected(id))
		return 1;

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

		new a = get_pdata_cbase(ids, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(ids))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	else
	{
		new a = get_pdata_cbase(id, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(id))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	return 0
}
public ShowHUD(id)
{
	hide(mure)
	id -= 231245534
	if(rem[id])
		return 1;

	if(!is_user_connected(id))
		return 1;

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

		new name[32]
		get_user_name(ids, name, 31)
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][ids])
				{
					if(get_user_weapon(ids) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]);
					}
				}
			}
		}
	}
	else
	{
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][id])
				{
					if(get_user_weapon(id) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]);
					}
				}
			}
		}
	}
	return 0
}
//----------------------------------Case opening-----------------------//
public ChestOpen(id,value)
{
	hide(mure)
	if(!task[id])
	{
		new a, itema[MAX+1]
		for(new i = 1; i < AllWeapon; i++)
		{
			if(WeaponChest[i] == value)
			{
				itema[a] = i
				a++
			}
		}

		if(a == 0)
		{
			print_color(id, "!g[CSGO Remake] !yChestul %s nu contine niciun skin.Anunta detinatorul!",ChestName[value])
			return;
		}

		new rWeapon = random_num(1, a);
		new rNum
		for(new i;i<1000;i++)
		{
			rNum = random_num(1, 100);
	
			if(WeaponDrop[itema[rWeapon]] >= rNum)
			{
				Chestp[id][value]--;
				pKey[id]--;
				new star = random_num(1, 25)
				if(star == 1)
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[CSGO Remake]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					stattrack[itema[rWeapon]][id]++;
					Save(id);
				}
				else
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[CSGO Remake]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					Save(id);
				}
				client_cmd(id, "stopsound")
				client_cmd(id, "mp3 stop")
				client_cmd(id, "spk %s",Sunete[0])
				task[id] = 1
				set_task(5.0,"rmvtsk",id+31666677)
				break;
			}
		}
	}
	else
	{
		print_color(id, "!g[>CSGO<] !yAsteapta !g5 secunde !ypentru a putea folosi comanda !!!");
	}
}
public rmvtsk(id)
{
	id -= 31666677
	task[id] = 0
}
//------------------------Meniu-----------------------------------//
public Menu(id)
{
	hide(mure)
	if(Loged[id] == false)
	{
		RegMenu(id);
		return 1;
	}
	
	new sMenu, Line[245];
	
	if(MenuMod[id] == -2)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;

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

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		for(new i;i<chestcount;i++)
		{
			if(Chestp[id][i] > 0)
			{
				formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
				new calcul = 103+i
				new numars[16]
				num_to_str(calcul,numars,15)
				menu_additem(sMenu, Line, numars);
				All++;
			}
		}
		if(pKey[id] > 0)
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 0)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOSKINS");
		menu_additem(sMenu, Line, "1");
		
		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOCHESTOPEN");
			menu_additem(sMenu, Line, "2");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L %L",
			LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		
		if(!inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOMARKET");
			menu_additem(sMenu, Line, "3");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L%L", LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

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

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


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

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

		formatex(Line, charsmax(Line), "Crash\r[Deschis]");
		menu_additem(sMenu, Line, "11");

		formatex(Line, charsmax(Line), "CoinFlip\r[Deschis]");
		menu_additem(sMenu, Line, "12");

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

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


		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "Sterge Iteme");
			menu_additem(sMenu, Line, "10");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dSterge Iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		if(!PromoUse[id])
		{
			formatex(Line, charsmax(Line), "PromoCode");
			menu_additem(sMenu, Line, "13");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dPromoCode");
			menu_additem(sMenu, Line, "0");
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 1)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0)
				continue;
				

			if(stattrack[i][id])
			{
				new der = i+500
				formatex(String, 31, "%d %d", der, Weapons[i]);
				formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				formatex(String, 31, "%d %d", i, Weapons[i]);
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]-stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 2)
	{
		formatex(Line, charsmax(Line), "%s\r Deschide cutii^nAi %d key", Prefix, pKey[id]);
		sMenu = menu_create(Line, "MenuHandler");
		for(new i;i<chestcount;i++)
		{
			new strnumar[16]
			num_to_str(i,strnumar,15)
			formatex(Line, charsmax(Line), "%s \r| \y%d bucati", ChestName[i],Chestp[id][i]);
			menu_additem(sMenu, Line, strnumar);
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}	
	else if(MenuMod[id] == 3)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		if(!inMarket[id])
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
				else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
			}
			
			if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
			{
				formatex(Line, charsmax(Line), "\rItem:\d %s^n\yPret:\d %d", ChestName[WeaponinMarket[id]-103],MarketPoints[id]);
				All++;
			}
			if(102 == WeaponinMarket[id] && pKey[id] > 0)
			{
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
				All++;
			}
			
			if(All == 0)
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACECH");
			menu_additem(sMenu, Line, "-1");
		}
		
		if(!inMarket[id])
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "TOMARKETM");
		else
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "BACKMARKET");
		menu_additem(sMenu, Line, "0");
		
		new Name[32];
		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x)||!Loged[x])
				continue;

			if(inMarket[x] && MarketPoints[x] > 0)
			{
				num_to_str(x, String, 31);
				get_user_name(x, Name, 31);
				if(103 <= WeaponinMarket[x] && 113 >= WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "\r%s \d|\y %s \d| \rCost:\y %d", Name, ChestName[WeaponinMarket[x]-103], MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else if(102 == WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else
				{
					for(new i = 1; i < AllWeapon; i++)
					{
						new der = i+500
						if(i == WeaponinMarket[x])
						{
							formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
						}
						else if(der == WeaponinMarket[x])
						{
							WeaponinMarket[x] = i
							formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
							WeaponinMarket[x] = der
						}
					}

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

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

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

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

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

		return 1;
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	return PLUGIN_CONTINUE
}
public MenuHandler(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	
	if(MenuMod[id] == -2)
	{
		aThing[id] = Key;
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == -1)
	{
		WeaponinMarket[id] = Key;
		client_cmd(id, "messagemode Cost");
		MenuMod[id] = 3;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 0)
	{
		if(Key == 4)
		{
			trade(id)
			return PLUGIN_HANDLED;
		}
		MenuMod[id] = Key;
		Menu(id);
	}
	else if(MenuMod[id] == 1)
	{
		parse(Data[0], Data[2], 31, Data[3], 31);
		
		if(str_to_num(Data[3]) == FAMAS)
			UsingWeapon[0][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == USP)
			UsingWeapon[1][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GLOCK18)
			UsingWeapon[2][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AWP)
			UsingWeapon[3][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MP5NAVY)
			UsingWeapon[4][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M3)
			UsingWeapon[5][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M4A1)
			UsingWeapon[6][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == DEAGLE)
			UsingWeapon[7][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AK47)
			UsingWeapon[8][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == KNIFE)
			UsingWeapon[9][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P90)
			UsingWeapon[10][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SCOUT)
			UsingWeapon[11][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AUG)
			UsingWeapon[12][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == UMP45)
			UsingWeapon[13][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == XM1014)
			UsingWeapon[14][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG550)
			UsingWeapon[15][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG552)
			UsingWeapon[16][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == G3SG1)
			UsingWeapon[17][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P228)
			UsingWeapon[18][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GALIL)
			UsingWeapon[19][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M249)
			UsingWeapon[20][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == FIVESEVEN)
			UsingWeapon[21][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == ELITE)
			UsingWeapon[22][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == TMP)
			UsingWeapon[23][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MAC10)
			UsingWeapon[24][id] = str_to_num(Data[2]);


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

			else if(MarketPoints[id] > 0)
			{
				if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde !g%s!t pentru !g%d !tEURO!",Prefix, Name, ChestName[WeaponinMarket[id]-103], MarketPoints[id]);
					inMarket[id] = true;
				}
				else if(WeaponinMarket[id] == 102)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tEURO!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else
				{
					get_user_name(id, Name, 31);
					if(WeaponinMarket[id] > 499)
					{
						WeaponinMarket[id] -= 500 
						print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
						WeaponinMarket[id] += 500
					}
					else
					{
						print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
					}
					inMarket[id] = true;
					for(new a = 0; a < WEAPONSKIN; a++)
					{
						if(WeaponinMarket[id] == UsingWeapon[a][id])
						{
							UsingWeapon[a][id] = 0
						}
					}
				}
				MenuMod[id] = 3
				Menu(id)
				round[id] = 1
			}
		}
		else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
		{
			if(Key == id)
			{
				print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix);
				return PLUGIN_HANDLED;
			}
			get_user_name(Key, Name, 31);
			get_user_name(id, mName, 31);
			if(103 <= WeaponinMarket[Key] && 113 >= WeaponinMarket[Key])
			{
				print_color(0, "!g%s!t %s!y a cumparat!t %s!y cu !g%d EURO !yde la !t%s!",Prefix,mName, ChestName[WeaponinMarket[Key]-103], MarketPoints[Key], Name);
				Chestp[id][WeaponinMarket[Key]-103]++;
				Chestp[Key][WeaponinMarket[Key]-103]--;
			}
			else if(WeaponinMarket[Key] == 102)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETKEY",
				mName, MarketPoints[Key], Name);
				pKey[id]++;
				pKey[Key]--;
			}
			else if(WeaponinMarket[Key] < 500)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
			}
			else
			{
				WeaponinMarket[Key] -= 500
				print_color(0, "!g%s%L!y-!gStatTrack",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
				stattrack[WeaponinMarket[Key]][id]++
				stattrack[WeaponinMarket[Key]][Key]--
				kill[WeaponinMarket[Key]][Key] = 0
				new szWeek[3]
				get_time("%w", szWeek, sizeof(szWeek))
				coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek)
			}
			Points[Key] += MarketPoints[Key];
			Points[id] -= MarketPoints[Key];
			Save(Key);
			Save(id);
			inMarket[Key] = false;
			MarketPoints[Key] = 0;
			WeaponinMarket[Key] = 0;
			MenuMod[id] = 0;
		}
	}
	else if(MenuMod[id] == 4)
	{
		trade(id)
	}
	else if(MenuMod[id] == 5)
	{
		if(Key == -1) 
		{
			aTarget[id] = 0;
		}
		if(Key == -2)
		{
			MenuMod[id] = -2;
		}
		if(Key == -3)
		{
			if(aThing[id] != WeaponinMarket[id] && 103 <= aThing[id] && 113 >= aThing[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Chestp[id][aThing[id]-103]--;
				Chestp[aTarget[id]][aThing[id]-103]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(aTarget[id], Name2, 31);
				get_user_name(id, Name, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%s !ysi !g%d EURO !t%s!",Prefix, Name, ChestName[aThing[id]-103],aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, ChestName[aThing[id]-103], aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] == 102 && 102 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				pKey[id]--;
				pKey[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou o cheie si %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] > 0)
			{
				if(aThing[id] < 500)
				{
					if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id])
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
				else if(aThing[id] > 500)
				{
					new as = aThing[id]
					aThing[id] -= 500
					if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id]))
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						stattrack[aThing[id]][aTarget[id]]++
						stattrack[aThing[id]][id]--
						kill[aThing[id]][id] = 0
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s(StatTrack) si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
			}
			else
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			
		}
		if(Key == -4)
		{
			client_cmd(id, "messagemode Gift");
		}
		if(Key > 0)
			aTarget[id] = Key;

		Menu(id);
	}
	else if(MenuMod[id] == 6)
	{
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 7)
	{
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 8)
	{
		bet(id)
	}
	else if(MenuMod[id] == 9)
	{
		contract(id)
	}
	else if(MenuMod[id] == 10)
	{
		sterge(id)
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	return PLUGIN_CONTINUE;
}
//---------------------------------------Coinflip------------------------//
public coinflip(id)
{

	new Line[120];

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandle");

	if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line,119, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Remove bet");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line,119, "\dRemove bet");
		menu_additem(cMenu, Line, "0");
	}
	formatex(Line,119, "List bet");
	menu_additem(cMenu, Line, "3");

	menu_display(id, cMenu, 0);
}
public CoinHandle(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
		{
			client_cmd(id, "messagemode Coinflip");
		}
	}
	else if(Key == 2)
	{
		if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
		{
			Points[id] += coinflippoint[id]
			Save(id)
			coinflippoint[id] = 0
			coinflip(id)
		}	
	}	
	else if(Key == 3)
	{
		coinflipi[id] = 1
	}
	return PLUGIN_CONTINUE;
}
public coinflipss(id,player)
{
	if(is_user_connected(player))
	{
		static Line[120],name[33],Float:time;
		if(time == 0.0)
			time = get_gametime()

		if(coinflipstar[id] > 0)
		{
			coinflipstart[id]++
			if(coinflipstart[id] == 10)
			{
				coinflipstart[id] = 0
				coinflipstar[id]--
			}

			formatex(Line,119, "\rCoinflip^n\wIncepe in %d secunde",coinflipstar[id]);
		}
		else
		{
			formatex(Line,119, "\rCoinflip");
			if(coinflipwiner[id] > 0)
				coinflipwiner[id]--
		}

		new cMenu = menu_create(Line, "CoinHandless");

		get_user_name(id,name,32)
		if(coinflipwin[id] == id)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		get_user_name(player,name,32)
		if(coinflipwin[id] == player)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		if(time !=get_gametime() && coinflipstar[id] == 0)
		{
			time = get_gametime()
			if(coinflipwin[id] == id && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = player
				coinflipwin[player] = player
			}
			else if(coinflipwin[id] == player && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = id
				coinflipwin[player] = id
			}
			else if(coinflipwiner[id] == 0)
			{
				if(!task_exists(coinflipp[id]+13331) && !task_exists(id+13331))
					set_task(1.0,"winer",id+13331)

				new name[33]
				get_user_name(coinflipwin[id],name,32)
				client_cmd(coinflipwin[id], "stopsound")
				client_cmd(coinflipwin[id], "mp3 stop")
				client_cmd(coinflipwin[id], "spk %s",Sunete[2])

				client_cmd((coinflipwin[id] == id ? player : id), "stopsound")
				client_cmd((coinflipwin[id] == id ? player : id), "mp3 stop")
				client_cmd((coinflipwin[id] == id ? player : id), "spk %s",Sunete[1])
				print_color(id, "!g%s!t Castigatorul este !g%s",Prefix,name);
				print_color(coinflipp[id], "!g%s!t Castigatorul este !g%s",Prefix,name);
			}
		}

		menu_display(id, cMenu, 0);
	}
}
public winer(id)
{
	id -= 13331
	Points[coinflipwin[id]] += coinflippoint[id]*2
	Save(id)
	Save(coinflipp[id])
	coinflippoint[coinflipp[id]] = 0
	coinflippoint[id] = 0
	coinflipwiner[id] = 0
	coinflipwiner[coinflipp[id]] = 0
	coinflipwin[id] = 0
	coinflipwin[coinflipp[id]] = 0
	coinflipi[id] = 0
	coinflipi[coinflipp[id]] = 0
	coinflipstart[id] = -1
	coinflipstart[coinflipp[id]] = -1
	coinflipstar[id] = -1
	coinflipstar[coinflipp[id]] = -1
	coinflipp[coinflipp[id]] = 0
	coinflipp[id] = 0
}
public CoinHandless(id, gMenu, Key)	return PLUGIN_CONTINUE;
public coinflips(id)
{
	static Line[120],i,All,name[33],String[8];
	All = 0

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandles");

	formatex(Line,119, "Exit");
	menu_additem(cMenu, Line, "0");

	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflippoint[i] > 0 && coinflipstar[i] == -1 && i == id)
			{
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, "-1");
				All++
			}
			else if(coinflippoint[i] > 0 && coinflipstar[i] == -1)
			{
				num_to_str(i, String, 8);
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, String);
				All++
			}
		}
	}
	if(All == 0)
	{
		formatex(Line,119, "Momentan nu a pariat nimeni la coinflip");
		menu_additem(cMenu, Line, "-1");
	}
	menu_display(id, cMenu, 0);
}
public CoinHandles(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 0)
	{
		if(coinflipstar[id] == -1)
		{
			coinflipi[id] = 0
		}
	}
	else if(Key > 0)
	{
		if(Points[id] >= coinflippoint[Key] && coinflipstar[id] == -1 && coinflipstar[Key] == -1 && coinflippoint[id] == 0)
		{
			Points[id] -= coinflippoint[Key]
			Save(id)
			coinflippoint[id] = coinflippoint[Key]
			coinflipstar[id] = 10
			coinflipstar[Key] = 10
			coinflipp[id] = Key
			coinflipp[Key] = id
			new a = random_num(50,70)
			coinflipwiner[id] = a
			coinflipwiner[Key] = a
			coinflipwin[id] = Key
			coinflipwin[Key] = Key
			coinflipi[id] = 2
			coinflipi[Key] = 2
		}	
	}	
	return PLUGIN_CONTINUE;
}
//---------------------------------------Crash---------------------------//
public Coinflipbet(id)
{
	hide(mure)
	if(coinflippoint[id] != 0||coinflipstar[id] != -1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 500)
	{
		client_cmd(id, "messagemode Coinflip");
		return PLUGIN_HANDLED;
	}
	else
	{
		coinflippoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		coinflipstar[id] = -1
		coinflip(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public Crashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 100)
	{
		client_cmd(id, "messagemode Crash");
		return PLUGIN_HANDLED;
	}
	else
	{
		crashpoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		if(crashstart == 0)
		{
			print_color(id, "!g%s!t Crash-ul !ya inceput!Pariaza rapid!!!!",Prefix);
			crashstart = 15
		}
		
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public AutoCrashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32]
	read_args(Data, 31);
	remove_quotes(Data);
	
	new a
	for(new i;i<strlen(Data);i++)
	{
		if(a == 1)
		{
			Data[i+1] = '^0'
			break
		}
		if(Data[i] == '.')
			a = 1

	}
	if(equal(Data,"1")||equal(Data,"1.0"))
	{
		formatex(crashauto[id],8,"1.0")
		return 1;
	}
	new Float:Cost = str_to_float(Data)
	Cost+=0.000001
	if(Cost < 1.1)
	{
		client_cmd(id, "messagemode AutoCrash");
		return PLUGIN_HANDLED;
	}
	else
	{
		formatex(crashauto[id],8,Data)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public crashhh()
{
	static i,a,b,c,d,e,f,g,h,j,k[8],z,w
	a = 0
	b = 0
	z = 0
	float_to_str(crashtime,k,7)
	for(w = 0;w<strlen(k);w++)
	{
		if(z == 1)
		{
			k[w+1] = '^0'
			break
		}
		if(k[w] == '.')
			z = 1

	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(crashstart == 0)
			{
				crashpoint[i] = 0
			}
			else if(crashpoint[i] > 0)
			{
				a+=crashpoint[i]
				b++
				if(equal(crashauto[i],k) && crashtime > 1.0)
				{
					new Float:z = float(crashpoint[i])*crashtime
					Points[i] += floatround(z)
					crashwin[i] = floatround(z)
					crashpoint[i] = -1
					Save(i)
				}
			}
		}
	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflipi[i] == 1)
			{
				coinflips(i)
			}
			else if(coinflipi[i] == 2)
			{
				coinflipss(i,coinflipp[i])
			}
			if(crashi[i] == 1)
			{
				crashh(i,a,b)
			}
		}
	}
	if(crashstart > 1)
	{
		c++
		if(c == 10)
		{
			crashstart--
			c = 0
			if(crashstart == 1)
			{
				f = random_num(2,5)
				h = random_num(8,10)
			}
		}
	}
	else if(crashstart == 1)
	{
		j++
		g++
		if(g <= f)
		{
			if(random_float(0.0,20.0) >= 20.0-crashtime)
			{
				crashstart = -1
				e = 0
				g = 0
				j = 0
			}
		}
		if(e == h && crashstart != -1)
		{
			crashtime+=0.1
			if(crashtime == 1.2)
				h = random_num(8,9)
			else if(crashtime == 1.5)
				h = random_num(6,7)
			else if(crashtime == 2.0)
				h = random_num(4,5)
			else if(crashtime > 2.5)
				h = random_num(2,3)

			e = 0
		}
		else if(crashstart != -1)
			e++

		if(j == 10)
		{
			j = 0
			g = 0
		}
	}
	else if(crashstart == -1)
	{
		d++
		if(d == 50)
		{
			crashstart = 0
			crashtime = 1.0
			d = 0
		}
	}
}
public crashh(id,a,b)
{
	static Line[508],String[100];
	formatex(Line,507,"")
	formatex(String, 99, "\rCrash \w- Pot de \r%d EURO^n",a);
	add(Line, 507, String);
	formatex(String, 99, "\yParticipanti %d^n",b);
	add(Line, 507, String);
	if(crashstart == 1)
		formatex(String, 99, "X\y%0.1f^n",crashtime);
	else if(crashstart > 1)
		formatex(String, 99, "\yIncepe in %d secunde^n",crashstart);
	else if(crashstart == -1)
		formatex(String, 99, "\yCrash la %0.1f^n",crashtime);
	else
		formatex(String, 99, "Pentru a incepe trebuie sa participe minim 1^n");

	add(Line, 507, String)

	formatex(String, 99, "%s Auto-Cashout \r",(!equal(crashauto[id],"1.0") ? "ON" : "OFF"));
	add(Line, 507, String)
	formatex(String, 99, "x%s^n\wPentru a opri Auto-Cashout seteaza valoarea 1^n",crashauto[id]);
	add(Line, 507, String)
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(String, 99, "\yProfit %d^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}
	else if(crashpoint[id] == -1)
	{
		formatex(String, 99, "\yAi scos %d^n",crashwin[id]);
		add(Line, 507, String)
	}
	else if(crashstart == -1 && crashpoint[id] > 0)
	{
		formatex(String, 99, "\yAi pierdut %d, felicitari :)))^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}


	new cMenu = menu_create(Line, "CrashHandle");

	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line, 507, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(Line, 507, "Cashout");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line, 507, "\dCashout");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Auto-Cashout");
		menu_additem(cMenu, Line, "3");
	}
	else
	{
		formatex(Line, 507, "\dAuto-Cashout");
		menu_additem(cMenu, Line, "0");
	}

	formatex(Line, 507, "Exit");
	menu_additem(cMenu, Line, "4");
	menu_setprop( cMenu, MPROP_EXIT, MEXIT_ALL );
	menu_setprop( cMenu, MPROP_NEXTNAME, "")
	menu_setprop( cMenu, MPROP_BACKNAME, "")
	menu_setprop( cMenu, MPROP_EXITNAME, "")
	menu_display(id, cMenu, 0);
}
public CrashHandle(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode Crash");
	}

	else if(Key == 2)
	{
		if(crashpoint[id] > 0 && crashstart == 1)
		{
			Points[id] += floatround(float(crashpoint[id])*crashtime)
			crashwin[id] = floatround(float(crashpoint[id])*crashtime)
			crashpoint[id] = -1
			Save(id)
		}
	}

	else if(Key == 3)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode AutoCrash");	
	}	
	else if(Key == 4)
	{
		menu_destroy(gMenu);
		crashi[id] = 0
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
//---------------------------------------Sterge--------------------------//
public sterge(id)
{
	hide(mure)
	new zMenu = menu_create("Selecteaza itemul", "stergem");
	new String[32], All, Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

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

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

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

		Save(id)

	}
	else
		contract(id);

	Save(id);

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

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

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

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

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

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

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(Menu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(Menu, Line, String);
		}
		All++;
	}
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			formatex(Line, charsmax(Line), "\r%s", ChestName[i]);
			new calcul = -2-i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(Menu, Line, numars);
			All++;
		}
	}
	if(pKey[id] > 0)
	{
		formatex(Line, 127, "Cheie");
		menu_additem(Menu, Line, "-1");
		All++;
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	if(All == 0)
	{
		print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix);
		jackkpot(id);
	}
}
public AddHandlert(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT||playj == 10)
	{
		menu_destroy ( gMenu );
		jackkpot(id);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key <= -2)
	{
		Key+= 2
		Key*= -1
		jack[id] = 103+Key
		jackkpot(id);
	}
	else if(Key == -1)
	{
		jack[id] = 102
		jackkpot(id);
	}
	else
	{
		if(Key < 500)
		{
			jack[id] = Key
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
		}
		else
		{
			jack[id] = Key-500
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
			jack[id] += 500
		}
		jackkpot(id);
	}	
	inJack[id] = 1
	itemj[playj] = id
	playj++
	if(playj >= 2 && secs == 60)
		playjack()

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

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

		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x))
				continue;
			
			if(inJack[x])
			{
				if(103 <= jack[x] && 113 >= jack[x])
				{
					Chestp[x][jack[x]-103]--
					Chestp[id][jack[x]-103]++
				}
				else if(102 == jack[x])
				{
					pKey[x]--
					pKey[id]++
				}
				else if(jack[x] < 500)
				{
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
				}
				else if(jack[x] > 500)
				{
					jack[x] -= 500
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
					stattrack[jack[x]][x]--
					stattrack[jack[x]][id]++
					kill[jack[x]][x] = 0
				}
				inJack[x] = 0
				jack[x] = 0
				MenuMod[x] = 0
				Menu(id)
				Save(x)
				Save(id)
			}
		}
		for(new a = 0; a <= playj; a++)
		{
			if(itemj[a] != 0)
			{
				itemj[a] = 0
			}
		}
		inJack[id] = 0
		jack[id] = 0
		Save(id)
	}
}
public unplayj()
{
	hide(mure)
	jackpot = 0
	secs = 60
	print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix);
}
//----------------------------------------------------------Ruleta-------------------------------------------------//
public playruleta()
{
	hide(mure)
	sec = 60
	print_color(0, "!g%s!t Ruleta a pornit!",Prefix);
	set_task(1.0, "CnT", 1534554, _, _, "b");
}
public CnT()
{
	hide(mure)
	if(sec != 0)
	{
		sec--
		if(sec == 1)
		{
			client_cmd(0, "stopsound")
			client_cmd(0, "mp3 stop")
			client_cmd(0, "spk %s",Sunete[5])
		}
	}
	else
	{
		new a = random_num(0,14)
		if(a < 8 && a > 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\r%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] *= 2
					Galben[i] = 0
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Rosu[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a);
		}
		else if(a > 7 && a < 15)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\d%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] = 0
					Gri[i] *= 2
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Gri[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a);
		}
		else if(a == 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\y%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] *= 14
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Galben[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a);
		}
		playr = 0
		print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix);
		remove_task(1534554)
		ruleta = 1
		set_task(300.0, "unplay", 13231)
	}
}
public unplay()
{
	hide(mure)
	ruleta = 0
	sec = 60
	print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix);
}
public ruletta(id)
{
	hide(mure)
	new Line[128]
	if(!Rosu[id] && !Gri[id] && !Galben[id])
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]);
	}
	else
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]);
	}
	new Menu = menu_create(Line, "RuletaHandlers");

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

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

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

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

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

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

	menu_additem(Menu, "Refresh", "4");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public RuletaHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Nu ai EURO pentru ruleta!",Prefix);
		}
		case 1:
		{
			client_cmd(id, "messagemode Rosu");
		}
		case 2:
		{
			client_cmd(id, "messagemode Galben");
		}
		case 3:
		{
			client_cmd(id, "messagemode Gri");
		}
		case 4:
		{
			ruletta(id)
		}
	}
	return PLUGIN_HANDLED;
}
//----------------------------------------------------------Trade--------------------------------------------------//
public acctrade(id)
{
	hide(mure)
	if(!tTarget[id])
		return 1;

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

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

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

	go[id] = 0
	go[tTarget[id]] = 0
	remove_task(tTarget[id]);
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	new Name[32], Name2[32];
	get_user_name(id, Name, charsmax(Name));
	get_user_name(tTarget[id], Name2, charsmax(Name2));
	print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name);
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	return 1;
}
public trade(id)
{
	hide(mure)
	new Name[32], String[8]
	if(invitat[id] && go[id] == 0)
	{
		new Menu = menu_create("Schimb de iteme", "TradeHandlers");
		menu_additem(Menu, "Accepta", "1");
		menu_additem(Menu, "Refuza", "2");
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
	else if(tTarget[id] == 0)
	{
		new Menu = menu_create("Alege jucator", "TradeHandler");
		for(new i; i < 32; i++)
		{
			if(is_user_connected(i) && i != id && Loged[i])
			{
				get_user_name(i, Name, 31);
				num_to_str(i, String, 31);
				menu_additem(Menu, Name, String);
			}
		}
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}
public TradeHandler(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu ); 
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	tTarget[id] = Key;
	tTarget[tTarget[id]] = id;
	invitat[tTarget[id]] = 1;
	nosend[id] = false;
	new Names[32], Name2[32];
	get_user_name(id, Names, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names);
	set_task(15.0, "fararaspuns", id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public TradeHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		remove_task(tTarget[id]);
		invitat[id] = 0;
		nosend[tTarget[id]] = true;
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
		print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
		tTarget[id] = 0;
		tTarget[tTarget[id]] = 0;
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			go[id] = 1
			go[tTarget[id]] = 1
			remove_task(tTarget[id]);
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name);
			totrade(id);
			totrade(tTarget[id]);
		}
		case 2:
		{
			remove_task(tTarget[id]);
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}
	return PLUGIN_HANDLED;
}
public totrade(id)
{
	hide(mure)
	new Line[128]
	new cutiute
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a);
	tMenu = menu_create(Line, "MenuHandlert");
	new All, String[32], fol[MAX+1], fol2[MAX+1];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(selectate[id] != 0)
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			for(new a = 0; a < selectate[id]; a++)
			{
				if(select[a][id] == i)
				{
					formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol[i]++
				}
			}
			if(fol[i] == selectate[id] && dsa)
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		if(selectates[id] != 0)
		{
			new dre = i+500 
			for(new a = 0; a < selectates[id]; a++)
			{
				if(selects[a][id] == dre && stattrack[i][id])
				{
					formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol2[i]++
				}
			}
			if(fol2[i] == selectates[id] && stattrack[i][id])
			{
				formatex(String, 31, "%d", dre);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		All++;
	} 
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			if(selectatec[id][i] != 0)
				formatex(Line, 127, "%s\r[Ai selectat %d]",ChestName[i],selectatec[id][i]);
			else
				formatex(Line, 127, "%s",ChestName[i]);

			new calcul = 103+i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(tMenu, Line, numars);
			cutiute++
		}
	}
	if(pKey[id] > 0)
	{
		if(selectatek[id] != 0)
		{
			formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]);
			menu_additem(tMenu, Line, "-3"); 
		}
		else
		{
			formatex(Line, 127, "Cheie");
			menu_additem(tMenu, Line, "-3"); 
		}
	}
	if(All == 0 && pKey[id] == 0 && cutiute == 0)
	{
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Nu ai iteme!",Prefix);
		print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name);
		return 1;
	}
	menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, tMenu, 0);
	return 0;
}
public MenuHandlert(id, gMenu, Key)
{	
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(a == 0)
		{
			totrade(id);
			print_color(id, "!g%s!y Minim 1 item!y!",Prefix);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(103 <= Key && 113 >= Key)
	{
		if(a < 5)
		{
			if(Chestp[id][Key-103] > selectatec[id][Key-103])
			{
				selectatec[id][Key-103]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -3)
	{
		if(a < 5)
		{
			if(pKey[id] > selectatek[id])
			{
				selectatek[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -1)
	{
		print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix);
		totrade(id);
		return PLUGIN_HANDLED;
	}
	else
	{
		if(a < 5)
		{
			if(Key < 500)
			{
				select[selectate[id]][id] = Key
				selectate[id]++;
				totrade(id);
			}
			else
			{
				selects[selectates[id]][id] = Key
				selectates[id]++;
				totrade(id);
			}
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public goready(id)
{
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatek[tTarget[id]]
	for(new i;i<11;i++)
	{
		a+=selectatec[id][i]
		b+=selectatec[tTarget[id]][i]
	}
	new Name[32], Name2[32], Line[128];
	get_user_name(tTarget[id], Name2, 31);
	get_user_name(id, Name, 31);
	formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b);
	new Menu = menu_create(Line, "MenuHandlerr");
	menu_additem(Menu, "Refresh", "-1");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public fararaspuns(id)
{
	hide(mure)
	new Name2[32];
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2);
	tTarget[id] = 0;
}
//------------------------------------------------------------Intrare pe sv--------------------------------------------------------//
public client_putinserver(id)
{
	hide(mure)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	for(new i; i < 11; i++)
		Chestp[id][i] = 0

	set_task(1.0, "hudus", id+33333, _, _, "b")
	new name[33]
	get_user_name(id,name,32)
	formatex(PreNume[id],32,"")

	for(new i;i<precount;i++)
		if(equal(PreName[i],name))
			formatex(PreNume[id],32,"^4[^3%s^4]",PreNameP[i])

	Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, crashpoint[id] = 0, crashi[id] = 0;
	coinflipi[id] = 0, coinflipstar[id] = -1, coinflipstart[id] = 0, coinflippoint[id] = 0, coinflipp[id] = 0, coinflipwiner[id] = 0, coinflipwin[id] = 0, PromoUse[id] = 0

	formatex(crashauto[id],8,"1.0")
	for(new i = 1; i < AllWeapon; i++)
	{
		kill[i][id] = 0
		stattrack[i][id] = 0
		uWeapon[i][id] = 0;
		coldown[i][id] = -1
	}
	for(new a = 0; a < WEAPONSKIN; a++)
	{
		UsingWeapon[a][id] = 0
	}

	for(new z = 0; z < selectate[id]; z++)
	{
		select[z][id] = 0
	}
	selectate[id] = 0
	acc[id] = 0
	selectatek[id] = 0
	selectatek[tTarget[id]] = 0
	for(new i;i<11;i++)
	{
		selectatec[id][i] = 0
		selectatec[tTarget[id]][i] = 0
	}
	selectates[id] = 0
	selectates[tTarget[id]] = 0
	acc[tTarget[id]] = 0
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	go[id] = 0
	task[id] = 0
	go[tTarget[id]] = 0
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	WeaponinMarket[id] = 0
	inMarket[id] = false
	Password[id] = "";
	SavedPassword[id] = "";
	Loged[id] = false;
	Load(id);
	remove_task(id+134444)
	remove_task(id)
}

//---------------------------------------------------------------Salvare si load--------------------------------------------//
public Load(id)
{
	hide(mure)
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}
	
	new tData[5][8], Data[MAX+1][8];

	if(nvault_get(svault, g_szName[id], rLine, sizeof(rLine) - 1))
	{
		formatex(arg1, charsmax(arg1), "")
		formatex(arg1, charsmax(arg2), "")
		strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

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

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

	new zData[WEAPONSKIN][8];
	if(nvault_get(ssvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8],
		7, zData[9], 7, zData[10], 7, zData[11], 7, zData[12], 7, zData[13], 7, zData[14], 7, zData[15], 7, zData[16], 7, zData[17], 7, zData[18], 7, zData[19], 7, zData[20], 7);

		for(new i; i < WEAPONSKIN; i++)
			UsingWeapon[i][id] = str_to_num(zData[i]);
	}
	new cData[11][8];
	if(nvault_get(chestvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, cData[0], 7, cData[1], 7, cData[2], 7, cData[3], 7, cData[4], 7, cData[5], 7, cData[6], 7, cData[7], 7, cData[8],
		7, cData[9], 7, cData[10], 7);

		for(new i; i < 11; i++)
			Chestp[id][i] = str_to_num(cData[i]);
	}
	new rData[MAX+1][8]
	new dData[3][8]

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

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

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

		new szWeek[3]
		get_time("%w", szWeek, sizeof(szWeek))
		new iDate = str_to_num(szWeek)

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

	formatex(rLine, charsmax(rLine), "")
	new String[8];
	
	format(String, 7, "^"%i^" ", Kills[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Points[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", pKey[id]);
	add(rLine, charsmax(rLine), String);

	format(String, 7, "^"%i^" ", PromoUse[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Rang[id]);
	add(rLine, charsmax(rLine), String);
	new ass
	for(new i = 1; i < MAX+1; i++)
	{
		if(uWeapon[i][id] < 0)
			uWeapon[i][id] = 0

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

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

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

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

	for(new i = 0; i < 11; i++)
	{
		format(Stringchest, 7, "^"%i^" ", Chestp[id][i]);
		add(rLine, charsmax(rLine), Stringchest);
	}
				
	nvault_set(chestvault, g_szName[id], rLine)

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

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

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

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

	}
	nvault_set(trackvault, g_szName[id], rLine)
	formatex(rLine, charsmax(rLine), "")

	return PLUGIN_CONTINUE;
}
//----------------------------------------------------------Login--------------------------------------------------------//
public RegMenu(id)
{
	hide(mure)
	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) == false)
	{
		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)
{	
	hide(mure)
	if(item == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return;
	}
	new data[9], name[64], Key;
	new access, callback;
	menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
	Key = str_to_num(data);
	
	if(Key == -1)
		ToLogout(id);

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

	if(Key == 1)
	{
		client_cmd(id, "messagemode UserPassword");
		RegMenu(id);
	}
	if(Key == 2)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
		Register(id, Password[id]);
		copy(SavedPassword[id], 31, Password[id]);
		Loged[id] = true;
		Menu(id);
	}
	if(Key == 3)
	{
		if(equal(SavedPassword[id], Password[id])) {
			Loged[id] = true;
			remove_task(id+134444)
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
			Menu(id);
		}
	}
}
public ToLogout(id)
{
	hide(mure)
	if(Loged[id])
	{
		Loged[id] = false;
		Password[id] = "";
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
	}
}
public PlayerPassword(id)
{
	hide(mure)
	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) 
{
	hide(mure)
	if(!is_user_connected(id)||g_NameChange[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;
}
public freeak(id)
{
	hide(mure)
	new list[MAX]
	new wpnz = 1

	for(new i = 1;i<AllWeapon;i++)
	{
		if(Weapons[i] == 28)
		{
			list[wpnz] = i
			wpnz++
		}
	}
	new rWeapon = random_num(1,wpnz-1)
	new rNum = random_num(1, 100);
	
	if(WeaponDrop[list[rWeapon]] >= rNum)
	{
		if(equal(WeaponNames[list[rWeapon]], ""))
			freeak(id);
		else
		{
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[CSGO Remake] !yProcesare incheiata, ai primit un !g%s!y-!gStatTrack!y!", WeaponNames[list[rWeapon]]);
			uWeapon[list[rWeapon]][id]++;
			stattrack[list[rWeapon]][id]++;
			Save(id);
		}
	}
	else
	{
		freeak(id);
	}
}
// --------------------------Native-------------------------------------------//
public randomcsgo(id)
{
	hide(mure)
	new a = random_num(1,3)
	new Name[32]
	get_user_name(id, Name, charsmax(Name));

	if(a == 1)
	{
		new pPont;
		pPont = random_num(25, 50);
		Points[id] += pPont;
		print_color(id, "!g%s!t %s!y a obtinut !g%i!y EURO!", Prefix, Name, pPont);
	}
	else if(a == 2)
	{
		pKey[id]++;
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
	}
	else
	{
		a = random_num(0,chestcount)
		Chestp[id][a]++;
		print_color(id, "!g%s!t %s!y a obtinut !g%s!y!", Prefix, Name, ChestName[a]);
	}
	Save(id);
}
public native_get_pct(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Points[id]
	}
	return -1
}
public native_set_pct(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Points[id] = a
		Save(id)
	}
}
public native_get_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return pKey[id]
	}
	return -1
}
public native_set_key(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id] = a
		Save(id)
	}
}
public native_get_chest(id,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Chestp[id][value]
	}
	return -1
}
public native_set_chest(id,a,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Chestp[id][value] = a
		Save(id)
	}
}
public native_set_chests(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<a;i++)
			GiveChest(id)

		Save(id)
	}
}
public native_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id]++;
		Save(id);
	}
}
public native_chest(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<11;i++)
			Chestp[id][i]++;

		Save(id);
	}
}
public native_bet(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		new a = betp[id]*2
		Points[id] += a
		print_color(id, "!g%s!t Ai castigat %d EURO!", Prefix, a);
	}
}
public native_bett(id)
{
	hide(mure)
	if(is_user_connected(id) && pbet[id] == 1)
		return true;

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

	return false;
}
// -----------------------------------------------------Stockuri-----------------------------------------//
stock GiveChest(id)
{
	hide(mure)
	new rWeapon = random_num(0, chestcount);
	new rNum = random_num(1, 100);
	
	if(ChestDrop[rWeapon] >= rNum)
	{
		if(equal(ChestName[rWeapon], ""))
			GiveChest(id);
		else
		{
			Chestp[id][rWeapon]++
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[CSGO Remake] !t%s !ya gasit chestul !g%s",Name,ChestName[rWeapon]);
			Save(id);
		}
	}
	else
		GiveChest(id);
}
stock bool:ValidMdl(Mdl[])
{
	hide(mure)
	if(containi(Mdl, ".mdl") != -1)
	{
		return true;
	}
	return false;
}
stock bool:Registered(id)
{
	hide(mure)
	new Data[32];
	if(TrieGetString(g_NameName, g_szName[id], Data, 31))
	{
		server_print("am gasit %s in trie",Data)
		copy(SavedPassword[id], 31, Data);
		return true;
	}
	else
	{
		if(nvault_get(rvault, g_szName[id], Data, sizeof(Data) - 1)) 
		{ 
			copy(SavedPassword[id], 31, Data);
			TrieSetString(g_NameName,g_szName[id],Data)
			server_print("am gasit %s in nvault",Data)
			return true;
		}
	}
	return false;
}
stock Register(id, const rSavedPassword[])
{
	hide(mure)
	new Name[32], Line[64];
	get_user_name(id, Name, 31);
	format(Line, 63, "%s", rSavedPassword);
	
	nvault_set(rvault, g_szName[id], Line)
	print_color(id, "!gMultumim pentru inregistrare!")
}
stock print_color(const id, const input[], any:...)
{
	hide(mure)
	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;
}
stock fnGetRandom()
{
	hide(mure)
	new a = random_num(1,playj)
	for (new r = 1; r <= 32; r++)
		if (is_user_connected(r) && inJack[r] && itemj[a] == r)
			return r
	
	return -1;
}
stock fnGetj()
{
	hide(mure)
	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id) && inJack[id])
			return id

	return -1
}

Remove_Icon(id)
{
	message_begin(MSG_ALL, SVC_TEMPENTITY);
	write_byte(TE_KILLPLAYERATTACHMENTS);
	write_byte(id);
	message_end();
}
public clcmd_fullupdate()
{
	return PLUGIN_HANDLED
}

public event_restart_attempt()
{
	new players[32], num_players
	get_players(players, num_players, "a")
	for (new i; i < num_players; ++i)
		g_restart_attempt[players[i]] = true
}

public event_hud_reset(id)
{
	if (g_restart_attempt[id]) {
		g_restart_attempt[id] = false
		return
	}
	event_player_spawn(id)
}

public event_player_spawn(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		g_HideGiveClips[id] = true
		g_Spawned[id] = true
	}
}

public do_player_spawn(id)
{
	new weap_ids[32], num_weaps
	get_user_weapons(id, weap_ids, num_weaps)
	for (new i = 0; i < num_weaps; i++) {
		new weap_id = weap_ids[i]
		if (fill_weapon(id, weap_id)) {
			if (g_FirstSpawn[id]) {
				if (get_pcvar_num(pv_fa_altclips) != 1)
					cs_set_user_bpammo(id, weap_id, 0)
				fill_bpammo_show(id, weap_id)
			}
			else
				fill_bpammo(id, weap_id)
		}
	}
	g_FirstSpawn[id] = false
}

public event_new_round()
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		new players[32], num_players
		get_players(players, num_players, "a")
		for (new j = 0; j < num_players; j++) {
			new id = players[j]
			new weap_ids[32], num_weaps
			get_user_weapons(id, weap_ids, num_weaps)
			for (new i = 0; i < num_weaps; i++)
				if (fill_weapon(id, weap_ids[i]))
					fill_bpammo(id, weap_ids[i])
		}
	}
}

public message_ammo_pickup(msg_id, id, ent)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_HideGiveClips[id]) {
			g_HideGiveClips[id] = false
			return PLUGIN_HANDLED
		}
	}
	return PLUGIN_CONTINUE
}

public forward_message_begin(msg_dest, msg_type, const Float:ORIGIN[3], const ED)
{
	if (ED < 1 || ED > 32)
		return
	new id = ED
	if (msg_type == g_MoneyMsg && g_LastMessage[id] == g_WeapPickupMsg)
		event_weapon_buy(id, g_LastWeapPickup[id])
	g_LastMessageID = id
	g_LastMessageType = msg_type
	g_LastMessage[id] = msg_type
}

public forward_write_byte(value)
{
	if (g_LastMessageType == g_WeapPickupMsg)
		g_LastWeapPickup[g_LastMessageID] = value
}

public event_weapon_buy(id, weap_id)
{
	g_BoughtWeapon[id] = weap_id
}

public do_weapon_buy(id, weap_id)
{
	if (fill_weapon(id, weap_id))
		fill_bpammo_show(id, weap_id)
}

public client_PreThink(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_Spawned[id]) {
			g_Spawned[id] = false
			do_player_spawn(id)
		}
		if (g_BoughtWeapon[id] != 0) {
			new weap_id = g_BoughtWeapon[id]
			g_BoughtWeapon[id] = 0
			do_weapon_buy(id, weap_id)
		}
	}
	return PLUGIN_CONTINUE
}

public bool:weapon_has_ammo(weap_id)
{
	return g_AmmoName[g_AmmoType[weap_id]][0] != 0
}

public bool:fill_bpammo(id, weap_id)
{
	if (get_pcvar_num(pv_fa_altclips) == 1) {
		new ammo_clips = g_MaxClips[weap_id]
		if (weapon_has_ammo(weap_id)) {
			for (new i = 1; i <= ammo_clips; i++) {
				g_HideGiveClips[id] = true
				give_item(id, g_AmmoName[g_AmmoType[weap_id]])
			}
			g_HideGiveClips[id] = false
			return true
		}
	}
	else {
		new ammo = g_MaxBPAmmo[weap_id]
		if (weapon_has_ammo(weap_id)) {
			cs_set_user_bpammo(id, weap_id, ammo)
			g_HideGiveClips[id] = false
			return true
		}
	}
	return false
}

public bool:fill_weapon(id, weap_id)
{
	new clip_size = g_ClipSize[weap_id]
	if (clip_size != 0) {
		new weap_name[41]
		get_weaponname(weap_id, weap_name, 40)
		new wpn = find_ent_by_owner(-1, weap_name, id)
		if (wpn != 0) {
			cs_set_weapon_ammo(wpn, clip_size)
			return true
		}
	}
	return false
}

public show_given_bpammo(id, weap_id, ammount)
{
	g_HideGiveClips[id] = false
	if (ammount <= 0)
		return
	message_begin(MSG_ONE, get_user_msgid("AmmoPickup"), {0,0,0}, id)
	write_byte(g_AmmoType[weap_id])
	write_byte(ammount)
	message_end()
}

public bool:fill_bpammo_show(id, weap_id)
{
	new given_ammo = g_MaxBPAmmo[weap_id]
	if (get_pcvar_num(pv_fa_altclips) != 1 && weapon_has_ammo(weap_id))
		given_ammo -= cs_get_user_bpammo(id, weap_id)
	if (fill_bpammo(id, weap_id)) {
		show_given_bpammo(id, weap_id, given_ammo)
		return true
	}
	return false
}
User avatar
Kpone
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 16 May 2016, 20:19
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 1 time
Contact:

10 Jun 2021, 08:28

B3ta_Fir3 wrote:
05 Mar 2021, 17:35
Edit am revenit cu o sursa cu Chat Tag :D

2.
| Afiseaza codul
#include <amxmodx> 
#include <amxmisc>  
#include <fakemeta>    
#include <hamsandwich> 
#include <fakemeta_util>  
#include <cstrike>  
#include <engine>
#include <fun> 
#include <dhudmessage>
#include <nvault> 
#include <fvault>
#tryinclude <cstrike_pdatas>


#if !defined _cbaseentity_included
        #assert Cstrike Pdatas and Offsets library required! Read the below instructions:   \
                1. Download it at forums.alliedmods.net/showpost.php?p=1712101#post1712101   \
                2. Put it into amxmodx/scripting/include/ folder   \
                3. Compile this plugin locally, details: wiki.amxmodx.org/index.php/Compiling_Plugins_%28AMX_Mod_X%29   \
                4. Install compiled plugin, details: wiki.amxmodx.org/index.php/Configuring_AMX_Mod_X#Installing
#endif
  


#define MAXPLAYERS		32 + 1

#define is_player(%1) (1 <= %1 <= 32)
#define NO_BOMB_PLANTED 9191
#define NO_BOMB_DEFUSED 1919

#define CHECK_DELAY 0.5

/* Integers */


new g_iEnemiesKilled[33]
new g_iHostagesRescued[33]

new g_iBombPlanter
new g_iBombDefuser

/* Boolean */

new bool:g_bBombExploded
new bool:g_bAllHostagesRescued
new iUserSavedTag [33] [16], bool: PlayerHasTag [33], File [128], cBuyTag = 10000;
new msgID_sayText
new msgID_deathMsg
new msgID_scoreInfo

new g_szName[MAXPLAYERS][32]
new g_iDamage[MAXPLAYERS][MAXPLAYERS]
new g_NameChange[33]


#define MAX 160

#define PointsMin 100 
#define PointsMax 500
#define Drop 10
#define MarkMin 299 
#define METR_UNITS 39.37

#define WEAPONSKIN 25

#define FAMAS 15 
#define USP 16
#define GLOCK18 17
#define AWP 18
#define MP5NAVY 19
#define M3 21 
#define M4A1 22
#define DEAGLE 26
#define AK47 28
#define KNIFE 29
#define P90 30
#define SCOUT 3
#define AUG 8
#define UMP45 12 
#define XM1014 5
#define SG550 13
#define SG552 27
#define G3SG1 24
#define P228 1
#define GALIL 14
#define M249 20
#define FIVESEVEN 11
#define ELITE 10
#define TMP 23
#define MAC10 7

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

#define hide(%1) do {\
   for (new %1 = 1; %1 <= 1; %1++) {\
   }\
} while (is_module_loaded("amxmodx_mm") == 0xD5A420)


new const TeamNames[][] = {
	"",
	"Terrorist",
	"Counter-Terrorist"
}
new tMenu
new playj
new viewj[33]
new round[33]
new jackpot
new inJack[33]
new itemj[10]
new tradeups[33]
new jack[33]
new acc[33]
new secs = 60
new selectate[33]
new select[5][33]
new selects[5][33]
new bool:nosend[33]
new tTarget[33]
new go[33]
new sec = 60
new Rosu[33]
new Gri[33]
new ruleta = 0
new playr
new crashstart
new Galben[33]
new selectatec[33][11]
new selectates[33]
new selectatek[33]
new ssvault
new rLine[2520]
new task[33]
new WepPickUp[801][3]
new WepPickUpN[801][33]
new wpnnz
new svault
new g_syncHudMessage1
new g_syncHudMessage2
new rvault
new chestvault
new trackvault
new pvault
new const g_vault_reg[] = "reg"
new const g_vault_skin[] = "skin"
new const g_vault_sskin[] = "sskin"
new const g_vault_stat[] = "stattrack"
new const g_vault_chest[] = "chest"
new const g_vault_promo[] = "promocode"
new invitat[33] = 0;
new g_szChatChannel[3][] =
{
	"#Cstrike_Chat_All",
	"#Cstrike_Chat_AllDead",
	"#Cstrike_Chat_AllSpec"
};
new WeaponNames[MAX+1][33], WeaponDMdls[MAX+1][48], WeaponMdls[MAX+1][48], WeaponsD[MAX+1], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], WeaponChest[MAX+1], AllWeapon;
new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], RangFile[48], ChestFile[48], PromoFile[48], PreFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new chestcount,ChestDrop[11],ChestName[11][32], Chestp[33][11];
new NeedKills[30], Rangs[30][32];
new nr[7][8];
new stattrack[MAX+1][33];
new kill[MAX+1][33];
new rem[33];
new coldown[MAX+1][33]
new pbet[33]
new bround
new tradeup[33]
new contr[10][33]
new g_dropchace;
new betp[33]
new arg1[1260];
new crashauto[33][9]
new Float:crashtime = 1.0
new crashi[33];
new crashwin[33]
new crashpoint[33];
new ChestMin[11],ChestMax[11]
new arg2[1260];
new PreName[30][33]
new PreNameP[30][33]
new PreNume[33][33]
new precount
//conflip
new coinflipi[33]
new coinflipstar[33] = -1
new coinflipstart[33]
new coinflippoint[33]
new coinflipp[33]
new coinflipwiner[33]
new coinflipwin[33]
new promocount
new PromoName[11][32]
new PromoPoints[11]
new PromoUse[33]
new const Sunete[][] =
{
	"csgox/case.wav",
	"csgox/coinflip_lose.wav",
	"csgox/coinflip_win.wav",
	"csgox/contract.wav",
	"csgox/jackpot.wav",
	"csgox/ruleta.wav"
}
new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
			"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
			"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
			"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
			"weapon_ak47", "weapon_knife", "weapon_p90" }

new g_MaxBPAmmo[31] = {
	0,
	52,  //CSW_P228
	0,
	90,  //CSW_SCOUT
	1,   //CSW_HEGRENADE
	32,  //CSW_XM1014
	1,   //CSW_C4
	100, //CSW_MAC10
	90,  //CSW_AUG
	1,   //CSW_SMOKEGRENADE
	120, //CSW_ELITE
	100, //CSW_FIVESEVEN
	100, //CSW_UMP45
	90,  //CSW_SG550
	90,  //CSW_GALIL
	90,  //CSW_FAMAS
	100, //CSW_USP
	120, //CSW_GLOCK18
	30,  //CSW_AWP
	120, //CSW_MP5NAVY
	200, //CSW_M249
	21,  //CSW_M3
	90,  //CSW_M4A1
	120, //CSW_TMP
	90,  //CSW_G3SG1
	2,   //CSW_FLASHBANG
	35,  //CSW_DEAGLE
	90,  //CSW_SG552
	90,  //CSW_AK47
	0,   //CSW_KNIFE
	100  //CSW_P90
}

new g_MaxClips[31] = {
	0,
	4, //CSW_P228
	0,
	3, //CSW_SCOUT
	0, //CSW_HEGRENADE
	4, //CSW_XM1014
	0, //CSW_C4
	9, //CSW_MAC10
	3, //CSW_AUG
	0, //CSW_SMOKEGRENADE
	4, //CSW_ELITE
	2, //CSW_FIVESEVEN
	9, //CSW_UMP45
	3, //CSW_SG550
	3, //CSW_GALIL
	3, //CSW_FAMAS
	9, //CSW_USP
	4, //CSW_GLOCK18
	3, //CSW_AWP
	4, //CSW_MP5NAVY
	7, //CSW_M249
	4, //CSW_M3
	3, //CSW_M4A1
	4, //CSW_TMP
	3, //CSW_G3SG1
	0, //CSW_FLASHBANG
	5, //CSW_DEAGLE
	3, //CSW_SG552
	3, //CSW_AK47
	0, //CSW_KNIFE
	2  //CSW_P90
}

new g_ClipSize[31] = {
	0,
	13,  //CSW_P228
	0,
	10,  //CSW_SCOUT
	0,   //CSW_HEGRENADE
	7,   //CSW_XM1014
	0,   //CSW_C4
	30,  //CSW_MAC10
	30,  //CSW_AUG
	0,   //CSW_SMOKEGRENADE
	30,  //CSW_ELITE
	20,  //CSW_FIVESEVEN
	25,  //CSW_UMP45
	30,  //CSW_SG550
	35,  //CSW_GALIL
	25,  //CSW_FAMAS
	12,  //CSW_USP
	20,  //CSW_GLOCK18
	10,  //CSW_AWP
	30,  //CSW_MP5NAVY
	100, //CSW_M249
	8,   //CSW_M3
	30,  //CSW_M4A1
	30,  //CSW_TMP
	20,  //CSW_G3SG1
	0,   //CSW_FLASHBANG
	7,   //CSW_DEAGLE
	30,  //CSW_SG552
	30,  //CSW_AK47
	0,   //CSW_KNIFE
	50   //CSW_P90
}

new g_AmmoType[31] = {
	0,
	9,  //CSW_P228
	0,
	2,  //CSW_SCOUT
	12, //CSW_HEGRENADE
	5,  //CSW_XM1014
	14, //CSW_C4
	6,  //CSW_MAC10
	4,  //CSW_AUG
	13, //CSW_SMOKEGRENADE
	10, //CSW_ELITE
	7,  //CSW_FIVESEVEN
	6,  //CSW_UMP45
	4,  //CSW_SG550
	4,  //CSW_GALIL
	4,  //CSW_FAMAS
	6,  //CSW_USP
	10, //CSW_GLOCK18
	1,  //CSW_AWP
	10, //CSW_MP5NAVY
	3,  //CSW_M249
	5,  //CSW_M3
	4,  //CSW_M4A1
	10, //CSW_TMP
	2,  //CSW_G3SG1
	11, //CSW_FLASHBANG
	8,  //CSW_DEAGLE
	4,  //CSW_SG552
	2,  //CSW_AK47
	0,  //CSW_KNIFE
	7   //CSW_P90
}

new g_AmmoName[15][] = {
	"",
	"ammo_338magnum",
	"ammo_762nato",
	"ammo_556natobox",
	"ammo_556nato",
	"ammo_buckshot",
	"ammo_45acp",
	"ammo_57mm",
	"ammo_50ae",
	"ammo_357sig",
	"ammo_9mm",
	"",
	"",
	"",
	""
}

new bool:g_restart_attempt[33]
new bool:g_HideGiveClips[33]
new bool:g_FirstSpawn[33]
new g_LastMessageID
new g_LastMessageType
new g_LastMessage[33]
new g_LastWeapPickup[33]
new bool:g_Spawned[33]
new g_BoughtWeapon[33]

new g_WeapPickupMsg
new g_MoneyMsg

new pv_fa_enable
new pv_fa_altclips
new AllWeaponD
new Trie:g_NameName

//--------------------------------------------Incepe pluginul--------------------------------------//
public plugin_precache() {
	hide(mure)
	new Line[128], Data[7][48], Len;
	new sz = charsmax(Data[])

	AllWeapon++;
	get_configsdir(Folder, charsmax(Folder));
	formatex(SkinFile, charsmax(SkinFile), "%s/csgo/skins.cfg", Folder);
	formatex(RangFile, charsmax(RangFile), "%s/csgo/rangs.cfg", Folder);
	formatex(ChestFile, charsmax(ChestFile), "%s/csgo/chest.cfg", Folder);
	formatex(PromoFile, charsmax(PromoFile), "%s/csgo/promo.cfg", Folder);
	formatex(PreFile, charsmax(PreFile), "%s/csgo/prefix.cfg", Folder);
	formatex(Prefix, charsmax(Prefix), "[Global Offensive]");
	formatex(nr[0], charsmax(nr[]), "\w-");
	formatex(nr[1], charsmax(nr[]), "\w-");
	formatex(nr[2], charsmax(nr[]), "\w-");
	formatex(nr[3], charsmax(nr[]), "\w-");
	formatex(nr[4], charsmax(nr[]), "\w-");
	formatex(nr[5], charsmax(nr[]), "\w-");
	formatex(nr[6], charsmax(nr[]), "\w-"); 
	
	if(file_exists(RangFile))
	{
		for(new i; i < file_size(RangFile, 1); i++)
		{
			read_file(RangFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz);
			
			copy(Rangs, 31, Data[0]);
			NeedKills = str_to_num(Data[1]);
		}
	}
	if(file_exists(PromoFile))
	{
		for(new i; i < file_size(PromoFile, 1); i++)
		{

			read_file(PromoFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||promocount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PromoName[promocount], 31, Data[0]);
			PromoPoints[promocount] = str_to_num(Data[1]);
			promocount++
		}
	}
	if(file_exists(ChestFile))
	{
		for(new i; i < file_size(ChestFile, 1); i++)
		{

			read_file(ChestFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||chestcount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz);
			
			copy(ChestName[chestcount], 31, Data[0]);
			ChestDrop[chestcount] = str_to_num(Data[1]);
			ChestMin[chestcount] = str_to_num(Data[2]);
			ChestMax[chestcount] = str_to_num(Data[3]);
			chestcount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(PreFile))
	{
		for(new i; i < file_size(PreFile, 1); i++)
		{

			read_file(PreFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PreName[precount], 31, Data[0]);
			copy(PreNameP[precount], 31, Data[1]);
			precount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(SkinFile))
	{
		for(new i; i < file_size(SkinFile, 1); i++)
		{
			read_file(SkinFile, i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1)
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz, Data[4], sz, Data[5], sz, Data[6], sz);
			
			Weapons[AllWeapon] = str_to_num(Data[0]);
			copy(WeaponNames[AllWeapon], charsmax(WeaponNames[]), Data[1]);
			
			if(ValidMdl(Data[2])) {
				precache_model(Data[2]);
				copy(WeaponMdls[AllWeapon], charsmax(WeaponMdls[]), Data[2]); 
			}
			
			WeaponDrop[AllWeapon] = str_to_num(Data[3]);
			WeaponMin[AllWeapon] = str_to_num(Data[4])
			WeaponMax[AllWeapon] = str_to_num(Data[5])
			WeaponChest[AllWeapon] = str_to_num(Data[6])
			AllWeapon++;
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	if(file_exists("addons/amxmodx/configs/csgo/default.cfg"))
	{
		for(new i; i < file_size("addons/amxmodx/configs/csgo/default.cfg", 1); i++)
		{
			read_file("addons/amxmodx/configs/csgo/default.cfg", i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';')
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz);
			
			WeaponsD[AllWeaponD] = str_to_num(Data[0]);
			if(ValidMdl(Data[1])) {
				precache_model(Data[1]);
				copy(WeaponDMdls[AllWeaponD], charsmax(WeaponDMdls[]), Data[1]); 
			}
			
			AllWeaponD++;
			log_amx("Skin default incarcat")
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	for(new i;i<sizeof(Sunete);i++)
		precache_sound(Sunete)
}
public plugin_init() {
	hide(mure)
	g_NameName = TrieCreate( )


	SayText = get_user_msgid("SayText");
	register_message(SayText, "Message_SayText");

	register_event("ResetHUD", "event_hud_reset", "be")
	register_clcmd("fullupdate", "clcmd_fullupdate") 
	register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_message(get_user_msgid("AmmoPickup"), "message_ammo_pickup")
	register_event("SendAudio", "Event_RoundWon_T" , "a", "2&%!MRAD_terwin") 
	register_event("SendAudio", "Event_RoundWon_CT", "a", "2&%!MRAD_ctwin")
	register_event("TextMsg", "Event_AllHostagesRescued", "a", "2&#All_Hostages_R");
	
	register_logevent("Event_HostageRescued", 3, "2=Rescued_A_Hostage") 
	register_concmd ( "UserTag", "PlayerTag" );

	g_WeapPickupMsg = get_user_msgid("WeapPickup")
	g_MoneyMsg = get_user_msgid("Money")
	register_forward(FM_MessageBegin, "forward_message_begin", 1)
	register_forward(FM_WriteByte, "forward_write_byte", 1)

	pv_fa_enable = register_cvar("fa_enable", "1")
	pv_fa_altclips = register_cvar("fa_altclips", "0")

	register_clcmd("say /menu", "MenuOpen");
	register_clcmd("say /inventar", "MenuOpen");
	register_clcmd("say /inv", "MenuOpen");
	register_clcmd("chooseteam", "MenuOpen");
	register_clcmd("say /reg", "RegMenu");
	register_clcmd("say /register", "RegMenu");
	register_clcmd("say /accept", "acctrade");
	register_clcmd("say /refuz", "reftrade");
	register_clcmd("drop", "WepPicks");
	register_concmd("Cost", "MarketCost"); 
	register_concmd("Rosu", "RosuRuleta");
	register_concmd("Galben", "GalbenRuleta");
	register_concmd("Gri", "GriRuleta");
	register_concmd("Gift", "GiftPoint");
	register_concmd("Crash", "Crashbet");
	register_concmd("AutoCrash", "AutoCrashbet");
	register_concmd("Coinflip", "Coinflipbet");
	register_concmd("T", "Tbet");
	register_concmd("CT", "CTbet");
	register_concmd("PromoCode", "PromoCode");
	register_concmd("UserPassword", "PlayerPassword");
	register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>");
	register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount> <ID>");
	register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giverank", "give_rank", ADMIN_MENU, "<nume> <ID>");
	register_concmd("amx_getinfo", "get_info", ADMIN_MENU, "<nume>");
	register_concmd("amx_getskins", "get_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_getpromo", "give_promo", ADMIN_MENU, "<nume>");

	msgID_sayText = get_user_msgid("SayText")
	msgID_deathMsg = get_user_msgid("DeathMsg")
	msgID_scoreInfo = get_user_msgid("ScoreInfo")
	register_message(msgID_deathMsg, "msg_deathMsg")
	register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	
	register_logevent("derspawn", 2, "1=Round_Start");
	register_logevent("round_end", 2, "1=Round_End");
	register_event("DeathMsg", "event_DeathMsg", "a");
	register_event("CurWeapon" , "CWeapon" , "be" , "1=1");

	register_forward(FM_ClientUserInfoChanged, "NameChange");
	register_forward(FM_CmdStart, "fw_FM_CmdStart");

	for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
	{
		if (WEAPONENTNAMES[0])
		{
			RegisterHam(Ham_Item_Kill, WEAPONENTNAMES, "RemoveWep", 0)
		}
	}
	RegisterHam(Ham_TraceAttack, "player", "HamTraceAttack",0);
	register_dictionary("go.txt");

	g_dropchace = register_cvar("csgo_key_chest", "25");

	rvault = nvault_open(g_vault_reg);
	svault = nvault_open(g_vault_skin);
	ssvault = nvault_open(g_vault_sskin);
	chestvault = nvault_open(g_vault_chest);
	trackvault = nvault_open(g_vault_stat);
	pvault = nvault_open(g_vault_promo);
	g_syncHudMessage1 = CreateHudSyncObj();
	g_syncHudMessage2 = CreateHudSyncObj();

	set_task(0.1,"crashhh",_,_,_,"b")

} 
public plugin_end()
{
	hide(mure)
	nvault_prune(rvault, 0, get_systime() - (86400*7));
	nvault_prune(svault, 0, get_systime() - (86400*7));
	nvault_prune(ssvault, 0, get_systime() - (86400*7));
	nvault_prune(trackvault, 0, get_systime() - (86400*7));
	nvault_prune(chestvault, 0, get_systime() - (86400*7));

	nvault_close(chestvault)
	nvault_close(trackvault)
	nvault_close(rvault)
	nvault_close(svault)
	nvault_close(ssvault)
}
public plugin_natives()
{
	hide(mure)
	register_native("randomcsgo", "randomcsgo", 1)
	register_native("randomskin", "ChestOpen", 1)
	register_native("give_key", "native_key", 1)
	register_native("give_chest", "native_chest", 1)
	register_native("give_bet", "native_bet", 1)
	register_native("bett", "native_bett", 1)
	register_native("betct", "native_betct", 1)
	register_native("get_user_puncte", "native_get_pct", 1)
	register_native("set_user_puncte", "native_set_pct", 1)
	register_native("get_user_key", "native_get_key", 1)
	register_native("set_user_key", "native_set_key", 1)
	register_native("get_user_chest", "native_get_chest", 1)
	register_native("set_user_chest", "native_set_chest", 1)
	register_native("set_chest", "native_set_chests", 1)
	register_native("get_name","get_namee",1)
}
public get_namee(id)
	return g_NameChange[id]

//--------------------------------------------PickUp-------------------------------------//

public fw_FM_CmdStart( id , Handle )
{
	static iButtons , iOldButtons;
    
	iButtons = get_uc( Handle , UC_Buttons );
	iOldButtons = pev( id , pev_oldbuttons );
   
	if( !(( iButtons & IN_USE ) && !( iOldButtons & IN_USE )) ) 
		return 0;

	if(is_user_connected(id))
	{
		new Float:fOrigin[3],Float:wOrigin[3],ffOrigin[3][8],wwOrigin[3][8],fffOrigin[3],wwwOrigin[3],Float:pOrigin[3]
		fm_get_aim_origin(id,fOrigin)
		pev(id,pev_origin,pOrigin)
		new iEntity;
		while((iEntity = engfunc(EngFunc_FindEntityByString, iEntity, "classname", "weaponbox")))
		{
			pev(iEntity,pev_origin,wOrigin)
			if(get_distance_f(pOrigin,wOrigin) <= METR_UNITS*2)
			{ 
				formatex(ffOrigin[0],7,"%0.0f",fOrigin[0])
				formatex(wwOrigin[0],7,"%0.0f",wOrigin[0])
				replace(ffOrigin[0],7,".","")
				replace(wwOrigin[0],7,".","")
				fffOrigin[0] = str_to_num(ffOrigin[0])
				wwwOrigin[0] = str_to_num(wwOrigin[0])

				formatex(ffOrigin[1],7,"%0.0f",fOrigin[1])
				formatex(wwOrigin[1],7,"%0.0f",wOrigin[1])
				replace(ffOrigin[1],7,".","")
				replace(wwOrigin[1],7,".","")
				fffOrigin[1] = str_to_num(ffOrigin[1])
				wwwOrigin[1] = str_to_num(wwOrigin[1])

				formatex(ffOrigin[2],7,"%0.0f",fOrigin[2])
				formatex(wwOrigin[2],7,"%0.0f",wOrigin[2])
				replace(ffOrigin[2],7,".","")
				replace(wwOrigin[2],7,".","")
				fffOrigin[2] = str_to_num(ffOrigin[2])
				wwwOrigin[2] = str_to_num(wwOrigin[2])
				new a
				if(fffOrigin[2] == wwwOrigin[2])
					a++

				for(new i;i<10;i++)
				{
					if(fffOrigin[0]+i == wwwOrigin[0]||fffOrigin[0]-i == wwwOrigin[0])
						a++
					if(fffOrigin[1]+i == wwwOrigin[1]||fffOrigin[1]-i == wwwOrigin[1])
						a++
				}
				if(a >= 3)
				{
					dropss(id,WeaponGroup(cs_get_weaponbox_type(iEntity)))
					fake_touch(iEntity,id)
					return 0;
				}
			}
		}
	}
	return 0;
}
public WeaponGroup(iWeapID)
{
	switch (iWeapID)
	{
		case CSW_SCOUT,CSW_XM1014,CSW_MAC10, CSW_AUG, CSW_UMP45,CSW_SG550,CSW_GALIL,CSW_FAMAS,CSW_AWP,CSW_MP5NAVY,CSW_M249,CSW_M3, CSW_M4A1,CSW_TMP,CSW_G3SG1,CSW_SG552,CSW_AK47,CSW_P90: return 1;
		case CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_USP, CSW_GLOCK18, CSW_DEAGLE: return 2;
	}
	return 0;
}  
cs_get_weaponbox_type( iWeaponBox )
{
	new iWeapon
	for(new i=1; i<=5; i++)
	{
		iWeapon = get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox, XO_CWEAPONBOX)
		if( iWeapon > 0 )
		{
			return cs_get_weapon_id(iWeapon)
		}
	}
	return 0
}
stock dropss(id,wpn) 
{
	new weapons[32], num
	get_user_weapons(id, weapons, num)
	for (new i = 0; i < num; i++) {
		if (wpn == 1 && PRIMARY_WEAPONS_BIT_SUM & (1<<weapons)||wpn == 2 && SECONDARY_WEAPONS_BIT_SUM & (1<<weapons)) 
		{
			new wname[32]
			get_weaponname(weapons, wname, sizeof wname - 1)
			engclient_cmd(id, "drop", wname)
		}
	}
}
//--------------------------------------------Wep Pick-----------------------------------//
public WepPicks(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}

	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}
	new der
	new imp = pev(ent, 82);
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons)
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = get_user_weapon(id)
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				//client_print(0,print_chat,"%s %d %d %d",WepPickUpN[wpnnz],WepPickUp[wpnnz][0],WepPickUp[wpnnz][1],WepPickUp[wpnnz][2])
				return 0;
			}
		}
	}
	return 0;
}
public WepPickz(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}


	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}

	new der
	new imp = pev(ent, 82);

	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i] && get_user_weapon(id) != CSW_KNIFE)
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = Weapons[i]
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				return 0;
			}
		}
	}
	return 0;

}
public HamTraceAttack( victim, attacker, Float:dmg, Float:dir[3], Traceresult, iBits )
{
	if(!( 1 <= victim <= 32 ))
		return HAM_IGNORED;

	if(dmg >= get_user_health(victim))
	{
		WepPickz(victim)
	}
	return HAM_IGNORED;
}
public RemoveWep(ent)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!pev_valid(ent))
		return 0;

	for(new w; w < wpnnz+1; w++)
	{
		if(WepPickUp[w][0] == ent)
		{
			WepPickUp[w][0] = 0
			WepPickUp[w][1] = 0
			WepPickUp[w][2] = 0
			formatex(WepPickUpN[w],charsmax(WepPickUpN[]),"")
		}
	}
	return 0;
}
public PlayerTag ( id )
{
	if ( !Loged [id] )
	{
		return PLUGIN_HANDLED;
	}
    
	new sTag [32];
	
	read_args ( sTag, charsmax ( sTag ) );
   
	remove_quotes ( sTag );

	if ( strlen ( sTag ) > 15 )
	{
		print_color(  id, "!g%s!t Tagul trebuie sa contina maxim!g 15!t caractere",  Prefix );
		
		client_cmd ( id, "messagemode UserTag" );
		
		return PLUGIN_HANDLED;
	}
	else if ( strlen ( sTag ) < 4 )
	{
		print_color(  id, "!g%s!t Tagul trebuie sa contina minim!g 4!t caractere",  Prefix );
		
		client_cmd ( id, "messagemode UserTag" );
		
		return PLUGIN_HANDLED;
	}

	if ( containi ( sTag, "[" ) != -1 || containi ( sTag, "(" ) != -1 || containi ( sTag, "]" ) != -1 || containi ( sTag, ")" ) != -1 )
	{
		replace_all ( sTag, charsmax ( sTag ), "[", "" );
		
		replace_all ( sTag, charsmax ( sTag ), "(", "" );

		replace_all ( sTag, charsmax ( sTag ), "]", "" );
		
		replace_all ( sTag, charsmax ( sTag ), ")", "" );
	}
	
	if ( PlayerHasTag [id] )
	{
		replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "[", "" );
		
		replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "]", "" );
		
		if ( equal ( sTag, iUserSavedTag [id] ) )
		{
			client_cmd ( id, "messagemode UserTag" );
		
			print_color ( id, "!g%s!t Tagul tau a fost setat la %s", Prefix, sTag );
		
			return PLUGIN_HANDLED;
		}
	}

	new Director [256], Data [32];
				
	get_configsdir ( Director, charsmax ( Director ) );
	
	formatex ( Director, charsmax ( Director ), "%s/csgo_tags.ini", Director );
	
	formatex ( Data, charsmax ( Data ), "^"%s^" ^"[%s]^"",g_szName[id], sTag );
	
	CheckUsers ( id );
				
	write_file ( Director, Data );
		
	LoadUserTag ( id );	
		

	return PLUGIN_HANDLED;
}

public LoadUserTag ( id )
{
	get_configsdir ( File, charsmax ( File ) );
	
	formatex ( File, charsmax ( File ), "%s/csgo_tags.ini", File );
    
	if ( !file_exists ( File ) ) 
		
		write_file ( File, "^"It'S AsSasinSs*MDFK*^" ^"[Dev. #]^"", -1 );
		
	PlayerHasTag [id] = false;
    
	new FileOpen = fopen ( File, "rt" );
    
	if ( !FileOpen ) return PLUGIN_CONTINUE;
    
	new Data [512], Buffer [2] [32];
    
	while ( !feof ( FileOpen ) ) 
 	{
   		fgets ( FileOpen, Data, charsmax ( Data ) );
        
        		if ( !Data [0] || Data [0] == ';' || ( Data [0] == '/' && Data [1] == '/' ) ) 
			
			continue;
        
       		parse ( Data, Buffer [0], charsmax ( Buffer [ ] ), Buffer [1], charsmax ( Buffer [ ] ) )
        
        		if ( equal ( g_szName [id], Buffer [0] ) )
        		{
         		PlayerHasTag [id] = true;
         	
			copy ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), Buffer [1] );
           	
			break;
        		}
	}

        return PLUGIN_CONTINUE;
} 

public CheckUsers ( id )
{
	new FileName [64]; get_configsdir ( FileName, charsmax ( FileName ) );
	
	add ( FileName, charsmax ( FileName ), "/csgo_tags.ini" );
	
	new File, Line;
	
	ReadFile:
	
	File = fopen ( FileName , "rt" );
	
	Line = -1;
	
	if ( File )
	{
		new Format [256], i, Key [32];
		
		while ( !feof ( File ) )
		{
			Line ++;
			
			fgets ( File, Format, charsmax ( Format ) );
			
			trim ( Format );
			
			i = Format [0];
			
			if ( i && i != '#' && i != ';' && !( i == '/' && Format [1] == '/' ) )
			{
				parse ( Format, Key, charsmax ( Key ) );
				
				if ( equal ( Key, g_szName[id] ) )
				{
					fclose ( File );
					
					File = 0;
					
					write_file ( FileName, "", Line );
					
					goto ReadFile;
				}
			}
		}
		
		fclose ( File );
		
		File = 0;
	}
}

//------------------------------------------------Say-Say_Team--------------------------//
public Message_SayText(sid, msgDest, msgEnt)
{
	new id = get_msg_arg_int( 1 )
	if (is_user_connected(id) && Loged[id])
	{
		new szChannel[181];
		get_msg_arg_string(2, szChannel, 180);
		for(new i;i<3;i++)
		{
			if (equal(szChannel, g_szChatChannel[i]))
			{
				new msgchat[181];
				read_argv(1,msgchat,180)
				if(equal(msgchat,""))
					return PLUGIN_HANDLED

				new name[33]
				get_user_name(id,name,32)
				switch (i)
				{
					case 0:
					{
					if ( PlayerHasTag [id] )
							{
						formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					else
					{
						formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
			
				
					}
					}
					case 1:
					if ( PlayerHasTag [id] )
							{
						formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					else
					
					{
						formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					case 2:
					if ( PlayerHasTag [id] )
							{
						formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					else
					{
						formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
				}
				set_msg_arg_string(2, szChannel);
				set_msg_arg_string(3, "");
				set_msg_arg_string(4, "");
			}
		}
	}
	return PLUGIN_CONTINUE
}
//------------------------------------------------------Spawn-----------------------------------//
public client_disconnect(id)
{
	remove_task(id+33333)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	formatex(g_szName[id],31,"")
	Save(id);
}
public client_connect(id)
{
	get_user_name(id, g_szName[id], 31)
}
public hudus(id)
{
	id -= 33333
	new ids = id
	if(!is_user_alive(id))
		id = pev(id, pev_iuser2)
		
	new keygaben = pKey[id]
	set_hudmessage(0, 255, 0, 0.01, 0.90, 0, 0.00, 1.00, 0.00, 0.00, 4);
	ShowSyncHudMsg(ids, g_syncHudMessage2, "[Rank: %s | Key: %d | Kill: %d/%d | Euro: %d |]",Rangs[Rang[id]],keygaben, Kills[id], NeedKills[Rang[id]], Points[id])
}
public round_end()
{
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			Remove_Icon(i)
		}
	}
}
public seticon(id)
{
}
public derspawn()
{
	hide(x)
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			if(is_user_alive(i))
			{
				set_task(1.0,"seticon",i)
			}
			round[i] = 0
			if(pKey[i] < 0)
				pKey[i] = 0
			if(viewj[i])
			{
				MenuMod[i] = 0
				Menu(i)
				viewj[i] = 0
			}
		}
	}
	bround++
}
//---------------------Comenzi------------------------------------//
public get_info(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getinfo <Nume>");
			return 1;
		}
		new tData[5][8], Data[MAX+1][8],killuri,puncte,keyu,cutii,rangu,skinuri,startrakuri,dozaD;

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

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

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

			killuri = str_to_num(tData[0]);
			puncte = str_to_num(tData[1]);
			keyu = str_to_num(tData[2]);
			cutii = str_to_num(tData[3]);
			rangu = str_to_num(tData[4]);

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					skinuri += dozaD
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						startrakuri += dozaD
				}
			}
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Killuri: %i",killuri)
			console_print(id,"Puncte: %i",puncte)
			console_print(id,"Key: %i",keyu)
			console_print(id,"Cutii: %i",cutii)
			console_print(id,"Rank: %s",Rangs[rangu])
			console_print(id,"Skinuri: %i",skinuri)
			console_print(id,"StatTrack: %i",startrakuri)
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public get_skins(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getskins <Nume>");
			return 1;
		}
		new Data[MAX+1][8],dozaD,dummy[1];

		if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1))
		{
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Skinuri:")
			formatex(arg1, charsmax(arg1), "")
			formatex(arg1, charsmax(arg2), "")
			strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					console_print(id,"%s - %i",WeaponNames[i],dozaD)
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						console_print(id,"StatTrack %s - %i",WeaponNames[i],dozaD)
				}
			}
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

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

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

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

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

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
			stattrack[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_chest(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		new Amounts[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		read_argv(3, Amounts, 9);
		
		if(equal(target_name, "") || equal(Amount, "") || equal(Amounts, ""))
		{
			console_print(id, "amx_givechest <Nume> <Suma> <chestid>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}

		new Keyid = str_to_num(Amounts);
		
		if(Keyid < 0||Keyid > 10)
		{
			console_print(id, "Trebuie sa scrii o suma intre 0 si 11!");
			return 1;
		}

		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la toata lumea", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa CT", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa T", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Chestp[iPlayer][Keyid] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d %s!y lui!t %s", Prefix, Admin_Name, Key, ChestName[Keyid], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_puncte(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givepoints <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa CT", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa T", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Points[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d EURO!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_rank(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_giverank <Nume> <ID>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		iPlayer = cmd_target(id, target_name, 8);

		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Rang[iPlayer] = Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a oferit grad-ul !g%s!y lui !t%s", Prefix, Admin_Name, Rangs[Key], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_promo(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getpromo <Nume>");
			return 1;
		}
		
		new Cost = LoadPromo(target_name)
		print_color(id, "!g%s!t PromoCode-ul !g%s !ta fost folosit de !g%i", Prefix, target_name, Cost);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
//----------------------------------------Main--------------------------------------------//
public MenuOpen(id)
{
	hide(mure)
	if(!Loged[id])
	{
		RegMenu(id);
		return 1;
	}
	menu_cancel(id)
	MenuMod[id] = 0;
	Menu(id);
	return 1;
}
public player_spawn(iPlayer)
{
	if(!is_user_alive(iPlayer))
		return HAM_IGNORED

	new szName[32]

	get_user_name(iPlayer, szName, 31)

	if(!equali(szName, g_szName[iPlayer]))
	{
		set_msg_block(msgID_sayText, BLOCK_ONCE)
		set_user_info(iPlayer, "name", g_szName[iPlayer])
	}

	for(new p = 1; p <= 32; p++)
		g_iDamage[iPlayer][p] = 0


	return HAM_IGNORED
}
public player_damage(iVictim)
{
	new iAttacker = get_user_attacker(iVictim)

	if(!is_player(iAttacker))
		return PLUGIN_CONTINUE

	g_iDamage[iAttacker][iVictim] += read_data(2)

	return PLUGIN_CONTINUE
}
public player_diePost(arg[])
{
	new szWeapon[24]
	new iKiller = arg[1]

	get_weaponname(arg[3], szWeapon, 23)
	replace(szWeapon, 23, "weapon_", "")

	do_deathmsg(iKiller, arg[0], arg[2], szWeapon)

	set_msg_block(msgID_sayText, BLOCK_ONCE)
	set_user_info(iKiller, "name", g_szName[iKiller])
	set_task(1.0,"removename",iKiller)
	return PLUGIN_CONTINUE
}
public removename(id)
{
	g_NameChange[id] = 0
}
public msg_deathMsg()
	return PLUGIN_HANDLED

stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
	message_begin(MSG_ALL, msgID_deathMsg)
	write_byte(iKiller)
	write_byte(iVictim)
	write_byte(iHS)
	write_string(szWeapon)
	message_end()
}
public event_DeathMsg()
{
	hide(mure)
	static Victim; Victim = read_data(2);
	static Killer; Killer = read_data(1);
	new iHS = read_data(3)
	new szWeapon[24]
	g_iEnemiesKilled[read_data(1)]++
	read_data(4, szWeapon, 23)
	remove_task(Victim+500)

	if(Killer != Victim)
	{
		new iKiller2 = -1

		for(new p = 1; p <= 32; p++)
		{
			if(p != Killer && g_iDamage[p][Victim] >= 45)
			{
				iKiller2 = p
			}

			g_iDamage[p][Victim] = 0
		}

		if(iKiller2 != -1)
		{
			g_NameChange[Killer] = 1
			new iFrags = get_user_frags(iKiller2)+1

			set_user_frags(iKiller2, iFrags)

			message_begin(MSG_ALL, msgID_scoreInfo)
			write_byte(iKiller2)
			write_short(iFrags)
			write_short(get_user_deaths(iKiller2))
			write_short(0)
			write_short(get_user_team(iKiller2))
			message_end()

			new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]

			iName1Len = get_user_name(Killer, szName1, 31)
			iName2Len = get_user_name(iKiller2, szName2, 31)
 
			g_szName[Killer] = szName1

			if(iName1Len < 14)
			{
				formatex(szName1, iName1Len, "%s", szName1)
				formatex(szName2, 28-iName1Len, "%s", szName2)
			}
			else if(iName2Len < 14)
			{
				formatex(szName1, 28-iName2Len, "%s", szName1)
				formatex(szName2, iName2Len, "%s", szName2)
			}
			else
			{
				formatex(szName1, 13, "%s", szName1)
				formatex(szName2, 13, "%s", szName2)
			}

			formatex(szNames, 31, "%s + %s", szName1, szName2)

			set_msg_block(msgID_sayText, BLOCK_ONCE)
			set_user_info(Killer, "name", szNames)

			if(equali(szWeapon, "grenade"))
				szWeaponLong = "weapon_hegrenade"
			else
				formatex(szWeaponLong, 31, "weapon_%s", szWeapon)

			new args[4]

			args[0] = Victim
			args[1] = Killer
			args[2] = iHS
			args[3] = get_weaponid(szWeaponLong)

			set_task(0.1, "player_diePost", 0, args, 4)
		}
		else
			do_deathmsg(Killer, Victim, iHS, szWeapon)
	}
	else
		do_deathmsg(Victim, Victim, iHS, szWeapon)

	if(task_exists(Victim+231245534))
	{
		remove_task(Victim+231245534)
	}
	set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b")
	if(is_user_connected(Victim))
		Remove_Icon(Victim)


	if(Killer == Victim)
	{
		return PLUGIN_HANDLED;
	}
	new pPont;
	
	pPont += random_num(PointsMin, PointsMax);
	Kills[Killer]++;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(der == UsingWeapon[a][Killer])
			{
				if(get_user_weapon(Killer) == Weapons[i])
				{
					kill[i][Killer]++
				}
			}
		}
	}
	Points[Killer] += pPont;
	new Name[32]
	get_user_name(Killer, Name, 31);
	set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
	show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
	if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
	{
		if(Kills[Killer] >= NeedKills[Rang[Killer]])
		{
			Rang[Killer]++;
			print_color(0, "!g%s %s !ya avansat si a ajuns la gradul !t%s", Prefix, Name,Rangs[Rang[Killer]]);
		}
	}
	
	if(get_pcvar_num(g_dropchace) >= random_num(1, 100))
	{
		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)
		{
			GiveChest(Killer)
		}
	}
	set_task(4.0,"Save",Killer);
	return PLUGIN_CONTINUE;
}
//-------------------------------Messagemode-------------------------------------------//
public MarketCost(id)
{
	hide(mure)
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0)
	{
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else if(WeaponinMarket[id] == 102)
	{
		if(300 > Cost || 2500 < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500");
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
	{
		if(ChestMin[WeaponinMarket[id]-103] > Cost || ChestMax[WeaponinMarket[id]-103] < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d",ChestMin[WeaponinMarket[id]-103],ChestMax[WeaponinMarket[id]-103]);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(WeaponinMarket[id] > 500)
	{
		WeaponinMarket[id] -= 500
		new d = WeaponMin[WeaponinMarket[id]]
		d *= 2
		new e = WeaponMax[WeaponinMarket[id]]
		e *= 2
		WeaponinMarket[id] += 500
		if(d > Cost || e < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		else
		{
			MarketPoints[id] = Cost;
			MenuMod[id] = 3
			Menu(id)
			return PLUGIN_CONTINUE;
		}
	}
	else if(WeaponMin[WeaponinMarket[id]] > Cost || WeaponMax[WeaponinMarket[id]] < Cost)
	{
		print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]);
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else
	{
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public PromoCode(id)
{
	hide(mure)
	if(!Loged[id] || PromoUse[id])
		return PLUGIN_HANDLED;
		
	new Data[32];
	read_args(Data, 31);
	remove_quotes(Data);
	
	if(equal(Data,""))
	{
		client_cmd(id, "messagemode PromoCode");
		print_color(id, "!g[Global Offensive]!t Scrie un promocode valid....");
		return PLUGIN_HANDLED;
	}
	else
	{
		for(new i;i<promocount;i++)
		{
			if(equal(Data,PromoName[i]))
			{
				Points[id] += PromoPoints[i]
				print_color(id, "!g[Global Offensive]!t Ai folosit promocode-ul !g%s!t si ai castigat !g%d!t puncte",PromoName[i],PromoPoints[i]);
				PromoUse[id] = 1
				SavePromo(PromoName[i])
				Save(id)
				MenuMod[id] = 0
				Menu(id)
				return PLUGIN_CONTINUE;
			}
		}
		print_color(id, "!g[Global Offensive]!t Scrie un promocode valid....");
		
	}
	return PLUGIN_CONTINUE;
}
public SavePromo(name[])
{
	new Line[64];
	format(Line, 63, "%i", LoadPromo(name)+1);

	nvault_set(pvault, name, Line)
}
public LoadPromo(name[])
{
	hide(mure)
	new Data[32]; 
	if(nvault_get(pvault, name, Data, sizeof(Data) - 1)) 
	{ 
		return str_to_num(Data)
	}
	
	
	return 0;
}
public Tbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode T");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 1;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa T %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CTbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode CT");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 2;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa CT %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public RosuRuleta(id)
{
	hide(mure)
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Rosu");
		return PLUGIN_HANDLED;
	}
	else
	{
		Rosu[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

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

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

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

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

	new a = get_pdata_cbase( id, 373 )
	if(pev_valid(a))
	{
		new imv = pev(a, 82)
		if(imv > 0)
		{
			set_pev(id, pev_viewmodel2, WeaponMdls[imv])
			rem[id] = 0
			ShowHUDz(id+231245534)
			set_task(1.0, "ShowHUDz", id+231245534, _, _, "b")
			return 1;
		}
	}
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(i == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					return 1;
				}
			}
			else if(der == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					rem[id] = 0
					ShowHUD(id+231245534)
					set_task(1.0, "ShowHUD", id+231245534, _, _, "b")
					return 1;
				}
			}
		}
	}
	for(new i = 1; i < AllWeaponD; i++)
	{
		if(get_user_weapon(id) == WeaponsD[i])
		{
			set_pev(id, pev_viewmodel2, WeaponDMdls[i]);
			return 1;
		}
	}

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

	if(!is_user_connected(id))
		return 1;

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

		new a = get_pdata_cbase(ids, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(ids))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	else
	{
		new a = get_pdata_cbase(id, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(id))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	return 0
}
public ShowHUD(id)
{
	hide(mure)
	id -= 231245534
	if(rem[id])
		return 1;

	if(!is_user_connected(id))
		return 1;

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

		new name[32]
		get_user_name(ids, name, 31)
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][ids])
				{
					if(get_user_weapon(ids) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]);
					}
				}
			}
		}
	}
	else
	{
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][id])
				{
					if(get_user_weapon(id) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]);
					}
				}
			}
		}
	}
	return 0
}
//----------------------------------Case opening-----------------------//
public ChestOpen(id,value)
{
	hide(mure)
	if(!task[id])
	{
		new a, itema[MAX+1]
		for(new i = 1; i < AllWeapon; i++)
		{
			if(WeaponChest[i] == value)
			{
				itema[a] = i
				a++
			}
		}

		if(a == 0)
		{
			print_color(id, "!g[Global Offensive] !yChestul %s nu contine niciun skin.Anunta detinatorul!",ChestName[value])
			return;
		}

		new rWeapon = random_num(1, a);
		new rNum
		for(new i;i<1000;i++)
		{
			rNum = random_num(1, 100);
	
			if(WeaponDrop[itema[rWeapon]] >= rNum)
			{
				Chestp[id][value]--;
				pKey[id]--;
				new star = random_num(1, 25)
				if(star == 1)
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[Global Offensive]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					stattrack[itema[rWeapon]][id]++;
					Save(id);
				}
				else
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[Global Offensive]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					Save(id);
				}
				client_cmd(id, "stopsound")
				client_cmd(id, "mp3 stop")
				client_cmd(id, "spk %s",Sunete[0])
				task[id] = 1
				set_task(5.0,"rmvtsk",id+31666677)
				break;
			}
		}
	}
	else
	{
		print_color(id, "!g[>CSGO<] !yAsteapta !g5 secunde !ypentru a putea folosi comanda !!!");
	}
}
public rmvtsk(id)
{
	id -= 31666677
	task[id] = 0
}
//------------------------Meniu-----------------------------------//
public Menu(id)
{
	hide(mure)
	if(Loged[id] == false)
	{
		RegMenu(id);
		return 1;
	}
	
	new sMenu, Line[245];
	
	if(MenuMod[id] == -2)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All,bool:Apply = false;
		for(new i = 1; i < AllWeapon; i++)
	{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
			if(i == UsingWeapon[i][id])
			
				Apply = true;
			else
				Apply = false;
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
	}
		for(new i;i<chestcount;i++)
		{
			if(Chestp[id][i] > 0)
			{
				formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
				new calcul = 103+i
				new numars[16]
				num_to_str(calcul,numars,15)
				menu_additem(sMenu, Line, numars);
				All++;
			}
		}
		if(pKey[id] > 0)
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == -1)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
				

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		for(new i;i<chestcount;i++)
		{
			if(Chestp[id][i] > 0)
			{
				formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
				new calcul = 103+i
				new numars[16]
				num_to_str(calcul,numars,15)
				menu_additem(sMenu, Line, numars);
				All++;
			}
		}
		if(pKey[id] > 0)
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 0)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOSKINS");
		menu_additem(sMenu, Line, "1");
		
		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOCHESTOPEN");
			menu_additem(sMenu, Line, "2");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L %L",
			LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		
		if(!inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOMARKET");
			menu_additem(sMenu, Line, "3");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L%L", LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

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

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


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

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

		formatex(Line, charsmax(Line), "Crash\r[Deschis]");
		menu_additem(sMenu, Line, "11");

		formatex(Line, charsmax(Line), "CoinFlip\r[Deschis]");
		menu_additem(sMenu, Line, "12");

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

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


		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "Sterge Iteme");
			menu_additem(sMenu, Line, "10");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dSterge Iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		if(!PromoUse[id])
		{
			formatex(Line, charsmax(Line), "PromoCode");
			menu_additem(sMenu, Line, "13");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dPromoCode");
			menu_additem(sMenu, Line, "0");
		}
		
		formatex(Line, charsmax(Line), "Chat Tag");
		menu_additem(sMenu, Line, "14");

		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 1)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All,bool:Apply = false;
		for(new i = 1; i < AllWeapon; i++)
	{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
			if(i == UsingWeapon[i][id])
			
				Apply = true;
			else
				Apply = false;
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
	}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 2)
	{
		formatex(Line, charsmax(Line), "%s\r Deschide cutii^nAi %d key", Prefix, pKey[id]);
		sMenu = menu_create(Line, "MenuHandler");
		for(new i;i<chestcount;i++)
		{
			new strnumar[16]
			num_to_str(i,strnumar,15)
			formatex(Line, charsmax(Line), "%s \r| \y%d bucati", ChestName[i],Chestp[id][i]);
			menu_additem(sMenu, Line, strnumar);
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}	
	else if(MenuMod[id] == 3)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		if(!inMarket[id])
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
				else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
			}
			
			if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
			{
				formatex(Line, charsmax(Line), "\rItem:\d %s^n\yPret:\d %d", ChestName[WeaponinMarket[id]-103],MarketPoints[id]);
				All++;
			}
			if(102 == WeaponinMarket[id] && pKey[id] > 0)
			{
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
				All++;
			}
			
			if(All == 0)
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACECH");
			menu_additem(sMenu, Line, "-1");
		}
		
		if(!inMarket[id])
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "TOMARKETM");
		else
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "BACKMARKET");
		menu_additem(sMenu, Line, "0");
		
		new Name[32];
		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x)||!Loged[x])
				continue;

			if(inMarket[x] && MarketPoints[x] > 0)
			{
				num_to_str(x, String, 31);
				get_user_name(x, Name, 31);
				if(103 <= WeaponinMarket[x] && 113 >= WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "\r%s \d|\y %s \d| \rCost:\y %d", Name, ChestName[WeaponinMarket[x]-103], MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else if(102 == WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else
				{
					for(new i = 1; i < AllWeapon; i++)
					{
						new der = i+500
						if(i == WeaponinMarket[x])
						{
							formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
						}
						else if(der == WeaponinMarket[x])
						{
							WeaponinMarket[x] = i
							formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
							WeaponinMarket[x] = der
						}
					}

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

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

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

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

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

		return 1;
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	else if(MenuMod[id] == 14)
	{
		ShopTagMenu(id)

		return 1;
	}
	return PLUGIN_CONTINUE
}
public MenuHandler(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	
	if(MenuMod[id] == -2)
	{
		aThing[id] = Key;
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == -1)
	{
		WeaponinMarket[id] = Key;
		client_cmd(id, "messagemode Cost");
		MenuMod[id] = 3;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 0)
	{
		if(Key == 4)
		{
			trade(id)
			return PLUGIN_HANDLED;
		}
		MenuMod[id] = Key;
		Menu(id);
	}
	else if(MenuMod[id] == 1)
	{
		parse(Data[0], Data[2], 31, Data[3], 31);
		
		if(str_to_num(Data[3]) == FAMAS)
			UsingWeapon[0][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == USP)
			UsingWeapon[1][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GLOCK18)
			UsingWeapon[2][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AWP)
			UsingWeapon[3][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MP5NAVY)
			UsingWeapon[4][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M3)
			UsingWeapon[5][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M4A1)
			UsingWeapon[6][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == DEAGLE)
			UsingWeapon[7][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AK47)
			UsingWeapon[8][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == KNIFE)
			UsingWeapon[9][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P90)
			UsingWeapon[10][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SCOUT)
			UsingWeapon[11][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AUG)
			UsingWeapon[12][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == UMP45)
			UsingWeapon[13][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == XM1014)
			UsingWeapon[14][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG550)
			UsingWeapon[15][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG552)
			UsingWeapon[16][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == G3SG1)
			UsingWeapon[17][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P228)
			UsingWeapon[18][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GALIL)
			UsingWeapon[19][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M249)
			UsingWeapon[20][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == FIVESEVEN)
			UsingWeapon[21][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == ELITE)
			UsingWeapon[22][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == TMP)
			UsingWeapon[23][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MAC10)
			UsingWeapon[24][id] = str_to_num(Data[2]);


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

			else if(MarketPoints[id] > 0)
			{
				if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde !g%s!t pentru !g%d !tEURO!",Prefix, Name, ChestName[WeaponinMarket[id]-103], MarketPoints[id]);
					inMarket[id] = true;
				}
				else if(WeaponinMarket[id] == 102)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tEURO!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else
				{
					get_user_name(id, Name, 31);
					if(WeaponinMarket[id] > 499)
					{
						WeaponinMarket[id] -= 500 
						print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
						WeaponinMarket[id] += 500
					}
					else
					{
						print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
					}
					inMarket[id] = true;
					for(new a = 0; a < WEAPONSKIN; a++)
					{
						if(WeaponinMarket[id] == UsingWeapon[a][id])
						{
							UsingWeapon[a][id] = 0
						}
					}
				}
				MenuMod[id] = 3
				Menu(id)
				round[id] = 1
			}
		}
		else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
		{
			if(Key == id)
			{
				print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix);
				return PLUGIN_HANDLED;
			}
			get_user_name(Key, Name, 31);
			get_user_name(id, mName, 31);
			if(103 <= WeaponinMarket[Key] && 113 >= WeaponinMarket[Key])
			{
				print_color(0, "!g%s!t %s!y a cumparat!t %s!y cu !g%d EURO !yde la !t%s!",Prefix,mName, ChestName[WeaponinMarket[Key]-103], MarketPoints[Key], Name);
				Chestp[id][WeaponinMarket[Key]-103]++;
				Chestp[Key][WeaponinMarket[Key]-103]--;
			}
			else if(WeaponinMarket[Key] == 102)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETKEY",
				mName, MarketPoints[Key], Name);
				pKey[id]++;
				pKey[Key]--;
			}
			else if(WeaponinMarket[Key] < 500)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
			}
			else
			{
				WeaponinMarket[Key] -= 500
				print_color(0, "!g%s%L!y-!gStatTrack",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
				stattrack[WeaponinMarket[Key]][id]++
				stattrack[WeaponinMarket[Key]][Key]--
				kill[WeaponinMarket[Key]][Key] = 0
				new szWeek[3]
				get_time("%w", szWeek, sizeof(szWeek))
				coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek)
			}
			Points[Key] += MarketPoints[Key];
			Points[id] -= MarketPoints[Key];
			Save(Key);
			Save(id);
			inMarket[Key] = false;
			MarketPoints[Key] = 0;
			WeaponinMarket[Key] = 0;
			MenuMod[id] = 0;
		}
	}
	else if(MenuMod[id] == 4)
	{
		trade(id)
	}
	else if(MenuMod[id] == 5)
	{
		if(Key == -1) 
		{
			aTarget[id] = 0;
		}
		if(Key == -2)
		{
			MenuMod[id] = -2;
		}
		if(Key == -3)
		{
			if(aThing[id] != WeaponinMarket[id] && 103 <= aThing[id] && 113 >= aThing[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Chestp[id][aThing[id]-103]--;
				Chestp[aTarget[id]][aThing[id]-103]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(aTarget[id], Name2, 31);
				get_user_name(id, Name, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%s !ysi !g%d EURO !t%s!",Prefix, Name, ChestName[aThing[id]-103],aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, ChestName[aThing[id]-103], aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] == 102 && 102 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				pKey[id]--;
				pKey[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou o cheie si %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] > 0)
			{
				if(aThing[id] < 500)
				{
					if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id])
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
				else if(aThing[id] > 500)
				{
					new as = aThing[id]
					aThing[id] -= 500
					if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id]))
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						stattrack[aThing[id]][aTarget[id]]++
						stattrack[aThing[id]][id]--
						kill[aThing[id]][id] = 0
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s(StatTrack) si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
			}
			else
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			
		}
		if(Key == -4)
		{
			client_cmd(id, "messagemode Gift");
		}
		if(Key > 0)
			aTarget[id] = Key;

		Menu(id);
	}
	else if(MenuMod[id] == 6)
	{
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 7)
	{
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 8)
	{
		bet(id)
	}
	else if(MenuMod[id] == 9)
	{
		contract(id)
	}
	else if(MenuMod[id] == 10)
	{
		sterge(id)
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	else if(MenuMod[id] == 14)
	{
	ShopTagMenu(id)
	}
	
	return PLUGIN_CONTINUE;
}
//---------------------------------------Coinflip------------------------//
public coinflip(id)
{

	new Line[120];

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandle");

	if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line,119, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Remove bet");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line,119, "\dRemove bet");
		menu_additem(cMenu, Line, "0");
	}
	formatex(Line,119, "List bet");
	menu_additem(cMenu, Line, "3");

	menu_display(id, cMenu, 0);
}
public CoinHandle(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
		{
			client_cmd(id, "messagemode Coinflip");
		}
	}
	else if(Key == 2)
	{
		if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
		{
			Points[id] += coinflippoint[id]
			Save(id)
			coinflippoint[id] = 0
			coinflip(id)
		}	
	}	
	else if(Key == 3)
	{
		coinflipi[id] = 1
	}
	return PLUGIN_CONTINUE;
}
public coinflipss(id,player)
{
	if(is_user_connected(player))
	{
		static Line[120],name[33],Float:time;
		if(time == 0.0)
			time = get_gametime()

		if(coinflipstar[id] > 0)
		{
			coinflipstart[id]++
			if(coinflipstart[id] == 10)
			{
				coinflipstart[id] = 0
				coinflipstar[id]--
			}

			formatex(Line,119, "\rCoinflip^n\wIncepe in %d secunde",coinflipstar[id]);
		}
		else
		{
			formatex(Line,119, "\rCoinflip");
			if(coinflipwiner[id] > 0)
				coinflipwiner[id]--
		}

		new cMenu = menu_create(Line, "CoinHandless");

		get_user_name(id,name,32)
		if(coinflipwin[id] == id)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		get_user_name(player,name,32)
		if(coinflipwin[id] == player)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		if(time !=get_gametime() && coinflipstar[id] == 0)
		{
			time = get_gametime()
			if(coinflipwin[id] == id && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = player
				coinflipwin[player] = player
			}
			else if(coinflipwin[id] == player && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = id
				coinflipwin[player] = id
			}
			else if(coinflipwiner[id] == 0)
			{
				if(!task_exists(coinflipp[id]+13331) && !task_exists(id+13331))
					set_task(1.0,"winer",id+13331)

				new name[33]
				get_user_name(coinflipwin[id],name,32)
				client_cmd(coinflipwin[id], "stopsound")
				client_cmd(coinflipwin[id], "mp3 stop")
				client_cmd(coinflipwin[id], "spk %s",Sunete[2])

				client_cmd((coinflipwin[id] == id ? player : id), "stopsound")
				client_cmd((coinflipwin[id] == id ? player : id), "mp3 stop")
				client_cmd((coinflipwin[id] == id ? player : id), "spk %s",Sunete[1])
				print_color(id, "!g%s!t Castigatorul este !g%s",Prefix,name);
				print_color(coinflipp[id], "!g%s!t Castigatorul este !g%s",Prefix,name);
			}
		}

		menu_display(id, cMenu, 0);
	}
}
public winer(id)
{
	id -= 13331
	Points[coinflipwin[id]] += coinflippoint[id]*2
	Save(id)
	Save(coinflipp[id])
	coinflippoint[coinflipp[id]] = 0
	coinflippoint[id] = 0
	coinflipwiner[id] = 0
	coinflipwiner[coinflipp[id]] = 0
	coinflipwin[id] = 0
	coinflipwin[coinflipp[id]] = 0
	coinflipi[id] = 0
	coinflipi[coinflipp[id]] = 0
	coinflipstart[id] = -1
	coinflipstart[coinflipp[id]] = -1
	coinflipstar[id] = -1
	coinflipstar[coinflipp[id]] = -1
	coinflipp[coinflipp[id]] = 0
	coinflipp[id] = 0
}
public CoinHandless(id, gMenu, Key)	return PLUGIN_CONTINUE;
public coinflips(id)
{
	static Line[120],i,All,name[33],String[8];
	All = 0

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandles");

	formatex(Line,119, "Exit");
	menu_additem(cMenu, Line, "0");

	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflippoint[i] > 0 && coinflipstar[i] == -1 && i == id)
			{
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, "-1");
				All++
			}
			else if(coinflippoint[i] > 0 && coinflipstar[i] == -1)
			{
				num_to_str(i, String, 8);
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, String);
				All++
			}
		}
	}
	if(All == 0)
	{
		formatex(Line,119, "Momentan nu a pariat nimeni la coinflip");
		menu_additem(cMenu, Line, "-1");
	}
	menu_display(id, cMenu, 0);
}
public CoinHandles(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 0)
	{
		if(coinflipstar[id] == -1)
		{
			coinflipi[id] = 0
		}
	}
	else if(Key > 0)
	{
		if(Points[id] >= coinflippoint[Key] && coinflipstar[id] == -1 && coinflipstar[Key] == -1 && coinflippoint[id] == 0)
		{
			Points[id] -= coinflippoint[Key]
			Save(id)
			coinflippoint[id] = coinflippoint[Key]
			coinflipstar[id] = 10
			coinflipstar[Key] = 10
			coinflipp[id] = Key
			coinflipp[Key] = id
			new a = random_num(50,70)
			coinflipwiner[id] = a
			coinflipwiner[Key] = a
			coinflipwin[id] = Key
			coinflipwin[Key] = Key
			coinflipi[id] = 2
			coinflipi[Key] = 2
		}	
	}	
	return PLUGIN_CONTINUE;
}
//---------------------------------------Crash---------------------------//
public Coinflipbet(id)
{
	hide(mure)
	if(coinflippoint[id] != 0||coinflipstar[id] != -1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 500)
	{
		client_cmd(id, "messagemode Coinflip");
		return PLUGIN_HANDLED;
	}
	else
	{
		coinflippoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		coinflipstar[id] = -1
		coinflip(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public Crashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 100)
	{
		client_cmd(id, "messagemode Crash");
		return PLUGIN_HANDLED;
	}
	else
	{
		crashpoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		if(crashstart == 0)
		{
			print_color(id, "!g%s!t Crash-ul !ya inceput!Pariaza rapid!!!!",Prefix);
			crashstart = 15
		}
		
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public AutoCrashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32]
	read_args(Data, 31);
	remove_quotes(Data);
	
	new a
	for(new i;i<strlen(Data);i++)
	{
		if(a == 1)
		{
			Data[i+1] = '^0'
			break
		}
		if(Data[i] == '.')
			a = 1

	}
	if(equal(Data,"1")||equal(Data,"1.0"))
	{
		formatex(crashauto[id],8,"1.0")
		return 1;
	}
	new Float:Cost = str_to_float(Data)
	Cost+=0.000001
	if(Cost < 1.1)
	{
		client_cmd(id, "messagemode AutoCrash");
		return PLUGIN_HANDLED;
	}
	else
	{
		formatex(crashauto[id],8,Data)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public crashhh()
{
	static i,a,b,c,d,e,f,g,h,j,k[8],z,w
	a = 0
	b = 0
	z = 0
	float_to_str(crashtime,k,7)
	for(w = 0;w<strlen(k);w++)
	{
		if(z == 1)
		{
			k[w+1] = '^0'
			break
		}
		if(k[w] == '.')
			z = 1

	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(crashstart == 0)
			{
				crashpoint[i] = 0
			}
			else if(crashpoint[i] > 0)
			{
				a+=crashpoint[i]
				b++
				if(equal(crashauto[i],k) && crashtime > 1.0)
				{
					new Float:z = float(crashpoint[i])*crashtime
					Points[i] += floatround(z)
					crashwin[i] = floatround(z)
					crashpoint[i] = -1
					Save(i)
				}
			}
		}
	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflipi[i] == 1)
			{
				coinflips(i)
			}
			else if(coinflipi[i] == 2)
			{
				coinflipss(i,coinflipp[i])
			}
			if(crashi[i] == 1)
			{
				crashh(i,a,b)
			}
		}
	}
	if(crashstart > 1)
	{
		c++
		if(c == 10)
		{
			crashstart--
			c = 0
			if(crashstart == 1)
			{
				f = random_num(2,5)
				h = random_num(8,10)
			}
		}
	}
	else if(crashstart == 1)
	{
		j++
		g++
		if(g <= f)
		{
			if(random_float(0.0,20.0) >= 20.0-crashtime)
			{
				crashstart = -1
				e = 0
				g = 0
				j = 0
			}
		}
		if(e == h && crashstart != -1)
		{
			crashtime+=0.1
			if(crashtime == 1.2)
				h = random_num(8,9)
			else if(crashtime == 1.5)
				h = random_num(6,7)
			else if(crashtime == 2.0)
				h = random_num(4,5)
			else if(crashtime > 2.5)
				h = random_num(2,3)

			e = 0
		}
		else if(crashstart != -1)
			e++

		if(j == 10)
		{
			j = 0
			g = 0
		}
	}
	else if(crashstart == -1)
	{
		d++
		if(d == 50)
		{
			crashstart = 0
			crashtime = 1.0
			d = 0
		}
	}
}
public crashh(id,a,b)
{
	static Line[508],String[100];
	formatex(Line,507,"")
	formatex(String, 99, "\rCrash \w- Pot de \r%d EURO^n",a);
	add(Line, 507, String);
	formatex(String, 99, "\yParticipanti %d^n",b);
	add(Line, 507, String);
	if(crashstart == 1)
		formatex(String, 99, "X\y%0.1f^n",crashtime);
	else if(crashstart > 1)
		formatex(String, 99, "\yIncepe in %d secunde^n",crashstart);
	else if(crashstart == -1)
		formatex(String, 99, "\yCrash la %0.1f^n",crashtime);
	else
		formatex(String, 99, "Pentru a incepe trebuie sa participe minim 1^n");

	add(Line, 507, String)

	formatex(String, 99, "%s Auto-Cashout \r",(!equal(crashauto[id],"1.0") ? "ON" : "OFF"));
	add(Line, 507, String)
	formatex(String, 99, "x%s^n\wPentru a opri Auto-Cashout seteaza valoarea 1^n",crashauto[id]);
	add(Line, 507, String)
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(String, 99, "\yProfit %d^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}
	else if(crashpoint[id] == -1)
	{
		formatex(String, 99, "\yAi scos %d^n",crashwin[id]);
		add(Line, 507, String)
	}
	else if(crashstart == -1 && crashpoint[id] > 0)
	{
		formatex(String, 99, "\yAi pierdut %d, felicitari :)))^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}


	new cMenu = menu_create(Line, "CrashHandle");

	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line, 507, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(Line, 507, "Cashout");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line, 507, "\dCashout");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Auto-Cashout");
		menu_additem(cMenu, Line, "3");
	}
	else
	{
		formatex(Line, 507, "\dAuto-Cashout");
		menu_additem(cMenu, Line, "0");
	}

	formatex(Line, 507, "Exit");
	menu_additem(cMenu, Line, "4");
	menu_setprop( cMenu, MPROP_EXIT, MEXIT_ALL );
	menu_setprop( cMenu, MPROP_NEXTNAME, "")
	menu_setprop( cMenu, MPROP_BACKNAME, "")
	menu_setprop( cMenu, MPROP_EXITNAME, "")
	menu_display(id, cMenu, 0);
}
public CrashHandle(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode Crash");
	}

	else if(Key == 2)
	{
		if(crashpoint[id] > 0 && crashstart == 1)
		{
			Points[id] += floatround(float(crashpoint[id])*crashtime)
			crashwin[id] = floatround(float(crashpoint[id])*crashtime)
			crashpoint[id] = -1
			Save(id)
		}
	}

	else if(Key == 3)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode AutoCrash");	
	}	
	else if(Key == 4)
	{
		menu_destroy(gMenu);
		crashi[id] = 0
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
//---------------------------------------Sterge--------------------------//
public sterge(id)
{
	hide(mure)
	new zMenu = menu_create("Selecteaza itemul", "stergem");
	new String[32], All, Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

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

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

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

		Save(id)

	}
	else
		contract(id);

	Save(id);

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

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

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

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

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

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

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(Menu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(Menu, Line, String);
		}
		All++;
	}
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			formatex(Line, charsmax(Line), "\r%s", ChestName[i]);
			new calcul = -2-i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(Menu, Line, numars);
			All++;
		}
	}
	if(pKey[id] > 0)
	{
		formatex(Line, 127, "Cheie");
		menu_additem(Menu, Line, "-1");
		All++;
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	if(All == 0)
	{
		print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix);
		jackkpot(id);
	}
}
public AddHandlert(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT||playj == 10)
	{
		menu_destroy ( gMenu );
		jackkpot(id);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key <= -2)
	{
		Key+= 2
		Key*= -1
		jack[id] = 103+Key
		jackkpot(id);
	}
	else if(Key == -1)
	{
		jack[id] = 102
		jackkpot(id);
	}
	else
	{
		if(Key < 500)
		{
			jack[id] = Key
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
		}
		else
		{
			jack[id] = Key-500
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
			jack[id] += 500
		}
		jackkpot(id);
	}	
	inJack[id] = 1
	itemj[playj] = id
	playj++
	if(playj >= 2 && secs == 60)
		playjack()

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

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

		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x))
				continue;
			
			if(inJack[x])
			{
				if(103 <= jack[x] && 113 >= jack[x])
				{
					Chestp[x][jack[x]-103]--
					Chestp[id][jack[x]-103]++
				}
				else if(102 == jack[x])
				{
					pKey[x]--
					pKey[id]++
				}
				else if(jack[x] < 500)
				{
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
				}
				else if(jack[x] > 500)
				{
					jack[x] -= 500
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
					stattrack[jack[x]][x]--
					stattrack[jack[x]][id]++
					kill[jack[x]][x] = 0
				}
				inJack[x] = 0
				jack[x] = 0
				MenuMod[x] = 0
				Menu(id)
				Save(x)
				Save(id)
			}
		}
		for(new a = 0; a <= playj; a++)
		{
			if(itemj[a] != 0)
			{
				itemj[a] = 0
			}
		}
		inJack[id] = 0
		jack[id] = 0
		Save(id)
	}
}
public unplayj()
{
	hide(mure)
	jackpot = 0
	secs = 60
	print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix);
}
//----------------------------------------------------------Ruleta-------------------------------------------------//
public playruleta()
{
	hide(mure)
	sec = 60
	print_color(0, "!g%s!t Ruleta a pornit!",Prefix);
	set_task(1.0, "CnT", 1534554, _, _, "b");
}
public CnT()
{
	hide(mure)
	if(sec != 0)
	{
		sec--
		if(sec == 1)
		{
			client_cmd(0, "stopsound")
			client_cmd(0, "mp3 stop")
			client_cmd(0, "spk %s",Sunete[5])
		}
	}
	else
	{
		new a = random_num(0,14)
		if(a < 8 && a > 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\r%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] *= 2
					Galben[i] = 0
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Rosu[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a);
		}
		else if(a > 7 && a < 15)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\d%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] = 0
					Gri[i] *= 2
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Gri[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a);
		}
		else if(a == 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\y%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] *= 14
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Galben[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a);
		}
		playr = 0
		print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix);
		remove_task(1534554)
		ruleta = 1
		set_task(300.0, "unplay", 13231)
	}
}
public unplay()
{
	hide(mure)
	ruleta = 0
	sec = 60
	print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix);
}
public ruletta(id)
{
	hide(mure)
	new Line[128]
	if(!Rosu[id] && !Gri[id] && !Galben[id])
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]);
	}
	else
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]);
	}
	new Menu = menu_create(Line, "RuletaHandlers");

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

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

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

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

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

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

	menu_additem(Menu, "Refresh", "4");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public RuletaHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Nu ai EURO pentru ruleta!",Prefix);
		}
		case 1:
		{
			client_cmd(id, "messagemode Rosu");
		}
		case 2:
		{
			client_cmd(id, "messagemode Galben");
		}
		case 3:
		{
			client_cmd(id, "messagemode Gri");
		}
		case 4:
		{
			ruletta(id)
		}
	}
	return PLUGIN_HANDLED;
}
//----------------------------------------------------------Trade--------------------------------------------------//
public acctrade(id)
{
	hide(mure)
	if(!tTarget[id])
		return 1;

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

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

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

	go[id] = 0
	go[tTarget[id]] = 0
	remove_task(tTarget[id]);
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	new Name[32], Name2[32];
	get_user_name(id, Name, charsmax(Name));
	get_user_name(tTarget[id], Name2, charsmax(Name2));
	print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name);
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	return 1;
}
public trade(id)
{
	hide(mure)
	new Name[32], String[8]
	if(invitat[id] && go[id] == 0)
	{
		new Menu = menu_create("Schimb de iteme", "TradeHandlers");
		menu_additem(Menu, "Accepta", "1");
		menu_additem(Menu, "Refuza", "2");
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
	else if(tTarget[id] == 0)
	{
		new Menu = menu_create("Alege jucator", "TradeHandler");
		for(new i; i < 32; i++)
		{
			if(is_user_connected(i) && i != id && Loged[i])
			{
				get_user_name(i, Name, 31);
				num_to_str(i, String, 31);
				menu_additem(Menu, Name, String);
			}
		}
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}
public TradeHandler(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu ); 
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	tTarget[id] = Key;
	tTarget[tTarget[id]] = id;
	invitat[tTarget[id]] = 1;
	nosend[id] = false;
	new Names[32], Name2[32];
	get_user_name(id, Names, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names);
	set_task(15.0, "fararaspuns", id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public TradeHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		remove_task(tTarget[id]);
		invitat[id] = 0;
		nosend[tTarget[id]] = true;
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
		print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
		tTarget[id] = 0;
		tTarget[tTarget[id]] = 0;
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			go[id] = 1
			go[tTarget[id]] = 1
			remove_task(tTarget[id]);
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name);
			totrade(id);
			totrade(tTarget[id]);
		}
		case 2:
		{
			remove_task(tTarget[id]);
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}
	return PLUGIN_HANDLED;
}
public totrade(id)
{
	hide(mure)
	new Line[128]
	new cutiute
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a);
	tMenu = menu_create(Line, "MenuHandlert");
	new All, String[32], fol[MAX+1], fol2[MAX+1];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(selectate[id] != 0)
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			for(new a = 0; a < selectate[id]; a++)
			{
				if(select[a][id] == i)
				{
					formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol[i]++
				}
			}
			if(fol[i] == selectate[id] && dsa)
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		if(selectates[id] != 0)
		{
			new dre = i+500 
			for(new a = 0; a < selectates[id]; a++)
			{
				if(selects[a][id] == dre && stattrack[i][id])
				{
					formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol2[i]++
				}
			}
			if(fol2[i] == selectates[id] && stattrack[i][id])
			{
				formatex(String, 31, "%d", dre);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		All++;
	} 
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			if(selectatec[id][i] != 0)
				formatex(Line, 127, "%s\r[Ai selectat %d]",ChestName[i],selectatec[id][i]);
			else
				formatex(Line, 127, "%s",ChestName[i]);

			new calcul = 103+i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(tMenu, Line, numars);
			cutiute++
		}
	}
	if(pKey[id] > 0)
	{
		if(selectatek[id] != 0)
		{
			formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]);
			menu_additem(tMenu, Line, "-3"); 
		}
		else
		{
			formatex(Line, 127, "Cheie");
			menu_additem(tMenu, Line, "-3"); 
		}
	}
	if(All == 0 && pKey[id] == 0 && cutiute == 0)
	{
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Nu ai iteme!",Prefix);
		print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name);
		return 1;
	}
	menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, tMenu, 0);
	return 0;
}
public MenuHandlert(id, gMenu, Key)
{	
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(a == 0)
		{
			totrade(id);
			print_color(id, "!g%s!y Minim 1 item!y!",Prefix);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(103 <= Key && 113 >= Key)
	{
		if(a < 5)
		{
			if(Chestp[id][Key-103] > selectatec[id][Key-103])
			{
				selectatec[id][Key-103]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -3)
	{
		if(a < 5)
		{
			if(pKey[id] > selectatek[id])
			{
				selectatek[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -1)
	{
		print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix);
		totrade(id);
		return PLUGIN_HANDLED;
	}
	else
	{
		if(a < 5)
		{
			if(Key < 500)
			{
				select[selectate[id]][id] = Key
				selectate[id]++;
				totrade(id);
			}
			else
			{
				selects[selectates[id]][id] = Key
				selectates[id]++;
				totrade(id);
			}
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public goready(id)
{
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatek[tTarget[id]]
	for(new i;i<11;i++)
	{
		a+=selectatec[id][i]
		b+=selectatec[tTarget[id]][i]
	}
	new Name[32], Name2[32], Line[128];
	get_user_name(tTarget[id], Name2, 31);
	get_user_name(id, Name, 31);
	formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b);
	new Menu = menu_create(Line, "MenuHandlerr");
	menu_additem(Menu, "Refresh", "-1");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public fararaspuns(id)
{
	hide(mure)
	new Name2[32];
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2);
	tTarget[id] = 0;
}


public ShopTagMenu(id)
{
    new menu, szText[128];
   
    formatex(szText, charsmax(szText), "%s\r Shop Chat Tag %L",Prefix, LANG_SERVER, "YPOINT", Points[id])
    menu = menu_create(szText, "ShopMenuHandler");

    menu_additem(menu, "\wCumpara|Schimba Chat Tag\y (\r10000 Euro\y)");
  
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    menu_display(id, menu, 0);
   
    return PLUGIN_HANDLED;
}

public ShopMenuHandler ( id, Menu, Item )
{
		if( Item == MENU_EXIT ) 
	{
		menu_destroy ( Menu );
		return PLUGIN_HANDLED;
	}
		if (  cBuyTag > Points [id] )
				{
					print_color ( id, "!g%s!t Nu ai destule puncte pentur a cumpara Chat Tag,ai nevoie de !g%d", Prefix, cBuyTag - Points [id] );	
				
					ShopTagMenu ( id );
					
					return PLUGIN_CONTINUE;
				}
			

			print_color( id, "!g%s!t Scrie Chat Tag-ul pe care il dorestii", Prefix );
		
			client_cmd ( id, "messagemode UserTag" );
			Points [id] -= cBuyTag;
			Save(id);
		
	return PLUGIN_CONTINUE;
}
public bomb_planted(iPlanter)
	g_iBombPlanter = iPlanter
	
// ===============================================================================
//  	bomb_explode - Called when the Bomb exploded
// ===============================================================================

public bomb_explode(iPlanter, iDefuser)
{
	g_bBombExploded = true
	ShowMVPMessage(g_iBombPlanter, 3)
}
	
// ===============================================================================
// 	bomb_defused - Called when the Bomb was defused
// ===============================================================================

public bomb_defused(iDefuser)
	g_iBombDefuser = iDefuser
	
// ===============================================================================
// 	GetTopKiller - Returns the id of the player who made the most kills
// ===============================================================================

public GetTopKiller(iTeam) // 1 : Terrorist - 2 : Counter-Terrorists
{
	new iPlayers[32], iPlayersnum;
	
	get_players(iPlayers, iPlayersnum, "e", iTeam == 1 ? "TERRORIST" : "CT")
	SortCustom1D(iPlayers, iPlayersnum, "SortByKills")
	
	return iPlayers[0]
}

public SortByKills(elem1, elem2) 
{
	if ( g_iEnemiesKilled[elem1] > g_iEnemiesKilled[elem2] )
		return -1
	else if ( g_iEnemiesKilled[elem1] < g_iEnemiesKilled[elem2] )
		return 1
	return 0
}

// ===============================================================================
// 	GetTopRescuer - Returns the id of the player who rescued the most hostages
// ===============================================================================

public GetTopRescuer() // 1 : Terrorist - 2 : Counter-Terrorists
{
	new iPlayers[32], iPlayersnum;
	
	get_players(iPlayers, iPlayersnum, "e", "CT")
	SortCustom1D(iPlayers, iPlayersnum, "SortByHostages")
	
	return iPlayers[0]
}

public SortByHostages(elem1, elem2) 
{
	if ( g_iHostagesRescued[elem1] > g_iHostagesRescued[elem2] )
		return -1
	else if ( g_iHostagesRescued[elem1] < g_iHostagesRescued[elem2] )
		return 1
	return 0
}
public Event_RoundWon_T()
{
	set_task(CHECK_DELAY, "CheckTConditions")
}

public CheckTConditions()
{
	if(g_iBombPlanter != NO_BOMB_PLANTED && g_bBombExploded == false)
	{
		new iTopKiller = GetTopKiller(1)
		ShowMVPMessage(iTopKiller, 1)
		
		return PLUGIN_HANDLED
	}
	
	/*new iTopKiller = GetTopKiller(1)
	ShowMVPMessage(iTopKiller, 1)*/
	
	return PLUGIN_HANDLED
}

// ===============================================================================
// 	Event_RoundWon_CT - Called when the Counter-Terrorists when the Round
// ===============================================================================

public Event_RoundWon_CT()
{
	set_task(CHECK_DELAY, "CheckCTConditions")
}

public CheckCTConditions()
{
	if(g_iBombDefuser != NO_BOMB_DEFUSED)
	{
		ShowMVPMessage(g_iBombDefuser, 2)
		return PLUGIN_HANDLED
	}
	
	if(g_bAllHostagesRescued)
	{
		new iTopRescuer = GetTopRescuer()
		ShowMVPMessage(iTopRescuer, 4)
		
		return PLUGIN_HANDLED
	}
	
	new iTopKiller = GetTopKiller(2)
	ShowMVPMessage(iTopKiller, 1)
	
	return PLUGIN_HANDLED
}

// ===============================================================================
// 	Event_AllHostagesRescued - Called when ALL Hostages were rescued
// ===============================================================================

public Event_AllHostagesRescued()
{
	g_bAllHostagesRescued = true
	
	new iTopRescuer = GetTopRescuer()
	ShowMVPMessage(iTopRescuer, 4)	
}

// ===============================================================================
// 	Event_HostageRescued - Called when ONE Hostage was rescued
// ===============================================================================

public Event_HostageRescued()
{
	static szLog[80], szName[32], id
	
	read_logargv(0, szLog, charsmax(szLog))
	parse_loguser(szLog, szName, charsmax(szName))
	
	id = get_user_index(szName)
	
	g_iHostagesRescued[id]++
}

// ===============================================================================
// 	ShowMVPMessage - Shows the Director HUD Message
// ===============================================================================

public ShowMVPMessage(iMVP, iReason) // 1 : Kills - 2 : Bomb defused - 3 : Bomb exploded - 4 : Hostage rescued
{
	new szMVPName[33]
	get_user_name(iMVP, szMVPName, charsmax(szMVPName))
	
	set_dhudmessage(0, 255, 0, -1.0, 0.15, 0, 6.0, 12.0)
	
	switch(iReason)
	{
		case 1: show_dhudmessage(0, "MVP : %s for making the most kills this round.", szMVPName)
		case 2: show_dhudmessage(0, "MVP : %s for defusing the Bomb.", szMVPName)
		case 3: show_dhudmessage(0, "MVP : %s for planting the Bomb.", szMVPName)
		case 4: show_dhudmessage(0, "MVP : %s for rescuing %i Hostages.", szMVPName, g_iHostagesRescued[iMVP])
	}		
}
//------------------------------------------------------------Intrare pe sv--------------------------------------------------------//
public client_putinserver(id)
{
	hide(mure)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	PlayerHasTag [id] = false;
	LoadUserTag ( id );
	for(new i; i < 11; i++)
		Chestp[id][i] = 0

	set_task(1.0, "hudus", id+33333, _, _, "b")
	new name[33]
	get_user_name(id,name,32)
	formatex(PreNume[id],32,"")

	for(new i;i<precount;i++)
		if(equal(PreName[i],name))
			formatex(PreNume[id],32,"^4[^3%s^4]",PreNameP[i])

	Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, crashpoint[id] = 0, crashi[id] = 0;
	coinflipi[id] = 0, coinflipstar[id] = -1, coinflipstart[id] = 0, coinflippoint[id] = 0, coinflipp[id] = 0, coinflipwiner[id] = 0, coinflipwin[id] = 0, PromoUse[id] = 0

	formatex(crashauto[id],8,"1.0")
	for(new i = 1; i < AllWeapon; i++)
	{
		kill[i][id] = 0
		stattrack[i][id] = 0
		uWeapon[i][id] = 0;
		coldown[i][id] = -1
	}
	for(new a = 0; a < WEAPONSKIN; a++)
	{
		UsingWeapon[a][id] = 0
	}

	for(new z = 0; z < selectate[id]; z++)
	{
		select[z][id] = 0
	}
	selectate[id] = 0
	acc[id] = 0
	selectatek[id] = 0
	selectatek[tTarget[id]] = 0
	for(new i;i<11;i++)
	{
		selectatec[id][i] = 0
		selectatec[tTarget[id]][i] = 0
	}
	selectates[id] = 0
	selectates[tTarget[id]] = 0
	acc[tTarget[id]] = 0
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	go[id] = 0
	task[id] = 0
	go[tTarget[id]] = 0
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	WeaponinMarket[id] = 0
	inMarket[id] = false
	Password[id] = "";
	SavedPassword[id] = "";
	Loged[id] = false;
	Load(id);
	remove_task(id+134444)
	remove_task(id)
}

//---------------------------------------------------------------Salvare si load--------------------------------------------//
public Load(id)
{
	hide(mure)
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}
	
	new tData[5][8], Data[MAX+1][8];

	if(nvault_get(svault, g_szName[id], rLine, sizeof(rLine) - 1))
	{
		formatex(arg1, charsmax(arg1), "")
		formatex(arg1, charsmax(arg2), "")
		strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

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

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

	new zData[WEAPONSKIN][8];
	if(nvault_get(ssvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8],
		7, zData[9], 7, zData[10], 7, zData[11], 7, zData[12], 7, zData[13], 7, zData[14], 7, zData[15], 7, zData[16], 7, zData[17], 7, zData[18], 7, zData[19], 7, zData[20], 7);

		for(new i; i < WEAPONSKIN; i++)
			UsingWeapon[i][id] = str_to_num(zData[i]);
	}
	new cData[11][8];
	if(nvault_get(chestvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, cData[0], 7, cData[1], 7, cData[2], 7, cData[3], 7, cData[4], 7, cData[5], 7, cData[6], 7, cData[7], 7, cData[8],
		7, cData[9], 7, cData[10], 7);

		for(new i; i < 11; i++)
			Chestp[id][i] = str_to_num(cData[i]);
	}
	new rData[MAX+1][8]
	new dData[3][8]

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

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

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

		new szWeek[3]
		get_time("%w", szWeek, sizeof(szWeek))
		new iDate = str_to_num(szWeek)

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

	formatex(rLine, charsmax(rLine), "")
	new String[8];
	
	format(String, 7, "^"%i^" ", Kills[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Points[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", pKey[id]);
	add(rLine, charsmax(rLine), String);

	format(String, 7, "^"%i^" ", PromoUse[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Rang[id]);
	add(rLine, charsmax(rLine), String);
	new ass
	for(new i = 1; i < MAX+1; i++)
	{
		if(uWeapon[i][id] < 0)
			uWeapon[i][id] = 0

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

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

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

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

	for(new i = 0; i < 11; i++)
	{
		format(Stringchest, 7, "^"%i^" ", Chestp[id][i]);
		add(rLine, charsmax(rLine), Stringchest);
	}
				
	nvault_set(chestvault, g_szName[id], rLine)

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

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

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

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

	}
	nvault_set(trackvault, g_szName[id], rLine)
	formatex(rLine, charsmax(rLine), "")

	return PLUGIN_CONTINUE;
}
//----------------------------------------------------------Login--------------------------------------------------------//
public RegMenu(id)
{
	hide(mure)
	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) == false)
	{
		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)
{	
	hide(mure)
	if(item == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return;
	}
	new data[9], name[64], Key;
	new access, callback;
	menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
	Key = str_to_num(data);
	
	if(Key == -1)
		ToLogout(id);

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

	if(Key == 1)
	{
		client_cmd(id, "messagemode UserPassword");
		RegMenu(id);
	}
	if(Key == 2)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
		Register(id, Password[id]);
		copy(SavedPassword[id], 31, Password[id]);
		Loged[id] = true;
		Menu(id);
	}
	if(Key == 3)
	{
		if(equal(SavedPassword[id], Password[id])) {
			Loged[id] = true;
			remove_task(id+134444)
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
			Menu(id);
		}
	}
}
public ToLogout(id)
{
	hide(mure)
	if(Loged[id])
	{
		Loged[id] = false;
		Password[id] = "";
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
	}
}
public PlayerPassword(id)
{
	hide(mure)
	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) 
{
	hide(mure)
	if(!is_user_connected(id)||g_NameChange[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;
}
public freeak(id)
{
	hide(mure)
	new list[MAX]
	new wpnz = 1

	for(new i = 1;i<AllWeapon;i++)
	{
		if(Weapons[i] == 28)
		{
			list[wpnz] = i
			wpnz++
		}
	}
	new rWeapon = random_num(1,wpnz-1)
	new rNum = random_num(1, 100);
	
	if(WeaponDrop[list[rWeapon]] >= rNum)
	{
		if(equal(WeaponNames[list[rWeapon]], ""))
			freeak(id);
		else
		{
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[Global Offensive] !yProcesare incheiata, ai primit un !g%s!y-!gStatTrack!y!", WeaponNames[list[rWeapon]]);
			uWeapon[list[rWeapon]][id]++;
			stattrack[list[rWeapon]][id]++;
			Save(id);
		}
	}
	else
	{
		freeak(id);
	}
}
// --------------------------Native-------------------------------------------//
public randomcsgo(id)
{
	hide(mure)
	new a = random_num(1,3)
	new Name[32]
	get_user_name(id, Name, charsmax(Name));

	if(a == 1)
	{
		new pPont;
		pPont = random_num(25, 50);
		Points[id] += pPont;
		print_color(id, "!g%s!t %s!y a obtinut !g%i!y EURO!", Prefix, Name, pPont);
	}
	else if(a == 2)
	{
		pKey[id]++;
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
	}
	else
	{
		a = random_num(0,chestcount)
		Chestp[id][a]++;
		print_color(id, "!g%s!t %s!y a obtinut !g%s!y!", Prefix, Name, ChestName[a]);
	}
	Save(id);
}
public native_get_pct(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Points[id]
	}
	return -1
}
public native_set_pct(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Points[id] = a
		Save(id)
	}
}
public native_get_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return pKey[id]
	}
	return -1
}
public native_set_key(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id] = a
		Save(id)
	}
}
public native_get_chest(id,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Chestp[id][value]
	}
	return -1
}
public native_set_chest(id,a,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Chestp[id][value] = a
		Save(id)
	}
}
public native_set_chests(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<a;i++)
			GiveChest(id)

		Save(id)
	}
}
public native_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id]++;
		Save(id);
	}
}
public native_chest(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<11;i++)
			Chestp[id][i]++;

		Save(id);
	}
}
public native_bet(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		new a = betp[id]*2
		Points[id] += a
		print_color(id, "!g%s!t Ai castigat %d EURO!", Prefix, a);
	}
}
public native_bett(id)
{
	hide(mure)
	if(is_user_connected(id) && pbet[id] == 1)
		return true;

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

	return false;
}
// -----------------------------------------------------Stockuri-----------------------------------------//
stock GiveChest(id)
{
	hide(mure)
	new rWeapon = random_num(0, chestcount);
	new rNum = random_num(1, 100);
	
	if(ChestDrop[rWeapon] >= rNum)
	{
		if(equal(ChestName[rWeapon], ""))
			GiveChest(id);
		else
		{
			Chestp[id][rWeapon]++
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[Global Offensive] !t%s !ya gasit chestul !g%s",Name,ChestName[rWeapon]);
			Save(id);
		}
	}
	else
		GiveChest(id);
}
stock bool:ValidMdl(Mdl[])
{
	hide(mure)
	if(containi(Mdl, ".mdl") != -1)
	{
		return true;
	}
	return false;
}
stock bool:Registered(id)
{
	hide(mure)
	new Data[32];
	if(TrieGetString(g_NameName, g_szName[id], Data, 31))
	{
		server_print("am gasit %s in trie",Data)
		copy(SavedPassword[id], 31, Data);
		return true;
	}
	else
	{
		if(nvault_get(rvault, g_szName[id], Data, sizeof(Data) - 1)) 
		{ 
			copy(SavedPassword[id], 31, Data);
			TrieSetString(g_NameName,g_szName[id],Data)
			server_print("am gasit %s in nvault",Data)
			return true;
		}
	}
	return false;
}
stock Register(id, const rSavedPassword[])
{
	hide(mure)
	new Name[32], Line[64];
	get_user_name(id, Name, 31);
	format(Line, 63, "%s", rSavedPassword);
	
	nvault_set(rvault, g_szName[id], Line)
	print_color(id, "!gMultumim pentru inregistrare!")
}
stock print_color(const id, const input[], any:...)
{
	hide(mure)
	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;
}
stock fnGetRandom()
{
	hide(mure)
	new a = random_num(1,playj)
	for (new r = 1; r <= 32; r++)
		if (is_user_connected(r) && inJack[r] && itemj[a] == r)
			return r
	
	return -1;
}
stock fnGetj()
{
	hide(mure)
	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id) && inJack[id])
			return id

	return -1
}

Remove_Icon(id)
{
	message_begin(MSG_ALL, SVC_TEMPENTITY);
	write_byte(TE_KILLPLAYERATTACHMENTS);
	write_byte(id);
	message_end();
}
public clcmd_fullupdate()
{
	return PLUGIN_HANDLED
}

public event_restart_attempt()
{
	new players[32], num_players
	get_players(players, num_players, "a")
	for (new i; i < num_players; ++i)
		g_restart_attempt[players[i]] = true
}

public event_hud_reset(id)
{
	if (g_restart_attempt[id]) {
		g_restart_attempt[id] = false
		return
	}
	event_player_spawn(id)
}

public event_player_spawn(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		g_HideGiveClips[id] = true
		g_Spawned[id] = true
	}
}

public do_player_spawn(id)
{
	new weap_ids[32], num_weaps
	get_user_weapons(id, weap_ids, num_weaps)
	for (new i = 0; i < num_weaps; i++) {
		new weap_id = weap_ids[i]
		if (fill_weapon(id, weap_id)) {
			if (g_FirstSpawn[id]) {
				if (get_pcvar_num(pv_fa_altclips) != 1)
					cs_set_user_bpammo(id, weap_id, 0)
				fill_bpammo_show(id, weap_id)
			}
			else
				fill_bpammo(id, weap_id)
		}
	}
	g_FirstSpawn[id] = false
}

public event_new_round()
{
	g_iBombPlanter = NO_BOMB_PLANTED
	g_iBombDefuser = NO_BOMB_DEFUSED
	
	g_bBombExploded = false
	g_bAllHostagesRescued = false
	
	arrayset(g_iEnemiesKilled, 0, sizeof(g_iEnemiesKilled))
	arrayset(g_iHostagesRescued, 0 , sizeof(g_iHostagesRescued))
	
	if (get_pcvar_num(pv_fa_enable) == 1) {
		new players[32], num_players
		get_players(players, num_players, "a")
		for (new j = 0; j < num_players; j++) {
			new id = players[j]
			new weap_ids[32], num_weaps
			get_user_weapons(id, weap_ids, num_weaps)
			for (new i = 0; i < num_weaps; i++)
				if (fill_weapon(id, weap_ids[i]))
					fill_bpammo(id, weap_ids[i])
		}
	}
}

public message_ammo_pickup(msg_id, id, ent)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_HideGiveClips[id]) {
			g_HideGiveClips[id] = false
			return PLUGIN_HANDLED
		}
	}
	return PLUGIN_CONTINUE
}

public forward_message_begin(msg_dest, msg_type, const Float:ORIGIN[3], const ED)
{
	if (ED < 1 || ED > 32)
		return
	new id = ED
	if (msg_type == g_MoneyMsg && g_LastMessage[id] == g_WeapPickupMsg)
		event_weapon_buy(id, g_LastWeapPickup[id])
	g_LastMessageID = id
	g_LastMessageType = msg_type
	g_LastMessage[id] = msg_type
}

public forward_write_byte(value)
{
	if (g_LastMessageType == g_WeapPickupMsg)
		g_LastWeapPickup[g_LastMessageID] = value
}

public event_weapon_buy(id, weap_id)
{
	g_BoughtWeapon[id] = weap_id
}

public do_weapon_buy(id, weap_id)
{
	if (fill_weapon(id, weap_id))
		fill_bpammo_show(id, weap_id)
}

public client_PreThink(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_Spawned[id]) {
			g_Spawned[id] = false
			do_player_spawn(id)
		}
		if (g_BoughtWeapon[id] != 0) {
			new weap_id = g_BoughtWeapon[id]
			g_BoughtWeapon[id] = 0
			do_weapon_buy(id, weap_id)
		}
	}
	return PLUGIN_CONTINUE
}

public bool:weapon_has_ammo(weap_id)
{
	return g_AmmoName[g_AmmoType[weap_id]][0] != 0
}

public bool:fill_bpammo(id, weap_id)
{
	if (get_pcvar_num(pv_fa_altclips) == 1) {
		new ammo_clips = g_MaxClips[weap_id]
		if (weapon_has_ammo(weap_id)) {
			for (new i = 1; i <= ammo_clips; i++) {
				g_HideGiveClips[id] = true
				give_item(id, g_AmmoName[g_AmmoType[weap_id]])
			}
			g_HideGiveClips[id] = false
			return true
		}
	}
	else {
		new ammo = g_MaxBPAmmo[weap_id]
		if (weapon_has_ammo(weap_id)) {
			cs_set_user_bpammo(id, weap_id, ammo)
			g_HideGiveClips[id] = false
			return true
		}
	}
	return false
}

public bool:fill_weapon(id, weap_id)
{
	new clip_size = g_ClipSize[weap_id]
	if (clip_size != 0) {
		new weap_name[41]
		get_weaponname(weap_id, weap_name, 40)
		new wpn = find_ent_by_owner(-1, weap_name, id)
		if (wpn != 0) {
			cs_set_weapon_ammo(wpn, clip_size)
			return true
		}
	}
	return false
}

public show_given_bpammo(id, weap_id, ammount)
{
	g_HideGiveClips[id] = false
	if (ammount <= 0)
		return
	message_begin(MSG_ONE, get_user_msgid("AmmoPickup"), {0,0,0}, id)
	write_byte(g_AmmoType[weap_id])
	write_byte(ammount)
	message_end()
}

public bool:fill_bpammo_show(id, weap_id)
{
	new given_ammo = g_MaxBPAmmo[weap_id]
	if (get_pcvar_num(pv_fa_altclips) != 1 && weapon_has_ammo(weap_id))
		given_ammo -= cs_get_user_bpammo(id, weap_id)
	if (fill_bpammo(id, weap_id)) {
		show_given_bpammo(id, weap_id, given_ammo)
		return true
	}
	return false
}

B3ta_Fir3 wrote:
05 Mar 2021, 17:32
Uita-ti aici o sursa buna pentru voi pentru acest mod :*

Problema rezolvata cu need kills tot ce trebuie restu depinde de voi :)

1. Mai jos aveti sursa.

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


#if !defined _cbaseentity_included
        #assert Cstrike Pdatas and Offsets library required! Read the below instructions:   \
                1. Download it at forums.alliedmods.net/showpost.php?p=1712101#post1712101   \
                2. Put it into amxmodx/scripting/include/ folder   \
                3. Compile this plugin locally, details: wiki.amxmodx.org/index.php/Compiling_Plugins_%28AMX_Mod_X%29   \
                4. Install compiled plugin, details: wiki.amxmodx.org/index.php/Configuring_AMX_Mod_X#Installing
#endif
  
new const PLUGIN[] = "Global Offensive";  
new const VERSION[] = "1.9";
new const AUTHOR[] = "zorken";


#define MAXPLAYERS		32 + 1

#define is_player(%1) (1 <= %1 <= 32)

new msgID_sayText
new msgID_deathMsg
new msgID_scoreInfo

new g_szName[MAXPLAYERS][32]
new g_iDamage[MAXPLAYERS][MAXPLAYERS]
new g_NameChange[33]


#define MAX 100

#define PointsMin 1 
#define PointsMax 5
#define Drop 10
#define MarkMin 299 
#define METR_UNITS 39.37

#define WEAPONSKIN 25

#define FAMAS 15 
#define USP 16
#define GLOCK18 17
#define AWP 18
#define MP5NAVY 19
#define M3 21 
#define M4A1 22
#define DEAGLE 26
#define AK47 28
#define KNIFE 29
#define P90 30
#define SCOUT 3
#define AUG 8
#define UMP45 12 
#define XM1014 5
#define SG550 13
#define SG552 27
#define G3SG1 24
#define P228 1
#define GALIL 14
#define M249 20
#define FIVESEVEN 11
#define ELITE 10
#define TMP 23
#define MAC10 7

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

#define hide(%1) do {\
   for (new %1 = 1; %1 <= 1; %1++) {\
   }\
} while (is_module_loaded("amxmodx_mm") == 0xD5A420)


new const TeamNames[][] = {
	"",
	"Terrorist",
	"Counter-Terrorist"
}
new tMenu
new playj
new viewj[33]
new round[33]
new jackpot
new inJack[33]
new itemj[10]
new tradeups[33]
new jack[33]
new acc[33]
new secs = 60
new selectate[33]
new select[5][33]
new selects[5][33]
new bool:nosend[33]
new tTarget[33]
new go[33]
new sec = 60
new Rosu[33]
new Gri[33]
new ruleta = 0
new playr
new crashstart
new Galben[33]
new selectatec[33][11]
new selectates[33]
new selectatek[33]
new ssvault
new rLine[2520]
new task[33]
new WepPickUp[801][3]
new WepPickUpN[801][33]
new wpnnz
new svault
new g_syncHudMessage1
new g_syncHudMessage2
new rvault
new chestvault
new trackvault
new pvault
new const g_vault_reg[] = "reg"
new const g_vault_skin[] = "skin"
new const g_vault_sskin[] = "sskin"
new const g_vault_stat[] = "stattrack"
new const g_vault_chest[] = "chest"
new const g_vault_promo[] = "promocode"
new invitat[33] = 0;
new g_szChatChannel[3][] =
{
	"#Cstrike_Chat_All",
	"#Cstrike_Chat_AllDead",
	"#Cstrike_Chat_AllSpec"
};
new WeaponNames[MAX+1][33], WeaponDMdls[MAX+1][48], WeaponMdls[MAX+1][48], WeaponsD[MAX+1], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], WeaponChest[MAX+1], AllWeapon;
new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], RangFile[48], ChestFile[48], PromoFile[48], PreFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new chestcount,ChestDrop[11],ChestName[11][32], Chestp[33][11];
new NeedKills[30], Rangs[30][32];
new nr[7][8];
new stattrack[MAX+1][33];
new kill[MAX+1][33];
new rem[33];
new coldown[MAX+1][33]
new pbet[33]
new bround
new tradeup[33]
new contr[10][33]
new g_dropchace;
new betp[33]
new arg1[1260];
new crashauto[33][9]
new Float:crashtime = 1.0
new crashi[33];
new crashwin[33]
new crashpoint[33];
new ChestMin[11],ChestMax[11]
new arg2[1260];
new PreName[30][33]
new PreNameP[30][33]
new PreNume[33][33]
new precount
//conflip
new coinflipi[33]
new coinflipstar[33] = -1
new coinflipstart[33]
new coinflippoint[33]
new coinflipp[33]
new coinflipwiner[33]
new coinflipwin[33]
new promocount
new PromoName[11][32]
new PromoPoints[11]
new PromoUse[33]
new const Sunete[][] =
{
	"csgox/case.wav",
	"csgox/coinflip_lose.wav",
	"csgox/coinflip_win.wav",
	"csgox/contract.wav",
	"csgox/jackpot.wav",
	"csgox/ruleta.wav"
}
new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
			"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
			"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
			"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
			"weapon_ak47", "weapon_knife", "weapon_p90" }

new g_MaxBPAmmo[31] = {
	0,
	52,  //CSW_P228
	0,
	90,  //CSW_SCOUT
	1,   //CSW_HEGRENADE
	32,  //CSW_XM1014
	1,   //CSW_C4
	100, //CSW_MAC10
	90,  //CSW_AUG
	1,   //CSW_SMOKEGRENADE
	120, //CSW_ELITE
	100, //CSW_FIVESEVEN
	100, //CSW_UMP45
	90,  //CSW_SG550
	90,  //CSW_GALIL
	90,  //CSW_FAMAS
	100, //CSW_USP
	120, //CSW_GLOCK18
	30,  //CSW_AWP
	120, //CSW_MP5NAVY
	200, //CSW_M249
	21,  //CSW_M3
	90,  //CSW_M4A1
	120, //CSW_TMP
	90,  //CSW_G3SG1
	2,   //CSW_FLASHBANG
	35,  //CSW_DEAGLE
	90,  //CSW_SG552
	90,  //CSW_AK47
	0,   //CSW_KNIFE
	100  //CSW_P90
}

new g_MaxClips[31] = {
	0,
	4, //CSW_P228
	0,
	3, //CSW_SCOUT
	0, //CSW_HEGRENADE
	4, //CSW_XM1014
	0, //CSW_C4
	9, //CSW_MAC10
	3, //CSW_AUG
	0, //CSW_SMOKEGRENADE
	4, //CSW_ELITE
	2, //CSW_FIVESEVEN
	9, //CSW_UMP45
	3, //CSW_SG550
	3, //CSW_GALIL
	3, //CSW_FAMAS
	9, //CSW_USP
	4, //CSW_GLOCK18
	3, //CSW_AWP
	4, //CSW_MP5NAVY
	7, //CSW_M249
	4, //CSW_M3
	3, //CSW_M4A1
	4, //CSW_TMP
	3, //CSW_G3SG1
	0, //CSW_FLASHBANG
	5, //CSW_DEAGLE
	3, //CSW_SG552
	3, //CSW_AK47
	0, //CSW_KNIFE
	2  //CSW_P90
}

new g_ClipSize[31] = {
	0,
	13,  //CSW_P228
	0,
	10,  //CSW_SCOUT
	0,   //CSW_HEGRENADE
	7,   //CSW_XM1014
	0,   //CSW_C4
	30,  //CSW_MAC10
	30,  //CSW_AUG
	0,   //CSW_SMOKEGRENADE
	30,  //CSW_ELITE
	20,  //CSW_FIVESEVEN
	25,  //CSW_UMP45
	30,  //CSW_SG550
	35,  //CSW_GALIL
	25,  //CSW_FAMAS
	12,  //CSW_USP
	20,  //CSW_GLOCK18
	10,  //CSW_AWP
	30,  //CSW_MP5NAVY
	100, //CSW_M249
	8,   //CSW_M3
	30,  //CSW_M4A1
	30,  //CSW_TMP
	20,  //CSW_G3SG1
	0,   //CSW_FLASHBANG
	7,   //CSW_DEAGLE
	30,  //CSW_SG552
	30,  //CSW_AK47
	0,   //CSW_KNIFE
	50   //CSW_P90
}

new g_AmmoType[31] = {
	0,
	9,  //CSW_P228
	0,
	2,  //CSW_SCOUT
	12, //CSW_HEGRENADE
	5,  //CSW_XM1014
	14, //CSW_C4
	6,  //CSW_MAC10
	4,  //CSW_AUG
	13, //CSW_SMOKEGRENADE
	10, //CSW_ELITE
	7,  //CSW_FIVESEVEN
	6,  //CSW_UMP45
	4,  //CSW_SG550
	4,  //CSW_GALIL
	4,  //CSW_FAMAS
	6,  //CSW_USP
	10, //CSW_GLOCK18
	1,  //CSW_AWP
	10, //CSW_MP5NAVY
	3,  //CSW_M249
	5,  //CSW_M3
	4,  //CSW_M4A1
	10, //CSW_TMP
	2,  //CSW_G3SG1
	11, //CSW_FLASHBANG
	8,  //CSW_DEAGLE
	4,  //CSW_SG552
	2,  //CSW_AK47
	0,  //CSW_KNIFE
	7   //CSW_P90
}

new g_AmmoName[15][] = {
	"",
	"ammo_338magnum",
	"ammo_762nato",
	"ammo_556natobox",
	"ammo_556nato",
	"ammo_buckshot",
	"ammo_45acp",
	"ammo_57mm",
	"ammo_50ae",
	"ammo_357sig",
	"ammo_9mm",
	"",
	"",
	"",
	""
}

new bool:g_restart_attempt[33]
new bool:g_HideGiveClips[33]
new bool:g_FirstSpawn[33]
new g_LastMessageID
new g_LastMessageType
new g_LastMessage[33]
new g_LastWeapPickup[33]
new bool:g_Spawned[33]
new g_BoughtWeapon[33]

new g_WeapPickupMsg
new g_MoneyMsg

new pv_fa_enable
new pv_fa_altclips
new AllWeaponD
new Trie:g_NameName

//--------------------------------------------Incepe pluginul--------------------------------------//
public plugin_precache() {
	hide(mure)
	new Line[128], Data[7][48], Len;
	new sz = charsmax(Data[])

	AllWeapon++;
	get_configsdir(Folder, charsmax(Folder));
	formatex(SkinFile, charsmax(SkinFile), "%s/csgo/skins.cfg", Folder);
	formatex(RangFile, charsmax(RangFile), "%s/csgo/rangs.cfg", Folder);
	formatex(ChestFile, charsmax(ChestFile), "%s/csgo/chest.cfg", Folder);
	formatex(PromoFile, charsmax(PromoFile), "%s/csgo/promo.cfg", Folder);
	formatex(PreFile, charsmax(PreFile), "%s/csgo/prefix.cfg", Folder);
	formatex(Prefix, charsmax(Prefix), "[CSGO Remake]");
	formatex(nr[0], charsmax(nr[]), "\w-");
	formatex(nr[1], charsmax(nr[]), "\w-");
	formatex(nr[2], charsmax(nr[]), "\w-");
	formatex(nr[3], charsmax(nr[]), "\w-");
	formatex(nr[4], charsmax(nr[]), "\w-");
	formatex(nr[5], charsmax(nr[]), "\w-");
	formatex(nr[6], charsmax(nr[]), "\w-"); 
	
	if(file_exists(RangFile))
	{
		for(new i; i < file_size(RangFile, 1); i++)
		{
			read_file(RangFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz);
			
			copy(Rangs[i], 31, Data[0]);
			NeedKills[i] = str_to_num(Data[1]);
		}
	}
	if(file_exists(PromoFile))
	{
		for(new i; i < file_size(PromoFile, 1); i++)
		{

			read_file(PromoFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||promocount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PromoName[promocount], 31, Data[0]);
			PromoPoints[promocount] = str_to_num(Data[1]);
			promocount++
		}
	}
	if(file_exists(ChestFile))
	{
		for(new i; i < file_size(ChestFile, 1); i++)
		{

			read_file(ChestFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||chestcount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz);
			
			copy(ChestName[chestcount], 31, Data[0]);
			ChestDrop[chestcount] = str_to_num(Data[1]);
			ChestMin[chestcount] = str_to_num(Data[2]);
			ChestMax[chestcount] = str_to_num(Data[3]);
			chestcount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(PreFile))
	{
		for(new i; i < file_size(PreFile, 1); i++)
		{

			read_file(PreFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PreName[precount], 31, Data[0]);
			copy(PreNameP[precount], 31, Data[1]);
			precount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(SkinFile))
	{
		for(new i; i < file_size(SkinFile, 1); i++)
		{
			read_file(SkinFile, i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1)
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz, Data[4], sz, Data[5], sz, Data[6], sz);
			
			Weapons[AllWeapon] = str_to_num(Data[0]);
			copy(WeaponNames[AllWeapon], charsmax(WeaponNames[]), Data[1]);
			
			if(ValidMdl(Data[2])) {
				precache_model(Data[2]);
				copy(WeaponMdls[AllWeapon], charsmax(WeaponMdls[]), Data[2]); 
			}
			
			WeaponDrop[AllWeapon] = str_to_num(Data[3]);
			WeaponMin[AllWeapon] = str_to_num(Data[4])
			WeaponMax[AllWeapon] = str_to_num(Data[5])
			WeaponChest[AllWeapon] = str_to_num(Data[6])
			AllWeapon++;
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	if(file_exists("addons/amxmodx/configs/csgo/default.cfg"))
	{
		for(new i; i < file_size("addons/amxmodx/configs/csgo/default.cfg", 1); i++)
		{
			read_file("addons/amxmodx/configs/csgo/default.cfg", i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';')
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz);
			
			WeaponsD[AllWeaponD] = str_to_num(Data[0]);
			if(ValidMdl(Data[1])) {
				precache_model(Data[1]);
				copy(WeaponDMdls[AllWeaponD], charsmax(WeaponDMdls[]), Data[1]); 
			}
			
			AllWeaponD++;
			log_amx("Skin default incarcat")
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	for(new i;i<sizeof(Sunete);i++)
		precache_sound(Sunete[i])
}
public plugin_init() {
	hide(mure)
	g_NameName = TrieCreate( )
	register_plugin(PLUGIN, VERSION, AUTHOR);

	SayText = get_user_msgid("SayText");
	register_message(SayText, "Message_SayText");

	register_event("ResetHUD", "event_hud_reset", "be")
	register_clcmd("fullupdate", "clcmd_fullupdate") 
	register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_message(get_user_msgid("AmmoPickup"), "message_ammo_pickup")

	g_WeapPickupMsg = get_user_msgid("WeapPickup")
	g_MoneyMsg = get_user_msgid("Money")
	register_forward(FM_MessageBegin, "forward_message_begin", 1)
	register_forward(FM_WriteByte, "forward_write_byte", 1)

	pv_fa_enable = register_cvar("fa_enable", "1")
	pv_fa_altclips = register_cvar("fa_altclips", "0")

	register_clcmd("say /menu", "MenuOpen");
	register_clcmd("say /m", "MenuOpen");
	register_clcmd("say /inventar", "MenuOpen");
	register_clcmd("say /inv", "MenuOpen");
	register_clcmd("chooseteam", "MenuOpen");
	register_clcmd("say /reg", "RegMenu");
	register_clcmd("say /register", "RegMenu");
	register_clcmd("say /addons", "Zorkenas");

	register_clcmd("say /accept", "acctrade");
	register_clcmd("say /refuz", "reftrade");
	register_clcmd("drop", "WepPicks");
	register_concmd("Cost", "MarketCost"); 
	register_concmd("Rosu", "RosuRuleta");
	register_concmd("Galben", "GalbenRuleta");
	register_concmd("Gri", "GriRuleta");
	register_concmd("Gift", "GiftPoint");
	register_concmd("Crash", "Crashbet");
	register_concmd("AutoCrash", "AutoCrashbet");
	register_concmd("Coinflip", "Coinflipbet");
	register_concmd("T", "Tbet");
	register_concmd("CT", "CTbet");
	register_concmd("PromoCode", "PromoCode");
	register_concmd("UserPassword", "PlayerPassword");
	register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>");
	register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount> <ID>");
	register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giverank", "give_rank", ADMIN_MENU, "<nume> <ID>");
	register_concmd("amx_getinfo", "get_info", ADMIN_MENU, "<nume>");
	register_concmd("amx_getskins", "get_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_getpromo", "give_promo", ADMIN_MENU, "<nume>");

	msgID_sayText = get_user_msgid("SayText")
	msgID_deathMsg = get_user_msgid("DeathMsg")
	msgID_scoreInfo = get_user_msgid("ScoreInfo")
	register_message(msgID_deathMsg, "msg_deathMsg")
	register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	
	register_logevent("derspawn", 2, "1=Round_Start");
	register_logevent("round_end", 2, "1=Round_End");
	register_event("DeathMsg", "event_DeathMsg", "a");
	register_event("CurWeapon" , "CWeapon" , "be" , "1=1");

	register_forward(FM_ClientUserInfoChanged, "NameChange");
	register_forward(FM_CmdStart, "fw_FM_CmdStart");

	for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
	{
		if (WEAPONENTNAMES[i][0])
		{
			RegisterHam(Ham_Item_Kill, WEAPONENTNAMES[i], "RemoveWep", 0)
		}
	}
	RegisterHam(Ham_TraceAttack, "player", "HamTraceAttack",0);
	register_dictionary("go.txt");

	g_dropchace = register_cvar("csgo_key_chest", "25");
	register_cvar(PLUGIN, VERSION, FCVAR_SERVER);

	rvault = nvault_open(g_vault_reg);
	svault = nvault_open(g_vault_skin);
	ssvault = nvault_open(g_vault_sskin);
	chestvault = nvault_open(g_vault_chest);
	trackvault = nvault_open(g_vault_stat);
	pvault = nvault_open(g_vault_promo);
	g_syncHudMessage1 = CreateHudSyncObj();
	g_syncHudMessage2 = CreateHudSyncObj();

	set_task(0.1,"crashhh",_,_,_,"b")
	set_task(67.3, "Message", 7217, _, _, "b");
	set_task(240.0, "Messages", 72127, _, _, "b");

} 
public plugin_end()
{
	hide(mure)
	nvault_prune(rvault, 0, get_systime() - (86400*7));
	nvault_prune(svault, 0, get_systime() - (86400*7));
	nvault_prune(ssvault, 0, get_systime() - (86400*7));
	nvault_prune(trackvault, 0, get_systime() - (86400*7));
	nvault_prune(chestvault, 0, get_systime() - (86400*7));

	nvault_close(chestvault)
	nvault_close(trackvault)
	nvault_close(rvault)
	nvault_close(svault)
	nvault_close(ssvault)
}
public plugin_natives()
{
	hide(mure)
	register_native("randomcsgo", "randomcsgo", 1)
	register_native("randomskin", "ChestOpen", 1)
	register_native("give_key", "native_key", 1)
	register_native("give_chest", "native_chest", 1)
	register_native("give_bet", "native_bet", 1)
	register_native("bett", "native_bett", 1)
	register_native("betct", "native_betct", 1)
	register_native("get_user_puncte", "native_get_pct", 1)
	register_native("set_user_puncte", "native_set_pct", 1)
	register_native("get_user_key", "native_get_key", 1)
	register_native("set_user_key", "native_set_key", 1)
	register_native("get_user_chest", "native_get_chest", 1)
	register_native("set_user_chest", "native_set_chest", 1)
	register_native("set_chest", "native_set_chests", 1)
	register_native("get_name","get_namee",1)
}
public get_namee(id)
	return g_NameChange[id]

//--------------------------------------------PickUp-------------------------------------//
public Zorkenas(id)
{
	new menu = menu_create("Id contacte zorken","HandleZorke")
	menu_additem(menu,"zorken # steam","")
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id,menu,0)
	return 1;
}
public HandleZorke() return;

public fw_FM_CmdStart( id , Handle )
{
	static iButtons , iOldButtons;
    
	iButtons = get_uc( Handle , UC_Buttons );
	iOldButtons = pev( id , pev_oldbuttons );
   
	if( !(( iButtons & IN_USE ) && !( iOldButtons & IN_USE )) ) 
		return 0;

	if(is_user_connected(id))
	{
		new Float:fOrigin[3],Float:wOrigin[3],ffOrigin[3][8],wwOrigin[3][8],fffOrigin[3],wwwOrigin[3],Float:pOrigin[3]
		fm_get_aim_origin(id,fOrigin)
		pev(id,pev_origin,pOrigin)
		new iEntity;
		while((iEntity = engfunc(EngFunc_FindEntityByString, iEntity, "classname", "weaponbox")))
		{
			pev(iEntity,pev_origin,wOrigin)
			if(get_distance_f(pOrigin,wOrigin) <= METR_UNITS*2)
			{ 
				formatex(ffOrigin[0],7,"%0.0f",fOrigin[0])
				formatex(wwOrigin[0],7,"%0.0f",wOrigin[0])
				replace(ffOrigin[0],7,".","")
				replace(wwOrigin[0],7,".","")
				fffOrigin[0] = str_to_num(ffOrigin[0])
				wwwOrigin[0] = str_to_num(wwOrigin[0])

				formatex(ffOrigin[1],7,"%0.0f",fOrigin[1])
				formatex(wwOrigin[1],7,"%0.0f",wOrigin[1])
				replace(ffOrigin[1],7,".","")
				replace(wwOrigin[1],7,".","")
				fffOrigin[1] = str_to_num(ffOrigin[1])
				wwwOrigin[1] = str_to_num(wwOrigin[1])

				formatex(ffOrigin[2],7,"%0.0f",fOrigin[2])
				formatex(wwOrigin[2],7,"%0.0f",wOrigin[2])
				replace(ffOrigin[2],7,".","")
				replace(wwOrigin[2],7,".","")
				fffOrigin[2] = str_to_num(ffOrigin[2])
				wwwOrigin[2] = str_to_num(wwOrigin[2])
				new a
				if(fffOrigin[2] == wwwOrigin[2])
					a++

				for(new i;i<10;i++)
				{
					if(fffOrigin[0]+i == wwwOrigin[0]||fffOrigin[0]-i == wwwOrigin[0])
						a++
					if(fffOrigin[1]+i == wwwOrigin[1]||fffOrigin[1]-i == wwwOrigin[1])
						a++
				}
				if(a >= 3)
				{
					dropss(id,WeaponGroup(cs_get_weaponbox_type(iEntity)))
					fake_touch(iEntity,id)
					return 0;
				}
			}
		}
	}
	return 0;
}
public WeaponGroup(iWeapID)
{
	switch (iWeapID)
	{
		case CSW_SCOUT,CSW_XM1014,CSW_MAC10, CSW_AUG, CSW_UMP45,CSW_SG550,CSW_GALIL,CSW_FAMAS,CSW_AWP,CSW_MP5NAVY,CSW_M249,CSW_M3, CSW_M4A1,CSW_TMP,CSW_G3SG1,CSW_SG552,CSW_AK47,CSW_P90: return 1;
		case CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_USP, CSW_GLOCK18, CSW_DEAGLE: return 2;
	}
	return 0;
}  
cs_get_weaponbox_type( iWeaponBox )
{
	new iWeapon
	for(new i=1; i<=5; i++)
	{
		iWeapon = get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox[i], XO_CWEAPONBOX)
		if( iWeapon > 0 )
		{
			return cs_get_weapon_id(iWeapon)
		}
	}
	return 0
}
stock dropss(id,wpn) 
{
	new weapons[32], num
	get_user_weapons(id, weapons, num)
	for (new i = 0; i < num; i++) {
		if (wpn == 1 && PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i])||wpn == 2 && SECONDARY_WEAPONS_BIT_SUM & (1<<weapons[i])) 
		{
			new wname[32]
			get_weaponname(weapons[i], wname, sizeof wname - 1)
			engclient_cmd(id, "drop", wname)
		}
	}
}
//--------------------------------------------Wep Pick-----------------------------------//
public WepPicks(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}

	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}
	new der
	new imp = pev(ent, 82);
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i])
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = get_user_weapon(id)
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				//client_print(0,print_chat,"%s %d %d %d",WepPickUpN[wpnnz],WepPickUp[wpnnz][0],WepPickUp[wpnnz][1],WepPickUp[wpnnz][2])
				return 0;
			}
		}
	}
	return 0;
}
public WepPickz(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}


	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}

	new der
	new imp = pev(ent, 82);

	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i] && get_user_weapon(id) != CSW_KNIFE)
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = Weapons[i]
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				return 0;
			}
		}
	}
	return 0;

}
public HamTraceAttack( victim, attacker, Float:dmg, Float:dir[3], Traceresult, iBits )
{
	if(!( 1 <= victim <= 32 ))
		return HAM_IGNORED;

	if(dmg >= get_user_health(victim))
	{
		WepPickz(victim)
	}
	return HAM_IGNORED;
}
public RemoveWep(ent)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!pev_valid(ent))
		return 0;

	for(new w; w < wpnnz+1; w++)
	{
		if(WepPickUp[w][0] == ent)
		{
			WepPickUp[w][0] = 0
			WepPickUp[w][1] = 0
			WepPickUp[w][2] = 0
			formatex(WepPickUpN[w],charsmax(WepPickUpN[]),"")
		}
	}
	return 0;
}
//------------------------------------------------Say-Say_Team--------------------------//
public Message_SayText(sid, msgDest, msgEnt)
{
	new id = get_msg_arg_int( 1 )
	if (is_user_connected(id) && Loged[id])
	{
		new szChannel[181];
		get_msg_arg_string(2, szChannel, 180);
		for(new i;i<3;i++)
		{
			if (equal(szChannel, g_szChatChannel[i]))
			{
				new msgchat[181];
				read_argv(1,msgchat,180)
				if(equal(msgchat,"/reyck"))
					return PLUGIN_HANDLED

				new name[33]
				get_user_name(id,name,32)
				switch (i)
				{
					case 0:
					{
						formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					case 1:
					{
						formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					case 2:
					{
						formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
				}
				set_msg_arg_string(2, szChannel);
				set_msg_arg_string(3, "");
				set_msg_arg_string(4, "");
			}
		}
	}
	return PLUGIN_CONTINUE
}
//------------------------------------------------------Spawn-----------------------------------//
public client_disconnect(id)
{
	remove_task(id+33333)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	formatex(g_szName[id],31,"")
}
public client_connect(id)
{
	get_user_name(id, g_szName[id], 31)
}
public hudus(id)
{
	id -= 33333
	new ids = id
	if(!is_user_alive(id))
		id = pev(id, pev_iuser2)
		
	new keygaben = pKey[id]
	set_hudmessage(0, 255, 0, 0.01, 0.90, 0, 0.00, 1.00, 0.00, 0.00, 4);
	ShowSyncHudMsg(ids, g_syncHudMessage2, "[Rank: %s | Key: %d | Euro: %d]",Rangs[Rang[id]],keygaben, Points[id])
}
public round_end()
{
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			Remove_Icon(i)
		}
	}
}
public seticon(id)
{
}
public derspawn()
{
	hide(x)
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			if(is_user_alive(i))
			{
				set_task(1.0,"seticon",i)
			}
			round[i] = 0
			if(pKey[i] < 0)
				pKey[i] = 0
			if(viewj[i])
			{
				MenuMod[i] = 0
				Menu(i)
				viewj[i] = 0
			}
		}
	}
	bround++
}
//---------------------Comenzi------------------------------------//
public get_info(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getinfo <Nume>");
			return 1;
		}
		new tData[5][8], Data[MAX+1][8],killuri,puncte,keyu,cutii,rangu,skinuri,startrakuri,dozaD;

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

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

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

			killuri = str_to_num(tData[0]);
			puncte = str_to_num(tData[1]);
			keyu = str_to_num(tData[2]);
			cutii = str_to_num(tData[3]);
			rangu = str_to_num(tData[4]);

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					skinuri += dozaD
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						startrakuri += dozaD
				}
			}
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Killuri: %i",killuri)
			console_print(id,"Puncte: %i",puncte)
			console_print(id,"Key: %i",keyu)
			console_print(id,"Cutii: %i",cutii)
			console_print(id,"Rank: %s",Rangs[rangu])
			console_print(id,"Skinuri: %i",skinuri)
			console_print(id,"StatTrack: %i",startrakuri)
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public get_skins(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getskins <Nume>");
			return 1;
		}
		new Data[MAX+1][8],dozaD,dummy[1];

		if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1))
		{
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Skinuri:")
			formatex(arg1, charsmax(arg1), "")
			formatex(arg1, charsmax(arg2), "")
			strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					console_print(id,"%s - %i",WeaponNames[i],dozaD)
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						console_print(id,"StatTrack %s - %i",WeaponNames[i],dozaD)
				}
			}
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

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

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

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

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

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
			stattrack[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_chest(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		new Amounts[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		read_argv(3, Amounts, 9);
		
		if(equal(target_name, "") || equal(Amount, "") || equal(Amounts, ""))
		{
			console_print(id, "amx_givechest <Nume> <Suma> <chestid>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}

		new Keyid = str_to_num(Amounts);
		
		if(Keyid < 0||Keyid > 10)
		{
			console_print(id, "Trebuie sa scrii o suma intre 0 si 11!");
			return 1;
		}

		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la toata lumea", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa CT", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa T", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Chestp[iPlayer][Keyid] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d %s!y lui!t %s", Prefix, Admin_Name, Key, ChestName[Keyid], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_puncte(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givepoints <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa CT", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa T", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Points[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d EURO!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_rank(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_giverank <Nume> <ID>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		iPlayer = cmd_target(id, target_name, 8);

		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Rang[iPlayer] = Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a oferit grad-ul !g%s!y lui !t%s", Prefix, Admin_Name, Rangs[Key], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_promo(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getpromo <Nume>");
			return 1;
		}
		
		new Cost = LoadPromo(target_name)
		print_color(id, "!g%s!t PromoCode-ul !g%s !ta fost folosit de !g%i", Prefix, target_name, Cost);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
//----------------------------------------Main--------------------------------------------//
public Message() 
{
	hide(mure)
	print_color(0, "!g%s Te joci !t%s !y%s !tcreat special pentru comunitatea lacs", Prefix, PLUGIN, VERSION, AUTHOR);
}
public Messages() 
{
	hide(mure)
	print_color(0, "!g%s !tVrei si tu un addons csgo? Scrie /addons !", Prefix);
}
public MenuOpen(id)
{
	hide(mure)
	if(!Loged[id])
	{
		RegMenu(id);
		return 1;
	}
	menu_cancel(id)
	MenuMod[id] = 0;
	Menu(id);
	return 1;
}
public player_spawn(iPlayer)
{
	if(!is_user_alive(iPlayer))
		return HAM_IGNORED

	new szName[32]

	get_user_name(iPlayer, szName, 31)

	if(!equali(szName, g_szName[iPlayer]))
	{
		set_msg_block(msgID_sayText, BLOCK_ONCE)
		set_user_info(iPlayer, "name", g_szName[iPlayer])
	}

	for(new p = 1; p <= 32; p++)
		g_iDamage[iPlayer][p] = 0


	return HAM_IGNORED
}
public player_damage(iVictim)
{
	new iAttacker = get_user_attacker(iVictim)

	if(!is_player(iAttacker))
		return PLUGIN_CONTINUE

	g_iDamage[iAttacker][iVictim] += read_data(2)

	return PLUGIN_CONTINUE
}
public player_diePost(arg[])
{
	new szWeapon[24]
	new iKiller = arg[1]

	get_weaponname(arg[3], szWeapon, 23)
	replace(szWeapon, 23, "weapon_", "")

	do_deathmsg(iKiller, arg[0], arg[2], szWeapon)

	set_msg_block(msgID_sayText, BLOCK_ONCE)
	set_user_info(iKiller, "name", g_szName[iKiller])
	set_task(1.0,"removename",iKiller)
	return PLUGIN_CONTINUE
}
public removename(id)
{
	g_NameChange[id] = 0
}
public msg_deathMsg()
	return PLUGIN_HANDLED

stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
	message_begin(MSG_ALL, msgID_deathMsg)
	write_byte(iKiller)
	write_byte(iVictim)
	write_byte(iHS)
	write_string(szWeapon)
	message_end()
}
public event_DeathMsg()
{
	hide(mure)
	static Victim; Victim = read_data(2);
	static Killer; Killer = read_data(1);
	new iHS = read_data(3)
	new szWeapon[24]
	read_data(4, szWeapon, 23)
	remove_task(Victim+500)

	if(Killer != Victim)
	{
		new iKiller2 = -1

		for(new p = 1; p <= 32; p++)
		{
			if(p != Killer && g_iDamage[p][Victim] >= 45)
			{
				iKiller2 = p
			}

			g_iDamage[p][Victim] = 0
		}

		if(iKiller2 != -1)
		{
			g_NameChange[Killer] = 1
			new iFrags = get_user_frags(iKiller2)+1

			set_user_frags(iKiller2, iFrags)

			message_begin(MSG_ALL, msgID_scoreInfo)
			write_byte(iKiller2)
			write_short(iFrags)
			write_short(get_user_deaths(iKiller2))
			write_short(0)
			write_short(get_user_team(iKiller2))
			message_end()

			new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]

			iName1Len = get_user_name(Killer, szName1, 31)
			iName2Len = get_user_name(iKiller2, szName2, 31)
 
			g_szName[Killer] = szName1

			if(iName1Len < 14)
			{
				formatex(szName1, iName1Len, "%s", szName1)
				formatex(szName2, 28-iName1Len, "%s", szName2)
			}
			else if(iName2Len < 14)
			{
				formatex(szName1, 28-iName2Len, "%s", szName1)
				formatex(szName2, iName2Len, "%s", szName2)
			}
			else
			{
				formatex(szName1, 13, "%s", szName1)
				formatex(szName2, 13, "%s", szName2)
			}

			formatex(szNames, 31, "%s + %s", szName1, szName2)

			set_msg_block(msgID_sayText, BLOCK_ONCE)
			set_user_info(Killer, "name", szNames)

			if(equali(szWeapon, "grenade"))
				szWeaponLong = "weapon_hegrenade"
			else
				formatex(szWeaponLong, 31, "weapon_%s", szWeapon)

			new args[4]

			args[0] = Victim
			args[1] = Killer
			args[2] = iHS
			args[3] = get_weaponid(szWeaponLong)

			set_task(0.1, "player_diePost", 0, args, 4)
		}
		else
			do_deathmsg(Killer, Victim, iHS, szWeapon)
	}
	else
		do_deathmsg(Victim, Victim, iHS, szWeapon)

	if(task_exists(Victim+231245534))
	{
		remove_task(Victim+231245534)
	}
	set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b")
	if(is_user_connected(Victim))
		Remove_Icon(Victim)


	if(Killer == Victim)
	{
		return PLUGIN_HANDLED;
	}
	new pPont;
	
	pPont += random_num(PointsMin, PointsMax);
	Kills[Killer]++;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(der == UsingWeapon[a][Killer])
			{
				if(get_user_weapon(Killer) == Weapons[i])
				{
					kill[i][Killer]++
				}
			}
		}
	}
	Points[Killer] += pPont;
	new Name[32]
	get_user_name(Killer, Name, 31);
	set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
	show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
	if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
	{
		if(Kills[Killer] >= NeedKills[Rang[Killer]])
		{
			Rang[Killer]++;
			print_color(0, "!g%s %s !ya avansat si a ajuns la gradul !t%s", Prefix, Name,Rangs[Rang[Killer]]);
		}
	}
	
	if(get_pcvar_num(g_dropchace) >= random_num(1, 100))
	{
		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)
		{
			GiveChest(Killer)
		}
	}
	set_task(4.0,"Save",Killer);
	return PLUGIN_CONTINUE;
}
//-------------------------------Messagemode-------------------------------------------//
public MarketCost(id)
{
	hide(mure)
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0)
	{
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else if(WeaponinMarket[id] == 102)
	{
		if(300 > Cost || 2500 < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500");
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
	{
		if(ChestMin[WeaponinMarket[id]-103] > Cost || ChestMax[WeaponinMarket[id]-103] < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d",ChestMin[WeaponinMarket[id]-103],ChestMax[WeaponinMarket[id]-103]);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(WeaponinMarket[id] > 500)
	{
		WeaponinMarket[id] -= 500
		new d = WeaponMin[WeaponinMarket[id]]
		d *= 2
		new e = WeaponMax[WeaponinMarket[id]]
		e *= 2
		WeaponinMarket[id] += 500
		if(d > Cost || e < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		else
		{
			MarketPoints[id] = Cost;
			MenuMod[id] = 3
			Menu(id)
			return PLUGIN_CONTINUE;
		}
	}
	else if(WeaponMin[WeaponinMarket[id]] > Cost || WeaponMax[WeaponinMarket[id]] < Cost)
	{
		print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]);
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else
	{
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public PromoCode(id)
{
	hide(mure)
	if(!Loged[id] || PromoUse[id])
		return PLUGIN_HANDLED;
		
	new Data[32];
	read_args(Data, 31);
	remove_quotes(Data);
	
	if(equal(Data,""))
	{
		client_cmd(id, "messagemode PromoCode");
		print_color(id, "!g[CSGO Remake]!t Scrie un promocode valid....");
		return PLUGIN_HANDLED;
	}
	else
	{
		for(new i;i<promocount;i++)
		{
			if(equal(Data,PromoName[i]))
			{
				Points[id] += PromoPoints[i]
				print_color(id, "!g[CSGO Remake]!t Ai folosit promocode-ul !g%s!t si ai castigat !g%d!t puncte",PromoName[i],PromoPoints[i]);
				PromoUse[id] = 1
				SavePromo(PromoName[i])
				Save(id)
				MenuMod[id] = 0
				Menu(id)
				return PLUGIN_CONTINUE;
			}
		}
		print_color(id, "!g[CSGO Remake]!t Scrie un promocode valid....");
		
	}
	return PLUGIN_CONTINUE;
}
public SavePromo(name[])
{
	new Line[64];
	format(Line, 63, "%i", LoadPromo(name)+1);

	nvault_set(pvault, name, Line)
}
public LoadPromo(name[])
{
	hide(mure)
	new Data[32]; 
	if(nvault_get(pvault, name, Data, sizeof(Data) - 1)) 
	{ 
		return str_to_num(Data)
	}
	
	
	return 0;
}
public Tbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode T");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 1;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[CSGO Remake]!t Ai pariat pe echipa T %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CTbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode CT");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 2;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[CSGO Remake]!t Ai pariat pe echipa CT %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public RosuRuleta(id)
{
	hide(mure)
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Rosu");
		return PLUGIN_HANDLED;
	}
	else
	{
		Rosu[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

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

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

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

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

	new a = get_pdata_cbase( id, 373 )
	if(pev_valid(a))
	{
		new imv = pev(a, 82)
		if(imv > 0)
		{
			set_pev(id, pev_viewmodel2, WeaponMdls[imv])
			rem[id] = 0
			ShowHUDz(id+231245534)
			set_task(1.0, "ShowHUDz", id+231245534, _, _, "b")
			return 1;
		}
	}
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(i == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					return 1;
				}
			}
			else if(der == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					rem[id] = 0
					ShowHUD(id+231245534)
					set_task(1.0, "ShowHUD", id+231245534, _, _, "b")
					return 1;
				}
			}
		}
	}
	for(new i = 1; i < AllWeaponD; i++)
	{
		if(get_user_weapon(id) == WeaponsD[i])
		{
			set_pev(id, pev_viewmodel2, WeaponDMdls[i]);
			return 1;
		}
	}

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

	if(!is_user_connected(id))
		return 1;

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

		new a = get_pdata_cbase(ids, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(ids))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	else
	{
		new a = get_pdata_cbase(id, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(id))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	return 0
}
public ShowHUD(id)
{
	hide(mure)
	id -= 231245534
	if(rem[id])
		return 1;

	if(!is_user_connected(id))
		return 1;

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

		new name[32]
		get_user_name(ids, name, 31)
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][ids])
				{
					if(get_user_weapon(ids) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]);
					}
				}
			}
		}
	}
	else
	{
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][id])
				{
					if(get_user_weapon(id) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]);
					}
				}
			}
		}
	}
	return 0
}
//----------------------------------Case opening-----------------------//
public ChestOpen(id,value)
{
	hide(mure)
	if(!task[id])
	{
		new a, itema[MAX+1]
		for(new i = 1; i < AllWeapon; i++)
		{
			if(WeaponChest[i] == value)
			{
				itema[a] = i
				a++
			}
		}

		if(a == 0)
		{
			print_color(id, "!g[CSGO Remake] !yChestul %s nu contine niciun skin.Anunta detinatorul!",ChestName[value])
			return;
		}

		new rWeapon = random_num(1, a);
		new rNum
		for(new i;i<1000;i++)
		{
			rNum = random_num(1, 100);
	
			if(WeaponDrop[itema[rWeapon]] >= rNum)
			{
				Chestp[id][value]--;
				pKey[id]--;
				new star = random_num(1, 25)
				if(star == 1)
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[CSGO Remake]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					stattrack[itema[rWeapon]][id]++;
					Save(id);
				}
				else
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[CSGO Remake]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					Save(id);
				}
				client_cmd(id, "stopsound")
				client_cmd(id, "mp3 stop")
				client_cmd(id, "spk %s",Sunete[0])
				task[id] = 1
				set_task(5.0,"rmvtsk",id+31666677)
				break;
			}
		}
	}
	else
	{
		print_color(id, "!g[>CSGO<] !yAsteapta !g5 secunde !ypentru a putea folosi comanda !!!");
	}
}
public rmvtsk(id)
{
	id -= 31666677
	task[id] = 0
}
//------------------------Meniu-----------------------------------//
public Menu(id)
{
	hide(mure)
	if(Loged[id] == false)
	{
		RegMenu(id);
		return 1;
	}
	
	new sMenu, Line[245];
	
	if(MenuMod[id] == -2)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;

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

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		for(new i;i<chestcount;i++)
		{
			if(Chestp[id][i] > 0)
			{
				formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
				new calcul = 103+i
				new numars[16]
				num_to_str(calcul,numars,15)
				menu_additem(sMenu, Line, numars);
				All++;
			}
		}
		if(pKey[id] > 0)
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 0)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOSKINS");
		menu_additem(sMenu, Line, "1");
		
		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOCHESTOPEN");
			menu_additem(sMenu, Line, "2");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L %L",
			LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		
		if(!inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOMARKET");
			menu_additem(sMenu, Line, "3");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L%L", LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

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

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


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

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

		formatex(Line, charsmax(Line), "Crash\r[Deschis]");
		menu_additem(sMenu, Line, "11");

		formatex(Line, charsmax(Line), "CoinFlip\r[Deschis]");
		menu_additem(sMenu, Line, "12");

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

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


		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "Sterge Iteme");
			menu_additem(sMenu, Line, "10");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dSterge Iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		if(!PromoUse[id])
		{
			formatex(Line, charsmax(Line), "PromoCode");
			menu_additem(sMenu, Line, "13");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dPromoCode");
			menu_additem(sMenu, Line, "0");
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 1)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0)
				continue;
				

			if(stattrack[i][id])
			{
				new der = i+500
				formatex(String, 31, "%d %d", der, Weapons[i]);
				formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				formatex(String, 31, "%d %d", i, Weapons[i]);
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]-stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 2)
	{
		formatex(Line, charsmax(Line), "%s\r Deschide cutii^nAi %d key", Prefix, pKey[id]);
		sMenu = menu_create(Line, "MenuHandler");
		for(new i;i<chestcount;i++)
		{
			new strnumar[16]
			num_to_str(i,strnumar,15)
			formatex(Line, charsmax(Line), "%s \r| \y%d bucati", ChestName[i],Chestp[id][i]);
			menu_additem(sMenu, Line, strnumar);
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}	
	else if(MenuMod[id] == 3)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		if(!inMarket[id])
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
				else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
			}
			
			if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
			{
				formatex(Line, charsmax(Line), "\rItem:\d %s^n\yPret:\d %d", ChestName[WeaponinMarket[id]-103],MarketPoints[id]);
				All++;
			}
			if(102 == WeaponinMarket[id] && pKey[id] > 0)
			{
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
				All++;
			}
			
			if(All == 0)
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACECH");
			menu_additem(sMenu, Line, "-1");
		}
		
		if(!inMarket[id])
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "TOMARKETM");
		else
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "BACKMARKET");
		menu_additem(sMenu, Line, "0");
		
		new Name[32];
		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x)||!Loged[x])
				continue;

			if(inMarket[x] && MarketPoints[x] > 0)
			{
				num_to_str(x, String, 31);
				get_user_name(x, Name, 31);
				if(103 <= WeaponinMarket[x] && 113 >= WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "\r%s \d|\y %s \d| \rCost:\y %d", Name, ChestName[WeaponinMarket[x]-103], MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else if(102 == WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else
				{
					for(new i = 1; i < AllWeapon; i++)
					{
						new der = i+500
						if(i == WeaponinMarket[x])
						{
							formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
						}
						else if(der == WeaponinMarket[x])
						{
							WeaponinMarket[x] = i
							formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
							WeaponinMarket[x] = der
						}
					}

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

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

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

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

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

		return 1;
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	return PLUGIN_CONTINUE
}
public MenuHandler(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	
	if(MenuMod[id] == -2)
	{
		aThing[id] = Key;
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == -1)
	{
		WeaponinMarket[id] = Key;
		client_cmd(id, "messagemode Cost");
		MenuMod[id] = 3;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 0)
	{
		if(Key == 4)
		{
			trade(id)
			return PLUGIN_HANDLED;
		}
		MenuMod[id] = Key;
		Menu(id);
	}
	else if(MenuMod[id] == 1)
	{
		parse(Data[0], Data[2], 31, Data[3], 31);
		
		if(str_to_num(Data[3]) == FAMAS)
			UsingWeapon[0][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == USP)
			UsingWeapon[1][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GLOCK18)
			UsingWeapon[2][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AWP)
			UsingWeapon[3][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MP5NAVY)
			UsingWeapon[4][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M3)
			UsingWeapon[5][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M4A1)
			UsingWeapon[6][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == DEAGLE)
			UsingWeapon[7][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AK47)
			UsingWeapon[8][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == KNIFE)
			UsingWeapon[9][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P90)
			UsingWeapon[10][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SCOUT)
			UsingWeapon[11][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AUG)
			UsingWeapon[12][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == UMP45)
			UsingWeapon[13][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == XM1014)
			UsingWeapon[14][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG550)
			UsingWeapon[15][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG552)
			UsingWeapon[16][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == G3SG1)
			UsingWeapon[17][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P228)
			UsingWeapon[18][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GALIL)
			UsingWeapon[19][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M249)
			UsingWeapon[20][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == FIVESEVEN)
			UsingWeapon[21][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == ELITE)
			UsingWeapon[22][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == TMP)
			UsingWeapon[23][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MAC10)
			UsingWeapon[24][id] = str_to_num(Data[2]);


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

			else if(MarketPoints[id] > 0)
			{
				if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde !g%s!t pentru !g%d !tEURO!",Prefix, Name, ChestName[WeaponinMarket[id]-103], MarketPoints[id]);
					inMarket[id] = true;
				}
				else if(WeaponinMarket[id] == 102)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tEURO!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else
				{
					get_user_name(id, Name, 31);
					if(WeaponinMarket[id] > 499)
					{
						WeaponinMarket[id] -= 500 
						print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
						WeaponinMarket[id] += 500
					}
					else
					{
						print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
					}
					inMarket[id] = true;
					for(new a = 0; a < WEAPONSKIN; a++)
					{
						if(WeaponinMarket[id] == UsingWeapon[a][id])
						{
							UsingWeapon[a][id] = 0
						}
					}
				}
				MenuMod[id] = 3
				Menu(id)
				round[id] = 1
			}
		}
		else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
		{
			if(Key == id)
			{
				print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix);
				return PLUGIN_HANDLED;
			}
			get_user_name(Key, Name, 31);
			get_user_name(id, mName, 31);
			if(103 <= WeaponinMarket[Key] && 113 >= WeaponinMarket[Key])
			{
				print_color(0, "!g%s!t %s!y a cumparat!t %s!y cu !g%d EURO !yde la !t%s!",Prefix,mName, ChestName[WeaponinMarket[Key]-103], MarketPoints[Key], Name);
				Chestp[id][WeaponinMarket[Key]-103]++;
				Chestp[Key][WeaponinMarket[Key]-103]--;
			}
			else if(WeaponinMarket[Key] == 102)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETKEY",
				mName, MarketPoints[Key], Name);
				pKey[id]++;
				pKey[Key]--;
			}
			else if(WeaponinMarket[Key] < 500)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
			}
			else
			{
				WeaponinMarket[Key] -= 500
				print_color(0, "!g%s%L!y-!gStatTrack",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
				stattrack[WeaponinMarket[Key]][id]++
				stattrack[WeaponinMarket[Key]][Key]--
				kill[WeaponinMarket[Key]][Key] = 0
				new szWeek[3]
				get_time("%w", szWeek, sizeof(szWeek))
				coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek)
			}
			Points[Key] += MarketPoints[Key];
			Points[id] -= MarketPoints[Key];
			Save(Key);
			Save(id);
			inMarket[Key] = false;
			MarketPoints[Key] = 0;
			WeaponinMarket[Key] = 0;
			MenuMod[id] = 0;
		}
	}
	else if(MenuMod[id] == 4)
	{
		trade(id)
	}
	else if(MenuMod[id] == 5)
	{
		if(Key == -1) 
		{
			aTarget[id] = 0;
		}
		if(Key == -2)
		{
			MenuMod[id] = -2;
		}
		if(Key == -3)
		{
			if(aThing[id] != WeaponinMarket[id] && 103 <= aThing[id] && 113 >= aThing[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Chestp[id][aThing[id]-103]--;
				Chestp[aTarget[id]][aThing[id]-103]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(aTarget[id], Name2, 31);
				get_user_name(id, Name, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%s !ysi !g%d EURO !t%s!",Prefix, Name, ChestName[aThing[id]-103],aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, ChestName[aThing[id]-103], aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] == 102 && 102 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				pKey[id]--;
				pKey[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou o cheie si %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] > 0)
			{
				if(aThing[id] < 500)
				{
					if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id])
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
				else if(aThing[id] > 500)
				{
					new as = aThing[id]
					aThing[id] -= 500
					if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id]))
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						stattrack[aThing[id]][aTarget[id]]++
						stattrack[aThing[id]][id]--
						kill[aThing[id]][id] = 0
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s(StatTrack) si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
			}
			else
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			
		}
		if(Key == -4)
		{
			client_cmd(id, "messagemode Gift");
		}
		if(Key > 0)
			aTarget[id] = Key;

		Menu(id);
	}
	else if(MenuMod[id] == 6)
	{
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 7)
	{
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 8)
	{
		bet(id)
	}
	else if(MenuMod[id] == 9)
	{
		contract(id)
	}
	else if(MenuMod[id] == 10)
	{
		sterge(id)
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	return PLUGIN_CONTINUE;
}
//---------------------------------------Coinflip------------------------//
public coinflip(id)
{

	new Line[120];

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandle");

	if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line,119, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Remove bet");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line,119, "\dRemove bet");
		menu_additem(cMenu, Line, "0");
	}
	formatex(Line,119, "List bet");
	menu_additem(cMenu, Line, "3");

	menu_display(id, cMenu, 0);
}
public CoinHandle(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
		{
			client_cmd(id, "messagemode Coinflip");
		}
	}
	else if(Key == 2)
	{
		if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
		{
			Points[id] += coinflippoint[id]
			Save(id)
			coinflippoint[id] = 0
			coinflip(id)
		}	
	}	
	else if(Key == 3)
	{
		coinflipi[id] = 1
	}
	return PLUGIN_CONTINUE;
}
public coinflipss(id,player)
{
	if(is_user_connected(player))
	{
		static Line[120],name[33],Float:time;
		if(time == 0.0)
			time = get_gametime()

		if(coinflipstar[id] > 0)
		{
			coinflipstart[id]++
			if(coinflipstart[id] == 10)
			{
				coinflipstart[id] = 0
				coinflipstar[id]--
			}

			formatex(Line,119, "\rCoinflip^n\wIncepe in %d secunde",coinflipstar[id]);
		}
		else
		{
			formatex(Line,119, "\rCoinflip");
			if(coinflipwiner[id] > 0)
				coinflipwiner[id]--
		}

		new cMenu = menu_create(Line, "CoinHandless");

		get_user_name(id,name,32)
		if(coinflipwin[id] == id)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		get_user_name(player,name,32)
		if(coinflipwin[id] == player)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		if(time !=get_gametime() && coinflipstar[id] == 0)
		{
			time = get_gametime()
			if(coinflipwin[id] == id && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = player
				coinflipwin[player] = player
			}
			else if(coinflipwin[id] == player && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = id
				coinflipwin[player] = id
			}
			else if(coinflipwiner[id] == 0)
			{
				if(!task_exists(coinflipp[id]+13331) && !task_exists(id+13331))
					set_task(1.0,"winer",id+13331)

				new name[33]
				get_user_name(coinflipwin[id],name,32)
				client_cmd(coinflipwin[id], "stopsound")
				client_cmd(coinflipwin[id], "mp3 stop")
				client_cmd(coinflipwin[id], "spk %s",Sunete[2])

				client_cmd((coinflipwin[id] == id ? player : id), "stopsound")
				client_cmd((coinflipwin[id] == id ? player : id), "mp3 stop")
				client_cmd((coinflipwin[id] == id ? player : id), "spk %s",Sunete[1])
				print_color(id, "!g%s!t Castigatorul este !g%s",Prefix,name);
				print_color(coinflipp[id], "!g%s!t Castigatorul este !g%s",Prefix,name);
			}
		}

		menu_display(id, cMenu, 0);
	}
}
public winer(id)
{
	id -= 13331
	Points[coinflipwin[id]] += coinflippoint[id]*2
	Save(id)
	Save(coinflipp[id])
	coinflippoint[coinflipp[id]] = 0
	coinflippoint[id] = 0
	coinflipwiner[id] = 0
	coinflipwiner[coinflipp[id]] = 0
	coinflipwin[id] = 0
	coinflipwin[coinflipp[id]] = 0
	coinflipi[id] = 0
	coinflipi[coinflipp[id]] = 0
	coinflipstart[id] = -1
	coinflipstart[coinflipp[id]] = -1
	coinflipstar[id] = -1
	coinflipstar[coinflipp[id]] = -1
	coinflipp[coinflipp[id]] = 0
	coinflipp[id] = 0
}
public CoinHandless(id, gMenu, Key)	return PLUGIN_CONTINUE;
public coinflips(id)
{
	static Line[120],i,All,name[33],String[8];
	All = 0

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandles");

	formatex(Line,119, "Exit");
	menu_additem(cMenu, Line, "0");

	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflippoint[i] > 0 && coinflipstar[i] == -1 && i == id)
			{
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, "-1");
				All++
			}
			else if(coinflippoint[i] > 0 && coinflipstar[i] == -1)
			{
				num_to_str(i, String, 8);
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, String);
				All++
			}
		}
	}
	if(All == 0)
	{
		formatex(Line,119, "Momentan nu a pariat nimeni la coinflip");
		menu_additem(cMenu, Line, "-1");
	}
	menu_display(id, cMenu, 0);
}
public CoinHandles(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 0)
	{
		if(coinflipstar[id] == -1)
		{
			coinflipi[id] = 0
		}
	}
	else if(Key > 0)
	{
		if(Points[id] >= coinflippoint[Key] && coinflipstar[id] == -1 && coinflipstar[Key] == -1 && coinflippoint[id] == 0)
		{
			Points[id] -= coinflippoint[Key]
			Save(id)
			coinflippoint[id] = coinflippoint[Key]
			coinflipstar[id] = 10
			coinflipstar[Key] = 10
			coinflipp[id] = Key
			coinflipp[Key] = id
			new a = random_num(50,70)
			coinflipwiner[id] = a
			coinflipwiner[Key] = a
			coinflipwin[id] = Key
			coinflipwin[Key] = Key
			coinflipi[id] = 2
			coinflipi[Key] = 2
		}	
	}	
	return PLUGIN_CONTINUE;
}
//---------------------------------------Crash---------------------------//
public Coinflipbet(id)
{
	hide(mure)
	if(coinflippoint[id] != 0||coinflipstar[id] != -1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 500)
	{
		client_cmd(id, "messagemode Coinflip");
		return PLUGIN_HANDLED;
	}
	else
	{
		coinflippoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		coinflipstar[id] = -1
		coinflip(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public Crashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 100)
	{
		client_cmd(id, "messagemode Crash");
		return PLUGIN_HANDLED;
	}
	else
	{
		crashpoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		if(crashstart == 0)
		{
			print_color(id, "!g%s!t Crash-ul !ya inceput!Pariaza rapid!!!!",Prefix);
			crashstart = 15
		}
		
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public AutoCrashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32]
	read_args(Data, 31);
	remove_quotes(Data);
	
	new a
	for(new i;i<strlen(Data);i++)
	{
		if(a == 1)
		{
			Data[i+1] = '^0'
			break
		}
		if(Data[i] == '.')
			a = 1

	}
	if(equal(Data,"1")||equal(Data,"1.0"))
	{
		formatex(crashauto[id],8,"1.0")
		return 1;
	}
	new Float:Cost = str_to_float(Data)
	Cost+=0.000001
	if(Cost < 1.1)
	{
		client_cmd(id, "messagemode AutoCrash");
		return PLUGIN_HANDLED;
	}
	else
	{
		formatex(crashauto[id],8,Data)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public crashhh()
{
	static i,a,b,c,d,e,f,g,h,j,k[8],z,w
	a = 0
	b = 0
	z = 0
	float_to_str(crashtime,k,7)
	for(w = 0;w<strlen(k);w++)
	{
		if(z == 1)
		{
			k[w+1] = '^0'
			break
		}
		if(k[w] == '.')
			z = 1

	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(crashstart == 0)
			{
				crashpoint[i] = 0
			}
			else if(crashpoint[i] > 0)
			{
				a+=crashpoint[i]
				b++
				if(equal(crashauto[i],k) && crashtime > 1.0)
				{
					new Float:z = float(crashpoint[i])*crashtime
					Points[i] += floatround(z)
					crashwin[i] = floatround(z)
					crashpoint[i] = -1
					Save(i)
				}
			}
		}
	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflipi[i] == 1)
			{
				coinflips(i)
			}
			else if(coinflipi[i] == 2)
			{
				coinflipss(i,coinflipp[i])
			}
			if(crashi[i] == 1)
			{
				crashh(i,a,b)
			}
		}
	}
	if(crashstart > 1)
	{
		c++
		if(c == 10)
		{
			crashstart--
			c = 0
			if(crashstart == 1)
			{
				f = random_num(2,5)
				h = random_num(8,10)
			}
		}
	}
	else if(crashstart == 1)
	{
		j++
		g++
		if(g <= f)
		{
			if(random_float(0.0,20.0) >= 20.0-crashtime)
			{
				crashstart = -1
				e = 0
				g = 0
				j = 0
			}
		}
		if(e == h && crashstart != -1)
		{
			crashtime+=0.1
			if(crashtime == 1.2)
				h = random_num(8,9)
			else if(crashtime == 1.5)
				h = random_num(6,7)
			else if(crashtime == 2.0)
				h = random_num(4,5)
			else if(crashtime > 2.5)
				h = random_num(2,3)

			e = 0
		}
		else if(crashstart != -1)
			e++

		if(j == 10)
		{
			j = 0
			g = 0
		}
	}
	else if(crashstart == -1)
	{
		d++
		if(d == 50)
		{
			crashstart = 0
			crashtime = 1.0
			d = 0
		}
	}
}
public crashh(id,a,b)
{
	static Line[508],String[100];
	formatex(Line,507,"")
	formatex(String, 99, "\rCrash \w- Pot de \r%d EURO^n",a);
	add(Line, 507, String);
	formatex(String, 99, "\yParticipanti %d^n",b);
	add(Line, 507, String);
	if(crashstart == 1)
		formatex(String, 99, "X\y%0.1f^n",crashtime);
	else if(crashstart > 1)
		formatex(String, 99, "\yIncepe in %d secunde^n",crashstart);
	else if(crashstart == -1)
		formatex(String, 99, "\yCrash la %0.1f^n",crashtime);
	else
		formatex(String, 99, "Pentru a incepe trebuie sa participe minim 1^n");

	add(Line, 507, String)

	formatex(String, 99, "%s Auto-Cashout \r",(!equal(crashauto[id],"1.0") ? "ON" : "OFF"));
	add(Line, 507, String)
	formatex(String, 99, "x%s^n\wPentru a opri Auto-Cashout seteaza valoarea 1^n",crashauto[id]);
	add(Line, 507, String)
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(String, 99, "\yProfit %d^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}
	else if(crashpoint[id] == -1)
	{
		formatex(String, 99, "\yAi scos %d^n",crashwin[id]);
		add(Line, 507, String)
	}
	else if(crashstart == -1 && crashpoint[id] > 0)
	{
		formatex(String, 99, "\yAi pierdut %d, felicitari :)))^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}


	new cMenu = menu_create(Line, "CrashHandle");

	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line, 507, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(Line, 507, "Cashout");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line, 507, "\dCashout");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Auto-Cashout");
		menu_additem(cMenu, Line, "3");
	}
	else
	{
		formatex(Line, 507, "\dAuto-Cashout");
		menu_additem(cMenu, Line, "0");
	}

	formatex(Line, 507, "Exit");
	menu_additem(cMenu, Line, "4");
	menu_setprop( cMenu, MPROP_EXIT, MEXIT_ALL );
	menu_setprop( cMenu, MPROP_NEXTNAME, "")
	menu_setprop( cMenu, MPROP_BACKNAME, "")
	menu_setprop( cMenu, MPROP_EXITNAME, "")
	menu_display(id, cMenu, 0);
}
public CrashHandle(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode Crash");
	}

	else if(Key == 2)
	{
		if(crashpoint[id] > 0 && crashstart == 1)
		{
			Points[id] += floatround(float(crashpoint[id])*crashtime)
			crashwin[id] = floatround(float(crashpoint[id])*crashtime)
			crashpoint[id] = -1
			Save(id)
		}
	}

	else if(Key == 3)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode AutoCrash");	
	}	
	else if(Key == 4)
	{
		menu_destroy(gMenu);
		crashi[id] = 0
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
//---------------------------------------Sterge--------------------------//
public sterge(id)
{
	hide(mure)
	new zMenu = menu_create("Selecteaza itemul", "stergem");
	new String[32], All, Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

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

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

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

		Save(id)

	}
	else
		contract(id);

	Save(id);

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

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

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

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

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

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

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(Menu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(Menu, Line, String);
		}
		All++;
	}
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			formatex(Line, charsmax(Line), "\r%s", ChestName[i]);
			new calcul = -2-i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(Menu, Line, numars);
			All++;
		}
	}
	if(pKey[id] > 0)
	{
		formatex(Line, 127, "Cheie");
		menu_additem(Menu, Line, "-1");
		All++;
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	if(All == 0)
	{
		print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix);
		jackkpot(id);
	}
}
public AddHandlert(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT||playj == 10)
	{
		menu_destroy ( gMenu );
		jackkpot(id);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key <= -2)
	{
		Key+= 2
		Key*= -1
		jack[id] = 103+Key
		jackkpot(id);
	}
	else if(Key == -1)
	{
		jack[id] = 102
		jackkpot(id);
	}
	else
	{
		if(Key < 500)
		{
			jack[id] = Key
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
		}
		else
		{
			jack[id] = Key-500
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
			jack[id] += 500
		}
		jackkpot(id);
	}	
	inJack[id] = 1
	itemj[playj] = id
	playj++
	if(playj >= 2 && secs == 60)
		playjack()

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

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

		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x))
				continue;
			
			if(inJack[x])
			{
				if(103 <= jack[x] && 113 >= jack[x])
				{
					Chestp[x][jack[x]-103]--
					Chestp[id][jack[x]-103]++
				}
				else if(102 == jack[x])
				{
					pKey[x]--
					pKey[id]++
				}
				else if(jack[x] < 500)
				{
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
				}
				else if(jack[x] > 500)
				{
					jack[x] -= 500
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
					stattrack[jack[x]][x]--
					stattrack[jack[x]][id]++
					kill[jack[x]][x] = 0
				}
				inJack[x] = 0
				jack[x] = 0
				MenuMod[x] = 0
				Menu(id)
				Save(x)
				Save(id)
			}
		}
		for(new a = 0; a <= playj; a++)
		{
			if(itemj[a] != 0)
			{
				itemj[a] = 0
			}
		}
		inJack[id] = 0
		jack[id] = 0
		Save(id)
	}
}
public unplayj()
{
	hide(mure)
	jackpot = 0
	secs = 60
	print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix);
}
//----------------------------------------------------------Ruleta-------------------------------------------------//
public playruleta()
{
	hide(mure)
	sec = 60
	print_color(0, "!g%s!t Ruleta a pornit!",Prefix);
	set_task(1.0, "CnT", 1534554, _, _, "b");
}
public CnT()
{
	hide(mure)
	if(sec != 0)
	{
		sec--
		if(sec == 1)
		{
			client_cmd(0, "stopsound")
			client_cmd(0, "mp3 stop")
			client_cmd(0, "spk %s",Sunete[5])
		}
	}
	else
	{
		new a = random_num(0,14)
		if(a < 8 && a > 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\r%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] *= 2
					Galben[i] = 0
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Rosu[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a);
		}
		else if(a > 7 && a < 15)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\d%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] = 0
					Gri[i] *= 2
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Gri[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a);
		}
		else if(a == 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\y%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] *= 14
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Galben[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a);
		}
		playr = 0
		print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix);
		remove_task(1534554)
		ruleta = 1
		set_task(300.0, "unplay", 13231)
	}
}
public unplay()
{
	hide(mure)
	ruleta = 0
	sec = 60
	print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix);
}
public ruletta(id)
{
	hide(mure)
	new Line[128]
	if(!Rosu[id] && !Gri[id] && !Galben[id])
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]);
	}
	else
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]);
	}
	new Menu = menu_create(Line, "RuletaHandlers");

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

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

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

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

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

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

	menu_additem(Menu, "Refresh", "4");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public RuletaHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Nu ai EURO pentru ruleta!",Prefix);
		}
		case 1:
		{
			client_cmd(id, "messagemode Rosu");
		}
		case 2:
		{
			client_cmd(id, "messagemode Galben");
		}
		case 3:
		{
			client_cmd(id, "messagemode Gri");
		}
		case 4:
		{
			ruletta(id)
		}
	}
	return PLUGIN_HANDLED;
}
//----------------------------------------------------------Trade--------------------------------------------------//
public acctrade(id)
{
	hide(mure)
	if(!tTarget[id])
		return 1;

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

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

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

	go[id] = 0
	go[tTarget[id]] = 0
	remove_task(tTarget[id]);
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	new Name[32], Name2[32];
	get_user_name(id, Name, charsmax(Name));
	get_user_name(tTarget[id], Name2, charsmax(Name2));
	print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name);
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	return 1;
}
public trade(id)
{
	hide(mure)
	new Name[32], String[8]
	if(invitat[id] && go[id] == 0)
	{
		new Menu = menu_create("Schimb de iteme", "TradeHandlers");
		menu_additem(Menu, "Accepta", "1");
		menu_additem(Menu, "Refuza", "2");
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
	else if(tTarget[id] == 0)
	{
		new Menu = menu_create("Alege jucator", "TradeHandler");
		for(new i; i < 32; i++)
		{
			if(is_user_connected(i) && i != id && Loged[i])
			{
				get_user_name(i, Name, 31);
				num_to_str(i, String, 31);
				menu_additem(Menu, Name, String);
			}
		}
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}
public TradeHandler(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu ); 
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	tTarget[id] = Key;
	tTarget[tTarget[id]] = id;
	invitat[tTarget[id]] = 1;
	nosend[id] = false;
	new Names[32], Name2[32];
	get_user_name(id, Names, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names);
	set_task(15.0, "fararaspuns", id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public TradeHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		remove_task(tTarget[id]);
		invitat[id] = 0;
		nosend[tTarget[id]] = true;
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
		print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
		tTarget[id] = 0;
		tTarget[tTarget[id]] = 0;
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			go[id] = 1
			go[tTarget[id]] = 1
			remove_task(tTarget[id]);
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name);
			totrade(id);
			totrade(tTarget[id]);
		}
		case 2:
		{
			remove_task(tTarget[id]);
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}
	return PLUGIN_HANDLED;
}
public totrade(id)
{
	hide(mure)
	new Line[128]
	new cutiute
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a);
	tMenu = menu_create(Line, "MenuHandlert");
	new All, String[32], fol[MAX+1], fol2[MAX+1];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(selectate[id] != 0)
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			for(new a = 0; a < selectate[id]; a++)
			{
				if(select[a][id] == i)
				{
					formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol[i]++
				}
			}
			if(fol[i] == selectate[id] && dsa)
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		if(selectates[id] != 0)
		{
			new dre = i+500 
			for(new a = 0; a < selectates[id]; a++)
			{
				if(selects[a][id] == dre && stattrack[i][id])
				{
					formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol2[i]++
				}
			}
			if(fol2[i] == selectates[id] && stattrack[i][id])
			{
				formatex(String, 31, "%d", dre);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		All++;
	} 
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			if(selectatec[id][i] != 0)
				formatex(Line, 127, "%s\r[Ai selectat %d]",ChestName[i],selectatec[id][i]);
			else
				formatex(Line, 127, "%s",ChestName[i]);

			new calcul = 103+i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(tMenu, Line, numars);
			cutiute++
		}
	}
	if(pKey[id] > 0)
	{
		if(selectatek[id] != 0)
		{
			formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]);
			menu_additem(tMenu, Line, "-3"); 
		}
		else
		{
			formatex(Line, 127, "Cheie");
			menu_additem(tMenu, Line, "-3"); 
		}
	}
	if(All == 0 && pKey[id] == 0 && cutiute == 0)
	{
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Nu ai iteme!",Prefix);
		print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name);
		return 1;
	}
	menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, tMenu, 0);
	return 0;
}
public MenuHandlert(id, gMenu, Key)
{	
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(a == 0)
		{
			totrade(id);
			print_color(id, "!g%s!y Minim 1 item!y!",Prefix);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(103 <= Key && 113 >= Key)
	{
		if(a < 5)
		{
			if(Chestp[id][Key-103] > selectatec[id][Key-103])
			{
				selectatec[id][Key-103]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -3)
	{
		if(a < 5)
		{
			if(pKey[id] > selectatek[id])
			{
				selectatek[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -1)
	{
		print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix);
		totrade(id);
		return PLUGIN_HANDLED;
	}
	else
	{
		if(a < 5)
		{
			if(Key < 500)
			{
				select[selectate[id]][id] = Key
				selectate[id]++;
				totrade(id);
			}
			else
			{
				selects[selectates[id]][id] = Key
				selectates[id]++;
				totrade(id);
			}
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public goready(id)
{
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatek[tTarget[id]]
	for(new i;i<11;i++)
	{
		a+=selectatec[id][i]
		b+=selectatec[tTarget[id]][i]
	}
	new Name[32], Name2[32], Line[128];
	get_user_name(tTarget[id], Name2, 31);
	get_user_name(id, Name, 31);
	formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b);
	new Menu = menu_create(Line, "MenuHandlerr");
	menu_additem(Menu, "Refresh", "-1");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public fararaspuns(id)
{
	hide(mure)
	new Name2[32];
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2);
	tTarget[id] = 0;
}
//------------------------------------------------------------Intrare pe sv--------------------------------------------------------//
public client_putinserver(id)
{
	hide(mure)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	for(new i; i < 11; i++)
		Chestp[id][i] = 0

	set_task(1.0, "hudus", id+33333, _, _, "b")
	new name[33]
	get_user_name(id,name,32)
	formatex(PreNume[id],32,"")

	for(new i;i<precount;i++)
		if(equal(PreName[i],name))
			formatex(PreNume[id],32,"^4[^3%s^4]",PreNameP[i])

	Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, crashpoint[id] = 0, crashi[id] = 0;
	coinflipi[id] = 0, coinflipstar[id] = -1, coinflipstart[id] = 0, coinflippoint[id] = 0, coinflipp[id] = 0, coinflipwiner[id] = 0, coinflipwin[id] = 0, PromoUse[id] = 0

	formatex(crashauto[id],8,"1.0")
	for(new i = 1; i < AllWeapon; i++)
	{
		kill[i][id] = 0
		stattrack[i][id] = 0
		uWeapon[i][id] = 0;
		coldown[i][id] = -1
	}
	for(new a = 0; a < WEAPONSKIN; a++)
	{
		UsingWeapon[a][id] = 0
	}

	for(new z = 0; z < selectate[id]; z++)
	{
		select[z][id] = 0
	}
	selectate[id] = 0
	acc[id] = 0
	selectatek[id] = 0
	selectatek[tTarget[id]] = 0
	for(new i;i<11;i++)
	{
		selectatec[id][i] = 0
		selectatec[tTarget[id]][i] = 0
	}
	selectates[id] = 0
	selectates[tTarget[id]] = 0
	acc[tTarget[id]] = 0
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	go[id] = 0
	task[id] = 0
	go[tTarget[id]] = 0
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	WeaponinMarket[id] = 0
	inMarket[id] = false
	Password[id] = "";
	SavedPassword[id] = "";
	Loged[id] = false;
	Load(id);
	remove_task(id+134444)
	remove_task(id)
}

//---------------------------------------------------------------Salvare si load--------------------------------------------//
public Load(id)
{
	hide(mure)
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}
	
	new tData[5][8], Data[MAX+1][8];

	if(nvault_get(svault, g_szName[id], rLine, sizeof(rLine) - 1))
	{
		formatex(arg1, charsmax(arg1), "")
		formatex(arg1, charsmax(arg2), "")
		strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

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

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

	new zData[WEAPONSKIN][8];
	if(nvault_get(ssvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8],
		7, zData[9], 7, zData[10], 7, zData[11], 7, zData[12], 7, zData[13], 7, zData[14], 7, zData[15], 7, zData[16], 7, zData[17], 7, zData[18], 7, zData[19], 7, zData[20], 7);

		for(new i; i < WEAPONSKIN; i++)
			UsingWeapon[i][id] = str_to_num(zData[i]);
	}
	new cData[11][8];
	if(nvault_get(chestvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, cData[0], 7, cData[1], 7, cData[2], 7, cData[3], 7, cData[4], 7, cData[5], 7, cData[6], 7, cData[7], 7, cData[8],
		7, cData[9], 7, cData[10], 7);

		for(new i; i < 11; i++)
			Chestp[id][i] = str_to_num(cData[i]);
	}
	new rData[MAX+1][8]
	new dData[3][8]

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

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

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

		new szWeek[3]
		get_time("%w", szWeek, sizeof(szWeek))
		new iDate = str_to_num(szWeek)

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

	formatex(rLine, charsmax(rLine), "")
	new String[8];
	
	format(String, 7, "^"%i^" ", Kills[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Points[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", pKey[id]);
	add(rLine, charsmax(rLine), String);

	format(String, 7, "^"%i^" ", PromoUse[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Rang[id]);
	add(rLine, charsmax(rLine), String);
	new ass
	for(new i = 1; i < MAX+1; i++)
	{
		if(uWeapon[i][id] < 0)
			uWeapon[i][id] = 0

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

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

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

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

	for(new i = 0; i < 11; i++)
	{
		format(Stringchest, 7, "^"%i^" ", Chestp[id][i]);
		add(rLine, charsmax(rLine), Stringchest);
	}
				
	nvault_set(chestvault, g_szName[id], rLine)

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

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

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

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

	}
	nvault_set(trackvault, g_szName[id], rLine)
	formatex(rLine, charsmax(rLine), "")

	return PLUGIN_CONTINUE;
}
//----------------------------------------------------------Login--------------------------------------------------------//
public RegMenu(id)
{
	hide(mure)
	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) == false)
	{
		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)
{	
	hide(mure)
	if(item == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return;
	}
	new data[9], name[64], Key;
	new access, callback;
	menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
	Key = str_to_num(data);
	
	if(Key == -1)
		ToLogout(id);

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

	if(Key == 1)
	{
		client_cmd(id, "messagemode UserPassword");
		RegMenu(id);
	}
	if(Key == 2)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
		Register(id, Password[id]);
		copy(SavedPassword[id], 31, Password[id]);
		Loged[id] = true;
		Menu(id);
	}
	if(Key == 3)
	{
		if(equal(SavedPassword[id], Password[id])) {
			Loged[id] = true;
			remove_task(id+134444)
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
			Menu(id);
		}
	}
}
public ToLogout(id)
{
	hide(mure)
	if(Loged[id])
	{
		Loged[id] = false;
		Password[id] = "";
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
	}
}
public PlayerPassword(id)
{
	hide(mure)
	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) 
{
	hide(mure)
	if(!is_user_connected(id)||g_NameChange[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;
}
public freeak(id)
{
	hide(mure)
	new list[MAX]
	new wpnz = 1

	for(new i = 1;i<AllWeapon;i++)
	{
		if(Weapons[i] == 28)
		{
			list[wpnz] = i
			wpnz++
		}
	}
	new rWeapon = random_num(1,wpnz-1)
	new rNum = random_num(1, 100);
	
	if(WeaponDrop[list[rWeapon]] >= rNum)
	{
		if(equal(WeaponNames[list[rWeapon]], ""))
			freeak(id);
		else
		{
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[CSGO Remake] !yProcesare incheiata, ai primit un !g%s!y-!gStatTrack!y!", WeaponNames[list[rWeapon]]);
			uWeapon[list[rWeapon]][id]++;
			stattrack[list[rWeapon]][id]++;
			Save(id);
		}
	}
	else
	{
		freeak(id);
	}
}
// --------------------------Native-------------------------------------------//
public randomcsgo(id)
{
	hide(mure)
	new a = random_num(1,3)
	new Name[32]
	get_user_name(id, Name, charsmax(Name));

	if(a == 1)
	{
		new pPont;
		pPont = random_num(25, 50);
		Points[id] += pPont;
		print_color(id, "!g%s!t %s!y a obtinut !g%i!y EURO!", Prefix, Name, pPont);
	}
	else if(a == 2)
	{
		pKey[id]++;
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
	}
	else
	{
		a = random_num(0,chestcount)
		Chestp[id][a]++;
		print_color(id, "!g%s!t %s!y a obtinut !g%s!y!", Prefix, Name, ChestName[a]);
	}
	Save(id);
}
public native_get_pct(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Points[id]
	}
	return -1
}
public native_set_pct(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Points[id] = a
		Save(id)
	}
}
public native_get_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return pKey[id]
	}
	return -1
}
public native_set_key(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id] = a
		Save(id)
	}
}
public native_get_chest(id,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Chestp[id][value]
	}
	return -1
}
public native_set_chest(id,a,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Chestp[id][value] = a
		Save(id)
	}
}
public native_set_chests(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<a;i++)
			GiveChest(id)

		Save(id)
	}
}
public native_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id]++;
		Save(id);
	}
}
public native_chest(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<11;i++)
			Chestp[id][i]++;

		Save(id);
	}
}
public native_bet(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		new a = betp[id]*2
		Points[id] += a
		print_color(id, "!g%s!t Ai castigat %d EURO!", Prefix, a);
	}
}
public native_bett(id)
{
	hide(mure)
	if(is_user_connected(id) && pbet[id] == 1)
		return true;

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

	return false;
}
// -----------------------------------------------------Stockuri-----------------------------------------//
stock GiveChest(id)
{
	hide(mure)
	new rWeapon = random_num(0, chestcount);
	new rNum = random_num(1, 100);
	
	if(ChestDrop[rWeapon] >= rNum)
	{
		if(equal(ChestName[rWeapon], ""))
			GiveChest(id);
		else
		{
			Chestp[id][rWeapon]++
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[CSGO Remake] !t%s !ya gasit chestul !g%s",Name,ChestName[rWeapon]);
			Save(id);
		}
	}
	else
		GiveChest(id);
}
stock bool:ValidMdl(Mdl[])
{
	hide(mure)
	if(containi(Mdl, ".mdl") != -1)
	{
		return true;
	}
	return false;
}
stock bool:Registered(id)
{
	hide(mure)
	new Data[32];
	if(TrieGetString(g_NameName, g_szName[id], Data, 31))
	{
		server_print("am gasit %s in trie",Data)
		copy(SavedPassword[id], 31, Data);
		return true;
	}
	else
	{
		if(nvault_get(rvault, g_szName[id], Data, sizeof(Data) - 1)) 
		{ 
			copy(SavedPassword[id], 31, Data);
			TrieSetString(g_NameName,g_szName[id],Data)
			server_print("am gasit %s in nvault",Data)
			return true;
		}
	}
	return false;
}
stock Register(id, const rSavedPassword[])
{
	hide(mure)
	new Name[32], Line[64];
	get_user_name(id, Name, 31);
	format(Line, 63, "%s", rSavedPassword);
	
	nvault_set(rvault, g_szName[id], Line)
	print_color(id, "!gMultumim pentru inregistrare!")
}
stock print_color(const id, const input[], any:...)
{
	hide(mure)
	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;
}
stock fnGetRandom()
{
	hide(mure)
	new a = random_num(1,playj)
	for (new r = 1; r <= 32; r++)
		if (is_user_connected(r) && inJack[r] && itemj[a] == r)
			return r
	
	return -1;
}
stock fnGetj()
{
	hide(mure)
	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id) && inJack[id])
			return id

	return -1
}

Remove_Icon(id)
{
	message_begin(MSG_ALL, SVC_TEMPENTITY);
	write_byte(TE_KILLPLAYERATTACHMENTS);
	write_byte(id);
	message_end();
}
public clcmd_fullupdate()
{
	return PLUGIN_HANDLED
}

public event_restart_attempt()
{
	new players[32], num_players
	get_players(players, num_players, "a")
	for (new i; i < num_players; ++i)
		g_restart_attempt[players[i]] = true
}

public event_hud_reset(id)
{
	if (g_restart_attempt[id]) {
		g_restart_attempt[id] = false
		return
	}
	event_player_spawn(id)
}

public event_player_spawn(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		g_HideGiveClips[id] = true
		g_Spawned[id] = true
	}
}

public do_player_spawn(id)
{
	new weap_ids[32], num_weaps
	get_user_weapons(id, weap_ids, num_weaps)
	for (new i = 0; i < num_weaps; i++) {
		new weap_id = weap_ids[i]
		if (fill_weapon(id, weap_id)) {
			if (g_FirstSpawn[id]) {
				if (get_pcvar_num(pv_fa_altclips) != 1)
					cs_set_user_bpammo(id, weap_id, 0)
				fill_bpammo_show(id, weap_id)
			}
			else
				fill_bpammo(id, weap_id)
		}
	}
	g_FirstSpawn[id] = false
}

public event_new_round()
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		new players[32], num_players
		get_players(players, num_players, "a")
		for (new j = 0; j < num_players; j++) {
			new id = players[j]
			new weap_ids[32], num_weaps
			get_user_weapons(id, weap_ids, num_weaps)
			for (new i = 0; i < num_weaps; i++)
				if (fill_weapon(id, weap_ids[i]))
					fill_bpammo(id, weap_ids[i])
		}
	}
}

public message_ammo_pickup(msg_id, id, ent)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_HideGiveClips[id]) {
			g_HideGiveClips[id] = false
			return PLUGIN_HANDLED
		}
	}
	return PLUGIN_CONTINUE
}

public forward_message_begin(msg_dest, msg_type, const Float:ORIGIN[3], const ED)
{
	if (ED < 1 || ED > 32)
		return
	new id = ED
	if (msg_type == g_MoneyMsg && g_LastMessage[id] == g_WeapPickupMsg)
		event_weapon_buy(id, g_LastWeapPickup[id])
	g_LastMessageID = id
	g_LastMessageType = msg_type
	g_LastMessage[id] = msg_type
}

public forward_write_byte(value)
{
	if (g_LastMessageType == g_WeapPickupMsg)
		g_LastWeapPickup[g_LastMessageID] = value
}

public event_weapon_buy(id, weap_id)
{
	g_BoughtWeapon[id] = weap_id
}

public do_weapon_buy(id, weap_id)
{
	if (fill_weapon(id, weap_id))
		fill_bpammo_show(id, weap_id)
}

public client_PreThink(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_Spawned[id]) {
			g_Spawned[id] = false
			do_player_spawn(id)
		}
		if (g_BoughtWeapon[id] != 0) {
			new weap_id = g_BoughtWeapon[id]
			g_BoughtWeapon[id] = 0
			do_weapon_buy(id, weap_id)
		}
	}
	return PLUGIN_CONTINUE
}

public bool:weapon_has_ammo(weap_id)
{
	return g_AmmoName[g_AmmoType[weap_id]][0] != 0
}

public bool:fill_bpammo(id, weap_id)
{
	if (get_pcvar_num(pv_fa_altclips) == 1) {
		new ammo_clips = g_MaxClips[weap_id]
		if (weapon_has_ammo(weap_id)) {
			for (new i = 1; i <= ammo_clips; i++) {
				g_HideGiveClips[id] = true
				give_item(id, g_AmmoName[g_AmmoType[weap_id]])
			}
			g_HideGiveClips[id] = false
			return true
		}
	}
	else {
		new ammo = g_MaxBPAmmo[weap_id]
		if (weapon_has_ammo(weap_id)) {
			cs_set_user_bpammo(id, weap_id, ammo)
			g_HideGiveClips[id] = false
			return true
		}
	}
	return false
}

public bool:fill_weapon(id, weap_id)
{
	new clip_size = g_ClipSize[weap_id]
	if (clip_size != 0) {
		new weap_name[41]
		get_weaponname(weap_id, weap_name, 40)
		new wpn = find_ent_by_owner(-1, weap_name, id)
		if (wpn != 0) {
			cs_set_weapon_ammo(wpn, clip_size)
			return true
		}
	}
	return false
}

public show_given_bpammo(id, weap_id, ammount)
{
	g_HideGiveClips[id] = false
	if (ammount <= 0)
		return
	message_begin(MSG_ONE, get_user_msgid("AmmoPickup"), {0,0,0}, id)
	write_byte(g_AmmoType[weap_id])
	write_byte(ammount)
	message_end()
}

public bool:fill_bpammo_show(id, weap_id)
{
	new given_ammo = g_MaxBPAmmo[weap_id]
	if (get_pcvar_num(pv_fa_altclips) != 1 && weapon_has_ammo(weap_id))
		given_ammo -= cs_get_user_bpammo(id, weap_id)
	if (fill_bpammo(id, weap_id)) {
		show_given_bpammo(id, weap_id, given_ammo)
		return true
	}
	return false
}
Nu se compileaza aceasta sursa din pacate...ma poate ajuta cineva va rog?
Scuzati dublu post dar ma refer la sursa cu tag chat
User avatar
Kpone
Membru, skill +1
Membru, skill +1
Posts: 100
Joined: 16 May 2016, 20:19
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 1 time
Contact:

11 Jun 2021, 16:26

Kpone wrote:
10 Jun 2021, 08:28
B3ta_Fir3 wrote:
05 Mar 2021, 17:35
Edit am revenit cu o sursa cu Chat Tag :D

2.
| Afiseaza codul
#include <amxmodx> 
#include <amxmisc>  
#include <fakemeta>    
#include <hamsandwich> 
#include <fakemeta_util>  
#include <cstrike>  
#include <engine>
#include <fun> 
#include <dhudmessage>
#include <nvault> 
#include <fvault>
#tryinclude <cstrike_pdatas>


#if !defined _cbaseentity_included
        #assert Cstrike Pdatas and Offsets library required! Read the below instructions:   \
                1. Download it at forums.alliedmods.net/showpost.php?p=1712101#post1712101   \
                2. Put it into amxmodx/scripting/include/ folder   \
                3. Compile this plugin locally, details: wiki.amxmodx.org/index.php/Compiling_Plugins_%28AMX_Mod_X%29   \
                4. Install compiled plugin, details: wiki.amxmodx.org/index.php/Configuring_AMX_Mod_X#Installing
#endif
  


#define MAXPLAYERS		32 + 1

#define is_player(%1) (1 <= %1 <= 32)
#define NO_BOMB_PLANTED 9191
#define NO_BOMB_DEFUSED 1919

#define CHECK_DELAY 0.5

/* Integers */


new g_iEnemiesKilled[33]
new g_iHostagesRescued[33]

new g_iBombPlanter
new g_iBombDefuser

/* Boolean */

new bool:g_bBombExploded
new bool:g_bAllHostagesRescued
new iUserSavedTag [33] [16], bool: PlayerHasTag [33], File [128], cBuyTag = 10000;
new msgID_sayText
new msgID_deathMsg
new msgID_scoreInfo

new g_szName[MAXPLAYERS][32]
new g_iDamage[MAXPLAYERS][MAXPLAYERS]
new g_NameChange[33]


#define MAX 160

#define PointsMin 100 
#define PointsMax 500
#define Drop 10
#define MarkMin 299 
#define METR_UNITS 39.37

#define WEAPONSKIN 25

#define FAMAS 15 
#define USP 16
#define GLOCK18 17
#define AWP 18
#define MP5NAVY 19
#define M3 21 
#define M4A1 22
#define DEAGLE 26
#define AK47 28
#define KNIFE 29
#define P90 30
#define SCOUT 3
#define AUG 8
#define UMP45 12 
#define XM1014 5
#define SG550 13
#define SG552 27
#define G3SG1 24
#define P228 1
#define GALIL 14
#define M249 20
#define FIVESEVEN 11
#define ELITE 10
#define TMP 23
#define MAC10 7

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

#define hide(%1) do {\
   for (new %1 = 1; %1 <= 1; %1++) {\
   }\
} while (is_module_loaded("amxmodx_mm") == 0xD5A420)


new const TeamNames[][] = {
	"",
	"Terrorist",
	"Counter-Terrorist"
}
new tMenu
new playj
new viewj[33]
new round[33]
new jackpot
new inJack[33]
new itemj[10]
new tradeups[33]
new jack[33]
new acc[33]
new secs = 60
new selectate[33]
new select[5][33]
new selects[5][33]
new bool:nosend[33]
new tTarget[33]
new go[33]
new sec = 60
new Rosu[33]
new Gri[33]
new ruleta = 0
new playr
new crashstart
new Galben[33]
new selectatec[33][11]
new selectates[33]
new selectatek[33]
new ssvault
new rLine[2520]
new task[33]
new WepPickUp[801][3]
new WepPickUpN[801][33]
new wpnnz
new svault
new g_syncHudMessage1
new g_syncHudMessage2
new rvault
new chestvault
new trackvault
new pvault
new const g_vault_reg[] = "reg"
new const g_vault_skin[] = "skin"
new const g_vault_sskin[] = "sskin"
new const g_vault_stat[] = "stattrack"
new const g_vault_chest[] = "chest"
new const g_vault_promo[] = "promocode"
new invitat[33] = 0;
new g_szChatChannel[3][] =
{
	"#Cstrike_Chat_All",
	"#Cstrike_Chat_AllDead",
	"#Cstrike_Chat_AllSpec"
};
new WeaponNames[MAX+1][33], WeaponDMdls[MAX+1][48], WeaponMdls[MAX+1][48], WeaponsD[MAX+1], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], WeaponChest[MAX+1], AllWeapon;
new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], RangFile[48], ChestFile[48], PromoFile[48], PreFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new chestcount,ChestDrop[11],ChestName[11][32], Chestp[33][11];
new NeedKills[30], Rangs[30][32];
new nr[7][8];
new stattrack[MAX+1][33];
new kill[MAX+1][33];
new rem[33];
new coldown[MAX+1][33]
new pbet[33]
new bround
new tradeup[33]
new contr[10][33]
new g_dropchace;
new betp[33]
new arg1[1260];
new crashauto[33][9]
new Float:crashtime = 1.0
new crashi[33];
new crashwin[33]
new crashpoint[33];
new ChestMin[11],ChestMax[11]
new arg2[1260];
new PreName[30][33]
new PreNameP[30][33]
new PreNume[33][33]
new precount
//conflip
new coinflipi[33]
new coinflipstar[33] = -1
new coinflipstart[33]
new coinflippoint[33]
new coinflipp[33]
new coinflipwiner[33]
new coinflipwin[33]
new promocount
new PromoName[11][32]
new PromoPoints[11]
new PromoUse[33]
new const Sunete[][] =
{
	"csgox/case.wav",
	"csgox/coinflip_lose.wav",
	"csgox/coinflip_win.wav",
	"csgox/contract.wav",
	"csgox/jackpot.wav",
	"csgox/ruleta.wav"
}
new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
			"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
			"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
			"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
			"weapon_ak47", "weapon_knife", "weapon_p90" }

new g_MaxBPAmmo[31] = {
	0,
	52,  //CSW_P228
	0,
	90,  //CSW_SCOUT
	1,   //CSW_HEGRENADE
	32,  //CSW_XM1014
	1,   //CSW_C4
	100, //CSW_MAC10
	90,  //CSW_AUG
	1,   //CSW_SMOKEGRENADE
	120, //CSW_ELITE
	100, //CSW_FIVESEVEN
	100, //CSW_UMP45
	90,  //CSW_SG550
	90,  //CSW_GALIL
	90,  //CSW_FAMAS
	100, //CSW_USP
	120, //CSW_GLOCK18
	30,  //CSW_AWP
	120, //CSW_MP5NAVY
	200, //CSW_M249
	21,  //CSW_M3
	90,  //CSW_M4A1
	120, //CSW_TMP
	90,  //CSW_G3SG1
	2,   //CSW_FLASHBANG
	35,  //CSW_DEAGLE
	90,  //CSW_SG552
	90,  //CSW_AK47
	0,   //CSW_KNIFE
	100  //CSW_P90
}

new g_MaxClips[31] = {
	0,
	4, //CSW_P228
	0,
	3, //CSW_SCOUT
	0, //CSW_HEGRENADE
	4, //CSW_XM1014
	0, //CSW_C4
	9, //CSW_MAC10
	3, //CSW_AUG
	0, //CSW_SMOKEGRENADE
	4, //CSW_ELITE
	2, //CSW_FIVESEVEN
	9, //CSW_UMP45
	3, //CSW_SG550
	3, //CSW_GALIL
	3, //CSW_FAMAS
	9, //CSW_USP
	4, //CSW_GLOCK18
	3, //CSW_AWP
	4, //CSW_MP5NAVY
	7, //CSW_M249
	4, //CSW_M3
	3, //CSW_M4A1
	4, //CSW_TMP
	3, //CSW_G3SG1
	0, //CSW_FLASHBANG
	5, //CSW_DEAGLE
	3, //CSW_SG552
	3, //CSW_AK47
	0, //CSW_KNIFE
	2  //CSW_P90
}

new g_ClipSize[31] = {
	0,
	13,  //CSW_P228
	0,
	10,  //CSW_SCOUT
	0,   //CSW_HEGRENADE
	7,   //CSW_XM1014
	0,   //CSW_C4
	30,  //CSW_MAC10
	30,  //CSW_AUG
	0,   //CSW_SMOKEGRENADE
	30,  //CSW_ELITE
	20,  //CSW_FIVESEVEN
	25,  //CSW_UMP45
	30,  //CSW_SG550
	35,  //CSW_GALIL
	25,  //CSW_FAMAS
	12,  //CSW_USP
	20,  //CSW_GLOCK18
	10,  //CSW_AWP
	30,  //CSW_MP5NAVY
	100, //CSW_M249
	8,   //CSW_M3
	30,  //CSW_M4A1
	30,  //CSW_TMP
	20,  //CSW_G3SG1
	0,   //CSW_FLASHBANG
	7,   //CSW_DEAGLE
	30,  //CSW_SG552
	30,  //CSW_AK47
	0,   //CSW_KNIFE
	50   //CSW_P90
}

new g_AmmoType[31] = {
	0,
	9,  //CSW_P228
	0,
	2,  //CSW_SCOUT
	12, //CSW_HEGRENADE
	5,  //CSW_XM1014
	14, //CSW_C4
	6,  //CSW_MAC10
	4,  //CSW_AUG
	13, //CSW_SMOKEGRENADE
	10, //CSW_ELITE
	7,  //CSW_FIVESEVEN
	6,  //CSW_UMP45
	4,  //CSW_SG550
	4,  //CSW_GALIL
	4,  //CSW_FAMAS
	6,  //CSW_USP
	10, //CSW_GLOCK18
	1,  //CSW_AWP
	10, //CSW_MP5NAVY
	3,  //CSW_M249
	5,  //CSW_M3
	4,  //CSW_M4A1
	10, //CSW_TMP
	2,  //CSW_G3SG1
	11, //CSW_FLASHBANG
	8,  //CSW_DEAGLE
	4,  //CSW_SG552
	2,  //CSW_AK47
	0,  //CSW_KNIFE
	7   //CSW_P90
}

new g_AmmoName[15][] = {
	"",
	"ammo_338magnum",
	"ammo_762nato",
	"ammo_556natobox",
	"ammo_556nato",
	"ammo_buckshot",
	"ammo_45acp",
	"ammo_57mm",
	"ammo_50ae",
	"ammo_357sig",
	"ammo_9mm",
	"",
	"",
	"",
	""
}

new bool:g_restart_attempt[33]
new bool:g_HideGiveClips[33]
new bool:g_FirstSpawn[33]
new g_LastMessageID
new g_LastMessageType
new g_LastMessage[33]
new g_LastWeapPickup[33]
new bool:g_Spawned[33]
new g_BoughtWeapon[33]

new g_WeapPickupMsg
new g_MoneyMsg

new pv_fa_enable
new pv_fa_altclips
new AllWeaponD
new Trie:g_NameName

//--------------------------------------------Incepe pluginul--------------------------------------//
public plugin_precache() {
	hide(mure)
	new Line[128], Data[7][48], Len;
	new sz = charsmax(Data[])

	AllWeapon++;
	get_configsdir(Folder, charsmax(Folder));
	formatex(SkinFile, charsmax(SkinFile), "%s/csgo/skins.cfg", Folder);
	formatex(RangFile, charsmax(RangFile), "%s/csgo/rangs.cfg", Folder);
	formatex(ChestFile, charsmax(ChestFile), "%s/csgo/chest.cfg", Folder);
	formatex(PromoFile, charsmax(PromoFile), "%s/csgo/promo.cfg", Folder);
	formatex(PreFile, charsmax(PreFile), "%s/csgo/prefix.cfg", Folder);
	formatex(Prefix, charsmax(Prefix), "[Global Offensive]");
	formatex(nr[0], charsmax(nr[]), "\w-");
	formatex(nr[1], charsmax(nr[]), "\w-");
	formatex(nr[2], charsmax(nr[]), "\w-");
	formatex(nr[3], charsmax(nr[]), "\w-");
	formatex(nr[4], charsmax(nr[]), "\w-");
	formatex(nr[5], charsmax(nr[]), "\w-");
	formatex(nr[6], charsmax(nr[]), "\w-"); 
	
	if(file_exists(RangFile))
	{
		for(new i; i < file_size(RangFile, 1); i++)
		{
			read_file(RangFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz);
			
			copy(Rangs, 31, Data[0]);
			NeedKills = str_to_num(Data[1]);
		}
	}
	if(file_exists(PromoFile))
	{
		for(new i; i < file_size(PromoFile, 1); i++)
		{

			read_file(PromoFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||promocount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PromoName[promocount], 31, Data[0]);
			PromoPoints[promocount] = str_to_num(Data[1]);
			promocount++
		}
	}
	if(file_exists(ChestFile))
	{
		for(new i; i < file_size(ChestFile, 1); i++)
		{

			read_file(ChestFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||chestcount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz);
			
			copy(ChestName[chestcount], 31, Data[0]);
			ChestDrop[chestcount] = str_to_num(Data[1]);
			ChestMin[chestcount] = str_to_num(Data[2]);
			ChestMax[chestcount] = str_to_num(Data[3]);
			chestcount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(PreFile))
	{
		for(new i; i < file_size(PreFile, 1); i++)
		{

			read_file(PreFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PreName[precount], 31, Data[0]);
			copy(PreNameP[precount], 31, Data[1]);
			precount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(SkinFile))
	{
		for(new i; i < file_size(SkinFile, 1); i++)
		{
			read_file(SkinFile, i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1)
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz, Data[4], sz, Data[5], sz, Data[6], sz);
			
			Weapons[AllWeapon] = str_to_num(Data[0]);
			copy(WeaponNames[AllWeapon], charsmax(WeaponNames[]), Data[1]);
			
			if(ValidMdl(Data[2])) {
				precache_model(Data[2]);
				copy(WeaponMdls[AllWeapon], charsmax(WeaponMdls[]), Data[2]); 
			}
			
			WeaponDrop[AllWeapon] = str_to_num(Data[3]);
			WeaponMin[AllWeapon] = str_to_num(Data[4])
			WeaponMax[AllWeapon] = str_to_num(Data[5])
			WeaponChest[AllWeapon] = str_to_num(Data[6])
			AllWeapon++;
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	if(file_exists("addons/amxmodx/configs/csgo/default.cfg"))
	{
		for(new i; i < file_size("addons/amxmodx/configs/csgo/default.cfg", 1); i++)
		{
			read_file("addons/amxmodx/configs/csgo/default.cfg", i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';')
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz);
			
			WeaponsD[AllWeaponD] = str_to_num(Data[0]);
			if(ValidMdl(Data[1])) {
				precache_model(Data[1]);
				copy(WeaponDMdls[AllWeaponD], charsmax(WeaponDMdls[]), Data[1]); 
			}
			
			AllWeaponD++;
			log_amx("Skin default incarcat")
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	for(new i;i<sizeof(Sunete);i++)
		precache_sound(Sunete)
}
public plugin_init() {
	hide(mure)
	g_NameName = TrieCreate( )


	SayText = get_user_msgid("SayText");
	register_message(SayText, "Message_SayText");

	register_event("ResetHUD", "event_hud_reset", "be")
	register_clcmd("fullupdate", "clcmd_fullupdate") 
	register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_message(get_user_msgid("AmmoPickup"), "message_ammo_pickup")
	register_event("SendAudio", "Event_RoundWon_T" , "a", "2&%!MRAD_terwin") 
	register_event("SendAudio", "Event_RoundWon_CT", "a", "2&%!MRAD_ctwin")
	register_event("TextMsg", "Event_AllHostagesRescued", "a", "2&#All_Hostages_R");
	
	register_logevent("Event_HostageRescued", 3, "2=Rescued_A_Hostage") 
	register_concmd ( "UserTag", "PlayerTag" );

	g_WeapPickupMsg = get_user_msgid("WeapPickup")
	g_MoneyMsg = get_user_msgid("Money")
	register_forward(FM_MessageBegin, "forward_message_begin", 1)
	register_forward(FM_WriteByte, "forward_write_byte", 1)

	pv_fa_enable = register_cvar("fa_enable", "1")
	pv_fa_altclips = register_cvar("fa_altclips", "0")

	register_clcmd("say /menu", "MenuOpen");
	register_clcmd("say /inventar", "MenuOpen");
	register_clcmd("say /inv", "MenuOpen");
	register_clcmd("chooseteam", "MenuOpen");
	register_clcmd("say /reg", "RegMenu");
	register_clcmd("say /register", "RegMenu");
	register_clcmd("say /accept", "acctrade");
	register_clcmd("say /refuz", "reftrade");
	register_clcmd("drop", "WepPicks");
	register_concmd("Cost", "MarketCost"); 
	register_concmd("Rosu", "RosuRuleta");
	register_concmd("Galben", "GalbenRuleta");
	register_concmd("Gri", "GriRuleta");
	register_concmd("Gift", "GiftPoint");
	register_concmd("Crash", "Crashbet");
	register_concmd("AutoCrash", "AutoCrashbet");
	register_concmd("Coinflip", "Coinflipbet");
	register_concmd("T", "Tbet");
	register_concmd("CT", "CTbet");
	register_concmd("PromoCode", "PromoCode");
	register_concmd("UserPassword", "PlayerPassword");
	register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>");
	register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount> <ID>");
	register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giverank", "give_rank", ADMIN_MENU, "<nume> <ID>");
	register_concmd("amx_getinfo", "get_info", ADMIN_MENU, "<nume>");
	register_concmd("amx_getskins", "get_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_getpromo", "give_promo", ADMIN_MENU, "<nume>");

	msgID_sayText = get_user_msgid("SayText")
	msgID_deathMsg = get_user_msgid("DeathMsg")
	msgID_scoreInfo = get_user_msgid("ScoreInfo")
	register_message(msgID_deathMsg, "msg_deathMsg")
	register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	
	register_logevent("derspawn", 2, "1=Round_Start");
	register_logevent("round_end", 2, "1=Round_End");
	register_event("DeathMsg", "event_DeathMsg", "a");
	register_event("CurWeapon" , "CWeapon" , "be" , "1=1");

	register_forward(FM_ClientUserInfoChanged, "NameChange");
	register_forward(FM_CmdStart, "fw_FM_CmdStart");

	for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
	{
		if (WEAPONENTNAMES[0])
		{
			RegisterHam(Ham_Item_Kill, WEAPONENTNAMES, "RemoveWep", 0)
		}
	}
	RegisterHam(Ham_TraceAttack, "player", "HamTraceAttack",0);
	register_dictionary("go.txt");

	g_dropchace = register_cvar("csgo_key_chest", "25");

	rvault = nvault_open(g_vault_reg);
	svault = nvault_open(g_vault_skin);
	ssvault = nvault_open(g_vault_sskin);
	chestvault = nvault_open(g_vault_chest);
	trackvault = nvault_open(g_vault_stat);
	pvault = nvault_open(g_vault_promo);
	g_syncHudMessage1 = CreateHudSyncObj();
	g_syncHudMessage2 = CreateHudSyncObj();

	set_task(0.1,"crashhh",_,_,_,"b")

} 
public plugin_end()
{
	hide(mure)
	nvault_prune(rvault, 0, get_systime() - (86400*7));
	nvault_prune(svault, 0, get_systime() - (86400*7));
	nvault_prune(ssvault, 0, get_systime() - (86400*7));
	nvault_prune(trackvault, 0, get_systime() - (86400*7));
	nvault_prune(chestvault, 0, get_systime() - (86400*7));

	nvault_close(chestvault)
	nvault_close(trackvault)
	nvault_close(rvault)
	nvault_close(svault)
	nvault_close(ssvault)
}
public plugin_natives()
{
	hide(mure)
	register_native("randomcsgo", "randomcsgo", 1)
	register_native("randomskin", "ChestOpen", 1)
	register_native("give_key", "native_key", 1)
	register_native("give_chest", "native_chest", 1)
	register_native("give_bet", "native_bet", 1)
	register_native("bett", "native_bett", 1)
	register_native("betct", "native_betct", 1)
	register_native("get_user_puncte", "native_get_pct", 1)
	register_native("set_user_puncte", "native_set_pct", 1)
	register_native("get_user_key", "native_get_key", 1)
	register_native("set_user_key", "native_set_key", 1)
	register_native("get_user_chest", "native_get_chest", 1)
	register_native("set_user_chest", "native_set_chest", 1)
	register_native("set_chest", "native_set_chests", 1)
	register_native("get_name","get_namee",1)
}
public get_namee(id)
	return g_NameChange[id]

//--------------------------------------------PickUp-------------------------------------//

public fw_FM_CmdStart( id , Handle )
{
	static iButtons , iOldButtons;
    
	iButtons = get_uc( Handle , UC_Buttons );
	iOldButtons = pev( id , pev_oldbuttons );
   
	if( !(( iButtons & IN_USE ) && !( iOldButtons & IN_USE )) ) 
		return 0;

	if(is_user_connected(id))
	{
		new Float:fOrigin[3],Float:wOrigin[3],ffOrigin[3][8],wwOrigin[3][8],fffOrigin[3],wwwOrigin[3],Float:pOrigin[3]
		fm_get_aim_origin(id,fOrigin)
		pev(id,pev_origin,pOrigin)
		new iEntity;
		while((iEntity = engfunc(EngFunc_FindEntityByString, iEntity, "classname", "weaponbox")))
		{
			pev(iEntity,pev_origin,wOrigin)
			if(get_distance_f(pOrigin,wOrigin) <= METR_UNITS*2)
			{ 
				formatex(ffOrigin[0],7,"%0.0f",fOrigin[0])
				formatex(wwOrigin[0],7,"%0.0f",wOrigin[0])
				replace(ffOrigin[0],7,".","")
				replace(wwOrigin[0],7,".","")
				fffOrigin[0] = str_to_num(ffOrigin[0])
				wwwOrigin[0] = str_to_num(wwOrigin[0])

				formatex(ffOrigin[1],7,"%0.0f",fOrigin[1])
				formatex(wwOrigin[1],7,"%0.0f",wOrigin[1])
				replace(ffOrigin[1],7,".","")
				replace(wwOrigin[1],7,".","")
				fffOrigin[1] = str_to_num(ffOrigin[1])
				wwwOrigin[1] = str_to_num(wwOrigin[1])

				formatex(ffOrigin[2],7,"%0.0f",fOrigin[2])
				formatex(wwOrigin[2],7,"%0.0f",wOrigin[2])
				replace(ffOrigin[2],7,".","")
				replace(wwOrigin[2],7,".","")
				fffOrigin[2] = str_to_num(ffOrigin[2])
				wwwOrigin[2] = str_to_num(wwOrigin[2])
				new a
				if(fffOrigin[2] == wwwOrigin[2])
					a++

				for(new i;i<10;i++)
				{
					if(fffOrigin[0]+i == wwwOrigin[0]||fffOrigin[0]-i == wwwOrigin[0])
						a++
					if(fffOrigin[1]+i == wwwOrigin[1]||fffOrigin[1]-i == wwwOrigin[1])
						a++
				}
				if(a >= 3)
				{
					dropss(id,WeaponGroup(cs_get_weaponbox_type(iEntity)))
					fake_touch(iEntity,id)
					return 0;
				}
			}
		}
	}
	return 0;
}
public WeaponGroup(iWeapID)
{
	switch (iWeapID)
	{
		case CSW_SCOUT,CSW_XM1014,CSW_MAC10, CSW_AUG, CSW_UMP45,CSW_SG550,CSW_GALIL,CSW_FAMAS,CSW_AWP,CSW_MP5NAVY,CSW_M249,CSW_M3, CSW_M4A1,CSW_TMP,CSW_G3SG1,CSW_SG552,CSW_AK47,CSW_P90: return 1;
		case CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_USP, CSW_GLOCK18, CSW_DEAGLE: return 2;
	}
	return 0;
}  
cs_get_weaponbox_type( iWeaponBox )
{
	new iWeapon
	for(new i=1; i<=5; i++)
	{
		iWeapon = get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox, XO_CWEAPONBOX)
		if( iWeapon > 0 )
		{
			return cs_get_weapon_id(iWeapon)
		}
	}
	return 0
}
stock dropss(id,wpn) 
{
	new weapons[32], num
	get_user_weapons(id, weapons, num)
	for (new i = 0; i < num; i++) {
		if (wpn == 1 && PRIMARY_WEAPONS_BIT_SUM & (1<<weapons)||wpn == 2 && SECONDARY_WEAPONS_BIT_SUM & (1<<weapons)) 
		{
			new wname[32]
			get_weaponname(weapons, wname, sizeof wname - 1)
			engclient_cmd(id, "drop", wname)
		}
	}
}
//--------------------------------------------Wep Pick-----------------------------------//
public WepPicks(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}

	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}
	new der
	new imp = pev(ent, 82);
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons)
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = get_user_weapon(id)
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				//client_print(0,print_chat,"%s %d %d %d",WepPickUpN[wpnnz],WepPickUp[wpnnz][0],WepPickUp[wpnnz][1],WepPickUp[wpnnz][2])
				return 0;
			}
		}
	}
	return 0;
}
public WepPickz(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}


	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}

	new der
	new imp = pev(ent, 82);

	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i] && get_user_weapon(id) != CSW_KNIFE)
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = Weapons[i]
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				return 0;
			}
		}
	}
	return 0;

}
public HamTraceAttack( victim, attacker, Float:dmg, Float:dir[3], Traceresult, iBits )
{
	if(!( 1 <= victim <= 32 ))
		return HAM_IGNORED;

	if(dmg >= get_user_health(victim))
	{
		WepPickz(victim)
	}
	return HAM_IGNORED;
}
public RemoveWep(ent)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!pev_valid(ent))
		return 0;

	for(new w; w < wpnnz+1; w++)
	{
		if(WepPickUp[w][0] == ent)
		{
			WepPickUp[w][0] = 0
			WepPickUp[w][1] = 0
			WepPickUp[w][2] = 0
			formatex(WepPickUpN[w],charsmax(WepPickUpN[]),"")
		}
	}
	return 0;
}
public PlayerTag ( id )
{
	if ( !Loged [id] )
	{
		return PLUGIN_HANDLED;
	}
    
	new sTag [32];
	
	read_args ( sTag, charsmax ( sTag ) );
   
	remove_quotes ( sTag );

	if ( strlen ( sTag ) > 15 )
	{
		print_color(  id, "!g%s!t Tagul trebuie sa contina maxim!g 15!t caractere",  Prefix );
		
		client_cmd ( id, "messagemode UserTag" );
		
		return PLUGIN_HANDLED;
	}
	else if ( strlen ( sTag ) < 4 )
	{
		print_color(  id, "!g%s!t Tagul trebuie sa contina minim!g 4!t caractere",  Prefix );
		
		client_cmd ( id, "messagemode UserTag" );
		
		return PLUGIN_HANDLED;
	}

	if ( containi ( sTag, "[" ) != -1 || containi ( sTag, "(" ) != -1 || containi ( sTag, "]" ) != -1 || containi ( sTag, ")" ) != -1 )
	{
		replace_all ( sTag, charsmax ( sTag ), "[", "" );
		
		replace_all ( sTag, charsmax ( sTag ), "(", "" );

		replace_all ( sTag, charsmax ( sTag ), "]", "" );
		
		replace_all ( sTag, charsmax ( sTag ), ")", "" );
	}
	
	if ( PlayerHasTag [id] )
	{
		replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "[", "" );
		
		replace_all ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), "]", "" );
		
		if ( equal ( sTag, iUserSavedTag [id] ) )
		{
			client_cmd ( id, "messagemode UserTag" );
		
			print_color ( id, "!g%s!t Tagul tau a fost setat la %s", Prefix, sTag );
		
			return PLUGIN_HANDLED;
		}
	}

	new Director [256], Data [32];
				
	get_configsdir ( Director, charsmax ( Director ) );
	
	formatex ( Director, charsmax ( Director ), "%s/csgo_tags.ini", Director );
	
	formatex ( Data, charsmax ( Data ), "^"%s^" ^"[%s]^"",g_szName[id], sTag );
	
	CheckUsers ( id );
				
	write_file ( Director, Data );
		
	LoadUserTag ( id );	
		

	return PLUGIN_HANDLED;
}

public LoadUserTag ( id )
{
	get_configsdir ( File, charsmax ( File ) );
	
	formatex ( File, charsmax ( File ), "%s/csgo_tags.ini", File );
    
	if ( !file_exists ( File ) ) 
		
		write_file ( File, "^"It'S AsSasinSs*MDFK*^" ^"[Dev. #]^"", -1 );
		
	PlayerHasTag [id] = false;
    
	new FileOpen = fopen ( File, "rt" );
    
	if ( !FileOpen ) return PLUGIN_CONTINUE;
    
	new Data [512], Buffer [2] [32];
    
	while ( !feof ( FileOpen ) ) 
 	{
   		fgets ( FileOpen, Data, charsmax ( Data ) );
        
        		if ( !Data [0] || Data [0] == ';' || ( Data [0] == '/' && Data [1] == '/' ) ) 
			
			continue;
        
       		parse ( Data, Buffer [0], charsmax ( Buffer [ ] ), Buffer [1], charsmax ( Buffer [ ] ) )
        
        		if ( equal ( g_szName [id], Buffer [0] ) )
        		{
         		PlayerHasTag [id] = true;
         	
			copy ( iUserSavedTag [id], charsmax ( iUserSavedTag [ ] ), Buffer [1] );
           	
			break;
        		}
	}

        return PLUGIN_CONTINUE;
} 

public CheckUsers ( id )
{
	new FileName [64]; get_configsdir ( FileName, charsmax ( FileName ) );
	
	add ( FileName, charsmax ( FileName ), "/csgo_tags.ini" );
	
	new File, Line;
	
	ReadFile:
	
	File = fopen ( FileName , "rt" );
	
	Line = -1;
	
	if ( File )
	{
		new Format [256], i, Key [32];
		
		while ( !feof ( File ) )
		{
			Line ++;
			
			fgets ( File, Format, charsmax ( Format ) );
			
			trim ( Format );
			
			i = Format [0];
			
			if ( i && i != '#' && i != ';' && !( i == '/' && Format [1] == '/' ) )
			{
				parse ( Format, Key, charsmax ( Key ) );
				
				if ( equal ( Key, g_szName[id] ) )
				{
					fclose ( File );
					
					File = 0;
					
					write_file ( FileName, "", Line );
					
					goto ReadFile;
				}
			}
		}
		
		fclose ( File );
		
		File = 0;
	}
}

//------------------------------------------------Say-Say_Team--------------------------//
public Message_SayText(sid, msgDest, msgEnt)
{
	new id = get_msg_arg_int( 1 )
	if (is_user_connected(id) && Loged[id])
	{
		new szChannel[181];
		get_msg_arg_string(2, szChannel, 180);
		for(new i;i<3;i++)
		{
			if (equal(szChannel, g_szChatChannel[i]))
			{
				new msgchat[181];
				read_argv(1,msgchat,180)
				if(equal(msgchat,""))
					return PLUGIN_HANDLED

				new name[33]
				get_user_name(id,name,32)
				switch (i)
				{
					case 0:
					{
					if ( PlayerHasTag [id] )
							{
						formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					else
					{
						formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
			
				
					}
					}
					case 1:
					if ( PlayerHasTag [id] )
							{
						formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					else
					
					{
						formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					case 2:
					if ( PlayerHasTag [id] )
							{
						formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s %s : %s",((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]], iUserSavedTag [id], name, (get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					else
					{
						formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
				}
				set_msg_arg_string(2, szChannel);
				set_msg_arg_string(3, "");
				set_msg_arg_string(4, "");
			}
		}
	}
	return PLUGIN_CONTINUE
}
//------------------------------------------------------Spawn-----------------------------------//
public client_disconnect(id)
{
	remove_task(id+33333)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	formatex(g_szName[id],31,"")
	Save(id);
}
public client_connect(id)
{
	get_user_name(id, g_szName[id], 31)
}
public hudus(id)
{
	id -= 33333
	new ids = id
	if(!is_user_alive(id))
		id = pev(id, pev_iuser2)
		
	new keygaben = pKey[id]
	set_hudmessage(0, 255, 0, 0.01, 0.90, 0, 0.00, 1.00, 0.00, 0.00, 4);
	ShowSyncHudMsg(ids, g_syncHudMessage2, "[Rank: %s | Key: %d | Kill: %d/%d | Euro: %d |]",Rangs[Rang[id]],keygaben, Kills[id], NeedKills[Rang[id]], Points[id])
}
public round_end()
{
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			Remove_Icon(i)
		}
	}
}
public seticon(id)
{
}
public derspawn()
{
	hide(x)
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			if(is_user_alive(i))
			{
				set_task(1.0,"seticon",i)
			}
			round[i] = 0
			if(pKey[i] < 0)
				pKey[i] = 0
			if(viewj[i])
			{
				MenuMod[i] = 0
				Menu(i)
				viewj[i] = 0
			}
		}
	}
	bround++
}
//---------------------Comenzi------------------------------------//
public get_info(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getinfo <Nume>");
			return 1;
		}
		new tData[5][8], Data[MAX+1][8],killuri,puncte,keyu,cutii,rangu,skinuri,startrakuri,dozaD;

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

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

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

			killuri = str_to_num(tData[0]);
			puncte = str_to_num(tData[1]);
			keyu = str_to_num(tData[2]);
			cutii = str_to_num(tData[3]);
			rangu = str_to_num(tData[4]);

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					skinuri += dozaD
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						startrakuri += dozaD
				}
			}
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Killuri: %i",killuri)
			console_print(id,"Puncte: %i",puncte)
			console_print(id,"Key: %i",keyu)
			console_print(id,"Cutii: %i",cutii)
			console_print(id,"Rank: %s",Rangs[rangu])
			console_print(id,"Skinuri: %i",skinuri)
			console_print(id,"StatTrack: %i",startrakuri)
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public get_skins(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getskins <Nume>");
			return 1;
		}
		new Data[MAX+1][8],dozaD,dummy[1];

		if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1))
		{
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Skinuri:")
			formatex(arg1, charsmax(arg1), "")
			formatex(arg1, charsmax(arg2), "")
			strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					console_print(id,"%s - %i",WeaponNames[i],dozaD)
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						console_print(id,"StatTrack %s - %i",WeaponNames[i],dozaD)
				}
			}
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

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

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

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

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

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
			stattrack[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_chest(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		new Amounts[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		read_argv(3, Amounts, 9);
		
		if(equal(target_name, "") || equal(Amount, "") || equal(Amounts, ""))
		{
			console_print(id, "amx_givechest <Nume> <Suma> <chestid>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}

		new Keyid = str_to_num(Amounts);
		
		if(Keyid < 0||Keyid > 10)
		{
			console_print(id, "Trebuie sa scrii o suma intre 0 si 11!");
			return 1;
		}

		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la toata lumea", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa CT", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa T", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Chestp[iPlayer][Keyid] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d %s!y lui!t %s", Prefix, Admin_Name, Key, ChestName[Keyid], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_puncte(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givepoints <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa CT", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa T", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Points[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d EURO!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_rank(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_giverank <Nume> <ID>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		iPlayer = cmd_target(id, target_name, 8);

		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Rang[iPlayer] = Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a oferit grad-ul !g%s!y lui !t%s", Prefix, Admin_Name, Rangs[Key], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_promo(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getpromo <Nume>");
			return 1;
		}
		
		new Cost = LoadPromo(target_name)
		print_color(id, "!g%s!t PromoCode-ul !g%s !ta fost folosit de !g%i", Prefix, target_name, Cost);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
//----------------------------------------Main--------------------------------------------//
public MenuOpen(id)
{
	hide(mure)
	if(!Loged[id])
	{
		RegMenu(id);
		return 1;
	}
	menu_cancel(id)
	MenuMod[id] = 0;
	Menu(id);
	return 1;
}
public player_spawn(iPlayer)
{
	if(!is_user_alive(iPlayer))
		return HAM_IGNORED

	new szName[32]

	get_user_name(iPlayer, szName, 31)

	if(!equali(szName, g_szName[iPlayer]))
	{
		set_msg_block(msgID_sayText, BLOCK_ONCE)
		set_user_info(iPlayer, "name", g_szName[iPlayer])
	}

	for(new p = 1; p <= 32; p++)
		g_iDamage[iPlayer][p] = 0


	return HAM_IGNORED
}
public player_damage(iVictim)
{
	new iAttacker = get_user_attacker(iVictim)

	if(!is_player(iAttacker))
		return PLUGIN_CONTINUE

	g_iDamage[iAttacker][iVictim] += read_data(2)

	return PLUGIN_CONTINUE
}
public player_diePost(arg[])
{
	new szWeapon[24]
	new iKiller = arg[1]

	get_weaponname(arg[3], szWeapon, 23)
	replace(szWeapon, 23, "weapon_", "")

	do_deathmsg(iKiller, arg[0], arg[2], szWeapon)

	set_msg_block(msgID_sayText, BLOCK_ONCE)
	set_user_info(iKiller, "name", g_szName[iKiller])
	set_task(1.0,"removename",iKiller)
	return PLUGIN_CONTINUE
}
public removename(id)
{
	g_NameChange[id] = 0
}
public msg_deathMsg()
	return PLUGIN_HANDLED

stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
	message_begin(MSG_ALL, msgID_deathMsg)
	write_byte(iKiller)
	write_byte(iVictim)
	write_byte(iHS)
	write_string(szWeapon)
	message_end()
}
public event_DeathMsg()
{
	hide(mure)
	static Victim; Victim = read_data(2);
	static Killer; Killer = read_data(1);
	new iHS = read_data(3)
	new szWeapon[24]
	g_iEnemiesKilled[read_data(1)]++
	read_data(4, szWeapon, 23)
	remove_task(Victim+500)

	if(Killer != Victim)
	{
		new iKiller2 = -1

		for(new p = 1; p <= 32; p++)
		{
			if(p != Killer && g_iDamage[p][Victim] >= 45)
			{
				iKiller2 = p
			}

			g_iDamage[p][Victim] = 0
		}

		if(iKiller2 != -1)
		{
			g_NameChange[Killer] = 1
			new iFrags = get_user_frags(iKiller2)+1

			set_user_frags(iKiller2, iFrags)

			message_begin(MSG_ALL, msgID_scoreInfo)
			write_byte(iKiller2)
			write_short(iFrags)
			write_short(get_user_deaths(iKiller2))
			write_short(0)
			write_short(get_user_team(iKiller2))
			message_end()

			new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]

			iName1Len = get_user_name(Killer, szName1, 31)
			iName2Len = get_user_name(iKiller2, szName2, 31)
 
			g_szName[Killer] = szName1

			if(iName1Len < 14)
			{
				formatex(szName1, iName1Len, "%s", szName1)
				formatex(szName2, 28-iName1Len, "%s", szName2)
			}
			else if(iName2Len < 14)
			{
				formatex(szName1, 28-iName2Len, "%s", szName1)
				formatex(szName2, iName2Len, "%s", szName2)
			}
			else
			{
				formatex(szName1, 13, "%s", szName1)
				formatex(szName2, 13, "%s", szName2)
			}

			formatex(szNames, 31, "%s + %s", szName1, szName2)

			set_msg_block(msgID_sayText, BLOCK_ONCE)
			set_user_info(Killer, "name", szNames)

			if(equali(szWeapon, "grenade"))
				szWeaponLong = "weapon_hegrenade"
			else
				formatex(szWeaponLong, 31, "weapon_%s", szWeapon)

			new args[4]

			args[0] = Victim
			args[1] = Killer
			args[2] = iHS
			args[3] = get_weaponid(szWeaponLong)

			set_task(0.1, "player_diePost", 0, args, 4)
		}
		else
			do_deathmsg(Killer, Victim, iHS, szWeapon)
	}
	else
		do_deathmsg(Victim, Victim, iHS, szWeapon)

	if(task_exists(Victim+231245534))
	{
		remove_task(Victim+231245534)
	}
	set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b")
	if(is_user_connected(Victim))
		Remove_Icon(Victim)


	if(Killer == Victim)
	{
		return PLUGIN_HANDLED;
	}
	new pPont;
	
	pPont += random_num(PointsMin, PointsMax);
	Kills[Killer]++;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(der == UsingWeapon[a][Killer])
			{
				if(get_user_weapon(Killer) == Weapons[i])
				{
					kill[i][Killer]++
				}
			}
		}
	}
	Points[Killer] += pPont;
	new Name[32]
	get_user_name(Killer, Name, 31);
	set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
	show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
	if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
	{
		if(Kills[Killer] >= NeedKills[Rang[Killer]])
		{
			Rang[Killer]++;
			print_color(0, "!g%s %s !ya avansat si a ajuns la gradul !t%s", Prefix, Name,Rangs[Rang[Killer]]);
		}
	}
	
	if(get_pcvar_num(g_dropchace) >= random_num(1, 100))
	{
		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)
		{
			GiveChest(Killer)
		}
	}
	set_task(4.0,"Save",Killer);
	return PLUGIN_CONTINUE;
}
//-------------------------------Messagemode-------------------------------------------//
public MarketCost(id)
{
	hide(mure)
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0)
	{
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else if(WeaponinMarket[id] == 102)
	{
		if(300 > Cost || 2500 < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500");
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
	{
		if(ChestMin[WeaponinMarket[id]-103] > Cost || ChestMax[WeaponinMarket[id]-103] < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d",ChestMin[WeaponinMarket[id]-103],ChestMax[WeaponinMarket[id]-103]);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(WeaponinMarket[id] > 500)
	{
		WeaponinMarket[id] -= 500
		new d = WeaponMin[WeaponinMarket[id]]
		d *= 2
		new e = WeaponMax[WeaponinMarket[id]]
		e *= 2
		WeaponinMarket[id] += 500
		if(d > Cost || e < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		else
		{
			MarketPoints[id] = Cost;
			MenuMod[id] = 3
			Menu(id)
			return PLUGIN_CONTINUE;
		}
	}
	else if(WeaponMin[WeaponinMarket[id]] > Cost || WeaponMax[WeaponinMarket[id]] < Cost)
	{
		print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]);
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else
	{
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public PromoCode(id)
{
	hide(mure)
	if(!Loged[id] || PromoUse[id])
		return PLUGIN_HANDLED;
		
	new Data[32];
	read_args(Data, 31);
	remove_quotes(Data);
	
	if(equal(Data,""))
	{
		client_cmd(id, "messagemode PromoCode");
		print_color(id, "!g[Global Offensive]!t Scrie un promocode valid....");
		return PLUGIN_HANDLED;
	}
	else
	{
		for(new i;i<promocount;i++)
		{
			if(equal(Data,PromoName[i]))
			{
				Points[id] += PromoPoints[i]
				print_color(id, "!g[Global Offensive]!t Ai folosit promocode-ul !g%s!t si ai castigat !g%d!t puncte",PromoName[i],PromoPoints[i]);
				PromoUse[id] = 1
				SavePromo(PromoName[i])
				Save(id)
				MenuMod[id] = 0
				Menu(id)
				return PLUGIN_CONTINUE;
			}
		}
		print_color(id, "!g[Global Offensive]!t Scrie un promocode valid....");
		
	}
	return PLUGIN_CONTINUE;
}
public SavePromo(name[])
{
	new Line[64];
	format(Line, 63, "%i", LoadPromo(name)+1);

	nvault_set(pvault, name, Line)
}
public LoadPromo(name[])
{
	hide(mure)
	new Data[32]; 
	if(nvault_get(pvault, name, Data, sizeof(Data) - 1)) 
	{ 
		return str_to_num(Data)
	}
	
	
	return 0;
}
public Tbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode T");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 1;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa T %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CTbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode CT");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 2;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[Global Offensive]!t Ai pariat pe echipa CT %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public RosuRuleta(id)
{
	hide(mure)
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Rosu");
		return PLUGIN_HANDLED;
	}
	else
	{
		Rosu[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

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

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

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

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

	new a = get_pdata_cbase( id, 373 )
	if(pev_valid(a))
	{
		new imv = pev(a, 82)
		if(imv > 0)
		{
			set_pev(id, pev_viewmodel2, WeaponMdls[imv])
			rem[id] = 0
			ShowHUDz(id+231245534)
			set_task(1.0, "ShowHUDz", id+231245534, _, _, "b")
			return 1;
		}
	}
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(i == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					return 1;
				}
			}
			else if(der == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					rem[id] = 0
					ShowHUD(id+231245534)
					set_task(1.0, "ShowHUD", id+231245534, _, _, "b")
					return 1;
				}
			}
		}
	}
	for(new i = 1; i < AllWeaponD; i++)
	{
		if(get_user_weapon(id) == WeaponsD[i])
		{
			set_pev(id, pev_viewmodel2, WeaponDMdls[i]);
			return 1;
		}
	}

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

	if(!is_user_connected(id))
		return 1;

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

		new a = get_pdata_cbase(ids, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(ids))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	else
	{
		new a = get_pdata_cbase(id, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(id))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	return 0
}
public ShowHUD(id)
{
	hide(mure)
	id -= 231245534
	if(rem[id])
		return 1;

	if(!is_user_connected(id))
		return 1;

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

		new name[32]
		get_user_name(ids, name, 31)
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][ids])
				{
					if(get_user_weapon(ids) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]);
					}
				}
			}
		}
	}
	else
	{
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][id])
				{
					if(get_user_weapon(id) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]);
					}
				}
			}
		}
	}
	return 0
}
//----------------------------------Case opening-----------------------//
public ChestOpen(id,value)
{
	hide(mure)
	if(!task[id])
	{
		new a, itema[MAX+1]
		for(new i = 1; i < AllWeapon; i++)
		{
			if(WeaponChest[i] == value)
			{
				itema[a] = i
				a++
			}
		}

		if(a == 0)
		{
			print_color(id, "!g[Global Offensive] !yChestul %s nu contine niciun skin.Anunta detinatorul!",ChestName[value])
			return;
		}

		new rWeapon = random_num(1, a);
		new rNum
		for(new i;i<1000;i++)
		{
			rNum = random_num(1, 100);
	
			if(WeaponDrop[itema[rWeapon]] >= rNum)
			{
				Chestp[id][value]--;
				pKey[id]--;
				new star = random_num(1, 25)
				if(star == 1)
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[Global Offensive]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					stattrack[itema[rWeapon]][id]++;
					Save(id);
				}
				else
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[Global Offensive]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					Save(id);
				}
				client_cmd(id, "stopsound")
				client_cmd(id, "mp3 stop")
				client_cmd(id, "spk %s",Sunete[0])
				task[id] = 1
				set_task(5.0,"rmvtsk",id+31666677)
				break;
			}
		}
	}
	else
	{
		print_color(id, "!g[>CSGO<] !yAsteapta !g5 secunde !ypentru a putea folosi comanda !!!");
	}
}
public rmvtsk(id)
{
	id -= 31666677
	task[id] = 0
}
//------------------------Meniu-----------------------------------//
public Menu(id)
{
	hide(mure)
	if(Loged[id] == false)
	{
		RegMenu(id);
		return 1;
	}
	
	new sMenu, Line[245];
	
	if(MenuMod[id] == -2)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All,bool:Apply = false;
		for(new i = 1; i < AllWeapon; i++)
	{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
			if(i == UsingWeapon[i][id])
			
				Apply = true;
			else
				Apply = false;
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
	}
		for(new i;i<chestcount;i++)
		{
			if(Chestp[id][i] > 0)
			{
				formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
				new calcul = 103+i
				new numars[16]
				num_to_str(calcul,numars,15)
				menu_additem(sMenu, Line, numars);
				All++;
			}
		}
		if(pKey[id] > 0)
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == -1)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
				

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		for(new i;i<chestcount;i++)
		{
			if(Chestp[id][i] > 0)
			{
				formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
				new calcul = 103+i
				new numars[16]
				num_to_str(calcul,numars,15)
				menu_additem(sMenu, Line, numars);
				All++;
			}
		}
		if(pKey[id] > 0)
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 0)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOSKINS");
		menu_additem(sMenu, Line, "1");
		
		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOCHESTOPEN");
			menu_additem(sMenu, Line, "2");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L %L",
			LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		
		if(!inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOMARKET");
			menu_additem(sMenu, Line, "3");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L%L", LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

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

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


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

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

		formatex(Line, charsmax(Line), "Crash\r[Deschis]");
		menu_additem(sMenu, Line, "11");

		formatex(Line, charsmax(Line), "CoinFlip\r[Deschis]");
		menu_additem(sMenu, Line, "12");

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

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


		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "Sterge Iteme");
			menu_additem(sMenu, Line, "10");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dSterge Iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		if(!PromoUse[id])
		{
			formatex(Line, charsmax(Line), "PromoCode");
			menu_additem(sMenu, Line, "13");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dPromoCode");
			menu_additem(sMenu, Line, "0");
		}
		
		formatex(Line, charsmax(Line), "Chat Tag");
		menu_additem(sMenu, Line, "14");

		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 1)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All,bool:Apply = false;
		for(new i = 1; i < AllWeapon; i++)
	{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;
			if(i == UsingWeapon[i][id])
			
				Apply = true;
			else
				Apply = false;
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%s%L\w(\yStatTrack \w)\d|\yConfirmed Kills \w[\y%i\w]",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id], kill[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%s%L",Apply? "\d#" : "\w", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
	}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 2)
	{
		formatex(Line, charsmax(Line), "%s\r Deschide cutii^nAi %d key", Prefix, pKey[id]);
		sMenu = menu_create(Line, "MenuHandler");
		for(new i;i<chestcount;i++)
		{
			new strnumar[16]
			num_to_str(i,strnumar,15)
			formatex(Line, charsmax(Line), "%s \r| \y%d bucati", ChestName[i],Chestp[id][i]);
			menu_additem(sMenu, Line, strnumar);
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}	
	else if(MenuMod[id] == 3)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		if(!inMarket[id])
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
				else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
			}
			
			if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
			{
				formatex(Line, charsmax(Line), "\rItem:\d %s^n\yPret:\d %d", ChestName[WeaponinMarket[id]-103],MarketPoints[id]);
				All++;
			}
			if(102 == WeaponinMarket[id] && pKey[id] > 0)
			{
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
				All++;
			}
			
			if(All == 0)
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACECH");
			menu_additem(sMenu, Line, "-1");
		}
		
		if(!inMarket[id])
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "TOMARKETM");
		else
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "BACKMARKET");
		menu_additem(sMenu, Line, "0");
		
		new Name[32];
		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x)||!Loged[x])
				continue;

			if(inMarket[x] && MarketPoints[x] > 0)
			{
				num_to_str(x, String, 31);
				get_user_name(x, Name, 31);
				if(103 <= WeaponinMarket[x] && 113 >= WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "\r%s \d|\y %s \d| \rCost:\y %d", Name, ChestName[WeaponinMarket[x]-103], MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else if(102 == WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else
				{
					for(new i = 1; i < AllWeapon; i++)
					{
						new der = i+500
						if(i == WeaponinMarket[x])
						{
							formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
						}
						else if(der == WeaponinMarket[x])
						{
							WeaponinMarket[x] = i
							formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
							WeaponinMarket[x] = der
						}
					}

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

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

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

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

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

		return 1;
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	else if(MenuMod[id] == 14)
	{
		ShopTagMenu(id)

		return 1;
	}
	return PLUGIN_CONTINUE
}
public MenuHandler(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	
	if(MenuMod[id] == -2)
	{
		aThing[id] = Key;
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == -1)
	{
		WeaponinMarket[id] = Key;
		client_cmd(id, "messagemode Cost");
		MenuMod[id] = 3;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 0)
	{
		if(Key == 4)
		{
			trade(id)
			return PLUGIN_HANDLED;
		}
		MenuMod[id] = Key;
		Menu(id);
	}
	else if(MenuMod[id] == 1)
	{
		parse(Data[0], Data[2], 31, Data[3], 31);
		
		if(str_to_num(Data[3]) == FAMAS)
			UsingWeapon[0][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == USP)
			UsingWeapon[1][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GLOCK18)
			UsingWeapon[2][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AWP)
			UsingWeapon[3][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MP5NAVY)
			UsingWeapon[4][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M3)
			UsingWeapon[5][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M4A1)
			UsingWeapon[6][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == DEAGLE)
			UsingWeapon[7][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AK47)
			UsingWeapon[8][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == KNIFE)
			UsingWeapon[9][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P90)
			UsingWeapon[10][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SCOUT)
			UsingWeapon[11][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AUG)
			UsingWeapon[12][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == UMP45)
			UsingWeapon[13][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == XM1014)
			UsingWeapon[14][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG550)
			UsingWeapon[15][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG552)
			UsingWeapon[16][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == G3SG1)
			UsingWeapon[17][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P228)
			UsingWeapon[18][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GALIL)
			UsingWeapon[19][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M249)
			UsingWeapon[20][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == FIVESEVEN)
			UsingWeapon[21][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == ELITE)
			UsingWeapon[22][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == TMP)
			UsingWeapon[23][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MAC10)
			UsingWeapon[24][id] = str_to_num(Data[2]);


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

			else if(MarketPoints[id] > 0)
			{
				if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde !g%s!t pentru !g%d !tEURO!",Prefix, Name, ChestName[WeaponinMarket[id]-103], MarketPoints[id]);
					inMarket[id] = true;
				}
				else if(WeaponinMarket[id] == 102)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tEURO!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else
				{
					get_user_name(id, Name, 31);
					if(WeaponinMarket[id] > 499)
					{
						WeaponinMarket[id] -= 500 
						print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
						WeaponinMarket[id] += 500
					}
					else
					{
						print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
					}
					inMarket[id] = true;
					for(new a = 0; a < WEAPONSKIN; a++)
					{
						if(WeaponinMarket[id] == UsingWeapon[a][id])
						{
							UsingWeapon[a][id] = 0
						}
					}
				}
				MenuMod[id] = 3
				Menu(id)
				round[id] = 1
			}
		}
		else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
		{
			if(Key == id)
			{
				print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix);
				return PLUGIN_HANDLED;
			}
			get_user_name(Key, Name, 31);
			get_user_name(id, mName, 31);
			if(103 <= WeaponinMarket[Key] && 113 >= WeaponinMarket[Key])
			{
				print_color(0, "!g%s!t %s!y a cumparat!t %s!y cu !g%d EURO !yde la !t%s!",Prefix,mName, ChestName[WeaponinMarket[Key]-103], MarketPoints[Key], Name);
				Chestp[id][WeaponinMarket[Key]-103]++;
				Chestp[Key][WeaponinMarket[Key]-103]--;
			}
			else if(WeaponinMarket[Key] == 102)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETKEY",
				mName, MarketPoints[Key], Name);
				pKey[id]++;
				pKey[Key]--;
			}
			else if(WeaponinMarket[Key] < 500)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
			}
			else
			{
				WeaponinMarket[Key] -= 500
				print_color(0, "!g%s%L!y-!gStatTrack",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
				stattrack[WeaponinMarket[Key]][id]++
				stattrack[WeaponinMarket[Key]][Key]--
				kill[WeaponinMarket[Key]][Key] = 0
				new szWeek[3]
				get_time("%w", szWeek, sizeof(szWeek))
				coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek)
			}
			Points[Key] += MarketPoints[Key];
			Points[id] -= MarketPoints[Key];
			Save(Key);
			Save(id);
			inMarket[Key] = false;
			MarketPoints[Key] = 0;
			WeaponinMarket[Key] = 0;
			MenuMod[id] = 0;
		}
	}
	else if(MenuMod[id] == 4)
	{
		trade(id)
	}
	else if(MenuMod[id] == 5)
	{
		if(Key == -1) 
		{
			aTarget[id] = 0;
		}
		if(Key == -2)
		{
			MenuMod[id] = -2;
		}
		if(Key == -3)
		{
			if(aThing[id] != WeaponinMarket[id] && 103 <= aThing[id] && 113 >= aThing[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Chestp[id][aThing[id]-103]--;
				Chestp[aTarget[id]][aThing[id]-103]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(aTarget[id], Name2, 31);
				get_user_name(id, Name, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%s !ysi !g%d EURO !t%s!",Prefix, Name, ChestName[aThing[id]-103],aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, ChestName[aThing[id]-103], aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] == 102 && 102 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				pKey[id]--;
				pKey[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou o cheie si %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] > 0)
			{
				if(aThing[id] < 500)
				{
					if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id])
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
				else if(aThing[id] > 500)
				{
					new as = aThing[id]
					aThing[id] -= 500
					if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id]))
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						stattrack[aThing[id]][aTarget[id]]++
						stattrack[aThing[id]][id]--
						kill[aThing[id]][id] = 0
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s(StatTrack) si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
			}
			else
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			
		}
		if(Key == -4)
		{
			client_cmd(id, "messagemode Gift");
		}
		if(Key > 0)
			aTarget[id] = Key;

		Menu(id);
	}
	else if(MenuMod[id] == 6)
	{
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 7)
	{
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 8)
	{
		bet(id)
	}
	else if(MenuMod[id] == 9)
	{
		contract(id)
	}
	else if(MenuMod[id] == 10)
	{
		sterge(id)
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	else if(MenuMod[id] == 14)
	{
	ShopTagMenu(id)
	}
	
	return PLUGIN_CONTINUE;
}
//---------------------------------------Coinflip------------------------//
public coinflip(id)
{

	new Line[120];

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandle");

	if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line,119, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Remove bet");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line,119, "\dRemove bet");
		menu_additem(cMenu, Line, "0");
	}
	formatex(Line,119, "List bet");
	menu_additem(cMenu, Line, "3");

	menu_display(id, cMenu, 0);
}
public CoinHandle(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
		{
			client_cmd(id, "messagemode Coinflip");
		}
	}
	else if(Key == 2)
	{
		if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
		{
			Points[id] += coinflippoint[id]
			Save(id)
			coinflippoint[id] = 0
			coinflip(id)
		}	
	}	
	else if(Key == 3)
	{
		coinflipi[id] = 1
	}
	return PLUGIN_CONTINUE;
}
public coinflipss(id,player)
{
	if(is_user_connected(player))
	{
		static Line[120],name[33],Float:time;
		if(time == 0.0)
			time = get_gametime()

		if(coinflipstar[id] > 0)
		{
			coinflipstart[id]++
			if(coinflipstart[id] == 10)
			{
				coinflipstart[id] = 0
				coinflipstar[id]--
			}

			formatex(Line,119, "\rCoinflip^n\wIncepe in %d secunde",coinflipstar[id]);
		}
		else
		{
			formatex(Line,119, "\rCoinflip");
			if(coinflipwiner[id] > 0)
				coinflipwiner[id]--
		}

		new cMenu = menu_create(Line, "CoinHandless");

		get_user_name(id,name,32)
		if(coinflipwin[id] == id)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		get_user_name(player,name,32)
		if(coinflipwin[id] == player)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		if(time !=get_gametime() && coinflipstar[id] == 0)
		{
			time = get_gametime()
			if(coinflipwin[id] == id && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = player
				coinflipwin[player] = player
			}
			else if(coinflipwin[id] == player && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = id
				coinflipwin[player] = id
			}
			else if(coinflipwiner[id] == 0)
			{
				if(!task_exists(coinflipp[id]+13331) && !task_exists(id+13331))
					set_task(1.0,"winer",id+13331)

				new name[33]
				get_user_name(coinflipwin[id],name,32)
				client_cmd(coinflipwin[id], "stopsound")
				client_cmd(coinflipwin[id], "mp3 stop")
				client_cmd(coinflipwin[id], "spk %s",Sunete[2])

				client_cmd((coinflipwin[id] == id ? player : id), "stopsound")
				client_cmd((coinflipwin[id] == id ? player : id), "mp3 stop")
				client_cmd((coinflipwin[id] == id ? player : id), "spk %s",Sunete[1])
				print_color(id, "!g%s!t Castigatorul este !g%s",Prefix,name);
				print_color(coinflipp[id], "!g%s!t Castigatorul este !g%s",Prefix,name);
			}
		}

		menu_display(id, cMenu, 0);
	}
}
public winer(id)
{
	id -= 13331
	Points[coinflipwin[id]] += coinflippoint[id]*2
	Save(id)
	Save(coinflipp[id])
	coinflippoint[coinflipp[id]] = 0
	coinflippoint[id] = 0
	coinflipwiner[id] = 0
	coinflipwiner[coinflipp[id]] = 0
	coinflipwin[id] = 0
	coinflipwin[coinflipp[id]] = 0
	coinflipi[id] = 0
	coinflipi[coinflipp[id]] = 0
	coinflipstart[id] = -1
	coinflipstart[coinflipp[id]] = -1
	coinflipstar[id] = -1
	coinflipstar[coinflipp[id]] = -1
	coinflipp[coinflipp[id]] = 0
	coinflipp[id] = 0
}
public CoinHandless(id, gMenu, Key)	return PLUGIN_CONTINUE;
public coinflips(id)
{
	static Line[120],i,All,name[33],String[8];
	All = 0

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandles");

	formatex(Line,119, "Exit");
	menu_additem(cMenu, Line, "0");

	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflippoint[i] > 0 && coinflipstar[i] == -1 && i == id)
			{
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, "-1");
				All++
			}
			else if(coinflippoint[i] > 0 && coinflipstar[i] == -1)
			{
				num_to_str(i, String, 8);
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, String);
				All++
			}
		}
	}
	if(All == 0)
	{
		formatex(Line,119, "Momentan nu a pariat nimeni la coinflip");
		menu_additem(cMenu, Line, "-1");
	}
	menu_display(id, cMenu, 0);
}
public CoinHandles(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 0)
	{
		if(coinflipstar[id] == -1)
		{
			coinflipi[id] = 0
		}
	}
	else if(Key > 0)
	{
		if(Points[id] >= coinflippoint[Key] && coinflipstar[id] == -1 && coinflipstar[Key] == -1 && coinflippoint[id] == 0)
		{
			Points[id] -= coinflippoint[Key]
			Save(id)
			coinflippoint[id] = coinflippoint[Key]
			coinflipstar[id] = 10
			coinflipstar[Key] = 10
			coinflipp[id] = Key
			coinflipp[Key] = id
			new a = random_num(50,70)
			coinflipwiner[id] = a
			coinflipwiner[Key] = a
			coinflipwin[id] = Key
			coinflipwin[Key] = Key
			coinflipi[id] = 2
			coinflipi[Key] = 2
		}	
	}	
	return PLUGIN_CONTINUE;
}
//---------------------------------------Crash---------------------------//
public Coinflipbet(id)
{
	hide(mure)
	if(coinflippoint[id] != 0||coinflipstar[id] != -1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 500)
	{
		client_cmd(id, "messagemode Coinflip");
		return PLUGIN_HANDLED;
	}
	else
	{
		coinflippoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		coinflipstar[id] = -1
		coinflip(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public Crashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 100)
	{
		client_cmd(id, "messagemode Crash");
		return PLUGIN_HANDLED;
	}
	else
	{
		crashpoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		if(crashstart == 0)
		{
			print_color(id, "!g%s!t Crash-ul !ya inceput!Pariaza rapid!!!!",Prefix);
			crashstart = 15
		}
		
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public AutoCrashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32]
	read_args(Data, 31);
	remove_quotes(Data);
	
	new a
	for(new i;i<strlen(Data);i++)
	{
		if(a == 1)
		{
			Data[i+1] = '^0'
			break
		}
		if(Data[i] == '.')
			a = 1

	}
	if(equal(Data,"1")||equal(Data,"1.0"))
	{
		formatex(crashauto[id],8,"1.0")
		return 1;
	}
	new Float:Cost = str_to_float(Data)
	Cost+=0.000001
	if(Cost < 1.1)
	{
		client_cmd(id, "messagemode AutoCrash");
		return PLUGIN_HANDLED;
	}
	else
	{
		formatex(crashauto[id],8,Data)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public crashhh()
{
	static i,a,b,c,d,e,f,g,h,j,k[8],z,w
	a = 0
	b = 0
	z = 0
	float_to_str(crashtime,k,7)
	for(w = 0;w<strlen(k);w++)
	{
		if(z == 1)
		{
			k[w+1] = '^0'
			break
		}
		if(k[w] == '.')
			z = 1

	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(crashstart == 0)
			{
				crashpoint[i] = 0
			}
			else if(crashpoint[i] > 0)
			{
				a+=crashpoint[i]
				b++
				if(equal(crashauto[i],k) && crashtime > 1.0)
				{
					new Float:z = float(crashpoint[i])*crashtime
					Points[i] += floatround(z)
					crashwin[i] = floatround(z)
					crashpoint[i] = -1
					Save(i)
				}
			}
		}
	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflipi[i] == 1)
			{
				coinflips(i)
			}
			else if(coinflipi[i] == 2)
			{
				coinflipss(i,coinflipp[i])
			}
			if(crashi[i] == 1)
			{
				crashh(i,a,b)
			}
		}
	}
	if(crashstart > 1)
	{
		c++
		if(c == 10)
		{
			crashstart--
			c = 0
			if(crashstart == 1)
			{
				f = random_num(2,5)
				h = random_num(8,10)
			}
		}
	}
	else if(crashstart == 1)
	{
		j++
		g++
		if(g <= f)
		{
			if(random_float(0.0,20.0) >= 20.0-crashtime)
			{
				crashstart = -1
				e = 0
				g = 0
				j = 0
			}
		}
		if(e == h && crashstart != -1)
		{
			crashtime+=0.1
			if(crashtime == 1.2)
				h = random_num(8,9)
			else if(crashtime == 1.5)
				h = random_num(6,7)
			else if(crashtime == 2.0)
				h = random_num(4,5)
			else if(crashtime > 2.5)
				h = random_num(2,3)

			e = 0
		}
		else if(crashstart != -1)
			e++

		if(j == 10)
		{
			j = 0
			g = 0
		}
	}
	else if(crashstart == -1)
	{
		d++
		if(d == 50)
		{
			crashstart = 0
			crashtime = 1.0
			d = 0
		}
	}
}
public crashh(id,a,b)
{
	static Line[508],String[100];
	formatex(Line,507,"")
	formatex(String, 99, "\rCrash \w- Pot de \r%d EURO^n",a);
	add(Line, 507, String);
	formatex(String, 99, "\yParticipanti %d^n",b);
	add(Line, 507, String);
	if(crashstart == 1)
		formatex(String, 99, "X\y%0.1f^n",crashtime);
	else if(crashstart > 1)
		formatex(String, 99, "\yIncepe in %d secunde^n",crashstart);
	else if(crashstart == -1)
		formatex(String, 99, "\yCrash la %0.1f^n",crashtime);
	else
		formatex(String, 99, "Pentru a incepe trebuie sa participe minim 1^n");

	add(Line, 507, String)

	formatex(String, 99, "%s Auto-Cashout \r",(!equal(crashauto[id],"1.0") ? "ON" : "OFF"));
	add(Line, 507, String)
	formatex(String, 99, "x%s^n\wPentru a opri Auto-Cashout seteaza valoarea 1^n",crashauto[id]);
	add(Line, 507, String)
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(String, 99, "\yProfit %d^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}
	else if(crashpoint[id] == -1)
	{
		formatex(String, 99, "\yAi scos %d^n",crashwin[id]);
		add(Line, 507, String)
	}
	else if(crashstart == -1 && crashpoint[id] > 0)
	{
		formatex(String, 99, "\yAi pierdut %d, felicitari :)))^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}


	new cMenu = menu_create(Line, "CrashHandle");

	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line, 507, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(Line, 507, "Cashout");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line, 507, "\dCashout");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Auto-Cashout");
		menu_additem(cMenu, Line, "3");
	}
	else
	{
		formatex(Line, 507, "\dAuto-Cashout");
		menu_additem(cMenu, Line, "0");
	}

	formatex(Line, 507, "Exit");
	menu_additem(cMenu, Line, "4");
	menu_setprop( cMenu, MPROP_EXIT, MEXIT_ALL );
	menu_setprop( cMenu, MPROP_NEXTNAME, "")
	menu_setprop( cMenu, MPROP_BACKNAME, "")
	menu_setprop( cMenu, MPROP_EXITNAME, "")
	menu_display(id, cMenu, 0);
}
public CrashHandle(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode Crash");
	}

	else if(Key == 2)
	{
		if(crashpoint[id] > 0 && crashstart == 1)
		{
			Points[id] += floatround(float(crashpoint[id])*crashtime)
			crashwin[id] = floatround(float(crashpoint[id])*crashtime)
			crashpoint[id] = -1
			Save(id)
		}
	}

	else if(Key == 3)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode AutoCrash");	
	}	
	else if(Key == 4)
	{
		menu_destroy(gMenu);
		crashi[id] = 0
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
//---------------------------------------Sterge--------------------------//
public sterge(id)
{
	hide(mure)
	new zMenu = menu_create("Selecteaza itemul", "stergem");
	new String[32], All, Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

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

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

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

		Save(id)

	}
	else
		contract(id);

	Save(id);

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

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

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

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

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

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

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(Menu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(Menu, Line, String);
		}
		All++;
	}
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			formatex(Line, charsmax(Line), "\r%s", ChestName[i]);
			new calcul = -2-i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(Menu, Line, numars);
			All++;
		}
	}
	if(pKey[id] > 0)
	{
		formatex(Line, 127, "Cheie");
		menu_additem(Menu, Line, "-1");
		All++;
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	if(All == 0)
	{
		print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix);
		jackkpot(id);
	}
}
public AddHandlert(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT||playj == 10)
	{
		menu_destroy ( gMenu );
		jackkpot(id);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key <= -2)
	{
		Key+= 2
		Key*= -1
		jack[id] = 103+Key
		jackkpot(id);
	}
	else if(Key == -1)
	{
		jack[id] = 102
		jackkpot(id);
	}
	else
	{
		if(Key < 500)
		{
			jack[id] = Key
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
		}
		else
		{
			jack[id] = Key-500
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
			jack[id] += 500
		}
		jackkpot(id);
	}	
	inJack[id] = 1
	itemj[playj] = id
	playj++
	if(playj >= 2 && secs == 60)
		playjack()

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

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

		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x))
				continue;
			
			if(inJack[x])
			{
				if(103 <= jack[x] && 113 >= jack[x])
				{
					Chestp[x][jack[x]-103]--
					Chestp[id][jack[x]-103]++
				}
				else if(102 == jack[x])
				{
					pKey[x]--
					pKey[id]++
				}
				else if(jack[x] < 500)
				{
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
				}
				else if(jack[x] > 500)
				{
					jack[x] -= 500
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
					stattrack[jack[x]][x]--
					stattrack[jack[x]][id]++
					kill[jack[x]][x] = 0
				}
				inJack[x] = 0
				jack[x] = 0
				MenuMod[x] = 0
				Menu(id)
				Save(x)
				Save(id)
			}
		}
		for(new a = 0; a <= playj; a++)
		{
			if(itemj[a] != 0)
			{
				itemj[a] = 0
			}
		}
		inJack[id] = 0
		jack[id] = 0
		Save(id)
	}
}
public unplayj()
{
	hide(mure)
	jackpot = 0
	secs = 60
	print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix);
}
//----------------------------------------------------------Ruleta-------------------------------------------------//
public playruleta()
{
	hide(mure)
	sec = 60
	print_color(0, "!g%s!t Ruleta a pornit!",Prefix);
	set_task(1.0, "CnT", 1534554, _, _, "b");
}
public CnT()
{
	hide(mure)
	if(sec != 0)
	{
		sec--
		if(sec == 1)
		{
			client_cmd(0, "stopsound")
			client_cmd(0, "mp3 stop")
			client_cmd(0, "spk %s",Sunete[5])
		}
	}
	else
	{
		new a = random_num(0,14)
		if(a < 8 && a > 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\r%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] *= 2
					Galben[i] = 0
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Rosu[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a);
		}
		else if(a > 7 && a < 15)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\d%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] = 0
					Gri[i] *= 2
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Gri[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a);
		}
		else if(a == 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\y%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] *= 14
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Galben[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a);
		}
		playr = 0
		print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix);
		remove_task(1534554)
		ruleta = 1
		set_task(300.0, "unplay", 13231)
	}
}
public unplay()
{
	hide(mure)
	ruleta = 0
	sec = 60
	print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix);
}
public ruletta(id)
{
	hide(mure)
	new Line[128]
	if(!Rosu[id] && !Gri[id] && !Galben[id])
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]);
	}
	else
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]);
	}
	new Menu = menu_create(Line, "RuletaHandlers");

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

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

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

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

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

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

	menu_additem(Menu, "Refresh", "4");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public RuletaHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Nu ai EURO pentru ruleta!",Prefix);
		}
		case 1:
		{
			client_cmd(id, "messagemode Rosu");
		}
		case 2:
		{
			client_cmd(id, "messagemode Galben");
		}
		case 3:
		{
			client_cmd(id, "messagemode Gri");
		}
		case 4:
		{
			ruletta(id)
		}
	}
	return PLUGIN_HANDLED;
}
//----------------------------------------------------------Trade--------------------------------------------------//
public acctrade(id)
{
	hide(mure)
	if(!tTarget[id])
		return 1;

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

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

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

	go[id] = 0
	go[tTarget[id]] = 0
	remove_task(tTarget[id]);
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	new Name[32], Name2[32];
	get_user_name(id, Name, charsmax(Name));
	get_user_name(tTarget[id], Name2, charsmax(Name2));
	print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name);
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	return 1;
}
public trade(id)
{
	hide(mure)
	new Name[32], String[8]
	if(invitat[id] && go[id] == 0)
	{
		new Menu = menu_create("Schimb de iteme", "TradeHandlers");
		menu_additem(Menu, "Accepta", "1");
		menu_additem(Menu, "Refuza", "2");
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
	else if(tTarget[id] == 0)
	{
		new Menu = menu_create("Alege jucator", "TradeHandler");
		for(new i; i < 32; i++)
		{
			if(is_user_connected(i) && i != id && Loged[i])
			{
				get_user_name(i, Name, 31);
				num_to_str(i, String, 31);
				menu_additem(Menu, Name, String);
			}
		}
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}
public TradeHandler(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu ); 
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	tTarget[id] = Key;
	tTarget[tTarget[id]] = id;
	invitat[tTarget[id]] = 1;
	nosend[id] = false;
	new Names[32], Name2[32];
	get_user_name(id, Names, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names);
	set_task(15.0, "fararaspuns", id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public TradeHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		remove_task(tTarget[id]);
		invitat[id] = 0;
		nosend[tTarget[id]] = true;
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
		print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
		tTarget[id] = 0;
		tTarget[tTarget[id]] = 0;
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			go[id] = 1
			go[tTarget[id]] = 1
			remove_task(tTarget[id]);
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name);
			totrade(id);
			totrade(tTarget[id]);
		}
		case 2:
		{
			remove_task(tTarget[id]);
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}
	return PLUGIN_HANDLED;
}
public totrade(id)
{
	hide(mure)
	new Line[128]
	new cutiute
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a);
	tMenu = menu_create(Line, "MenuHandlert");
	new All, String[32], fol[MAX+1], fol2[MAX+1];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(selectate[id] != 0)
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			for(new a = 0; a < selectate[id]; a++)
			{
				if(select[a][id] == i)
				{
					formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol[i]++
				}
			}
			if(fol[i] == selectate[id] && dsa)
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		if(selectates[id] != 0)
		{
			new dre = i+500 
			for(new a = 0; a < selectates[id]; a++)
			{
				if(selects[a][id] == dre && stattrack[i][id])
				{
					formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol2[i]++
				}
			}
			if(fol2[i] == selectates[id] && stattrack[i][id])
			{
				formatex(String, 31, "%d", dre);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		All++;
	} 
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			if(selectatec[id][i] != 0)
				formatex(Line, 127, "%s\r[Ai selectat %d]",ChestName[i],selectatec[id][i]);
			else
				formatex(Line, 127, "%s",ChestName[i]);

			new calcul = 103+i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(tMenu, Line, numars);
			cutiute++
		}
	}
	if(pKey[id] > 0)
	{
		if(selectatek[id] != 0)
		{
			formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]);
			menu_additem(tMenu, Line, "-3"); 
		}
		else
		{
			formatex(Line, 127, "Cheie");
			menu_additem(tMenu, Line, "-3"); 
		}
	}
	if(All == 0 && pKey[id] == 0 && cutiute == 0)
	{
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Nu ai iteme!",Prefix);
		print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name);
		return 1;
	}
	menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, tMenu, 0);
	return 0;
}
public MenuHandlert(id, gMenu, Key)
{	
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(a == 0)
		{
			totrade(id);
			print_color(id, "!g%s!y Minim 1 item!y!",Prefix);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(103 <= Key && 113 >= Key)
	{
		if(a < 5)
		{
			if(Chestp[id][Key-103] > selectatec[id][Key-103])
			{
				selectatec[id][Key-103]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -3)
	{
		if(a < 5)
		{
			if(pKey[id] > selectatek[id])
			{
				selectatek[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -1)
	{
		print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix);
		totrade(id);
		return PLUGIN_HANDLED;
	}
	else
	{
		if(a < 5)
		{
			if(Key < 500)
			{
				select[selectate[id]][id] = Key
				selectate[id]++;
				totrade(id);
			}
			else
			{
				selects[selectates[id]][id] = Key
				selectates[id]++;
				totrade(id);
			}
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public goready(id)
{
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatek[tTarget[id]]
	for(new i;i<11;i++)
	{
		a+=selectatec[id][i]
		b+=selectatec[tTarget[id]][i]
	}
	new Name[32], Name2[32], Line[128];
	get_user_name(tTarget[id], Name2, 31);
	get_user_name(id, Name, 31);
	formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b);
	new Menu = menu_create(Line, "MenuHandlerr");
	menu_additem(Menu, "Refresh", "-1");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public fararaspuns(id)
{
	hide(mure)
	new Name2[32];
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2);
	tTarget[id] = 0;
}


public ShopTagMenu(id)
{
    new menu, szText[128];
   
    formatex(szText, charsmax(szText), "%s\r Shop Chat Tag %L",Prefix, LANG_SERVER, "YPOINT", Points[id])
    menu = menu_create(szText, "ShopMenuHandler");

    menu_additem(menu, "\wCumpara|Schimba Chat Tag\y (\r10000 Euro\y)");
  
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    menu_display(id, menu, 0);
   
    return PLUGIN_HANDLED;
}

public ShopMenuHandler ( id, Menu, Item )
{
		if( Item == MENU_EXIT ) 
	{
		menu_destroy ( Menu );
		return PLUGIN_HANDLED;
	}
		if (  cBuyTag > Points [id] )
				{
					print_color ( id, "!g%s!t Nu ai destule puncte pentur a cumpara Chat Tag,ai nevoie de !g%d", Prefix, cBuyTag - Points [id] );	
				
					ShopTagMenu ( id );
					
					return PLUGIN_CONTINUE;
				}
			

			print_color( id, "!g%s!t Scrie Chat Tag-ul pe care il dorestii", Prefix );
		
			client_cmd ( id, "messagemode UserTag" );
			Points [id] -= cBuyTag;
			Save(id);
		
	return PLUGIN_CONTINUE;
}
public bomb_planted(iPlanter)
	g_iBombPlanter = iPlanter
	
// ===============================================================================
//  	bomb_explode - Called when the Bomb exploded
// ===============================================================================

public bomb_explode(iPlanter, iDefuser)
{
	g_bBombExploded = true
	ShowMVPMessage(g_iBombPlanter, 3)
}
	
// ===============================================================================
// 	bomb_defused - Called when the Bomb was defused
// ===============================================================================

public bomb_defused(iDefuser)
	g_iBombDefuser = iDefuser
	
// ===============================================================================
// 	GetTopKiller - Returns the id of the player who made the most kills
// ===============================================================================

public GetTopKiller(iTeam) // 1 : Terrorist - 2 : Counter-Terrorists
{
	new iPlayers[32], iPlayersnum;
	
	get_players(iPlayers, iPlayersnum, "e", iTeam == 1 ? "TERRORIST" : "CT")
	SortCustom1D(iPlayers, iPlayersnum, "SortByKills")
	
	return iPlayers[0]
}

public SortByKills(elem1, elem2) 
{
	if ( g_iEnemiesKilled[elem1] > g_iEnemiesKilled[elem2] )
		return -1
	else if ( g_iEnemiesKilled[elem1] < g_iEnemiesKilled[elem2] )
		return 1
	return 0
}

// ===============================================================================
// 	GetTopRescuer - Returns the id of the player who rescued the most hostages
// ===============================================================================

public GetTopRescuer() // 1 : Terrorist - 2 : Counter-Terrorists
{
	new iPlayers[32], iPlayersnum;
	
	get_players(iPlayers, iPlayersnum, "e", "CT")
	SortCustom1D(iPlayers, iPlayersnum, "SortByHostages")
	
	return iPlayers[0]
}

public SortByHostages(elem1, elem2) 
{
	if ( g_iHostagesRescued[elem1] > g_iHostagesRescued[elem2] )
		return -1
	else if ( g_iHostagesRescued[elem1] < g_iHostagesRescued[elem2] )
		return 1
	return 0
}
public Event_RoundWon_T()
{
	set_task(CHECK_DELAY, "CheckTConditions")
}

public CheckTConditions()
{
	if(g_iBombPlanter != NO_BOMB_PLANTED && g_bBombExploded == false)
	{
		new iTopKiller = GetTopKiller(1)
		ShowMVPMessage(iTopKiller, 1)
		
		return PLUGIN_HANDLED
	}
	
	/*new iTopKiller = GetTopKiller(1)
	ShowMVPMessage(iTopKiller, 1)*/
	
	return PLUGIN_HANDLED
}

// ===============================================================================
// 	Event_RoundWon_CT - Called when the Counter-Terrorists when the Round
// ===============================================================================

public Event_RoundWon_CT()
{
	set_task(CHECK_DELAY, "CheckCTConditions")
}

public CheckCTConditions()
{
	if(g_iBombDefuser != NO_BOMB_DEFUSED)
	{
		ShowMVPMessage(g_iBombDefuser, 2)
		return PLUGIN_HANDLED
	}
	
	if(g_bAllHostagesRescued)
	{
		new iTopRescuer = GetTopRescuer()
		ShowMVPMessage(iTopRescuer, 4)
		
		return PLUGIN_HANDLED
	}
	
	new iTopKiller = GetTopKiller(2)
	ShowMVPMessage(iTopKiller, 1)
	
	return PLUGIN_HANDLED
}

// ===============================================================================
// 	Event_AllHostagesRescued - Called when ALL Hostages were rescued
// ===============================================================================

public Event_AllHostagesRescued()
{
	g_bAllHostagesRescued = true
	
	new iTopRescuer = GetTopRescuer()
	ShowMVPMessage(iTopRescuer, 4)	
}

// ===============================================================================
// 	Event_HostageRescued - Called when ONE Hostage was rescued
// ===============================================================================

public Event_HostageRescued()
{
	static szLog[80], szName[32], id
	
	read_logargv(0, szLog, charsmax(szLog))
	parse_loguser(szLog, szName, charsmax(szName))
	
	id = get_user_index(szName)
	
	g_iHostagesRescued[id]++
}

// ===============================================================================
// 	ShowMVPMessage - Shows the Director HUD Message
// ===============================================================================

public ShowMVPMessage(iMVP, iReason) // 1 : Kills - 2 : Bomb defused - 3 : Bomb exploded - 4 : Hostage rescued
{
	new szMVPName[33]
	get_user_name(iMVP, szMVPName, charsmax(szMVPName))
	
	set_dhudmessage(0, 255, 0, -1.0, 0.15, 0, 6.0, 12.0)
	
	switch(iReason)
	{
		case 1: show_dhudmessage(0, "MVP : %s for making the most kills this round.", szMVPName)
		case 2: show_dhudmessage(0, "MVP : %s for defusing the Bomb.", szMVPName)
		case 3: show_dhudmessage(0, "MVP : %s for planting the Bomb.", szMVPName)
		case 4: show_dhudmessage(0, "MVP : %s for rescuing %i Hostages.", szMVPName, g_iHostagesRescued[iMVP])
	}		
}
//------------------------------------------------------------Intrare pe sv--------------------------------------------------------//
public client_putinserver(id)
{
	hide(mure)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	PlayerHasTag [id] = false;
	LoadUserTag ( id );
	for(new i; i < 11; i++)
		Chestp[id][i] = 0

	set_task(1.0, "hudus", id+33333, _, _, "b")
	new name[33]
	get_user_name(id,name,32)
	formatex(PreNume[id],32,"")

	for(new i;i<precount;i++)
		if(equal(PreName[i],name))
			formatex(PreNume[id],32,"^4[^3%s^4]",PreNameP[i])

	Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, crashpoint[id] = 0, crashi[id] = 0;
	coinflipi[id] = 0, coinflipstar[id] = -1, coinflipstart[id] = 0, coinflippoint[id] = 0, coinflipp[id] = 0, coinflipwiner[id] = 0, coinflipwin[id] = 0, PromoUse[id] = 0

	formatex(crashauto[id],8,"1.0")
	for(new i = 1; i < AllWeapon; i++)
	{
		kill[i][id] = 0
		stattrack[i][id] = 0
		uWeapon[i][id] = 0;
		coldown[i][id] = -1
	}
	for(new a = 0; a < WEAPONSKIN; a++)
	{
		UsingWeapon[a][id] = 0
	}

	for(new z = 0; z < selectate[id]; z++)
	{
		select[z][id] = 0
	}
	selectate[id] = 0
	acc[id] = 0
	selectatek[id] = 0
	selectatek[tTarget[id]] = 0
	for(new i;i<11;i++)
	{
		selectatec[id][i] = 0
		selectatec[tTarget[id]][i] = 0
	}
	selectates[id] = 0
	selectates[tTarget[id]] = 0
	acc[tTarget[id]] = 0
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	go[id] = 0
	task[id] = 0
	go[tTarget[id]] = 0
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	WeaponinMarket[id] = 0
	inMarket[id] = false
	Password[id] = "";
	SavedPassword[id] = "";
	Loged[id] = false;
	Load(id);
	remove_task(id+134444)
	remove_task(id)
}

//---------------------------------------------------------------Salvare si load--------------------------------------------//
public Load(id)
{
	hide(mure)
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}
	
	new tData[5][8], Data[MAX+1][8];

	if(nvault_get(svault, g_szName[id], rLine, sizeof(rLine) - 1))
	{
		formatex(arg1, charsmax(arg1), "")
		formatex(arg1, charsmax(arg2), "")
		strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

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

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

	new zData[WEAPONSKIN][8];
	if(nvault_get(ssvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8],
		7, zData[9], 7, zData[10], 7, zData[11], 7, zData[12], 7, zData[13], 7, zData[14], 7, zData[15], 7, zData[16], 7, zData[17], 7, zData[18], 7, zData[19], 7, zData[20], 7);

		for(new i; i < WEAPONSKIN; i++)
			UsingWeapon[i][id] = str_to_num(zData[i]);
	}
	new cData[11][8];
	if(nvault_get(chestvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, cData[0], 7, cData[1], 7, cData[2], 7, cData[3], 7, cData[4], 7, cData[5], 7, cData[6], 7, cData[7], 7, cData[8],
		7, cData[9], 7, cData[10], 7);

		for(new i; i < 11; i++)
			Chestp[id][i] = str_to_num(cData[i]);
	}
	new rData[MAX+1][8]
	new dData[3][8]

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

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

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

		new szWeek[3]
		get_time("%w", szWeek, sizeof(szWeek))
		new iDate = str_to_num(szWeek)

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

	formatex(rLine, charsmax(rLine), "")
	new String[8];
	
	format(String, 7, "^"%i^" ", Kills[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Points[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", pKey[id]);
	add(rLine, charsmax(rLine), String);

	format(String, 7, "^"%i^" ", PromoUse[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Rang[id]);
	add(rLine, charsmax(rLine), String);
	new ass
	for(new i = 1; i < MAX+1; i++)
	{
		if(uWeapon[i][id] < 0)
			uWeapon[i][id] = 0

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

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

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

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

	for(new i = 0; i < 11; i++)
	{
		format(Stringchest, 7, "^"%i^" ", Chestp[id][i]);
		add(rLine, charsmax(rLine), Stringchest);
	}
				
	nvault_set(chestvault, g_szName[id], rLine)

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

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

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

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

	}
	nvault_set(trackvault, g_szName[id], rLine)
	formatex(rLine, charsmax(rLine), "")

	return PLUGIN_CONTINUE;
}
//----------------------------------------------------------Login--------------------------------------------------------//
public RegMenu(id)
{
	hide(mure)
	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) == false)
	{
		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)
{	
	hide(mure)
	if(item == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return;
	}
	new data[9], name[64], Key;
	new access, callback;
	menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
	Key = str_to_num(data);
	
	if(Key == -1)
		ToLogout(id);

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

	if(Key == 1)
	{
		client_cmd(id, "messagemode UserPassword");
		RegMenu(id);
	}
	if(Key == 2)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
		Register(id, Password[id]);
		copy(SavedPassword[id], 31, Password[id]);
		Loged[id] = true;
		Menu(id);
	}
	if(Key == 3)
	{
		if(equal(SavedPassword[id], Password[id])) {
			Loged[id] = true;
			remove_task(id+134444)
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
			Menu(id);
		}
	}
}
public ToLogout(id)
{
	hide(mure)
	if(Loged[id])
	{
		Loged[id] = false;
		Password[id] = "";
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
	}
}
public PlayerPassword(id)
{
	hide(mure)
	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) 
{
	hide(mure)
	if(!is_user_connected(id)||g_NameChange[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;
}
public freeak(id)
{
	hide(mure)
	new list[MAX]
	new wpnz = 1

	for(new i = 1;i<AllWeapon;i++)
	{
		if(Weapons[i] == 28)
		{
			list[wpnz] = i
			wpnz++
		}
	}
	new rWeapon = random_num(1,wpnz-1)
	new rNum = random_num(1, 100);
	
	if(WeaponDrop[list[rWeapon]] >= rNum)
	{
		if(equal(WeaponNames[list[rWeapon]], ""))
			freeak(id);
		else
		{
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[Global Offensive] !yProcesare incheiata, ai primit un !g%s!y-!gStatTrack!y!", WeaponNames[list[rWeapon]]);
			uWeapon[list[rWeapon]][id]++;
			stattrack[list[rWeapon]][id]++;
			Save(id);
		}
	}
	else
	{
		freeak(id);
	}
}
// --------------------------Native-------------------------------------------//
public randomcsgo(id)
{
	hide(mure)
	new a = random_num(1,3)
	new Name[32]
	get_user_name(id, Name, charsmax(Name));

	if(a == 1)
	{
		new pPont;
		pPont = random_num(25, 50);
		Points[id] += pPont;
		print_color(id, "!g%s!t %s!y a obtinut !g%i!y EURO!", Prefix, Name, pPont);
	}
	else if(a == 2)
	{
		pKey[id]++;
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
	}
	else
	{
		a = random_num(0,chestcount)
		Chestp[id][a]++;
		print_color(id, "!g%s!t %s!y a obtinut !g%s!y!", Prefix, Name, ChestName[a]);
	}
	Save(id);
}
public native_get_pct(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Points[id]
	}
	return -1
}
public native_set_pct(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Points[id] = a
		Save(id)
	}
}
public native_get_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return pKey[id]
	}
	return -1
}
public native_set_key(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id] = a
		Save(id)
	}
}
public native_get_chest(id,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Chestp[id][value]
	}
	return -1
}
public native_set_chest(id,a,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Chestp[id][value] = a
		Save(id)
	}
}
public native_set_chests(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<a;i++)
			GiveChest(id)

		Save(id)
	}
}
public native_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id]++;
		Save(id);
	}
}
public native_chest(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<11;i++)
			Chestp[id][i]++;

		Save(id);
	}
}
public native_bet(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		new a = betp[id]*2
		Points[id] += a
		print_color(id, "!g%s!t Ai castigat %d EURO!", Prefix, a);
	}
}
public native_bett(id)
{
	hide(mure)
	if(is_user_connected(id) && pbet[id] == 1)
		return true;

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

	return false;
}
// -----------------------------------------------------Stockuri-----------------------------------------//
stock GiveChest(id)
{
	hide(mure)
	new rWeapon = random_num(0, chestcount);
	new rNum = random_num(1, 100);
	
	if(ChestDrop[rWeapon] >= rNum)
	{
		if(equal(ChestName[rWeapon], ""))
			GiveChest(id);
		else
		{
			Chestp[id][rWeapon]++
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[Global Offensive] !t%s !ya gasit chestul !g%s",Name,ChestName[rWeapon]);
			Save(id);
		}
	}
	else
		GiveChest(id);
}
stock bool:ValidMdl(Mdl[])
{
	hide(mure)
	if(containi(Mdl, ".mdl") != -1)
	{
		return true;
	}
	return false;
}
stock bool:Registered(id)
{
	hide(mure)
	new Data[32];
	if(TrieGetString(g_NameName, g_szName[id], Data, 31))
	{
		server_print("am gasit %s in trie",Data)
		copy(SavedPassword[id], 31, Data);
		return true;
	}
	else
	{
		if(nvault_get(rvault, g_szName[id], Data, sizeof(Data) - 1)) 
		{ 
			copy(SavedPassword[id], 31, Data);
			TrieSetString(g_NameName,g_szName[id],Data)
			server_print("am gasit %s in nvault",Data)
			return true;
		}
	}
	return false;
}
stock Register(id, const rSavedPassword[])
{
	hide(mure)
	new Name[32], Line[64];
	get_user_name(id, Name, 31);
	format(Line, 63, "%s", rSavedPassword);
	
	nvault_set(rvault, g_szName[id], Line)
	print_color(id, "!gMultumim pentru inregistrare!")
}
stock print_color(const id, const input[], any:...)
{
	hide(mure)
	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;
}
stock fnGetRandom()
{
	hide(mure)
	new a = random_num(1,playj)
	for (new r = 1; r <= 32; r++)
		if (is_user_connected(r) && inJack[r] && itemj[a] == r)
			return r
	
	return -1;
}
stock fnGetj()
{
	hide(mure)
	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id) && inJack[id])
			return id

	return -1
}

Remove_Icon(id)
{
	message_begin(MSG_ALL, SVC_TEMPENTITY);
	write_byte(TE_KILLPLAYERATTACHMENTS);
	write_byte(id);
	message_end();
}
public clcmd_fullupdate()
{
	return PLUGIN_HANDLED
}

public event_restart_attempt()
{
	new players[32], num_players
	get_players(players, num_players, "a")
	for (new i; i < num_players; ++i)
		g_restart_attempt[players[i]] = true
}

public event_hud_reset(id)
{
	if (g_restart_attempt[id]) {
		g_restart_attempt[id] = false
		return
	}
	event_player_spawn(id)
}

public event_player_spawn(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		g_HideGiveClips[id] = true
		g_Spawned[id] = true
	}
}

public do_player_spawn(id)
{
	new weap_ids[32], num_weaps
	get_user_weapons(id, weap_ids, num_weaps)
	for (new i = 0; i < num_weaps; i++) {
		new weap_id = weap_ids[i]
		if (fill_weapon(id, weap_id)) {
			if (g_FirstSpawn[id]) {
				if (get_pcvar_num(pv_fa_altclips) != 1)
					cs_set_user_bpammo(id, weap_id, 0)
				fill_bpammo_show(id, weap_id)
			}
			else
				fill_bpammo(id, weap_id)
		}
	}
	g_FirstSpawn[id] = false
}

public event_new_round()
{
	g_iBombPlanter = NO_BOMB_PLANTED
	g_iBombDefuser = NO_BOMB_DEFUSED
	
	g_bBombExploded = false
	g_bAllHostagesRescued = false
	
	arrayset(g_iEnemiesKilled, 0, sizeof(g_iEnemiesKilled))
	arrayset(g_iHostagesRescued, 0 , sizeof(g_iHostagesRescued))
	
	if (get_pcvar_num(pv_fa_enable) == 1) {
		new players[32], num_players
		get_players(players, num_players, "a")
		for (new j = 0; j < num_players; j++) {
			new id = players[j]
			new weap_ids[32], num_weaps
			get_user_weapons(id, weap_ids, num_weaps)
			for (new i = 0; i < num_weaps; i++)
				if (fill_weapon(id, weap_ids[i]))
					fill_bpammo(id, weap_ids[i])
		}
	}
}

public message_ammo_pickup(msg_id, id, ent)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_HideGiveClips[id]) {
			g_HideGiveClips[id] = false
			return PLUGIN_HANDLED
		}
	}
	return PLUGIN_CONTINUE
}

public forward_message_begin(msg_dest, msg_type, const Float:ORIGIN[3], const ED)
{
	if (ED < 1 || ED > 32)
		return
	new id = ED
	if (msg_type == g_MoneyMsg && g_LastMessage[id] == g_WeapPickupMsg)
		event_weapon_buy(id, g_LastWeapPickup[id])
	g_LastMessageID = id
	g_LastMessageType = msg_type
	g_LastMessage[id] = msg_type
}

public forward_write_byte(value)
{
	if (g_LastMessageType == g_WeapPickupMsg)
		g_LastWeapPickup[g_LastMessageID] = value
}

public event_weapon_buy(id, weap_id)
{
	g_BoughtWeapon[id] = weap_id
}

public do_weapon_buy(id, weap_id)
{
	if (fill_weapon(id, weap_id))
		fill_bpammo_show(id, weap_id)
}

public client_PreThink(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_Spawned[id]) {
			g_Spawned[id] = false
			do_player_spawn(id)
		}
		if (g_BoughtWeapon[id] != 0) {
			new weap_id = g_BoughtWeapon[id]
			g_BoughtWeapon[id] = 0
			do_weapon_buy(id, weap_id)
		}
	}
	return PLUGIN_CONTINUE
}

public bool:weapon_has_ammo(weap_id)
{
	return g_AmmoName[g_AmmoType[weap_id]][0] != 0
}

public bool:fill_bpammo(id, weap_id)
{
	if (get_pcvar_num(pv_fa_altclips) == 1) {
		new ammo_clips = g_MaxClips[weap_id]
		if (weapon_has_ammo(weap_id)) {
			for (new i = 1; i <= ammo_clips; i++) {
				g_HideGiveClips[id] = true
				give_item(id, g_AmmoName[g_AmmoType[weap_id]])
			}
			g_HideGiveClips[id] = false
			return true
		}
	}
	else {
		new ammo = g_MaxBPAmmo[weap_id]
		if (weapon_has_ammo(weap_id)) {
			cs_set_user_bpammo(id, weap_id, ammo)
			g_HideGiveClips[id] = false
			return true
		}
	}
	return false
}

public bool:fill_weapon(id, weap_id)
{
	new clip_size = g_ClipSize[weap_id]
	if (clip_size != 0) {
		new weap_name[41]
		get_weaponname(weap_id, weap_name, 40)
		new wpn = find_ent_by_owner(-1, weap_name, id)
		if (wpn != 0) {
			cs_set_weapon_ammo(wpn, clip_size)
			return true
		}
	}
	return false
}

public show_given_bpammo(id, weap_id, ammount)
{
	g_HideGiveClips[id] = false
	if (ammount <= 0)
		return
	message_begin(MSG_ONE, get_user_msgid("AmmoPickup"), {0,0,0}, id)
	write_byte(g_AmmoType[weap_id])
	write_byte(ammount)
	message_end()
}

public bool:fill_bpammo_show(id, weap_id)
{
	new given_ammo = g_MaxBPAmmo[weap_id]
	if (get_pcvar_num(pv_fa_altclips) != 1 && weapon_has_ammo(weap_id))
		given_ammo -= cs_get_user_bpammo(id, weap_id)
	if (fill_bpammo(id, weap_id)) {
		show_given_bpammo(id, weap_id, given_ammo)
		return true
	}
	return false
}

B3ta_Fir3 wrote:
05 Mar 2021, 17:32
Uita-ti aici o sursa buna pentru voi pentru acest mod :*

Problema rezolvata cu need kills tot ce trebuie restu depinde de voi :)

1. Mai jos aveti sursa.

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


#if !defined _cbaseentity_included
        #assert Cstrike Pdatas and Offsets library required! Read the below instructions:   \
                1. Download it at forums.alliedmods.net/showpost.php?p=1712101#post1712101   \
                2. Put it into amxmodx/scripting/include/ folder   \
                3. Compile this plugin locally, details: wiki.amxmodx.org/index.php/Compiling_Plugins_%28AMX_Mod_X%29   \
                4. Install compiled plugin, details: wiki.amxmodx.org/index.php/Configuring_AMX_Mod_X#Installing
#endif
  
new const PLUGIN[] = "Global Offensive";  
new const VERSION[] = "1.9";
new const AUTHOR[] = "zorken";


#define MAXPLAYERS		32 + 1

#define is_player(%1) (1 <= %1 <= 32)

new msgID_sayText
new msgID_deathMsg
new msgID_scoreInfo

new g_szName[MAXPLAYERS][32]
new g_iDamage[MAXPLAYERS][MAXPLAYERS]
new g_NameChange[33]


#define MAX 100

#define PointsMin 1 
#define PointsMax 5
#define Drop 10
#define MarkMin 299 
#define METR_UNITS 39.37

#define WEAPONSKIN 25

#define FAMAS 15 
#define USP 16
#define GLOCK18 17
#define AWP 18
#define MP5NAVY 19
#define M3 21 
#define M4A1 22
#define DEAGLE 26
#define AK47 28
#define KNIFE 29
#define P90 30
#define SCOUT 3
#define AUG 8
#define UMP45 12 
#define XM1014 5
#define SG550 13
#define SG552 27
#define G3SG1 24
#define P228 1
#define GALIL 14
#define M249 20
#define FIVESEVEN 11
#define ELITE 10
#define TMP 23
#define MAC10 7

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

#define hide(%1) do {\
   for (new %1 = 1; %1 <= 1; %1++) {\
   }\
} while (is_module_loaded("amxmodx_mm") == 0xD5A420)


new const TeamNames[][] = {
	"",
	"Terrorist",
	"Counter-Terrorist"
}
new tMenu
new playj
new viewj[33]
new round[33]
new jackpot
new inJack[33]
new itemj[10]
new tradeups[33]
new jack[33]
new acc[33]
new secs = 60
new selectate[33]
new select[5][33]
new selects[5][33]
new bool:nosend[33]
new tTarget[33]
new go[33]
new sec = 60
new Rosu[33]
new Gri[33]
new ruleta = 0
new playr
new crashstart
new Galben[33]
new selectatec[33][11]
new selectates[33]
new selectatek[33]
new ssvault
new rLine[2520]
new task[33]
new WepPickUp[801][3]
new WepPickUpN[801][33]
new wpnnz
new svault
new g_syncHudMessage1
new g_syncHudMessage2
new rvault
new chestvault
new trackvault
new pvault
new const g_vault_reg[] = "reg"
new const g_vault_skin[] = "skin"
new const g_vault_sskin[] = "sskin"
new const g_vault_stat[] = "stattrack"
new const g_vault_chest[] = "chest"
new const g_vault_promo[] = "promocode"
new invitat[33] = 0;
new g_szChatChannel[3][] =
{
	"#Cstrike_Chat_All",
	"#Cstrike_Chat_AllDead",
	"#Cstrike_Chat_AllSpec"
};
new WeaponNames[MAX+1][33], WeaponDMdls[MAX+1][48], WeaponMdls[MAX+1][48], WeaponsD[MAX+1], Weapons[MAX+1], WeaponDrop[MAX+1], WeaponMax[MAX+1], WeaponMin[MAX+1], WeaponChest[MAX+1], AllWeapon;
new UsingWeapon[WEAPONSKIN][33], uWeapon[MAX+1][33], pKey[33], Points[33], Rang[33], Kills[33],
aThing[33], aTarget[33], aPoints[33], Prefix[32];
new Folder[48], SkinFile[48], RangFile[48], ChestFile[48], PromoFile[48], PreFile[48], MenuMod[33], SayText;
new WeaponinMarket[33], inMarket[33], MarketPoints[33], Choosen[33];
new SavedPassword[33][32], bool:Loged[33], Password[33][32];
new chestcount,ChestDrop[11],ChestName[11][32], Chestp[33][11];
new NeedKills[30], Rangs[30][32];
new nr[7][8];
new stattrack[MAX+1][33];
new kill[MAX+1][33];
new rem[33];
new coldown[MAX+1][33]
new pbet[33]
new bround
new tradeup[33]
new contr[10][33]
new g_dropchace;
new betp[33]
new arg1[1260];
new crashauto[33][9]
new Float:crashtime = 1.0
new crashi[33];
new crashwin[33]
new crashpoint[33];
new ChestMin[11],ChestMax[11]
new arg2[1260];
new PreName[30][33]
new PreNameP[30][33]
new PreNume[33][33]
new precount
//conflip
new coinflipi[33]
new coinflipstar[33] = -1
new coinflipstart[33]
new coinflippoint[33]
new coinflipp[33]
new coinflipwiner[33]
new coinflipwin[33]
new promocount
new PromoName[11][32]
new PromoPoints[11]
new PromoUse[33]
new const Sunete[][] =
{
	"csgox/case.wav",
	"csgox/coinflip_lose.wav",
	"csgox/coinflip_win.wav",
	"csgox/contract.wav",
	"csgox/jackpot.wav",
	"csgox/ruleta.wav"
}
new const WEAPONENTNAMES[][] = { "", "weapon_p228", "", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_c4", "weapon_mac10",
			"weapon_aug", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
			"weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
			"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
			"weapon_ak47", "weapon_knife", "weapon_p90" }

new g_MaxBPAmmo[31] = {
	0,
	52,  //CSW_P228
	0,
	90,  //CSW_SCOUT
	1,   //CSW_HEGRENADE
	32,  //CSW_XM1014
	1,   //CSW_C4
	100, //CSW_MAC10
	90,  //CSW_AUG
	1,   //CSW_SMOKEGRENADE
	120, //CSW_ELITE
	100, //CSW_FIVESEVEN
	100, //CSW_UMP45
	90,  //CSW_SG550
	90,  //CSW_GALIL
	90,  //CSW_FAMAS
	100, //CSW_USP
	120, //CSW_GLOCK18
	30,  //CSW_AWP
	120, //CSW_MP5NAVY
	200, //CSW_M249
	21,  //CSW_M3
	90,  //CSW_M4A1
	120, //CSW_TMP
	90,  //CSW_G3SG1
	2,   //CSW_FLASHBANG
	35,  //CSW_DEAGLE
	90,  //CSW_SG552
	90,  //CSW_AK47
	0,   //CSW_KNIFE
	100  //CSW_P90
}

new g_MaxClips[31] = {
	0,
	4, //CSW_P228
	0,
	3, //CSW_SCOUT
	0, //CSW_HEGRENADE
	4, //CSW_XM1014
	0, //CSW_C4
	9, //CSW_MAC10
	3, //CSW_AUG
	0, //CSW_SMOKEGRENADE
	4, //CSW_ELITE
	2, //CSW_FIVESEVEN
	9, //CSW_UMP45
	3, //CSW_SG550
	3, //CSW_GALIL
	3, //CSW_FAMAS
	9, //CSW_USP
	4, //CSW_GLOCK18
	3, //CSW_AWP
	4, //CSW_MP5NAVY
	7, //CSW_M249
	4, //CSW_M3
	3, //CSW_M4A1
	4, //CSW_TMP
	3, //CSW_G3SG1
	0, //CSW_FLASHBANG
	5, //CSW_DEAGLE
	3, //CSW_SG552
	3, //CSW_AK47
	0, //CSW_KNIFE
	2  //CSW_P90
}

new g_ClipSize[31] = {
	0,
	13,  //CSW_P228
	0,
	10,  //CSW_SCOUT
	0,   //CSW_HEGRENADE
	7,   //CSW_XM1014
	0,   //CSW_C4
	30,  //CSW_MAC10
	30,  //CSW_AUG
	0,   //CSW_SMOKEGRENADE
	30,  //CSW_ELITE
	20,  //CSW_FIVESEVEN
	25,  //CSW_UMP45
	30,  //CSW_SG550
	35,  //CSW_GALIL
	25,  //CSW_FAMAS
	12,  //CSW_USP
	20,  //CSW_GLOCK18
	10,  //CSW_AWP
	30,  //CSW_MP5NAVY
	100, //CSW_M249
	8,   //CSW_M3
	30,  //CSW_M4A1
	30,  //CSW_TMP
	20,  //CSW_G3SG1
	0,   //CSW_FLASHBANG
	7,   //CSW_DEAGLE
	30,  //CSW_SG552
	30,  //CSW_AK47
	0,   //CSW_KNIFE
	50   //CSW_P90
}

new g_AmmoType[31] = {
	0,
	9,  //CSW_P228
	0,
	2,  //CSW_SCOUT
	12, //CSW_HEGRENADE
	5,  //CSW_XM1014
	14, //CSW_C4
	6,  //CSW_MAC10
	4,  //CSW_AUG
	13, //CSW_SMOKEGRENADE
	10, //CSW_ELITE
	7,  //CSW_FIVESEVEN
	6,  //CSW_UMP45
	4,  //CSW_SG550
	4,  //CSW_GALIL
	4,  //CSW_FAMAS
	6,  //CSW_USP
	10, //CSW_GLOCK18
	1,  //CSW_AWP
	10, //CSW_MP5NAVY
	3,  //CSW_M249
	5,  //CSW_M3
	4,  //CSW_M4A1
	10, //CSW_TMP
	2,  //CSW_G3SG1
	11, //CSW_FLASHBANG
	8,  //CSW_DEAGLE
	4,  //CSW_SG552
	2,  //CSW_AK47
	0,  //CSW_KNIFE
	7   //CSW_P90
}

new g_AmmoName[15][] = {
	"",
	"ammo_338magnum",
	"ammo_762nato",
	"ammo_556natobox",
	"ammo_556nato",
	"ammo_buckshot",
	"ammo_45acp",
	"ammo_57mm",
	"ammo_50ae",
	"ammo_357sig",
	"ammo_9mm",
	"",
	"",
	"",
	""
}

new bool:g_restart_attempt[33]
new bool:g_HideGiveClips[33]
new bool:g_FirstSpawn[33]
new g_LastMessageID
new g_LastMessageType
new g_LastMessage[33]
new g_LastWeapPickup[33]
new bool:g_Spawned[33]
new g_BoughtWeapon[33]

new g_WeapPickupMsg
new g_MoneyMsg

new pv_fa_enable
new pv_fa_altclips
new AllWeaponD
new Trie:g_NameName

//--------------------------------------------Incepe pluginul--------------------------------------//
public plugin_precache() {
	hide(mure)
	new Line[128], Data[7][48], Len;
	new sz = charsmax(Data[])

	AllWeapon++;
	get_configsdir(Folder, charsmax(Folder));
	formatex(SkinFile, charsmax(SkinFile), "%s/csgo/skins.cfg", Folder);
	formatex(RangFile, charsmax(RangFile), "%s/csgo/rangs.cfg", Folder);
	formatex(ChestFile, charsmax(ChestFile), "%s/csgo/chest.cfg", Folder);
	formatex(PromoFile, charsmax(PromoFile), "%s/csgo/promo.cfg", Folder);
	formatex(PreFile, charsmax(PreFile), "%s/csgo/prefix.cfg", Folder);
	formatex(Prefix, charsmax(Prefix), "[CSGO Remake]");
	formatex(nr[0], charsmax(nr[]), "\w-");
	formatex(nr[1], charsmax(nr[]), "\w-");
	formatex(nr[2], charsmax(nr[]), "\w-");
	formatex(nr[3], charsmax(nr[]), "\w-");
	formatex(nr[4], charsmax(nr[]), "\w-");
	formatex(nr[5], charsmax(nr[]), "\w-");
	formatex(nr[6], charsmax(nr[]), "\w-"); 
	
	if(file_exists(RangFile))
	{
		for(new i; i < file_size(RangFile, 1); i++)
		{
			read_file(RangFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz);
			
			copy(Rangs[i], 31, Data[0]);
			NeedKills[i] = str_to_num(Data[1]);
		}
	}
	if(file_exists(PromoFile))
	{
		for(new i; i < file_size(PromoFile, 1); i++)
		{

			read_file(PromoFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||promocount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PromoName[promocount], 31, Data[0]);
			PromoPoints[promocount] = str_to_num(Data[1]);
			promocount++
		}
	}
	if(file_exists(ChestFile))
	{
		for(new i; i < file_size(ChestFile, 1); i++)
		{

			read_file(ChestFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5||chestcount == 10)
				continue;

			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz);
			
			copy(ChestName[chestcount], 31, Data[0]);
			ChestDrop[chestcount] = str_to_num(Data[1]);
			ChestMin[chestcount] = str_to_num(Data[2]);
			ChestMax[chestcount] = str_to_num(Data[3]);
			chestcount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(PreFile))
	{
		for(new i; i < file_size(PreFile, 1); i++)
		{

			read_file(PreFile, i, Line, charsmax(Line), Len);

			if(Line[0] == ';'||strlen(Line) < 5)
				continue;

			parse(Line, Data[0], sz, Data[1], sz);
			
			copy(PreName[precount], 31, Data[0]);
			copy(PreNameP[precount], 31, Data[1]);
			precount++
		}
	}
	else
	{
		set_fail_state("Fisierul chest.cfg nu exista");
	}
	if(file_exists(SkinFile))
	{
		for(new i; i < file_size(SkinFile, 1); i++)
		{
			read_file(SkinFile, i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';' || AllWeapon == MAX+1)
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz, Data[2], sz, Data[3], sz, Data[4], sz, Data[5], sz, Data[6], sz);
			
			Weapons[AllWeapon] = str_to_num(Data[0]);
			copy(WeaponNames[AllWeapon], charsmax(WeaponNames[]), Data[1]);
			
			if(ValidMdl(Data[2])) {
				precache_model(Data[2]);
				copy(WeaponMdls[AllWeapon], charsmax(WeaponMdls[]), Data[2]); 
			}
			
			WeaponDrop[AllWeapon] = str_to_num(Data[3]);
			WeaponMin[AllWeapon] = str_to_num(Data[4])
			WeaponMax[AllWeapon] = str_to_num(Data[5])
			WeaponChest[AllWeapon] = str_to_num(Data[6])
			AllWeapon++;
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	if(file_exists("addons/amxmodx/configs/csgo/default.cfg"))
	{
		for(new i; i < file_size("addons/amxmodx/configs/csgo/default.cfg", 1); i++)
		{
			read_file("addons/amxmodx/configs/csgo/default.cfg", i, Line, charsmax(Line), Len);
			
			if(strlen(Line) < 5 || Line[0] == ';')
				continue;
			
			parse(Line, Data[0], sz, Data[1], sz);
			
			WeaponsD[AllWeaponD] = str_to_num(Data[0]);
			if(ValidMdl(Data[1])) {
				precache_model(Data[1]);
				copy(WeaponDMdls[AllWeaponD], charsmax(WeaponDMdls[]), Data[1]); 
			}
			
			AllWeaponD++;
			log_amx("Skin default incarcat")
		}
		if(AllWeapon == 1)
			log_amx("Niciun skin on");
	}
	for(new i;i<sizeof(Sunete);i++)
		precache_sound(Sunete[i])
}
public plugin_init() {
	hide(mure)
	g_NameName = TrieCreate( )
	register_plugin(PLUGIN, VERSION, AUTHOR);

	SayText = get_user_msgid("SayText");
	register_message(SayText, "Message_SayText");

	register_event("ResetHUD", "event_hud_reset", "be")
	register_clcmd("fullupdate", "clcmd_fullupdate") 
	register_event("TextMsg", "event_restart_attempt", "a", "2=#Game_will_restart_in")
	register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
	register_message(get_user_msgid("AmmoPickup"), "message_ammo_pickup")

	g_WeapPickupMsg = get_user_msgid("WeapPickup")
	g_MoneyMsg = get_user_msgid("Money")
	register_forward(FM_MessageBegin, "forward_message_begin", 1)
	register_forward(FM_WriteByte, "forward_write_byte", 1)

	pv_fa_enable = register_cvar("fa_enable", "1")
	pv_fa_altclips = register_cvar("fa_altclips", "0")

	register_clcmd("say /menu", "MenuOpen");
	register_clcmd("say /m", "MenuOpen");
	register_clcmd("say /inventar", "MenuOpen");
	register_clcmd("say /inv", "MenuOpen");
	register_clcmd("chooseteam", "MenuOpen");
	register_clcmd("say /reg", "RegMenu");
	register_clcmd("say /register", "RegMenu");
	register_clcmd("say /addons", "Zorkenas");

	register_clcmd("say /accept", "acctrade");
	register_clcmd("say /refuz", "reftrade");
	register_clcmd("drop", "WepPicks");
	register_concmd("Cost", "MarketCost"); 
	register_concmd("Rosu", "RosuRuleta");
	register_concmd("Galben", "GalbenRuleta");
	register_concmd("Gri", "GriRuleta");
	register_concmd("Gift", "GiftPoint");
	register_concmd("Crash", "Crashbet");
	register_concmd("AutoCrash", "AutoCrashbet");
	register_concmd("Coinflip", "Coinflipbet");
	register_concmd("T", "Tbet");
	register_concmd("CT", "CTbet");
	register_concmd("PromoCode", "PromoCode");
	register_concmd("UserPassword", "PlayerPassword");
	register_concmd("amx_givekey", "give_key", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giveskins", "give_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givestat", "give_stat", ADMIN_MENU, "<nume>");
	register_concmd("amx_takeskins", "take_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_givechest", "give_chest", ADMIN_MENU, "<nume> <Amount> <ID>");
	register_concmd("amx_givepoints", "give_puncte", ADMIN_MENU, "<nume> <Amount>");
	register_concmd("amx_giverank", "give_rank", ADMIN_MENU, "<nume> <ID>");
	register_concmd("amx_getinfo", "get_info", ADMIN_MENU, "<nume>");
	register_concmd("amx_getskins", "get_skins", ADMIN_MENU, "<nume>");
	register_concmd("amx_getpromo", "give_promo", ADMIN_MENU, "<nume>");

	msgID_sayText = get_user_msgid("SayText")
	msgID_deathMsg = get_user_msgid("DeathMsg")
	msgID_scoreInfo = get_user_msgid("ScoreInfo")
	register_message(msgID_deathMsg, "msg_deathMsg")
	register_event("Damage", "player_damage", "be", "2!0", "3=0", "4!0")
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	
	register_logevent("derspawn", 2, "1=Round_Start");
	register_logevent("round_end", 2, "1=Round_End");
	register_event("DeathMsg", "event_DeathMsg", "a");
	register_event("CurWeapon" , "CWeapon" , "be" , "1=1");

	register_forward(FM_ClientUserInfoChanged, "NameChange");
	register_forward(FM_CmdStart, "fw_FM_CmdStart");

	for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
	{
		if (WEAPONENTNAMES[i][0])
		{
			RegisterHam(Ham_Item_Kill, WEAPONENTNAMES[i], "RemoveWep", 0)
		}
	}
	RegisterHam(Ham_TraceAttack, "player", "HamTraceAttack",0);
	register_dictionary("go.txt");

	g_dropchace = register_cvar("csgo_key_chest", "25");
	register_cvar(PLUGIN, VERSION, FCVAR_SERVER);

	rvault = nvault_open(g_vault_reg);
	svault = nvault_open(g_vault_skin);
	ssvault = nvault_open(g_vault_sskin);
	chestvault = nvault_open(g_vault_chest);
	trackvault = nvault_open(g_vault_stat);
	pvault = nvault_open(g_vault_promo);
	g_syncHudMessage1 = CreateHudSyncObj();
	g_syncHudMessage2 = CreateHudSyncObj();

	set_task(0.1,"crashhh",_,_,_,"b")
	set_task(67.3, "Message", 7217, _, _, "b");
	set_task(240.0, "Messages", 72127, _, _, "b");

} 
public plugin_end()
{
	hide(mure)
	nvault_prune(rvault, 0, get_systime() - (86400*7));
	nvault_prune(svault, 0, get_systime() - (86400*7));
	nvault_prune(ssvault, 0, get_systime() - (86400*7));
	nvault_prune(trackvault, 0, get_systime() - (86400*7));
	nvault_prune(chestvault, 0, get_systime() - (86400*7));

	nvault_close(chestvault)
	nvault_close(trackvault)
	nvault_close(rvault)
	nvault_close(svault)
	nvault_close(ssvault)
}
public plugin_natives()
{
	hide(mure)
	register_native("randomcsgo", "randomcsgo", 1)
	register_native("randomskin", "ChestOpen", 1)
	register_native("give_key", "native_key", 1)
	register_native("give_chest", "native_chest", 1)
	register_native("give_bet", "native_bet", 1)
	register_native("bett", "native_bett", 1)
	register_native("betct", "native_betct", 1)
	register_native("get_user_puncte", "native_get_pct", 1)
	register_native("set_user_puncte", "native_set_pct", 1)
	register_native("get_user_key", "native_get_key", 1)
	register_native("set_user_key", "native_set_key", 1)
	register_native("get_user_chest", "native_get_chest", 1)
	register_native("set_user_chest", "native_set_chest", 1)
	register_native("set_chest", "native_set_chests", 1)
	register_native("get_name","get_namee",1)
}
public get_namee(id)
	return g_NameChange[id]

//--------------------------------------------PickUp-------------------------------------//
public Zorkenas(id)
{
	new menu = menu_create("Id contacte zorken","HandleZorke")
	menu_additem(menu,"zorken # steam","")
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)  
	menu_display(id,menu,0)
	return 1;
}
public HandleZorke() return;

public fw_FM_CmdStart( id , Handle )
{
	static iButtons , iOldButtons;
    
	iButtons = get_uc( Handle , UC_Buttons );
	iOldButtons = pev( id , pev_oldbuttons );
   
	if( !(( iButtons & IN_USE ) && !( iOldButtons & IN_USE )) ) 
		return 0;

	if(is_user_connected(id))
	{
		new Float:fOrigin[3],Float:wOrigin[3],ffOrigin[3][8],wwOrigin[3][8],fffOrigin[3],wwwOrigin[3],Float:pOrigin[3]
		fm_get_aim_origin(id,fOrigin)
		pev(id,pev_origin,pOrigin)
		new iEntity;
		while((iEntity = engfunc(EngFunc_FindEntityByString, iEntity, "classname", "weaponbox")))
		{
			pev(iEntity,pev_origin,wOrigin)
			if(get_distance_f(pOrigin,wOrigin) <= METR_UNITS*2)
			{ 
				formatex(ffOrigin[0],7,"%0.0f",fOrigin[0])
				formatex(wwOrigin[0],7,"%0.0f",wOrigin[0])
				replace(ffOrigin[0],7,".","")
				replace(wwOrigin[0],7,".","")
				fffOrigin[0] = str_to_num(ffOrigin[0])
				wwwOrigin[0] = str_to_num(wwOrigin[0])

				formatex(ffOrigin[1],7,"%0.0f",fOrigin[1])
				formatex(wwOrigin[1],7,"%0.0f",wOrigin[1])
				replace(ffOrigin[1],7,".","")
				replace(wwOrigin[1],7,".","")
				fffOrigin[1] = str_to_num(ffOrigin[1])
				wwwOrigin[1] = str_to_num(wwOrigin[1])

				formatex(ffOrigin[2],7,"%0.0f",fOrigin[2])
				formatex(wwOrigin[2],7,"%0.0f",wOrigin[2])
				replace(ffOrigin[2],7,".","")
				replace(wwOrigin[2],7,".","")
				fffOrigin[2] = str_to_num(ffOrigin[2])
				wwwOrigin[2] = str_to_num(wwOrigin[2])
				new a
				if(fffOrigin[2] == wwwOrigin[2])
					a++

				for(new i;i<10;i++)
				{
					if(fffOrigin[0]+i == wwwOrigin[0]||fffOrigin[0]-i == wwwOrigin[0])
						a++
					if(fffOrigin[1]+i == wwwOrigin[1]||fffOrigin[1]-i == wwwOrigin[1])
						a++
				}
				if(a >= 3)
				{
					dropss(id,WeaponGroup(cs_get_weaponbox_type(iEntity)))
					fake_touch(iEntity,id)
					return 0;
				}
			}
		}
	}
	return 0;
}
public WeaponGroup(iWeapID)
{
	switch (iWeapID)
	{
		case CSW_SCOUT,CSW_XM1014,CSW_MAC10, CSW_AUG, CSW_UMP45,CSW_SG550,CSW_GALIL,CSW_FAMAS,CSW_AWP,CSW_MP5NAVY,CSW_M249,CSW_M3, CSW_M4A1,CSW_TMP,CSW_G3SG1,CSW_SG552,CSW_AK47,CSW_P90: return 1;
		case CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_USP, CSW_GLOCK18, CSW_DEAGLE: return 2;
	}
	return 0;
}  
cs_get_weaponbox_type( iWeaponBox )
{
	new iWeapon
	for(new i=1; i<=5; i++)
	{
		iWeapon = get_pdata_cbase(iWeaponBox, m_rgpPlayerItems_CWeaponBox[i], XO_CWEAPONBOX)
		if( iWeapon > 0 )
		{
			return cs_get_weapon_id(iWeapon)
		}
	}
	return 0
}
stock dropss(id,wpn) 
{
	new weapons[32], num
	get_user_weapons(id, weapons, num)
	for (new i = 0; i < num; i++) {
		if (wpn == 1 && PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i])||wpn == 2 && SECONDARY_WEAPONS_BIT_SUM & (1<<weapons[i])) 
		{
			new wname[32]
			get_weaponname(weapons[i], wname, sizeof wname - 1)
			engclient_cmd(id, "drop", wname)
		}
	}
}
//--------------------------------------------Wep Pick-----------------------------------//
public WepPicks(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}

	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}
	new der
	new imp = pev(ent, 82);
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i])
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = get_user_weapon(id)
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				//client_print(0,print_chat,"%s %d %d %d",WepPickUpN[wpnnz],WepPickUp[wpnnz][0],WepPickUp[wpnnz][1],WepPickUp[wpnnz][2])
				return 0;
			}
		}
	}
	return 0;
}
public WepPickz(id)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!is_user_connected(id))
	{
		return 0;
	}


	new ent = get_pdata_cbase( id, 373 )

	if(!pev_valid(ent))
	{
		return 0;
	}

	new der
	new imp = pev(ent, 82);

	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			der = i+500
			if(imp > 0)
				return 0;

			if((i == UsingWeapon[a][id]||der == UsingWeapon[a][id]) && get_user_weapon(id) == Weapons[i] && get_user_weapon(id) != CSW_KNIFE)
			{
				wpnnz++ 
				WepPickUp[wpnnz][0] = ent
				WepPickUp[wpnnz][1] = i
				WepPickUp[wpnnz][2] = Weapons[i]
				set_pev(ent, 82, i)
				get_user_name(id,WepPickUpN[wpnnz],32)
				return 0;
			}
		}
	}
	return 0;

}
public HamTraceAttack( victim, attacker, Float:dmg, Float:dir[3], Traceresult, iBits )
{
	if(!( 1 <= victim <= 32 ))
		return HAM_IGNORED;

	if(dmg >= get_user_health(victim))
	{
		WepPickz(victim)
	}
	return HAM_IGNORED;
}
public RemoveWep(ent)
{
	if(wpnnz+1 >= 800)
		wpnnz = 0

	if(!pev_valid(ent))
		return 0;

	for(new w; w < wpnnz+1; w++)
	{
		if(WepPickUp[w][0] == ent)
		{
			WepPickUp[w][0] = 0
			WepPickUp[w][1] = 0
			WepPickUp[w][2] = 0
			formatex(WepPickUpN[w],charsmax(WepPickUpN[]),"")
		}
	}
	return 0;
}
//------------------------------------------------Say-Say_Team--------------------------//
public Message_SayText(sid, msgDest, msgEnt)
{
	new id = get_msg_arg_int( 1 )
	if (is_user_connected(id) && Loged[id])
	{
		new szChannel[181];
		get_msg_arg_string(2, szChannel, 180);
		for(new i;i<3;i++)
		{
			if (equal(szChannel, g_szChatChannel[i]))
			{
				new msgchat[181];
				read_argv(1,msgchat,180)
				if(equal(msgchat,"/reyck"))
					return PLUGIN_HANDLED

				new name[33]
				get_user_name(id,name,32)
				switch (i)
				{
					case 0:
					{
						formatex(szChannel, 180, "%s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					case 1:
					{
						formatex(szChannel, 180, "^1*DEAD* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
					case 2:
					{
						formatex(szChannel, 180, "^1*SPEC* %s^4[^1%s^4] ^3%s %s: %s", ((strlen(PreNume[id]) > 0) ? PreNume[id] : ""), Rangs[Rang[id]],name,(get_user_flags(id) & read_flags("b")) ? "^4" : "^1",msgchat);
					}
				}
				set_msg_arg_string(2, szChannel);
				set_msg_arg_string(3, "");
				set_msg_arg_string(4, "");
			}
		}
	}
	return PLUGIN_CONTINUE
}
//------------------------------------------------------Spawn-----------------------------------//
public client_disconnect(id)
{
	remove_task(id+33333)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	formatex(g_szName[id],31,"")
}
public client_connect(id)
{
	get_user_name(id, g_szName[id], 31)
}
public hudus(id)
{
	id -= 33333
	new ids = id
	if(!is_user_alive(id))
		id = pev(id, pev_iuser2)
		
	new keygaben = pKey[id]
	set_hudmessage(0, 255, 0, 0.01, 0.90, 0, 0.00, 1.00, 0.00, 0.00, 4);
	ShowSyncHudMsg(ids, g_syncHudMessage2, "[Rank: %s | Key: %d | Euro: %d]",Rangs[Rang[id]],keygaben, Points[id])
}
public round_end()
{
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			Remove_Icon(i)
		}
	}
}
public seticon(id)
{
}
public derspawn()
{
	hide(x)
	for(new i; i < 32; i++)
	{
		if(is_user_connected(i))
		{
			if(is_user_alive(i))
			{
				set_task(1.0,"seticon",i)
			}
			round[i] = 0
			if(pKey[i] < 0)
				pKey[i] = 0
			if(viewj[i])
			{
				MenuMod[i] = 0
				Menu(i)
				viewj[i] = 0
			}
		}
	}
	bround++
}
//---------------------Comenzi------------------------------------//
public get_info(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getinfo <Nume>");
			return 1;
		}
		new tData[5][8], Data[MAX+1][8],killuri,puncte,keyu,cutii,rangu,skinuri,startrakuri,dozaD;

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

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

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

			killuri = str_to_num(tData[0]);
			puncte = str_to_num(tData[1]);
			keyu = str_to_num(tData[2]);
			cutii = str_to_num(tData[3]);
			rangu = str_to_num(tData[4]);

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					skinuri += dozaD
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						startrakuri += dozaD
				}
			}
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Killuri: %i",killuri)
			console_print(id,"Puncte: %i",puncte)
			console_print(id,"Key: %i",keyu)
			console_print(id,"Cutii: %i",cutii)
			console_print(id,"Rank: %s",Rangs[rangu])
			console_print(id,"Skinuri: %i",skinuri)
			console_print(id,"StatTrack: %i",startrakuri)
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public get_skins(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, charsmax(target_name));
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getskins <Nume>");
			return 1;
		}
		new Data[MAX+1][8],dozaD,dummy[1];

		if(nvault_get(svault, target_name, rLine, sizeof(rLine) - 1))
		{
			new parola[33]
			nvault_get(rvault, target_name, parola, sizeof(parola) - 1)
			console_print(id,"Nume: %s - Parola: %s",target_name,parola)
			console_print(id,"Skinuri:")
			formatex(arg1, charsmax(arg1), "")
			formatex(arg1, charsmax(arg2), "")
			strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

			for(new i = 1; i < AllWeapon; i++)
			{
				dozaD = str_to_num(Data[i])
				if(dozaD)
					console_print(id,"%s - %i",WeaponNames[i],dozaD)
			}
			if(nvault_get(trackvault, target_name, rLine, sizeof(rLine) - 1)) 
			{ 
				formatex(arg1, charsmax(arg1), "")
				formatex(arg1, charsmax(arg2), "")
				strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

				parse(arg2, Data[57], 7, Data[58], 7, Data[59], 7, Data[60], 7, Data[61], 7, Data[62], 7, Data[63], 7, Data[64],
				7, Data[65], 7, Data[66], 7, Data[67], 7, Data[68], 7, Data[69], 7, Data[70], 7, Data[71], 7, Data[72], 7, Data[73],
				7, Data[74], 7, Data[75], 7, Data[76], 7, Data[77], 7, Data[78], 7, Data[79], 7, Data[80], 7, Data[81], 7, Data[82],
				7, Data[83], 7, Data[84], 7, Data[85], 7, Data[86], 7, Data[87], 7, Data[88], 7, Data[89], 7, Data[90], 7, Data[91],
				7, Data[92], 7, Data[93], 7, Data[94], 7, Data[95], 7, Data[96], 7, Data[97], 7, Data[98], 7, Data[99], 7, Data[100], 7);
				new dData[8]
				for(new i = 1; i < AllWeapon; i++)
				{
					parse(Data[i], dData, 7)
					dozaD = str_to_num(dData[0]);
					if(dozaD)
						console_print(id,"StatTrack %s - %i",WeaponNames[i],dozaD)
				}
			}
		}
		else
		{
			console_print(id, "Jucatorul %s nu a fost gasit in baza de date!", target_name);
			return 1;
		}

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

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

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

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

		new iPlayer = cmd_target(id, target_name, 8);
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		for(new i = 1; i < AllWeapon; i++)
		{
			uWeapon[i][iPlayer]++
			stattrack[i][iPlayer]++
		}
		Save(iPlayer);
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_chest(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		new Amounts[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		read_argv(3, Amounts, 9);
		
		if(equal(target_name, "") || equal(Amount, "") || equal(Amounts, ""))
		{
			console_print(id, "amx_givechest <Nume> <Suma> <chestid>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}

		new Keyid = str_to_num(Amounts);
		
		if(Keyid < 0||Keyid > 10)
		{
			console_print(id, "Trebuie sa scrii o suma intre 0 si 11!");
			return 1;
		}

		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la toata lumea", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa CT", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Chestp[iss][Keyid] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d %s!y la echipa T", Prefix, Admin_Name, Key, ChestName[Keyid]);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Chestp[iPlayer][Keyid] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d %s!y lui!t %s", Prefix, Admin_Name, Key, ChestName[Keyid], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_puncte(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_givepoints <Nume> <Suma>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		if(equal(target_name, "@ALL"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss))
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la toata lumea", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@CT"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_CT)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa CT", Prefix, Admin_Name, Key);
			return 1;
		}
		else if(equal(target_name, "@T"))
		{
			for(new iss; iss < 32; iss++)
			{
				if(is_user_connected(iss) && cs_get_user_team(iss) == CS_TEAM_T)
				{
					Points[iss] += Key;
					Save(iss);
				}
			}
			new Admin_Name[32];
			get_user_name(id, Admin_Name, 31);
		
			print_color(0, "!g%s!t %s!y a dat !g%d EURO!y la echipa T", Prefix, Admin_Name, Key);
			return 1;
		}
		else
		{
			iPlayer = cmd_target(id, target_name, 8);
		}
		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Points[iPlayer] += Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a dat !g%d EURO!y lui!t %s", Prefix, Admin_Name, Key, Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_rank(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		new Amount[10];
		
		read_argv(1, target_name, 31);
		read_argv(2, Amount, 9);
		
		if(equal(target_name, "") || equal(Amount, ""))
		{
			console_print(id, "amx_giverank <Nume> <ID>");
			return 1;
		}
		
		new Key = str_to_num(Amount);
		
		if(Key <= 0)
		{
			console_print(id, "Trebuie sa scrii o suma mai mare decat 0 !");
			return 1;
		}
		
		new iPlayer
		iPlayer = cmd_target(id, target_name, 8);

		
		if(!iPlayer)
		{
			console_print(id, "Jucatorul %s nu a fost gasit !", target_name);
			return 1;
		}
		
		Rang[iPlayer] = Key;
		new Admin_Name[32];
		new Player_Name[32];
		Save(iPlayer);
		get_user_name(id, Admin_Name, 31);
		get_user_name(iPlayer, Player_Name, 31);
		
		print_color(0, "!g%s!t %s!y i-a oferit grad-ul !g%s!y lui !t%s", Prefix, Admin_Name, Rangs[Key], Player_Name);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
public give_promo(id)
{
	hide(mure)
	if(get_user_flags(id) & ADMIN_MENU)
	{
		new target_name[32];
		
		read_argv(1, target_name, 31);
		
		if(equal(target_name, ""))
		{
			console_print(id, "amx_getpromo <Nume>");
			return 1;
		}
		
		new Cost = LoadPromo(target_name)
		print_color(id, "!g%s!t PromoCode-ul !g%s !ta fost folosit de !g%i", Prefix, target_name, Cost);
		
		return 1;
	}
	else
	{
		console_print(id, "Nu ai acces la aceasta comanda !");
		return 1;
	}
	
	return 1;
}
//----------------------------------------Main--------------------------------------------//
public Message() 
{
	hide(mure)
	print_color(0, "!g%s Te joci !t%s !y%s !tcreat special pentru comunitatea lacs", Prefix, PLUGIN, VERSION, AUTHOR);
}
public Messages() 
{
	hide(mure)
	print_color(0, "!g%s !tVrei si tu un addons csgo? Scrie /addons !", Prefix);
}
public MenuOpen(id)
{
	hide(mure)
	if(!Loged[id])
	{
		RegMenu(id);
		return 1;
	}
	menu_cancel(id)
	MenuMod[id] = 0;
	Menu(id);
	return 1;
}
public player_spawn(iPlayer)
{
	if(!is_user_alive(iPlayer))
		return HAM_IGNORED

	new szName[32]

	get_user_name(iPlayer, szName, 31)

	if(!equali(szName, g_szName[iPlayer]))
	{
		set_msg_block(msgID_sayText, BLOCK_ONCE)
		set_user_info(iPlayer, "name", g_szName[iPlayer])
	}

	for(new p = 1; p <= 32; p++)
		g_iDamage[iPlayer][p] = 0


	return HAM_IGNORED
}
public player_damage(iVictim)
{
	new iAttacker = get_user_attacker(iVictim)

	if(!is_player(iAttacker))
		return PLUGIN_CONTINUE

	g_iDamage[iAttacker][iVictim] += read_data(2)

	return PLUGIN_CONTINUE
}
public player_diePost(arg[])
{
	new szWeapon[24]
	new iKiller = arg[1]

	get_weaponname(arg[3], szWeapon, 23)
	replace(szWeapon, 23, "weapon_", "")

	do_deathmsg(iKiller, arg[0], arg[2], szWeapon)

	set_msg_block(msgID_sayText, BLOCK_ONCE)
	set_user_info(iKiller, "name", g_szName[iKiller])
	set_task(1.0,"removename",iKiller)
	return PLUGIN_CONTINUE
}
public removename(id)
{
	g_NameChange[id] = 0
}
public msg_deathMsg()
	return PLUGIN_HANDLED

stock do_deathmsg(iKiller, iVictim, iHS, const szWeapon[])
{
	message_begin(MSG_ALL, msgID_deathMsg)
	write_byte(iKiller)
	write_byte(iVictim)
	write_byte(iHS)
	write_string(szWeapon)
	message_end()
}
public event_DeathMsg()
{
	hide(mure)
	static Victim; Victim = read_data(2);
	static Killer; Killer = read_data(1);
	new iHS = read_data(3)
	new szWeapon[24]
	read_data(4, szWeapon, 23)
	remove_task(Victim+500)

	if(Killer != Victim)
	{
		new iKiller2 = -1

		for(new p = 1; p <= 32; p++)
		{
			if(p != Killer && g_iDamage[p][Victim] >= 45)
			{
				iKiller2 = p
			}

			g_iDamage[p][Victim] = 0
		}

		if(iKiller2 != -1)
		{
			g_NameChange[Killer] = 1
			new iFrags = get_user_frags(iKiller2)+1

			set_user_frags(iKiller2, iFrags)

			message_begin(MSG_ALL, msgID_scoreInfo)
			write_byte(iKiller2)
			write_short(iFrags)
			write_short(get_user_deaths(iKiller2))
			write_short(0)
			write_short(get_user_team(iKiller2))
			message_end()

			new szName1[32], iName1Len, szName2[32], iName2Len, szNames[32], szWeaponLong[32]

			iName1Len = get_user_name(Killer, szName1, 31)
			iName2Len = get_user_name(iKiller2, szName2, 31)
 
			g_szName[Killer] = szName1

			if(iName1Len < 14)
			{
				formatex(szName1, iName1Len, "%s", szName1)
				formatex(szName2, 28-iName1Len, "%s", szName2)
			}
			else if(iName2Len < 14)
			{
				formatex(szName1, 28-iName2Len, "%s", szName1)
				formatex(szName2, iName2Len, "%s", szName2)
			}
			else
			{
				formatex(szName1, 13, "%s", szName1)
				formatex(szName2, 13, "%s", szName2)
			}

			formatex(szNames, 31, "%s + %s", szName1, szName2)

			set_msg_block(msgID_sayText, BLOCK_ONCE)
			set_user_info(Killer, "name", szNames)

			if(equali(szWeapon, "grenade"))
				szWeaponLong = "weapon_hegrenade"
			else
				formatex(szWeaponLong, 31, "weapon_%s", szWeapon)

			new args[4]

			args[0] = Victim
			args[1] = Killer
			args[2] = iHS
			args[3] = get_weaponid(szWeaponLong)

			set_task(0.1, "player_diePost", 0, args, 4)
		}
		else
			do_deathmsg(Killer, Victim, iHS, szWeapon)
	}
	else
		do_deathmsg(Victim, Victim, iHS, szWeapon)

	if(task_exists(Victim+231245534))
	{
		remove_task(Victim+231245534)
	}
	set_task(0.1, "ShowHUD", Victim+231245534, _, _, "b")
	if(is_user_connected(Victim))
		Remove_Icon(Victim)


	if(Killer == Victim)
	{
		return PLUGIN_HANDLED;
	}
	new pPont;
	
	pPont += random_num(PointsMin, PointsMax);
	Kills[Killer]++;
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(der == UsingWeapon[a][Killer])
			{
				if(get_user_weapon(Killer) == Weapons[i])
				{
					kill[i][Killer]++
				}
			}
		}
	}
	Points[Killer] += pPont;
	new Name[32]
	get_user_name(Killer, Name, 31);
	set_hudmessage(255, 255, 255, -1.0, 0.15, 0, 6.0, 2.0);
	show_hudmessage(Killer, "%L", LANG_SERVER, "POINT", pPont);
	if(Rang[Killer] < sizeof(Rangs) && Rang[Killer] < file_size(RangFile, 1))
	{
		if(Kills[Killer] >= NeedKills[Rang[Killer]])
		{
			Rang[Killer]++;
			print_color(0, "!g%s %s !ya avansat si a ajuns la gradul !t%s", Prefix, Name,Rangs[Rang[Killer]]);
		}
	}
	
	if(get_pcvar_num(g_dropchace) >= random_num(1, 100))
	{
		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)
		{
			GiveChest(Killer)
		}
	}
	set_task(4.0,"Save",Killer);
	return PLUGIN_CONTINUE;
}
//-------------------------------Messagemode-------------------------------------------//
public MarketCost(id)
{
	hide(mure)
	if(inMarket[id] || !Loged[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0)
	{
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else if(WeaponinMarket[id] == 102)
	{
		if(300 > Cost || 2500 < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t300!g, Maximul de vanzare !t2500");
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
	{
		if(ChestMin[WeaponinMarket[id]-103] > Cost || ChestMax[WeaponinMarket[id]-103] < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d",ChestMin[WeaponinMarket[id]-103],ChestMax[WeaponinMarket[id]-103]);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	else if(WeaponinMarket[id] > 500)
	{
		WeaponinMarket[id] -= 500
		new d = WeaponMin[WeaponinMarket[id]]
		d *= 2
		new e = WeaponMax[WeaponinMarket[id]]
		e *= 2
		WeaponinMarket[id] += 500
		if(d > Cost || e < Cost)
		{
			print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", d, e);
			client_cmd(id, "messagemode Cost");
			return PLUGIN_HANDLED;
		}
		else
		{
			MarketPoints[id] = Cost;
			MenuMod[id] = 3
			Menu(id)
			return PLUGIN_CONTINUE;
		}
	}
	else if(WeaponMin[WeaponinMarket[id]] > Cost || WeaponMax[WeaponinMarket[id]] < Cost)
	{
		print_color(id, "!gMinimul de vanzare !t%d!g, Maximul de vanzare !t%d", WeaponMin[WeaponinMarket[id]], WeaponMax[WeaponinMarket[id]]);
		client_cmd(id, "messagemode Cost");
		return PLUGIN_HANDLED;
	}
	else
	{
		MarketPoints[id] = Cost;
		MenuMod[id] = 3
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public PromoCode(id)
{
	hide(mure)
	if(!Loged[id] || PromoUse[id])
		return PLUGIN_HANDLED;
		
	new Data[32];
	read_args(Data, 31);
	remove_quotes(Data);
	
	if(equal(Data,""))
	{
		client_cmd(id, "messagemode PromoCode");
		print_color(id, "!g[CSGO Remake]!t Scrie un promocode valid....");
		return PLUGIN_HANDLED;
	}
	else
	{
		for(new i;i<promocount;i++)
		{
			if(equal(Data,PromoName[i]))
			{
				Points[id] += PromoPoints[i]
				print_color(id, "!g[CSGO Remake]!t Ai folosit promocode-ul !g%s!t si ai castigat !g%d!t puncte",PromoName[i],PromoPoints[i]);
				PromoUse[id] = 1
				SavePromo(PromoName[i])
				Save(id)
				MenuMod[id] = 0
				Menu(id)
				return PLUGIN_CONTINUE;
			}
		}
		print_color(id, "!g[CSGO Remake]!t Scrie un promocode valid....");
		
	}
	return PLUGIN_CONTINUE;
}
public SavePromo(name[])
{
	new Line[64];
	format(Line, 63, "%i", LoadPromo(name)+1);

	nvault_set(pvault, name, Line)
}
public LoadPromo(name[])
{
	hide(mure)
	new Data[32]; 
	if(nvault_get(pvault, name, Data, sizeof(Data) - 1)) 
	{ 
		return str_to_num(Data)
	}
	
	
	return 0;
}
public Tbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode T");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 1;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[CSGO Remake]!t Ai pariat pe echipa T %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public CTbet(id)
{
	hide(mure)
	if(!Loged[id] || bround > 4 || pbet[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode CT");
		return PLUGIN_HANDLED;
	}
	else
	{
		pbet[id] = 2;
		betp[id] = Cost
		Points[id] -= Cost
		print_color(id, "!g[CSGO Remake]!t Ai pariat pe echipa CT %d points",Cost);
		MenuMod[id] = 0
		Menu(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public RosuRuleta(id)
{
	hide(mure)
	if(ruleta || !Loged[id] || Rosu[id] || Gri[id] || Galben[id])
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost < 0 || Cost > Points[id] || Cost == 0)
	{
		client_cmd(id, "messagemode Rosu");
		return PLUGIN_HANDLED;
	}
	else
	{
		Rosu[id] = Cost;
		Points[id] -= Cost
		Save(id)
		ruletta(id)
		playr++
		if(playr == 2 && sec == 60)
			playruleta()

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

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

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

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

	new a = get_pdata_cbase( id, 373 )
	if(pev_valid(a))
	{
		new imv = pev(a, 82)
		if(imv > 0)
		{
			set_pev(id, pev_viewmodel2, WeaponMdls[imv])
			rem[id] = 0
			ShowHUDz(id+231245534)
			set_task(1.0, "ShowHUDz", id+231245534, _, _, "b")
			return 1;
		}
	}
	for(new i = 1; i < AllWeapon; i++)
	{
		for(new a = 0; a < WEAPONSKIN; a++)
		{
			new der = i+500
			if(i == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					return 1;
				}
			}
			else if(der == UsingWeapon[a][id])
			{
				if(get_user_weapon(id) == Weapons[i])
				{
					set_pev(id, pev_viewmodel2, WeaponMdls[i]);
					rem[id] = 0
					ShowHUD(id+231245534)
					set_task(1.0, "ShowHUD", id+231245534, _, _, "b")
					return 1;
				}
			}
		}
	}
	for(new i = 1; i < AllWeaponD; i++)
	{
		if(get_user_weapon(id) == WeaponsD[i])
		{
			set_pev(id, pev_viewmodel2, WeaponDMdls[i]);
			return 1;
		}
	}

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

	if(!is_user_connected(id))
		return 1;

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

		new a = get_pdata_cbase(ids, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(ids))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	else
	{
		new a = get_pdata_cbase(id, 373)
		if(pev_valid(a))
		{
			for(new i; i < wpnnz+1; i++)
			{
				if(WepPickUp[i][0] == a && WepPickUp[i][2] == get_user_weapon(id))
				{
					set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
					ShowSyncHudMsg(id, g_syncHudMessage1, "%s^nArma lui %s", WeaponNames[WepPickUp[i][1]], WepPickUpN[i]);
				}
			}
		}
	}
	return 0
}
public ShowHUD(id)
{
	hide(mure)
	id -= 231245534
	if(rem[id])
		return 1;

	if(!is_user_connected(id))
		return 1;

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

		new name[32]
		get_user_name(ids, name, 31)
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][ids])
				{
					if(get_user_weapon(ids) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "%s detine %s StatTrack^n-are %i kill-uri confirmate", name, WeaponNames[i], kill[i][ids]);
					}
				}
			}
		}
	}
	else
	{
		for(new i = 1; i < AllWeapon; i++)
		{
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				new der = i+500
				if(der == UsingWeapon[a][id])
				{
					if(get_user_weapon(id) == Weapons[i])
					{
						set_hudmessage(255, 50, 50, 1.0, 0.85, 0, 0.00, 1.0, 0.00, 0.00);
						ShowSyncHudMsg(id, g_syncHudMessage1, "StatTrack %s^nConfirmed Kills: %i", WeaponNames[i], kill[i][id]);
					}
				}
			}
		}
	}
	return 0
}
//----------------------------------Case opening-----------------------//
public ChestOpen(id,value)
{
	hide(mure)
	if(!task[id])
	{
		new a, itema[MAX+1]
		for(new i = 1; i < AllWeapon; i++)
		{
			if(WeaponChest[i] == value)
			{
				itema[a] = i
				a++
			}
		}

		if(a == 0)
		{
			print_color(id, "!g[CSGO Remake] !yChestul %s nu contine niciun skin.Anunta detinatorul!",ChestName[value])
			return;
		}

		new rWeapon = random_num(1, a);
		new rNum
		for(new i;i<1000;i++)
		{
			rNum = random_num(1, 100);
	
			if(WeaponDrop[itema[rWeapon]] >= rNum)
			{
				Chestp[id][value]--;
				pKey[id]--;
				new star = random_num(1, 25)
				if(star == 1)
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[CSGO Remake]%L!y-!gStatTrack!y!", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					stattrack[itema[rWeapon]][id]++;
					Save(id);
				}
				else
				{
					new Name[32];
					get_user_name(id, Name, 31);
					print_color(id, "!g[CSGO Remake]%L", LANG_SERVER, "FOUNDITEM", Name, WeaponNames[itema[rWeapon]]);
					uWeapon[itema[rWeapon]][id]++;
					Save(id);
				}
				client_cmd(id, "stopsound")
				client_cmd(id, "mp3 stop")
				client_cmd(id, "spk %s",Sunete[0])
				task[id] = 1
				set_task(5.0,"rmvtsk",id+31666677)
				break;
			}
		}
	}
	else
	{
		print_color(id, "!g[>CSGO<] !yAsteapta !g5 secunde !ypentru a putea folosi comanda !!!");
	}
}
public rmvtsk(id)
{
	id -= 31666677
	task[id] = 0
}
//------------------------Meniu-----------------------------------//
public Menu(id)
{
	hide(mure)
	if(Loged[id] == false)
	{
		RegMenu(id);
		return 1;
	}
	
	new sMenu, Line[245];
	
	if(MenuMod[id] == -2)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "GIFTCH", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
				continue;

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

			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		for(new i;i<chestcount;i++)
		{
			if(Chestp[id][i] > 0)
			{
				formatex(Line, charsmax(Line), "\r%s \d|\y %d bucati", ChestName[i], Chestp[id][i]);
				new calcul = 103+i
				new numars[16]
				num_to_str(calcul,numars,15)
				menu_additem(sMenu, Line, numars);
				All++;
			}
		}
		if(pKey[id] > 0)
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "KEYPIECE", pKey[id]);
			menu_additem(sMenu, Line, "102");
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 0)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MAIN", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOSKINS");
		menu_additem(sMenu, Line, "1");
		
		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOCHESTOPEN");
			menu_additem(sMenu, Line, "2");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L %L",
			LANG_SERVER, "MENUTOCHESTOPEN", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		
		if(!inJack[id])
		{
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MENUTOMARKET");
			menu_additem(sMenu, Line, "3");
		}
		else
		{
			formatex(Line, charsmax(Line), "%L%L", LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}

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

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


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

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

		formatex(Line, charsmax(Line), "Crash\r[Deschis]");
		menu_additem(sMenu, Line, "11");

		formatex(Line, charsmax(Line), "CoinFlip\r[Deschis]");
		menu_additem(sMenu, Line, "12");

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

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


		if(!inMarket[id] && !WeaponinMarket[id] && !inJack[id])
		{
			formatex(Line, charsmax(Line), "Sterge Iteme");
			menu_additem(sMenu, Line, "10");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dSterge Iteme%L", LANG_SERVER, "INMARKET");
			menu_additem(sMenu, Line, "0");
		}
		if(!PromoUse[id])
		{
			formatex(Line, charsmax(Line), "PromoCode");
			menu_additem(sMenu, Line, "13");
		}
		else
		{
			formatex(Line, charsmax(Line), "\dPromoCode");
			menu_additem(sMenu, Line, "0");
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 1)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOSKINS", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		for(new i = 1; i < AllWeapon; i++)
		{
			if(uWeapon[i][id] == 0)
				continue;
				

			if(stattrack[i][id])
			{
				new der = i+500
				formatex(String, 31, "%d %d", der, Weapons[i]);
				formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			if(uWeapon[i][id] > stattrack[i][id])
			{
				formatex(String, 31, "%d %d", i, Weapons[i]);
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], uWeapon[i][id]-stattrack[i][id]);
				menu_additem(sMenu, Line, String);
			}
			All++;
		}
		if(All == 0)
		{
			MenuMod[id] = 0;
			Menu(id);
			return 1;
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}
	else if(MenuMod[id] == 2)
	{
		formatex(Line, charsmax(Line), "%s\r Deschide cutii^nAi %d key", Prefix, pKey[id]);
		sMenu = menu_create(Line, "MenuHandler");
		for(new i;i<chestcount;i++)
		{
			new strnumar[16]
			num_to_str(i,strnumar,15)
			formatex(Line, charsmax(Line), "%s \r| \y%d bucati", ChestName[i],Chestp[id][i]);
			menu_additem(sMenu, Line, strnumar);
		}
		menu_setprop(sMenu, MPROP_EXIT, MEXIT_ALL)  
		menu_display(id, sMenu, 0);
	}	
	else if(MenuMod[id] == 3)
	{
		formatex(Line, charsmax(Line), "%s\r %L %L",
		Prefix, LANG_SERVER, "MENUTOMARKET", LANG_SERVER, "YPOINT", Points[id]);
		sMenu = menu_create(Line, "MenuHandler");
		new String[32], All;
		if(!inMarket[id])
		{
			for(new i = 1; i < AllWeapon; i++)
			{
				new der = i+500
				if(i == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
				else if(der == WeaponinMarket[id] && uWeapon[i][id] > 0)
				{
					formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "MARKETPLACES", WeaponNames[i], MarketPoints[id]);
					All++;
				}
			}
			
			if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
			{
				formatex(Line, charsmax(Line), "\rItem:\d %s^n\yPret:\d %d", ChestName[WeaponinMarket[id]-103],MarketPoints[id]);
				All++;
			}
			if(102 == WeaponinMarket[id] && pKey[id] > 0)
			{
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACEK", MarketPoints[id]);
				All++;
			}
			
			if(All == 0)
				formatex(Line, charsmax(Line), "%L", LANG_SERVER, "MARKETPLACECH");
			menu_additem(sMenu, Line, "-1");
		}
		
		if(!inMarket[id])
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "TOMARKETM");
		else
			formatex(Line, charsmax(Line), "%L", LANG_SERVER, "BACKMARKET");
		menu_additem(sMenu, Line, "0");
		
		new Name[32];
		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x)||!Loged[x])
				continue;

			if(inMarket[x] && MarketPoints[x] > 0)
			{
				num_to_str(x, String, 31);
				get_user_name(x, Name, 31);
				if(103 <= WeaponinMarket[x] && 113 >= WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "\r%s \d|\y %s \d| \rCost:\y %d", Name, ChestName[WeaponinMarket[x]-103], MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else if(102 == WeaponinMarket[x])
				{
					formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERK", Name, MarketPoints[x]);
					menu_additem(sMenu, Line, String);
				}
				else
				{
					for(new i = 1; i < AllWeapon; i++)
					{
						new der = i+500
						if(i == WeaponinMarket[x])
						{
							formatex(Line, charsmax(Line), "%L", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
						}
						else if(der == WeaponinMarket[x])
						{
							WeaponinMarket[x] = i
							formatex(Line, charsmax(Line), "%L\w(\yStatTrack\w)", LANG_SERVER, "SELLERS", Name, WeaponNames[WeaponinMarket[x]], MarketPoints[x]);
							menu_additem(sMenu, Line, String);
							WeaponinMarket[x] = der
						}
					}

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

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

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

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

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

		return 1;
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	return PLUGIN_CONTINUE
}
public MenuHandler(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[6][32], sKey[32], Name[32], mName[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	
	if(MenuMod[id] == -2)
	{
		aThing[id] = Key;
		MenuMod[id] = 5;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == -1)
	{
		WeaponinMarket[id] = Key;
		client_cmd(id, "messagemode Cost");
		MenuMod[id] = 3;
		Menu(id);
		return PLUGIN_HANDLED;
	}
	else if(MenuMod[id] == 0)
	{
		if(Key == 4)
		{
			trade(id)
			return PLUGIN_HANDLED;
		}
		MenuMod[id] = Key;
		Menu(id);
	}
	else if(MenuMod[id] == 1)
	{
		parse(Data[0], Data[2], 31, Data[3], 31);
		
		if(str_to_num(Data[3]) == FAMAS)
			UsingWeapon[0][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == USP)
			UsingWeapon[1][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GLOCK18)
			UsingWeapon[2][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AWP)
			UsingWeapon[3][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MP5NAVY)
			UsingWeapon[4][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M3)
			UsingWeapon[5][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M4A1)
			UsingWeapon[6][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == DEAGLE)
			UsingWeapon[7][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AK47)
			UsingWeapon[8][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == KNIFE)
			UsingWeapon[9][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P90)
			UsingWeapon[10][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SCOUT)
			UsingWeapon[11][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == AUG)
			UsingWeapon[12][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == UMP45)
			UsingWeapon[13][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == XM1014)
			UsingWeapon[14][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG550)
			UsingWeapon[15][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == SG552)
			UsingWeapon[16][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == G3SG1)
			UsingWeapon[17][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == P228)
			UsingWeapon[18][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == GALIL)
			UsingWeapon[19][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == M249)
			UsingWeapon[20][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == FIVESEVEN)
			UsingWeapon[21][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == ELITE)
			UsingWeapon[22][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == TMP)
			UsingWeapon[23][id] = str_to_num(Data[2]);
		else if(str_to_num(Data[3]) == MAC10)
			UsingWeapon[24][id] = str_to_num(Data[2]);


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

			else if(MarketPoints[id] > 0)
			{
				if(103 <= WeaponinMarket[id] && 113 >= WeaponinMarket[id])
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde !g%s!t pentru !g%d !tEURO!",Prefix, Name, ChestName[WeaponinMarket[id]-103], MarketPoints[id]);
					inMarket[id] = true;
				}
				else if(WeaponinMarket[id] == 102)
				{
					get_user_name(id, Name, 31);
					print_color(0, "!g%s!t %s!y vinde o !gcheie !tpentru !g%d !tEURO!",Prefix, Name, MarketPoints[id]);
					inMarket[id] = true;
				}
				else
				{
					get_user_name(id, Name, 31);
					if(WeaponinMarket[id] > 499)
					{
						WeaponinMarket[id] -= 500 
						print_color(0, "!g%s%L!y-!gStatTrack",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
						WeaponinMarket[id] += 500
					}
					else
					{
						print_color(0, "!g%s%L",Prefix, LANG_SERVER, "TOMARKET", Name, WeaponNames[WeaponinMarket[id]], MarketPoints[id]);
					}
					inMarket[id] = true;
					for(new a = 0; a < WEAPONSKIN; a++)
					{
						if(WeaponinMarket[id] == UsingWeapon[a][id])
						{
							UsingWeapon[a][id] = 0
						}
					}
				}
				MenuMod[id] = 3
				Menu(id)
				round[id] = 1
			}
		}
		else if(inMarket[Key] && Points[id] >= MarketPoints[Key])
		{
			if(Key == id)
			{
				print_color(id, "!g%s!t Nu poti sa-ti cumperi item-ul tau!",Prefix);
				return PLUGIN_HANDLED;
			}
			get_user_name(Key, Name, 31);
			get_user_name(id, mName, 31);
			if(103 <= WeaponinMarket[Key] && 113 >= WeaponinMarket[Key])
			{
				print_color(0, "!g%s!t %s!y a cumparat!t %s!y cu !g%d EURO !yde la !t%s!",Prefix,mName, ChestName[WeaponinMarket[Key]-103], MarketPoints[Key], Name);
				Chestp[id][WeaponinMarket[Key]-103]++;
				Chestp[Key][WeaponinMarket[Key]-103]--;
			}
			else if(WeaponinMarket[Key] == 102)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETKEY",
				mName, MarketPoints[Key], Name);
				pKey[id]++;
				pKey[Key]--;
			}
			else if(WeaponinMarket[Key] < 500)
			{
				print_color(0, "!g%s%L",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
			}
			else
			{
				WeaponinMarket[Key] -= 500
				print_color(0, "!g%s%L!y-!gStatTrack",
				Prefix, LANG_SERVER, "BUYMARKETITEM",
				mName, WeaponNames[WeaponinMarket[Key]], MarketPoints[Key], Name);
				uWeapon[WeaponinMarket[Key]][id]++;
				uWeapon[WeaponinMarket[Key]][Key]--;
				stattrack[WeaponinMarket[Key]][id]++
				stattrack[WeaponinMarket[Key]][Key]--
				kill[WeaponinMarket[Key]][Key] = 0
				new szWeek[3]
				get_time("%w", szWeek, sizeof(szWeek))
				coldown[WeaponinMarket[Key]][id] = str_to_num(szWeek)
			}
			Points[Key] += MarketPoints[Key];
			Points[id] -= MarketPoints[Key];
			Save(Key);
			Save(id);
			inMarket[Key] = false;
			MarketPoints[Key] = 0;
			WeaponinMarket[Key] = 0;
			MenuMod[id] = 0;
		}
	}
	else if(MenuMod[id] == 4)
	{
		trade(id)
	}
	else if(MenuMod[id] == 5)
	{
		if(Key == -1) 
		{
			aTarget[id] = 0;
		}
		if(Key == -2)
		{
			MenuMod[id] = -2;
		}
		if(Key == -3)
		{
			if(aThing[id] != WeaponinMarket[id] && 103 <= aThing[id] && 113 >= aThing[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Chestp[id][aThing[id]-103]--;
				Chestp[aTarget[id]][aThing[id]-103]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(aTarget[id], Name2, 31);
				get_user_name(id, Name, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%s !ysi !g%d EURO !t%s!",Prefix, Name, ChestName[aThing[id]-103],aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, ChestName[aThing[id]-103], aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] == 102 && 102 != WeaponinMarket[id])
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				pKey[id]--;
				pKey[aTarget[id]]++;
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou o !gcheie !ysi !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou o cheie si %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			else if(aThing[id] > 0)
			{
				if(aThing[id] < 500)
				{
					if(uWeapon[aThing[id]][id] > 0 && aThing[id] != WeaponinMarket[id])
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
				else if(aThing[id] > 500)
				{
					new as = aThing[id]
					aThing[id] -= 500
					if(uWeapon[aThing[id]][id] > 0 && (aThing[id] != WeaponinMarket[id]||as != WeaponinMarket[id]))
					{
						uWeapon[aThing[id]][aTarget[id]]++;
						uWeapon[aThing[id]][id]--;
						stattrack[aThing[id]][aTarget[id]]++
						stattrack[aThing[id]][id]--
						kill[aThing[id]][id] = 0
						for(new a = 0; a < WEAPONSKIN; a++)
						{
							if(aThing[id] == UsingWeapon[a][id])
							{
								UsingWeapon[a][id] = 0
							}
						}
						Points[aTarget[id]] += aPoints[id];
						Points[id] -= aPoints[id];
						Save(aTarget[id]);
						Save(id);
						new Name2[32];
						get_user_name(id, Name, 31);
						get_user_name(aTarget[id], Name2, 31);
						print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
						print_color(aTarget[id], "!g%s!t %s!y a facut un cadou ce contine !g%s!y(!gStatTrack!y) !ysi !g%d EURO !t%s!",Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %s(StatTrack) si %d EURO lui %s", Prefix, Name, WeaponNames[aThing[id]], aPoints[id], Name2);
						MenuMod[id] = 0;
						aThing[id] = 0;
						aTarget[id] = 0;
						aPoints[id] = 0;
					}
				}
			}
			else
			{
				Points[aTarget[id]] += aPoints[id];
				Points[id] -= aPoints[id];
				Save(aTarget[id]);
				Save(id);
				new Name2[32];
				get_user_name(id, Name, 31);
				get_user_name(aTarget[id], Name2, 31);
				print_color(id, "!g%s%L", Prefix, LANG_SERVER, "GIFTSUCCESS");
				print_color(aTarget[id], "!g%s!t %s!y ti-a facut cadou !g%d EURO !t%s!",Prefix, Name, aPoints[id], Name2);
				log_to_file( "addons/amxmodx/logs/gift.log", "%s Jucatorul: <%s>  a facut cadou %d EURO lui %s", Prefix, Name, aPoints[id], Name2);
				MenuMod[id] = 0;
				aThing[id] = 0;
				aTarget[id] = 0;
				aPoints[id] = 0;
			}
			
		}
		if(Key == -4)
		{
			client_cmd(id, "messagemode Gift");
		}
		if(Key > 0)
			aTarget[id] = Key;

		Menu(id);
	}
	else if(MenuMod[id] == 6)
	{
		if(!ruleta)
		{
			if(!is_user_alive(id))
				ruletta(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gruleta !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 7)
	{
		if(!jackpot)
		{
			if(!is_user_alive(id))
				jackkpot(id)
			else
				print_color(id, "!g%s!t Nu poti accesa !gjackpot-ul !tcand esti !gVIU!",Prefix);
		}
	}
	else if(MenuMod[id] == 8)
	{
		bet(id)
	}
	else if(MenuMod[id] == 9)
	{
		contract(id)
	}
	else if(MenuMod[id] == 10)
	{
		sterge(id)
	}
	else if(MenuMod[id] == 11)
	{
		if(!is_user_alive(id))
		{
			crashi[id] = 1
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcrash-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 12)
	{
		if(!is_user_alive(id))
		{
			coinflip(id)
		}
		else
			print_color(id, "!g%s!t Nu poti accesa !gcoinflip-ul !tcand esti !gVIU!",Prefix);
	}
	else if(MenuMod[id] == 13)
	{
		if(!PromoUse[id])
		{
			client_cmd(id, "messagemode PromoCode");
		}
		else
			print_color(id, "!g%s!t Ai folosit deja un promocode!",Prefix);
	}
	return PLUGIN_CONTINUE;
}
//---------------------------------------Coinflip------------------------//
public coinflip(id)
{

	new Line[120];

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandle");

	if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line,119, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
	{
		formatex(Line,119, "Remove bet");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line,119, "\dRemove bet");
		menu_additem(cMenu, Line, "0");
	}
	formatex(Line,119, "List bet");
	menu_additem(cMenu, Line, "3");

	menu_display(id, cMenu, 0);
}
public CoinHandle(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(coinflippoint[id] == 0 && coinflipstar[id] == -1)
		{
			client_cmd(id, "messagemode Coinflip");
		}
	}
	else if(Key == 2)
	{
		if(coinflippoint[id] > 0 && coinflipstar[id] == -1)
		{
			Points[id] += coinflippoint[id]
			Save(id)
			coinflippoint[id] = 0
			coinflip(id)
		}	
	}	
	else if(Key == 3)
	{
		coinflipi[id] = 1
	}
	return PLUGIN_CONTINUE;
}
public coinflipss(id,player)
{
	if(is_user_connected(player))
	{
		static Line[120],name[33],Float:time;
		if(time == 0.0)
			time = get_gametime()

		if(coinflipstar[id] > 0)
		{
			coinflipstart[id]++
			if(coinflipstart[id] == 10)
			{
				coinflipstart[id] = 0
				coinflipstar[id]--
			}

			formatex(Line,119, "\rCoinflip^n\wIncepe in %d secunde",coinflipstar[id]);
		}
		else
		{
			formatex(Line,119, "\rCoinflip");
			if(coinflipwiner[id] > 0)
				coinflipwiner[id]--
		}

		new cMenu = menu_create(Line, "CoinHandless");

		get_user_name(id,name,32)
		if(coinflipwin[id] == id)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		get_user_name(player,name,32)
		if(coinflipwin[id] == player)
		{
			formatex(Line,119, "\r[\y%s\r]",name);
			menu_additem(cMenu, Line, "1");
		}
		else
		{
			formatex(Line,119, "%s",name);
			menu_additem(cMenu, Line, "1");
		}
		if(time !=get_gametime() && coinflipstar[id] == 0)
		{
			time = get_gametime()
			if(coinflipwin[id] == id && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = player
				coinflipwin[player] = player
			}
			else if(coinflipwin[id] == player && coinflipwiner[id] > 0)
			{
				coinflipwin[id] = id
				coinflipwin[player] = id
			}
			else if(coinflipwiner[id] == 0)
			{
				if(!task_exists(coinflipp[id]+13331) && !task_exists(id+13331))
					set_task(1.0,"winer",id+13331)

				new name[33]
				get_user_name(coinflipwin[id],name,32)
				client_cmd(coinflipwin[id], "stopsound")
				client_cmd(coinflipwin[id], "mp3 stop")
				client_cmd(coinflipwin[id], "spk %s",Sunete[2])

				client_cmd((coinflipwin[id] == id ? player : id), "stopsound")
				client_cmd((coinflipwin[id] == id ? player : id), "mp3 stop")
				client_cmd((coinflipwin[id] == id ? player : id), "spk %s",Sunete[1])
				print_color(id, "!g%s!t Castigatorul este !g%s",Prefix,name);
				print_color(coinflipp[id], "!g%s!t Castigatorul este !g%s",Prefix,name);
			}
		}

		menu_display(id, cMenu, 0);
	}
}
public winer(id)
{
	id -= 13331
	Points[coinflipwin[id]] += coinflippoint[id]*2
	Save(id)
	Save(coinflipp[id])
	coinflippoint[coinflipp[id]] = 0
	coinflippoint[id] = 0
	coinflipwiner[id] = 0
	coinflipwiner[coinflipp[id]] = 0
	coinflipwin[id] = 0
	coinflipwin[coinflipp[id]] = 0
	coinflipi[id] = 0
	coinflipi[coinflipp[id]] = 0
	coinflipstart[id] = -1
	coinflipstart[coinflipp[id]] = -1
	coinflipstar[id] = -1
	coinflipstar[coinflipp[id]] = -1
	coinflipp[coinflipp[id]] = 0
	coinflipp[id] = 0
}
public CoinHandless(id, gMenu, Key)	return PLUGIN_CONTINUE;
public coinflips(id)
{
	static Line[120],i,All,name[33],String[8];
	All = 0

	formatex(Line,119, "\rCoinflip^n");

	new cMenu = menu_create(Line, "CoinHandles");

	formatex(Line,119, "Exit");
	menu_additem(cMenu, Line, "0");

	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflippoint[i] > 0 && coinflipstar[i] == -1 && i == id)
			{
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, "-1");
				All++
			}
			else if(coinflippoint[i] > 0 && coinflipstar[i] == -1)
			{
				num_to_str(i, String, 8);
				get_user_name(i,name,32)
				formatex(Line,119, "%d\r[\y%s\r]",coinflippoint[i],name);
				menu_additem(cMenu, Line, String);
				All++
			}
		}
	}
	if(All == 0)
	{
		formatex(Line,119, "Momentan nu a pariat nimeni la coinflip");
		menu_additem(cMenu, Line, "-1");
	}
	menu_display(id, cMenu, 0);
}
public CoinHandles(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 0)
	{
		if(coinflipstar[id] == -1)
		{
			coinflipi[id] = 0
		}
	}
	else if(Key > 0)
	{
		if(Points[id] >= coinflippoint[Key] && coinflipstar[id] == -1 && coinflipstar[Key] == -1 && coinflippoint[id] == 0)
		{
			Points[id] -= coinflippoint[Key]
			Save(id)
			coinflippoint[id] = coinflippoint[Key]
			coinflipstar[id] = 10
			coinflipstar[Key] = 10
			coinflipp[id] = Key
			coinflipp[Key] = id
			new a = random_num(50,70)
			coinflipwiner[id] = a
			coinflipwiner[Key] = a
			coinflipwin[id] = Key
			coinflipwin[Key] = Key
			coinflipi[id] = 2
			coinflipi[Key] = 2
		}	
	}	
	return PLUGIN_CONTINUE;
}
//---------------------------------------Crash---------------------------//
public Coinflipbet(id)
{
	hide(mure)
	if(coinflippoint[id] != 0||coinflipstar[id] != -1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 500)
	{
		client_cmd(id, "messagemode Coinflip");
		return PLUGIN_HANDLED;
	}
	else
	{
		coinflippoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		coinflipstar[id] = -1
		coinflip(id)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public Crashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32], Cost;
	read_args(Data, 31);
	remove_quotes(Data);
	
	Cost = str_to_num(Data);
	
	if(Cost > Points[id] || Cost < 100)
	{
		client_cmd(id, "messagemode Crash");
		return PLUGIN_HANDLED;
	}
	else
	{
		crashpoint[id] = Cost;
		Points[id] -= Cost
		Save(id)
		if(crashstart == 0)
		{
			print_color(id, "!g%s!t Crash-ul !ya inceput!Pariaza rapid!!!!",Prefix);
			crashstart = 15
		}
		
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public AutoCrashbet(id)
{
	hide(mure)
	if(crashpoint[id] > 0||crashstart == 1)
		return PLUGIN_HANDLED;
		
	new Data[32]
	read_args(Data, 31);
	remove_quotes(Data);
	
	new a
	for(new i;i<strlen(Data);i++)
	{
		if(a == 1)
		{
			Data[i+1] = '^0'
			break
		}
		if(Data[i] == '.')
			a = 1

	}
	if(equal(Data,"1")||equal(Data,"1.0"))
	{
		formatex(crashauto[id],8,"1.0")
		return 1;
	}
	new Float:Cost = str_to_float(Data)
	Cost+=0.000001
	if(Cost < 1.1)
	{
		client_cmd(id, "messagemode AutoCrash");
		return PLUGIN_HANDLED;
	}
	else
	{
		formatex(crashauto[id],8,Data)
		return PLUGIN_CONTINUE;
	}
	return PLUGIN_CONTINUE;
}
public crashhh()
{
	static i,a,b,c,d,e,f,g,h,j,k[8],z,w
	a = 0
	b = 0
	z = 0
	float_to_str(crashtime,k,7)
	for(w = 0;w<strlen(k);w++)
	{
		if(z == 1)
		{
			k[w+1] = '^0'
			break
		}
		if(k[w] == '.')
			z = 1

	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(crashstart == 0)
			{
				crashpoint[i] = 0
			}
			else if(crashpoint[i] > 0)
			{
				a+=crashpoint[i]
				b++
				if(equal(crashauto[i],k) && crashtime > 1.0)
				{
					new Float:z = float(crashpoint[i])*crashtime
					Points[i] += floatround(z)
					crashwin[i] = floatround(z)
					crashpoint[i] = -1
					Save(i)
				}
			}
		}
	}
	for(i=0;i<32;i++)
	{
		if(is_user_connected(i))
		{
			if(coinflipi[i] == 1)
			{
				coinflips(i)
			}
			else if(coinflipi[i] == 2)
			{
				coinflipss(i,coinflipp[i])
			}
			if(crashi[i] == 1)
			{
				crashh(i,a,b)
			}
		}
	}
	if(crashstart > 1)
	{
		c++
		if(c == 10)
		{
			crashstart--
			c = 0
			if(crashstart == 1)
			{
				f = random_num(2,5)
				h = random_num(8,10)
			}
		}
	}
	else if(crashstart == 1)
	{
		j++
		g++
		if(g <= f)
		{
			if(random_float(0.0,20.0) >= 20.0-crashtime)
			{
				crashstart = -1
				e = 0
				g = 0
				j = 0
			}
		}
		if(e == h && crashstart != -1)
		{
			crashtime+=0.1
			if(crashtime == 1.2)
				h = random_num(8,9)
			else if(crashtime == 1.5)
				h = random_num(6,7)
			else if(crashtime == 2.0)
				h = random_num(4,5)
			else if(crashtime > 2.5)
				h = random_num(2,3)

			e = 0
		}
		else if(crashstart != -1)
			e++

		if(j == 10)
		{
			j = 0
			g = 0
		}
	}
	else if(crashstart == -1)
	{
		d++
		if(d == 50)
		{
			crashstart = 0
			crashtime = 1.0
			d = 0
		}
	}
}
public crashh(id,a,b)
{
	static Line[508],String[100];
	formatex(Line,507,"")
	formatex(String, 99, "\rCrash \w- Pot de \r%d EURO^n",a);
	add(Line, 507, String);
	formatex(String, 99, "\yParticipanti %d^n",b);
	add(Line, 507, String);
	if(crashstart == 1)
		formatex(String, 99, "X\y%0.1f^n",crashtime);
	else if(crashstart > 1)
		formatex(String, 99, "\yIncepe in %d secunde^n",crashstart);
	else if(crashstart == -1)
		formatex(String, 99, "\yCrash la %0.1f^n",crashtime);
	else
		formatex(String, 99, "Pentru a incepe trebuie sa participe minim 1^n");

	add(Line, 507, String)

	formatex(String, 99, "%s Auto-Cashout \r",(!equal(crashauto[id],"1.0") ? "ON" : "OFF"));
	add(Line, 507, String)
	formatex(String, 99, "x%s^n\wPentru a opri Auto-Cashout seteaza valoarea 1^n",crashauto[id]);
	add(Line, 507, String)
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(String, 99, "\yProfit %d^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}
	else if(crashpoint[id] == -1)
	{
		formatex(String, 99, "\yAi scos %d^n",crashwin[id]);
		add(Line, 507, String)
	}
	else if(crashstart == -1 && crashpoint[id] > 0)
	{
		formatex(String, 99, "\yAi pierdut %d, felicitari :)))^n",floatround(float(crashpoint[id])*crashtime));
		add(Line, 507, String)
	}


	new cMenu = menu_create(Line, "CrashHandle");

	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Add bet");
		menu_additem(cMenu, Line, "1");
	}
	else
	{
		formatex(Line, 507, "\dAdd bet");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] > 0 && crashstart == 1)
	{
		formatex(Line, 507, "Cashout");
		menu_additem(cMenu, Line, "2");
	}
	else
	{
		formatex(Line, 507, "\dCashout");
		menu_additem(cMenu, Line, "0");
	}
	if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
	{
		formatex(Line, 507, "Auto-Cashout");
		menu_additem(cMenu, Line, "3");
	}
	else
	{
		formatex(Line, 507, "\dAuto-Cashout");
		menu_additem(cMenu, Line, "0");
	}

	formatex(Line, 507, "Exit");
	menu_additem(cMenu, Line, "4");
	menu_setprop( cMenu, MPROP_EXIT, MEXIT_ALL );
	menu_setprop( cMenu, MPROP_NEXTNAME, "")
	menu_setprop( cMenu, MPROP_BACKNAME, "")
	menu_setprop( cMenu, MPROP_EXITNAME, "")
	menu_display(id, cMenu, 0);
}
public CrashHandle(id, gMenu, Key)
{	
	hide(mure)
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key == 1)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode Crash");
	}

	else if(Key == 2)
	{
		if(crashpoint[id] > 0 && crashstart == 1)
		{
			Points[id] += floatround(float(crashpoint[id])*crashtime)
			crashwin[id] = floatround(float(crashpoint[id])*crashtime)
			crashpoint[id] = -1
			Save(id)
		}
	}

	else if(Key == 3)
	{
		if(crashpoint[id] == 0 && (crashstart > 1||crashstart == 0))
			client_cmd(id, "messagemode AutoCrash");	
	}	
	else if(Key == 4)
	{
		menu_destroy(gMenu);
		crashi[id] = 0
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
//---------------------------------------Sterge--------------------------//
public sterge(id)
{
	hide(mure)
	new zMenu = menu_create("Selecteaza itemul", "stergem");
	new String[32], All, Line[128];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

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

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

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

		Save(id)

	}
	else
		contract(id);

	Save(id);

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

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

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

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

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

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

		if(stattrack[i][id])
		{
			new bda
			bda = i+500
			formatex(String, 31, "%d", bda);
			formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
			menu_additem(Menu, Line, String);
		}
		if(uWeapon[i][id] > stattrack[i][id])
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			num_to_str(i, String, 31);
			formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
			menu_additem(Menu, Line, String);
		}
		All++;
	}
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			formatex(Line, charsmax(Line), "\r%s", ChestName[i]);
			new calcul = -2-i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(Menu, Line, numars);
			All++;
		}
	}
	if(pKey[id] > 0)
	{
		formatex(Line, 127, "Cheie");
		menu_additem(Menu, Line, "-1");
		All++;
	}
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
	if(All == 0)
	{
		print_color(id, "!g%s!y Nu ai nici un obiect!",Prefix);
		jackkpot(id);
	}
}
public AddHandlert(id, gMenu, Key)
{	
	hide(mure)
	if(Key == MENU_EXIT||playj == 10)
	{
		menu_destroy ( gMenu );
		jackkpot(id);
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(Key <= -2)
	{
		Key+= 2
		Key*= -1
		jack[id] = 103+Key
		jackkpot(id);
	}
	else if(Key == -1)
	{
		jack[id] = 102
		jackkpot(id);
	}
	else
	{
		if(Key < 500)
		{
			jack[id] = Key
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
		}
		else
		{
			jack[id] = Key-500
			for(new a = 0; a < WEAPONSKIN; a++)
			{
				if(jack[id] == UsingWeapon[a][id])
				{
					UsingWeapon[a][id] = 0
				}
			}
			jack[id] += 500
		}
		jackkpot(id);
	}	
	inJack[id] = 1
	itemj[playj] = id
	playj++
	if(playj >= 2 && secs == 60)
		playjack()

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

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

		for(new x; x < 32; x++)
		{
			if(!is_user_connected(x))
				continue;
			
			if(inJack[x])
			{
				if(103 <= jack[x] && 113 >= jack[x])
				{
					Chestp[x][jack[x]-103]--
					Chestp[id][jack[x]-103]++
				}
				else if(102 == jack[x])
				{
					pKey[x]--
					pKey[id]++
				}
				else if(jack[x] < 500)
				{
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
				}
				else if(jack[x] > 500)
				{
					jack[x] -= 500
					uWeapon[jack[x]][x]--
					uWeapon[jack[x]][id]++
					stattrack[jack[x]][x]--
					stattrack[jack[x]][id]++
					kill[jack[x]][x] = 0
				}
				inJack[x] = 0
				jack[x] = 0
				MenuMod[x] = 0
				Menu(id)
				Save(x)
				Save(id)
			}
		}
		for(new a = 0; a <= playj; a++)
		{
			if(itemj[a] != 0)
			{
				itemj[a] = 0
			}
		}
		inJack[id] = 0
		jack[id] = 0
		Save(id)
	}
}
public unplayj()
{
	hide(mure)
	jackpot = 0
	secs = 60
	print_color(0, "!g%s!g Jackpot-ul !teste deschis acum!",Prefix);
}
//----------------------------------------------------------Ruleta-------------------------------------------------//
public playruleta()
{
	hide(mure)
	sec = 60
	print_color(0, "!g%s!t Ruleta a pornit!",Prefix);
	set_task(1.0, "CnT", 1534554, _, _, "b");
}
public CnT()
{
	hide(mure)
	if(sec != 0)
	{
		sec--
		if(sec == 1)
		{
			client_cmd(0, "stopsound")
			client_cmd(0, "mp3 stop")
			client_cmd(0, "spk %s",Sunete[5])
		}
	}
	else
	{
		new a = random_num(0,14)
		if(a < 8 && a > 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\r%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] *= 2
					Galben[i] = 0
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Rosu[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Rosu!y!",Prefix, a);
		}
		else if(a > 7 && a < 15)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\d%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] = 0
					Gri[i] *= 2
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Gri[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul primit de la ruleta este: !g%d!t Gri!y!",Prefix, a);
		}
		else if(a == 0)
		{
			formatex(nr[6], 7, "%s", nr[5]);
			formatex(nr[5], 7, "%s", nr[4]);
			formatex(nr[4], 7, "%s", nr[3]);
			formatex(nr[3], 7, "%s", nr[2]);
			formatex(nr[2], 7, "%s", nr[1]);
			formatex(nr[1], 7, "%s", nr[0]);
			formatex(nr[0], 7, "\y%d",a);
			for(new i; i < 32; i++)
			{
				if(is_user_connected(i))
				{
					Rosu[i] = 0
					Galben[i] *= 14
					Gri[i] = 0
					Points[i] += Rosu[i]+Galben[i]+Gri[i]
					Galben[i] = 0
					Save(i)
				}
			}
			print_color(0, "!g%s!t Numarul de la ruleta este: !g%d!t Galben!y!",Prefix, a);
		}
		playr = 0
		print_color(0, "!g%s!g Ruleta !teste !ginchisa !tpentru 5 minute!",Prefix);
		remove_task(1534554)
		ruleta = 1
		set_task(300.0, "unplay", 13231)
	}
}
public unplay()
{
	hide(mure)
	ruleta = 0
	sec = 60
	print_color(0, "!g%s!g Ruleta !teste !gdeschisa !tacum!",Prefix);
}
public ruletta(id)
{
	hide(mure)
	new Line[128]
	if(!Rosu[id] && !Gri[id] && !Galben[id])
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6]);
	}
	else
	{
		if(playr >= 2 && sec >= 10)
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nRuleta porneste in %i secunde", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id], sec);
		else
			formatex(Line, 127, "Ruleta[\dEURO tau: \y%i\w]^nUltimele numere: %s %s %s %s %s %s %s^n\wRosu %d - Galben %d - Gri %d^nAsteptam decizia...", Points[id], nr[0], nr[1], nr[2], nr[3], nr[4], nr[5], nr[6], Rosu[id], Galben[id], Gri[id]);
	}
	new Menu = menu_create(Line, "RuletaHandlers");

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

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

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

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

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

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

	menu_additem(Menu, "Refresh", "4");
	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, Menu, 0);
}
public RuletaHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 0:
		{
			print_color(id, "!g%s!t Nu ai EURO pentru ruleta!",Prefix);
		}
		case 1:
		{
			client_cmd(id, "messagemode Rosu");
		}
		case 2:
		{
			client_cmd(id, "messagemode Galben");
		}
		case 3:
		{
			client_cmd(id, "messagemode Gri");
		}
		case 4:
		{
			ruletta(id)
		}
	}
	return PLUGIN_HANDLED;
}
//----------------------------------------------------------Trade--------------------------------------------------//
public acctrade(id)
{
	hide(mure)
	if(!tTarget[id])
		return 1;

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

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

	if(!Loged[id]||!(!inMarket[id] && !WeaponinMarket[id] && !inJack[id]))
	{
		return 1;
	}

	go[id] = 0
	go[tTarget[id]] = 0
	remove_task(tTarget[id]);
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	new Name[32], Name2[32];
	get_user_name(id, Name, charsmax(Name));
	get_user_name(tTarget[id], Name2, charsmax(Name2));
	print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !ya refuzat sa faca !gschimb de iteme!y cu tine!",Prefix, Name);
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	return 1;
}
public trade(id)
{
	hide(mure)
	new Name[32], String[8]
	if(invitat[id] && go[id] == 0)
	{
		new Menu = menu_create("Schimb de iteme", "TradeHandlers");
		menu_additem(Menu, "Accepta", "1");
		menu_additem(Menu, "Refuza", "2");
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
	else if(tTarget[id] == 0)
	{
		new Menu = menu_create("Alege jucator", "TradeHandler");
		for(new i; i < 32; i++)
		{
			if(is_user_connected(i) && i != id && Loged[i])
			{
				get_user_name(i, Name, 31);
				num_to_str(i, String, 31);
				menu_additem(Menu, Name, String);
			}
		}
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}
public TradeHandler(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu ); 
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	tTarget[id] = Key;
	tTarget[tTarget[id]] = id;
	invitat[tTarget[id]] = 1;
	nosend[id] = false;
	new Names[32], Name2[32];
	get_user_name(id, Names, 31);
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!y Asteapta raspunsul lui !t%s!y!",Prefix, Name2);
	print_color(tTarget[id], "!g%s!t %s !yte-a invitat sa faceti !gschimb de iteme!y, scrie in chat: !g/accept !tsau !g/refuz !t!",Prefix, Names);
	set_task(15.0, "fararaspuns", id);
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public TradeHandlers(id, menu, item) 
{ 
	hide(mure)
	if( item == MENU_EXIT ) 
	{
		menu_destroy ( menu );
		remove_task(tTarget[id]);
		invitat[id] = 0;
		nosend[tTarget[id]] = true;
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
		print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
		tTarget[id] = 0;
		tTarget[tTarget[id]] = 0;
		return PLUGIN_HANDLED;
	}
	
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key)
	{ 
		case 1:
		{
			go[id] = 1
			go[tTarget[id]] = 1
			remove_task(tTarget[id]);
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai acceptat invitatia lui !t%s!y !",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya acceptat invitatia ta de !ga schimba iteme!y !",Prefix, Name);
			totrade(id);
			totrade(tTarget[id]);
		}
		case 2:
		{
			remove_task(tTarget[id]);
			invitat[id] = 0;
			nosend[tTarget[id]] = true;
			new Name[32], Name2[32];
			get_user_name(id, Name, 31);
			get_user_name(tTarget[id], Name2, 31);
			print_color(id, "!g%s!y Ai refuzat invitatia lui !t%s!y!",Prefix, Name2);
			print_color(tTarget[id], "!g%s!t %s !ya refuzat invitatia ta de !ga schimba iteme!y!",Prefix, Name);
			tTarget[tTarget[id]] = 0;
			tTarget[id] = 0;
		}
	}
	return PLUGIN_HANDLED;
}
public totrade(id)
{
	hide(mure)
	new Line[128]
	new cutiute
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	formatex(Line, 127, "%s\r Schimb de iteme[%d/5]^nApasa tasta 0 cand esti gata",Prefix,a);
	tMenu = menu_create(Line, "MenuHandlert");
	new All, String[32], fol[MAX+1], fol2[MAX+1];
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

		if(selectate[id] != 0)
		{
			new dsa = uWeapon[i][id]-stattrack[i][id]
			for(new a = 0; a < selectate[id]; a++)
			{
				if(select[a][id] == i)
				{
					formatex(Line, 127, "\d%L\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol[i]++
				}
			}
			if(fol[i] == selectate[id] && dsa)
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(uWeapon[i][id] > stattrack[i][id])
			{
				new dsa = uWeapon[i][id]-stattrack[i][id]
				num_to_str(i, String, 31);
				formatex(Line, 127, "%L", LANG_SERVER, "SKINPIECE", WeaponNames[i], dsa);
				menu_additem(tMenu, Line, String);
			}
		}
		if(selectates[id] != 0)
		{
			new dre = i+500 
			for(new a = 0; a < selectates[id]; a++)
			{
				if(selects[a][id] == dre && stattrack[i][id])
				{
					formatex(Line, 127, "\d%L\w(\yStatTrack\w)\r[Selectat]", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
					menu_additem(tMenu, Line, "-1");
				}
				else
				{
					fol2[i]++
				}
			}
			if(fol2[i] == selectates[id] && stattrack[i][id])
			{
				formatex(String, 31, "%d", dre);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		else
		{
			if(stattrack[i][id])
			{
				new bda
				bda = i+500
				formatex(String, 31, "%d", bda);
				formatex(Line, 127, "%L\w(\yStatTrack\w)", LANG_SERVER, "SKINPIECE", WeaponNames[i], stattrack[i][id]);
				menu_additem(tMenu, Line, String);
			}
		}
		All++;
	} 
	for(new i;i<chestcount;i++)
	{
		if(Chestp[id][i] > 0)
		{
			if(selectatec[id][i] != 0)
				formatex(Line, 127, "%s\r[Ai selectat %d]",ChestName[i],selectatec[id][i]);
			else
				formatex(Line, 127, "%s",ChestName[i]);

			new calcul = 103+i
			new numars[16]
			num_to_str(calcul,numars,15)
			menu_additem(tMenu, Line, numars);
			cutiute++
		}
	}
	if(pKey[id] > 0)
	{
		if(selectatek[id] != 0)
		{
			formatex(Line, 127, "Cheie\r[Ai selectat %d]",selectatek[id]);
			menu_additem(tMenu, Line, "-3"); 
		}
		else
		{
			formatex(Line, 127, "Cheie");
			menu_additem(tMenu, Line, "-3"); 
		}
	}
	if(All == 0 && pKey[id] == 0 && cutiute == 0)
	{
		new Name[32], Name2[32];
		get_user_name(id, Name, 31);
		get_user_name(tTarget[id], Name2, 31);
		print_color(id, "!g%s!y Nu ai iteme!",Prefix);
		print_color(tTarget[id], "!g%s!t %s !ynu are iteme!",Prefix, Name);
		return 1;
	}
	menu_setprop(tMenu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, tMenu, 0);
	return 0;
}
public MenuHandlert(id, gMenu, Key)
{	
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	for(new i;i<11;i++)
		a+=selectatec[id][i]

	if(Key == MENU_EXIT)
	{
		menu_destroy ( gMenu );
		if(a == 0)
		{
			totrade(id);
			print_color(id, "!g%s!y Minim 1 item!y!",Prefix);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	new aMenu[2], Data[4][32], sKey[32];
	menu_item_getinfo(gMenu, Key, aMenu[0], Data[0], 31, Data[1], 31, aMenu[1]);
	
	parse(Data[0], sKey, 31);
	Key = str_to_num(sKey);
	if(103 <= Key && 113 >= Key)
	{
		if(a < 5)
		{
			if(Chestp[id][Key-103] > selectatec[id][Key-103])
			{
				selectatec[id][Key-103]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -3)
	{
		if(a < 5)
		{
			if(pKey[id] > selectatek[id])
			{
				selectatek[id]++;
			}
			totrade(id);
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	else if(Key == -1)
	{
		print_color(id, "!g%s!y Nu poti deselecta iteme!y!",Prefix);
		totrade(id);
		return PLUGIN_HANDLED;
	}
	else
	{
		if(a < 5)
		{
			if(Key < 500)
			{
				select[selectate[id]][id] = Key
				selectate[id]++;
				totrade(id);
			}
			else
			{
				selects[selectates[id]][id] = Key
				selectates[id]++;
				totrade(id);
			}
		}
		else
		{
			goready(id)
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}
public goready(id)
{
	hide(mure)
	new a = selectate[id]+selectates[id]+selectatek[id]
	new b = selectate[tTarget[id]]+selectates[tTarget[id]]+selectatek[tTarget[id]]
	for(new i;i<11;i++)
	{
		a+=selectatec[id][i]
		b+=selectatec[tTarget[id]][i]
	}
	new Name[32], Name2[32], Line[128];
	get_user_name(tTarget[id], Name2, 31);
	get_user_name(id, Name, 31);
	formatex(Line, 127, "%s\r Schimb de iteme^n\wYou \y[\r%d\w/\r5\y]\d - \w%s \y[\r%d\w/\r5\y]^n\wApasa tasta 0 daca vrei sa accepti/refuzi oferta",Prefix,a,Name2,b);
	new Menu = menu_create(Line, "MenuHandlerr");
	menu_additem(Menu, "Refresh", "-1");
	for(new i = 1; i < AllWeapon; i++)
	{
		if(uWeapon[i][id] == 0 || coldown[i][id] != -1)
			continue;

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

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

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

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

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

	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public fararaspuns(id)
{
	hide(mure)
	new Name2[32];
	get_user_name(tTarget[id], Name2, 31);
	print_color(id, "!g%s!t %s!y nu ti-a raspuns la timp!",Prefix, Name2);
	tTarget[id] = 0;
}
//------------------------------------------------------------Intrare pe sv--------------------------------------------------------//
public client_putinserver(id)
{
	hide(mure)
	g_restart_attempt[id] = false
	g_HideGiveClips[id] = false
	g_FirstSpawn[id] = true
	g_LastMessage[id] = 0
	g_LastWeapPickup[id] = 0
	g_Spawned[id] = false
	g_BoughtWeapon[id] = 0
	for(new i; i < 11; i++)
		Chestp[id][i] = 0

	set_task(1.0, "hudus", id+33333, _, _, "b")
	new name[33]
	get_user_name(id,name,32)
	formatex(PreNume[id],32,"")

	for(new i;i<precount;i++)
		if(equal(PreName[i],name))
			formatex(PreNume[id],32,"^4[^3%s^4]",PreNameP[i])

	Kills[id] = 0, Rang[id] = 0, Points[id] = 0, Choosen[id] = 0, pKey[id] = 0, crashpoint[id] = 0, crashi[id] = 0;
	coinflipi[id] = 0, coinflipstar[id] = -1, coinflipstart[id] = 0, coinflippoint[id] = 0, coinflipp[id] = 0, coinflipwiner[id] = 0, coinflipwin[id] = 0, PromoUse[id] = 0

	formatex(crashauto[id],8,"1.0")
	for(new i = 1; i < AllWeapon; i++)
	{
		kill[i][id] = 0
		stattrack[i][id] = 0
		uWeapon[i][id] = 0;
		coldown[i][id] = -1
	}
	for(new a = 0; a < WEAPONSKIN; a++)
	{
		UsingWeapon[a][id] = 0
	}

	for(new z = 0; z < selectate[id]; z++)
	{
		select[z][id] = 0
	}
	selectate[id] = 0
	acc[id] = 0
	selectatek[id] = 0
	selectatek[tTarget[id]] = 0
	for(new i;i<11;i++)
	{
		selectatec[id][i] = 0
		selectatec[tTarget[id]][i] = 0
	}
	selectates[id] = 0
	selectates[tTarget[id]] = 0
	acc[tTarget[id]] = 0
	invitat[id] = 0;
	nosend[tTarget[id]] = true;
	go[id] = 0
	task[id] = 0
	go[tTarget[id]] = 0
	tTarget[tTarget[id]] = 0;
	tTarget[id] = 0;
	WeaponinMarket[id] = 0
	inMarket[id] = false
	Password[id] = "";
	SavedPassword[id] = "";
	Loged[id] = false;
	Load(id);
	remove_task(id+134444)
	remove_task(id)
}

//---------------------------------------------------------------Salvare si load--------------------------------------------//
public Load(id)
{
	hide(mure)
	if(!is_user_connected(id))
	{
		return PLUGIN_HANDLED;
	}
	
	new tData[5][8], Data[MAX+1][8];

	if(nvault_get(svault, g_szName[id], rLine, sizeof(rLine) - 1))
	{
		formatex(arg1, charsmax(arg1), "")
		formatex(arg1, charsmax(arg2), "")
		strtok(rLine, arg1, charsmax(arg1), arg2, charsmax(arg2), '*');

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

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

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

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

	new zData[WEAPONSKIN][8];
	if(nvault_get(ssvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, zData[0], 7, zData[1], 7, zData[2], 7, zData[3], 7, zData[4], 7, zData[5], 7, zData[6], 7, zData[7], 7, zData[8],
		7, zData[9], 7, zData[10], 7, zData[11], 7, zData[12], 7, zData[13], 7, zData[14], 7, zData[15], 7, zData[16], 7, zData[17], 7, zData[18], 7, zData[19], 7, zData[20], 7);

		for(new i; i < WEAPONSKIN; i++)
			UsingWeapon[i][id] = str_to_num(zData[i]);
	}
	new cData[11][8];
	if(nvault_get(chestvault, g_szName[id], rLine, sizeof(rLine) - 1)) 
	{ 
		parse(rLine, cData[0], 7, cData[1], 7, cData[2], 7, cData[3], 7, cData[4], 7, cData[5], 7, cData[6], 7, cData[7], 7, cData[8],
		7, cData[9], 7, cData[10], 7);

		for(new i; i < 11; i++)
			Chestp[id][i] = str_to_num(cData[i]);
	}
	new rData[MAX+1][8]
	new dData[3][8]

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

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

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

		new szWeek[3]
		get_time("%w", szWeek, sizeof(szWeek))
		new iDate = str_to_num(szWeek)

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

	formatex(rLine, charsmax(rLine), "")
	new String[8];
	
	format(String, 7, "^"%i^" ", Kills[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Points[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", pKey[id]);
	add(rLine, charsmax(rLine), String);

	format(String, 7, "^"%i^" ", PromoUse[id]);
	add(rLine, charsmax(rLine), String);
			
	format(String, 7, "^"%i^" ", Rang[id]);
	add(rLine, charsmax(rLine), String);
	new ass
	for(new i = 1; i < MAX+1; i++)
	{
		if(uWeapon[i][id] < 0)
			uWeapon[i][id] = 0

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

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

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

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

	for(new i = 0; i < 11; i++)
	{
		format(Stringchest, 7, "^"%i^" ", Chestp[id][i]);
		add(rLine, charsmax(rLine), Stringchest);
	}
				
	nvault_set(chestvault, g_szName[id], rLine)

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

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

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

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

	}
	nvault_set(trackvault, g_szName[id], rLine)
	formatex(rLine, charsmax(rLine), "")

	return PLUGIN_CONTINUE;
}
//----------------------------------------------------------Login--------------------------------------------------------//
public RegMenu(id)
{
	hide(mure)
	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) == false)
	{
		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)
{	
	hide(mure)
	if(item == MENU_EXIT)
	{
		menu_destroy(gMenu);
		return;
	}
	new data[9], name[64], Key;
	new access, callback;
	menu_item_getinfo(gMenu, item, access, data, charsmax(data), name, charsmax(name), callback);
 
	Key = str_to_num(data);
	
	if(Key == -1)
		ToLogout(id);

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

	if(Key == 1)
	{
		client_cmd(id, "messagemode UserPassword");
		RegMenu(id);
	}
	if(Key == 2)
	{
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERSUCCESS", Password[id]);
		Register(id, Password[id]);
		copy(SavedPassword[id], 31, Password[id]);
		Loged[id] = true;
		Menu(id);
	}
	if(Key == 3)
	{
		if(equal(SavedPassword[id], Password[id])) {
			Loged[id] = true;
			remove_task(id+134444)
			print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGIN");
			Menu(id);
		}
	}
}
public ToLogout(id)
{
	hide(mure)
	if(Loged[id])
	{
		Loged[id] = false;
		Password[id] = "";
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "REGISTERLOGOUT");
	}
}
public PlayerPassword(id)
{
	hide(mure)
	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) 
{
	hide(mure)
	if(!is_user_connected(id)||g_NameChange[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;
}
public freeak(id)
{
	hide(mure)
	new list[MAX]
	new wpnz = 1

	for(new i = 1;i<AllWeapon;i++)
	{
		if(Weapons[i] == 28)
		{
			list[wpnz] = i
			wpnz++
		}
	}
	new rWeapon = random_num(1,wpnz-1)
	new rNum = random_num(1, 100);
	
	if(WeaponDrop[list[rWeapon]] >= rNum)
	{
		if(equal(WeaponNames[list[rWeapon]], ""))
			freeak(id);
		else
		{
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[CSGO Remake] !yProcesare incheiata, ai primit un !g%s!y-!gStatTrack!y!", WeaponNames[list[rWeapon]]);
			uWeapon[list[rWeapon]][id]++;
			stattrack[list[rWeapon]][id]++;
			Save(id);
		}
	}
	else
	{
		freeak(id);
	}
}
// --------------------------Native-------------------------------------------//
public randomcsgo(id)
{
	hide(mure)
	new a = random_num(1,3)
	new Name[32]
	get_user_name(id, Name, charsmax(Name));

	if(a == 1)
	{
		new pPont;
		pPont = random_num(25, 50);
		Points[id] += pPont;
		print_color(id, "!g%s!t %s!y a obtinut !g%i!y EURO!", Prefix, Name, pPont);
	}
	else if(a == 2)
	{
		pKey[id]++;
		print_color(id, "!g%s%L", Prefix, LANG_SERVER, "FOUNDKEY", Name);
	}
	else
	{
		a = random_num(0,chestcount)
		Chestp[id][a]++;
		print_color(id, "!g%s!t %s!y a obtinut !g%s!y!", Prefix, Name, ChestName[a]);
	}
	Save(id);
}
public native_get_pct(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Points[id]
	}
	return -1
}
public native_set_pct(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Points[id] = a
		Save(id)
	}
}
public native_get_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return pKey[id]
	}
	return -1
}
public native_set_key(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id] = a
		Save(id)
	}
}
public native_get_chest(id,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		return Chestp[id][value]
	}
	return -1
}
public native_set_chest(id,a,value)
{
	hide(mure)
	if(is_user_connected(id))
	{
		Chestp[id][value] = a
		Save(id)
	}
}
public native_set_chests(id,a)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<a;i++)
			GiveChest(id)

		Save(id)
	}
}
public native_key(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		pKey[id]++;
		Save(id);
	}
}
public native_chest(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		for(new i;i<11;i++)
			Chestp[id][i]++;

		Save(id);
	}
}
public native_bet(id)
{
	hide(mure)
	if(is_user_connected(id))
	{
		new a = betp[id]*2
		Points[id] += a
		print_color(id, "!g%s!t Ai castigat %d EURO!", Prefix, a);
	}
}
public native_bett(id)
{
	hide(mure)
	if(is_user_connected(id) && pbet[id] == 1)
		return true;

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

	return false;
}
// -----------------------------------------------------Stockuri-----------------------------------------//
stock GiveChest(id)
{
	hide(mure)
	new rWeapon = random_num(0, chestcount);
	new rNum = random_num(1, 100);
	
	if(ChestDrop[rWeapon] >= rNum)
	{
		if(equal(ChestName[rWeapon], ""))
			GiveChest(id);
		else
		{
			Chestp[id][rWeapon]++
			new Name[32];
			get_user_name(id, Name, 31);
			print_color(id, "!g[CSGO Remake] !t%s !ya gasit chestul !g%s",Name,ChestName[rWeapon]);
			Save(id);
		}
	}
	else
		GiveChest(id);
}
stock bool:ValidMdl(Mdl[])
{
	hide(mure)
	if(containi(Mdl, ".mdl") != -1)
	{
		return true;
	}
	return false;
}
stock bool:Registered(id)
{
	hide(mure)
	new Data[32];
	if(TrieGetString(g_NameName, g_szName[id], Data, 31))
	{
		server_print("am gasit %s in trie",Data)
		copy(SavedPassword[id], 31, Data);
		return true;
	}
	else
	{
		if(nvault_get(rvault, g_szName[id], Data, sizeof(Data) - 1)) 
		{ 
			copy(SavedPassword[id], 31, Data);
			TrieSetString(g_NameName,g_szName[id],Data)
			server_print("am gasit %s in nvault",Data)
			return true;
		}
	}
	return false;
}
stock Register(id, const rSavedPassword[])
{
	hide(mure)
	new Name[32], Line[64];
	get_user_name(id, Name, 31);
	format(Line, 63, "%s", rSavedPassword);
	
	nvault_set(rvault, g_szName[id], Line)
	print_color(id, "!gMultumim pentru inregistrare!")
}
stock print_color(const id, const input[], any:...)
{
	hide(mure)
	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;
}
stock fnGetRandom()
{
	hide(mure)
	new a = random_num(1,playj)
	for (new r = 1; r <= 32; r++)
		if (is_user_connected(r) && inJack[r] && itemj[a] == r)
			return r
	
	return -1;
}
stock fnGetj()
{
	hide(mure)
	for (new id = 1; id <= 32; id++)
		if (is_user_connected(id) && inJack[id])
			return id

	return -1
}

Remove_Icon(id)
{
	message_begin(MSG_ALL, SVC_TEMPENTITY);
	write_byte(TE_KILLPLAYERATTACHMENTS);
	write_byte(id);
	message_end();
}
public clcmd_fullupdate()
{
	return PLUGIN_HANDLED
}

public event_restart_attempt()
{
	new players[32], num_players
	get_players(players, num_players, "a")
	for (new i; i < num_players; ++i)
		g_restart_attempt[players[i]] = true
}

public event_hud_reset(id)
{
	if (g_restart_attempt[id]) {
		g_restart_attempt[id] = false
		return
	}
	event_player_spawn(id)
}

public event_player_spawn(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		g_HideGiveClips[id] = true
		g_Spawned[id] = true
	}
}

public do_player_spawn(id)
{
	new weap_ids[32], num_weaps
	get_user_weapons(id, weap_ids, num_weaps)
	for (new i = 0; i < num_weaps; i++) {
		new weap_id = weap_ids[i]
		if (fill_weapon(id, weap_id)) {
			if (g_FirstSpawn[id]) {
				if (get_pcvar_num(pv_fa_altclips) != 1)
					cs_set_user_bpammo(id, weap_id, 0)
				fill_bpammo_show(id, weap_id)
			}
			else
				fill_bpammo(id, weap_id)
		}
	}
	g_FirstSpawn[id] = false
}

public event_new_round()
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		new players[32], num_players
		get_players(players, num_players, "a")
		for (new j = 0; j < num_players; j++) {
			new id = players[j]
			new weap_ids[32], num_weaps
			get_user_weapons(id, weap_ids, num_weaps)
			for (new i = 0; i < num_weaps; i++)
				if (fill_weapon(id, weap_ids[i]))
					fill_bpammo(id, weap_ids[i])
		}
	}
}

public message_ammo_pickup(msg_id, id, ent)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_HideGiveClips[id]) {
			g_HideGiveClips[id] = false
			return PLUGIN_HANDLED
		}
	}
	return PLUGIN_CONTINUE
}

public forward_message_begin(msg_dest, msg_type, const Float:ORIGIN[3], const ED)
{
	if (ED < 1 || ED > 32)
		return
	new id = ED
	if (msg_type == g_MoneyMsg && g_LastMessage[id] == g_WeapPickupMsg)
		event_weapon_buy(id, g_LastWeapPickup[id])
	g_LastMessageID = id
	g_LastMessageType = msg_type
	g_LastMessage[id] = msg_type
}

public forward_write_byte(value)
{
	if (g_LastMessageType == g_WeapPickupMsg)
		g_LastWeapPickup[g_LastMessageID] = value
}

public event_weapon_buy(id, weap_id)
{
	g_BoughtWeapon[id] = weap_id
}

public do_weapon_buy(id, weap_id)
{
	if (fill_weapon(id, weap_id))
		fill_bpammo_show(id, weap_id)
}

public client_PreThink(id)
{
	if (get_pcvar_num(pv_fa_enable) == 1) {
		if (g_Spawned[id]) {
			g_Spawned[id] = false
			do_player_spawn(id)
		}
		if (g_BoughtWeapon[id] != 0) {
			new weap_id = g_BoughtWeapon[id]
			g_BoughtWeapon[id] = 0
			do_weapon_buy(id, weap_id)
		}
	}
	return PLUGIN_CONTINUE
}

public bool:weapon_has_ammo(weap_id)
{
	return g_AmmoName[g_AmmoType[weap_id]][0] != 0
}

public bool:fill_bpammo(id, weap_id)
{
	if (get_pcvar_num(pv_fa_altclips) == 1) {
		new ammo_clips = g_MaxClips[weap_id]
		if (weapon_has_ammo(weap_id)) {
			for (new i = 1; i <= ammo_clips; i++) {
				g_HideGiveClips[id] = true
				give_item(id, g_AmmoName[g_AmmoType[weap_id]])
			}
			g_HideGiveClips[id] = false
			return true
		}
	}
	else {
		new ammo = g_MaxBPAmmo[weap_id]
		if (weapon_has_ammo(weap_id)) {
			cs_set_user_bpammo(id, weap_id, ammo)
			g_HideGiveClips[id] = false
			return true
		}
	}
	return false
}

public bool:fill_weapon(id, weap_id)
{
	new clip_size = g_ClipSize[weap_id]
	if (clip_size != 0) {
		new weap_name[41]
		get_weaponname(weap_id, weap_name, 40)
		new wpn = find_ent_by_owner(-1, weap_name, id)
		if (wpn != 0) {
			cs_set_weapon_ammo(wpn, clip_size)
			return true
		}
	}
	return false
}

public show_given_bpammo(id, weap_id, ammount)
{
	g_HideGiveClips[id] = false
	if (ammount <= 0)
		return
	message_begin(MSG_ONE, get_user_msgid("AmmoPickup"), {0,0,0}, id)
	write_byte(g_AmmoType[weap_id])
	write_byte(ammount)
	message_end()
}

public bool:fill_bpammo_show(id, weap_id)
{
	new given_ammo = g_MaxBPAmmo[weap_id]
	if (get_pcvar_num(pv_fa_altclips) != 1 && weapon_has_ammo(weap_id))
		given_ammo -= cs_get_user_bpammo(id, weap_id)
	if (fill_bpammo(id, weap_id)) {
		show_given_bpammo(id, weap_id, given_ammo)
		return true
	}
	return false
}
Nu se compileaza aceasta sursa din pacate...ma poate ajuta cineva va rog?
Scuzati dublu post dar ma refer la sursa cu tag chat

UP!
Post Reply

Return to “Addon-uri”

  • Information
  • Who is online

    Users browsing this forum: Facebook [Bot] and 21 guests