#include <amxmodx>
#include <reapi>

#define M4A1_DEAGLE_MONEY 5000
#define AK47_DEAGLE_MONEY 6000
#define AWP_DEAGLE_MONEY 7000
#define GALIL_DEAGLE_MONEY 4000
#define FAMAS_DEAGLE_MONEY 4500

new const iTag[] = "\r[\wReckLesS\r] \d- \y";
new const iChatTag[] = "ReckLesS";

public plugin_init()
{
    register_plugin("VIP Guns", "0.1", "LyNcH");

    RegisterHookChain(RG_CBasePlayer_Spawn, "@PlayerSpawn", .post = true);

    register_clcmd("say /silah", "@GunsMenu");
    register_clcmd("say !silah", "@GunsMenu");
    register_clcmd("say .silah", "@GunsMenu");
}

@PlayerSpawn(const id)
{
    @GunsMenu(id);
}

@GunsMenu(const id)
{
    if(!is_user_alive(id)){
        return;
    }

    if (get_member_game(m_iTotalRoundsPlayed) < 3) {
        return;
    }

    new menu = menu_create(fmt("%s Silah Menu", iTag), "@_GunsMenu");

    menu_additem(menu, "\yM4A1 + Deagle");
    menu_additem(menu, "\yAK47 + Deagle");
    menu_additem(menu, "\yAWP + Deagle");
    menu_additem(menu, "\yGalil + Deagle");
    menu_additem(menu, "\yFamas + Deagle");

    menu_setprop(menu, MPROP_EXITNAME, fmt("\wExit"));
    menu_setprop(menu, MPROP_NUMBER_COLOR, fmt("\r"));
    menu_display(id, menu);
}

@_GunsMenu(const id, const menu, const item)
{
    if(item == MENU_EXIT || !is_user_alive(id)) 
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    new iAccount = get_member(id, m_iAccount);

    switch(item)
    {
        case 0: 
        {
            if(iAccount >= M4A1_DEAGLE_MONEY) 
            {
                rg_add_account(id, -M4A1_DEAGLE_MONEY, AS_ADD);
                @GiveWeapon(id, 1);
            }
            else client_print_color(id,id, "^1[^3%s^1] ^4You need ^1[^3%d $^1]", iChatTag, M4A1_DEAGLE_MONEY-iAccount);
        }
        case 1: 
        {
            if(iAccount >= AK47_DEAGLE_MONEY) 
            {
                rg_add_account(id, -AK47_DEAGLE_MONEY, AS_ADD);
                @GiveWeapon(id, 2);
            }
            else client_print_color(id,id, "^1[^3%s^1] ^4You need ^1[^3%d $^1]", iChatTag, AK47_DEAGLE_MONEY-iAccount);
        }
        case 2: 
        {
            if(iAccount >= AWP_DEAGLE_MONEY) 
            {
                rg_add_account(id, -AWP_DEAGLE_MONEY, AS_ADD);
                @GiveWeapon(id, 3);
            }
            else client_print_color(id,id, "^1[^3%s^1] ^4You need ^1[^3%d $^1]", iChatTag, AWP_DEAGLE_MONEY-iAccount);
        }
        case 3: 
        {
            if(iAccount >= GALIL_DEAGLE_MONEY) 
            {
                rg_add_account(id, -GALIL_DEAGLE_MONEY, AS_ADD);
                @GiveWeapon(id, 4);
            }
            else client_print_color(id,id, "^1[^3%s^1] ^4You need ^1[^3%d $^1]", iChatTag, GALIL_DEAGLE_MONEY-iAccount);
        }
        case 4: 
        {
            if(iAccount >= FAMAS_DEAGLE_MONEY) 
            {
                rg_add_account(id, -FAMAS_DEAGLE_MONEY, AS_ADD);
                @GiveWeapon(id, 5);
            }
            else client_print_color(id,id, "^1[^3%s^1] ^4You need ^1[^3%d $^1]", iChatTag, FAMAS_DEAGLE_MONEY-iAccount);
        }
    }

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@GiveWeapon(const id, const iNumber)
{
    if(!is_user_alive(id))
    {
        return;
    }

    rg_remove_all_items(id);

    switch(iNumber)
    {
        case 1: rg_give_item(id, "weapon_m4a1", GT_APPEND), rg_set_user_bpammo(id, WEAPON_M4A1, 90);
        case 2: rg_give_item(id, "weapon_ak47", GT_APPEND), rg_set_user_bpammo(id, WEAPON_AK47, 90);
        case 3: rg_give_item(id, "weapon_awp", GT_APPEND), rg_set_user_bpammo(id, WEAPON_AWP, 30);
        case 4: rg_give_item(id, "weapon_galil", GT_APPEND), rg_set_user_bpammo(id, WEAPON_GALIL, 90);
        case 5: rg_give_item(id, "weapon_famas", GT_APPEND), rg_set_user_bpammo(id, WEAPON_FAMAS, 90);
    }

    rg_set_user_armor(id, 100, ARMOR_KEVLAR);
    rg_give_item(id, "weapon_knife", GT_APPEND), rg_give_item(id, "weapon_deagle", GT_APPEND),rg_give_item(id, "weapon_hegrenade", GT_APPEND), rg_set_user_bpammo(id, WEAPON_DEAGLE, 24);
}