Raised This Month: $ Target: $400
 0% 

[HELP] Not working new the skin added


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
ganjastyleizhigh
Junior Member
Join Date: Mar 2016
Old 04-16-2016 , 10:55   [HELP] Not working new the skin added
Reply With Quote #1

Hi , i have a server of cs 1.6 steam Only working with csgo11.amxx plugin and i had a ploblem with the news skins (M4A1-S | Asiimov,M4A1-S | Navi,M4A1-S | Cyrex,AK47 | Curzon,AWP | Supra,AK47 | Velocity) , and when the players drop the skins at case and players disconnected and connected again (retry) he don`t have the news skin which are new droped in inventory.



My skin is:

Code:
"28" "Vulcan | AK-47" "models/csgo/ak47_vulcan.mdl" "30"
"28" "Point Disarray | AK-47" "models/csgo/ak4747.mdl" "10"
"28" "Oblivian | AK-47" "models/csgo/ak47_oblivian.mdl" "15"
"28" "Vanquish | AK-47" "models/csgo/ak47_vanquish.mdl" "25"
"28" "Cyrex | AK-47" "models/csgo/ak47cyrex.mdl" "30"
"28" "Asiimov | AK-47" "models/csgo/ak47_asiimov.mdl" "15"
"28" "Aquamarine | AK-47" "models/csgo/ak47_aqua.mdl" "18"
"28" "Hydroponic | AK-47" "models/csgo/ak47_hydroponic.mdl" "16"
"28" "Jet Set | AK-47" "models/csgo/ak47_jet_set.mdl" "17"
"28" "Redline | AK47" "models/csgo/akred.mdl" "65"
"28" "Wasteland Rebel | AK47" "models/csgo/akwr.mdl" "15"
"28" "Outlaw | AK47" "models/csgo/ak2.mdl" "23"
"18" "Tigris | AWP" "models/csgo/awp1.mdl" "44"
"18" "Redline | AWP" "models/csgo/awp2.mdl" "35"
"18" "Worm God | AWP" "models/csgo/awp20.mdl" "20"
"18" "Hyper Beast | AWP" "models/csgo/awp10.mdl" "11"
"18" "Electric Hive | AWP" "models/csgo/awp11.mdl" "45"
"18" "Dragon Lore | AWP" "models/csgo/awpdragon.mdl" "19"
"18" "Asiimov | AWP" "models/csgo/awpasiii.mdl" "20"
"18" "Sticker Bomb Snow | AWP" "models/csgo/awpbom.mdl" "13"
"18" "Dream | AWP" "models/csgo/awp90.mdl" "25"
"18" "Comic Book | AWP" "models/csgo/awpcomic.mdl" "10"
"18" "Sun in Leo | AWP" "models/csgo/awp92.mdl" "35"
"18" "Magma | AWP" "models/csgo/awp93.mdl" "35"
"22" "Atomic Alloy | M4A1-S" "models/csgo/m4a11.mdl" "50"
"22" "Hyper Beast | M4A1-S" "models/csgo/m4a12.mdl" "20"
"22" "Blood Tiger | M4A1-S" "models/csgo/m4a13.mdl" "60"
"22" "Icarus Fell | M4A1-S" "models/csgo/m4a14.mdl" "18"
"22" "Master Piece | M4A1-S" "models/csgo/m4a1s.mdl" "15"
"29" "Huntsman Knife" "models/csgo/ks1.mdl" "3"
"29" "Karambit Knife" "models/csgo/ks2.mdl" "4"
"29" "Karambit Tiger Tooth Knife" "models/csgo/kosa.mdl" "2"
"29" "Shadow Daggers | Neon Rider" "models/csgo/ks911.mdl" "2"
"29" "Gut Knife" "models/csgo/gut.mdl" "12"
"29" "M9 Bayonet Knife" "models/csgo/by.mdl" "8"
"29" "Butterfly Knife" "models/csgo/butter.mdl" "9"
"16" "Stainless USP-S" "models/csgo/usp1.mdl" "87"
"16" "Vertex USP-S" "models/csgo/usp2.mdl" "24"
"16" "Orion USP-S" "models/csgo/us3.mdl" "13"
"16" "Caiman USP-S" "models/csgo/us4.mdl" "22"
"26" "Valentin Days Deagle" "models/csgo/dg1.mdl" "47"
"26" "Desert Eagle | Kumicho Dragon" "models/csgo/dg2.mdl" "21"
"26" "Golden Coil | R8 Revolver" "models/csgo/r8gold.mdl" "10"
"26" "Sunset Storm | Desert Eagle" "models/csgo/dgss.mdl" "10"
"30" "Dead by Kitty | P90" "models/csgo/p901.mdl" "35"
"30" "Surpirse | P90" "models/csgo/p91.mdl" "53"

"28" "Jaguar | AK-47" "models/csgo/akjag.mdl" "45"
"28" "Red Laminate | AK-47" "models/csgo/akrl.mdl" "75"
"28" "Hawaian | AK-47" "models/csgo/akhaw.mdl" "28"

"16" "Overgrowth | USP-S" "models/csgo/uspog.mdl" "75"
"16" "Kill Confirmed | USP-S" "models/csgo/uspkc.mdl" "12" 
"22" "M4A1-S Golden Coil" "models/csgo/m4a1gld.mdl" "4"
"28" "AK47 | Velocity" "models/csgo/akvc.mdl" "25"
"14" "Galil AR Odyssy" "models/csgo/galilao.mdl" "35"
"18" "AWP | Supra" "models/csgo/awpsupra.mdl" "10"

"28" "AK47 | Curzon" "models/csgo/akcz.mdl" "20"

"22" "M4A1-S | Asiimov" "models/csgo/m4a1as.mdl" "15"
"22" "M4A1-S | Navi" "models/csgo/m4a1navi.mdl" "6"
"22" "M4A1-S | Cyrex" "models/csgo/m4a1cy.mdl" "25"
Plugin:

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

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

#define MAX 90

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

#pragma semicolon 1

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

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

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

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

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

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

Last edited by ganjastyleizhigh; 04-16-2016 at 10:59.
ganjastyleizhigh is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 18:39.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode