Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

RSSError compiler


MYGO.pl
 Udostępnij

Rekomendowane odpowiedzi

  • RSSy
Errors:

Code:

//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// csgo_base.sma
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(934) : warning 233: symbol "client_disconnect" is marked as deprecated: Use client_disconnected() instead.
//
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(1097) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(1186) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(1232) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(1336) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(1374) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(1413) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(1527) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(1631) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(1685) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(1713) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(2029) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(2114) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(2143) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(2174) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(2205) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(2236) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(2262) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(3740) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(3772) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(3813) : warning 225: unreachable code
// C:\Users\Personal Computer\Desktop\Compiler 1.8.3\csgo_base.sma(5307) : warning 225: unreachable code
// Header size:          5920 bytes
// Code size:          282584 bytes
// Data size:          388320 bytes
// Stack/heap size:      16384 bytes
// Total requirements:  693208 bytes
//
// 22 Warnings.
// Done.
//
// Compilation Time: 3.34 sec
// ----------------------------------------

Press enter to exit ...


sma:

Code:

#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 /contact", "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","HandleZorke")
        menu_additem(menu,"GaBy (FaceBook)","")
        menu_additem(menu,"Csak Siman Tibike (FaceBook)","")
        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(random(256), random(256), random(256), 0.8, 0.05, 0, 0.00, 1.00, 0.00, 0.00, 4);
        ShowSyncHudMsg(ids, g_syncHudMessage2, "Rank: %s^n Key: %d^n Euro: %d^n Kills: %d^n Need Kill: %d",Rangs[Rang[id]],keygaben, Points[id], Kills[id], NeedKills[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 pe !tGoX.Demnetii.Ro!t creat de !gGaBy", Prefix, PLUGIN, VERSION, AUTHOR);
}
public Messages()
{
        hide(mure)
        print_color(0, "!g%s !tVrei sa iei legatura cu fondatorul? Scrie /contact!", 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(random(256), random(256), random(256), 0.8, 0.21, 0, 0.00, 1.00, 0.00, 0.00, 4);
                                        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(random(256), random(256), random(256), 0.8, 0.21, 0, 0.00, 1.00, 0.00, 0.00, 4);
                                        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(random(256), random(256), random(256), 0.8, 0.21, 0, 0.00, 1.00, 0.00, 0.00, 4);
                                                ShowSyncHudMsg(id, g_syncHudMessage1, "%s detine %s StatTrack^nAre %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(random(256), random(256), random(256), 0.8, 0.21, 0, 0.00, 1.00, 0.00, 0.00, 4);
                                                ShowSyncHudMsg(id, g_syncHudMessage1, "StatTrack^n %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
}

Przeczytaj cały wpis

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...