#include <amxmodx>
    #include <fun>
    #include <hamsandwich>
    #include <cstrike>
    #include <fakemeta>
 
    const NETOLTS = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
 
    new const g_MaxAmmo[] =
    {
    0,
    52, //CSW_P228
    0,
    90, //CSW_SCOUT
    0, //CSW_HEGRENADE
    32, //CSW_XM1014
    0, //CSW_C4
    100,//CSW_MAC10
    90, //CSW_AUG
    0, //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
    32, //CSW_M3
    90, //CSW_M4A1
    120,//CSW_TMP
    90, //CSW_G3SG1
    0, //CSW_FLASHBANG
    35, //CSW_DEAGLE
    90, //CSW_SG552
    90, //CSW_AK47
    0, //CSW_KNIFE
    100//CSW_P90
    }
    new orokloszer
 
    public plugin_init()
    {
    register_plugin("FegyverMenu", "1.0", "RsN");
    RegisterHam(Ham_Spawn, "player", "FegyverMenu",1)
    register_event("CurWeapon" , "Event_CurWeapon" , "be" , "1=1" );
    orokloszer = register_cvar("fm_orokloszer","1")
    }
    public Event_CurWeapon(id)
    {
    if(get_pcvar_num(orokloszer) == 1)
    {
    if(is_user_alive(id))
    {
    new fegyver = read_data(2)
    if( !( NETOLTS & (1<<fegyver) ) )
    {
    cs_set_user_bpammo(id, fegyver, g_MaxAmmo[fegyver]);
    }
    }
    }
    }
    public FegyverMenu(id)
    {
    new CsTeams:userTeam = cs_get_user_team(id)
    if(user_has_weapon(id, CSW_C4))
    {
    strip_user_weapons(id)
    ham_strip_weapon(id,"weapon_glock18")
    give_item(id, "weapon_knife")
    give_item(id, "weapon_c4")
    cs_set_user_plant(id,1,1)
    new menu = menu_create("\yFegyverMenü", "FegyverMenu_mh");
    menu_additem(menu, "\yM4a1", "0", 0); // case 0
    menu_additem(menu, "\yAk47", "1", 0); // case 1
    menu_additem(menu, "\yAWP", "2", 0); // case 2
    menu_additem(menu, "\yFamas", "3", 0); // case 3
    menu_additem(menu, "\yM249", "4", 0); // case 4
    menu_additem(menu, "\yShotgun M3", "5", 0); // case 5
    menu_additem(menu, "\yShotgun Xm1014", "6", 0); // case 6
    menu_additem(menu, "\yScout", "7", 0); // case 7
    menu_additem(menu, "\yMp5navy", "8", 0); // case 8
    menu_additem(menu, "\yGalil", "9", 0); // case 9
    menu_additem(menu, "\yAug", "10", 0); // case 10
    menu_additem(menu, "\ySG552", "11", 0); // case 11
    menu_additem(menu, "\yP90", "12", 0); // case 12
    menu_additem(menu, "\yTMP", "13", 0); // case 13
    menu_additem(menu, "\yUMP45", "14", 0); // case 14
    menu_additem(menu, "\yMac10", "15", 0); // case 15
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    menu_setprop(menu, MPROP_BACKNAME, "Vissza");
    menu_setprop(menu, MPROP_NEXTNAME, "Előre");
    menu_setprop(menu, MPROP_EXITNAME, "Kilép");
    menu_display(id, menu, 0);
    }
    else if (userTeam == CS_TEAM_CT)
    {
    strip_user_weapons(id)
    give_item(id, "weapon_knife")
    ham_strip_weapon(id,"weapon_glock18")
    new menu = menu_create("\yFegyverMenü", "FegyverMenu_mh");
    menu_additem(menu, "\yM4a1", "0", 0); // case 0
    menu_additem(menu, "\yAk47", "1", 0); // case 1
    menu_additem(menu, "\yAWP", "2", 0); // case 2
    menu_additem(menu, "\yFamas", "3", 0); // case 3
    menu_additem(menu, "\yM249", "4", 0); // case 4
    menu_additem(menu, "\yShotgun M3", "5", 0); // case 5
    menu_additem(menu, "\yShotgun Xm1014", "6", 0); // case 6
    menu_additem(menu, "\yScout", "7", 0); // case 7
    menu_additem(menu, "\yMp5navy", "8", 0); // case 8
    menu_additem(menu, "\yGalil", "9", 0); // case 9
    menu_additem(menu, "\yAug", "10", 0); // case 10
    menu_additem(menu, "\ySG552", "11", 0); // case 11
    menu_additem(menu, "\yP90", "12", 0); // case 12
    menu_additem(menu, "\yTMP", "13", 0); // case 13
    menu_additem(menu, "\yUMP45", "14", 0); // case 14
    menu_additem(menu, "\yMac10", "15", 0); // case 15
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    menu_setprop(menu, MPROP_BACKNAME, "Vissza");
    menu_setprop(menu, MPROP_NEXTNAME, "Előre");
    menu_setprop(menu, MPROP_EXITNAME, "Kilép");
    menu_display(id, menu, 0);
    }
    else if (userTeam == CS_TEAM_T)
    {
    strip_user_weapons(id)
    ham_strip_weapon(id,"weapon_usp")
    give_item(id, "weapon_knife")
    give_item(id, "item_thighpack");
    new menu = menu_create("\yFegyverMenü", "FegyverMenu_mh");
    menu_additem(menu, "\yM4a1", "0", 0); // case 0
    menu_additem(menu, "\yAk47", "1", 0); // case 1
    menu_additem(menu, "\yAWP", "2", 0); // case 2
    menu_additem(menu, "\yFamas", "3", 0); // case 3
    menu_additem(menu, "\yM249", "4", 0); // case 4
    menu_additem(menu, "\yShotgun M3", "5", 0); // case 5
    menu_additem(menu, "\yShotgun Xm1014", "6", 0); // case 6
    menu_additem(menu, "\yScout", "7", 0); // case 7
    menu_additem(menu, "\yMp5navy", "8", 0); // case 8
    menu_additem(menu, "\yGalil", "9", 0); // case 9
    menu_additem(menu, "\yAug", "10", 0); // case 10
    menu_additem(menu, "\ySG552", "11", 0); // case 11
    menu_additem(menu, "\yP90", "12", 0); // case 12
    menu_additem(menu, "\yTMP", "13", 0); // case 13
    menu_additem(menu, "\yUMP45", "14", 0); // case 14
    menu_additem(menu, "\yMac10", "15", 0); // case 15
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    menu_setprop(menu, MPROP_BACKNAME, "Vissza");
    menu_setprop(menu, MPROP_NEXTNAME, "Előre");
    menu_setprop(menu, MPROP_EXITNAME, "Kilép");
    menu_display(id, menu, 0);
    }
    }
    public FegyverMenu_mh(id, menu, item)
    {
    new command[6], name[64], access, callback;
    menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
    switch(item)
    {
    case 0:
    {
    give_item(id, "weapon_m4a1");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "weapon_knife");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 1:
    {
    give_item(id, "weapon_ak47");
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    give_item(id, "weapon_knife");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 2:
    {
    give_item(id, "weapon_awp");
    give_item(id, "ammo_338magnum");
    give_item(id, "ammo_338magnum");
    give_item(id, "ammo_338magnum");
    give_item(id, "weapon_knife");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 3:
    {
    give_item(id, "weapon_famas");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "weapon_knife");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 4:
    {
    give_item(id, "weapon_m249");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "weapon_knife");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 5:
    {
    give_item(id, "weapon_m3");
    give_item(id, "ammo_buckshot");
    give_item(id, "ammo_buckshot");
    give_item(id, "ammo_buckshot");
    give_item(id, "weapon_knife");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 6:
    {
    give_item(id, "weapon_xm1014");
    give_item(id, "ammo_buckshot");
    give_item(id, "ammo_buckshot");
    give_item(id, "ammo_buckshot");
    give_item(id, "ammo_buckshot");
    give_item(id, "weapon_knife");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 7:
    {
    give_item(id, "weapon_scout");
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    give_item(id, "ammo_762nato");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 8:
    {
    give_item(id, "weapon_mp5navy");
    give_item(id, "ammo_9mm");
    give_item(id, "ammo_9mm");
    give_item(id, "ammo_9mm");
    give_item(id, "ammo_9mm");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 9:
    {
    give_item(id, "weapon_galil");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 10:
    {
    give_item(id, "weapon_aug");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 11:
    {
    give_item(id, "weapon_sg552");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "ammo_556nato");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 12:
    {
    give_item(id, "weapon_p90");
    give_item(id, "ammo_57mm");
    give_item(id, "ammo_57mm");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 13:
    {
    give_item(id, "weapon_tmp");
    give_item(id, "ammo_9mm");
    give_item(id, "ammo_9mm");
    give_item(id, "ammo_9mm");
    give_item(id, "ammo_9mm");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 14:
    {
    give_item(id, "weapon_ump45");
    give_item(id, "ammo_45acp");
    give_item(id, "ammo_45acp");
    give_item(id, "ammo_45acp");
    give_item(id, "ammo_45acp");
    give_item(id, "weapon_knife");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    case 15:
    {
    give_item(id, "weapon_mac10");
    give_item(id, "ammo_45acp");
    give_item(id, "ammo_45acp");
    give_item(id, "ammo_45acp");
    give_item(id, "ammo_45acp");
    give_item(id, "item_assaultsuit")
    PistolMenu(id);
    }
    }
 
    menu_destroy(menu);
 
    return PLUGIN_HANDLED;
    }
    public PistolMenu(id)
    {
    new menu = menu_create("\yPisztolyMenü", "PistolMenu_mh");
 
    menu_additem(menu, "\yDeagle", "", 0); // case 0
    menu_additem(menu, "\yUsp", "", 0); // case 1
    menu_additem(menu, "\yGlock18", "", 0); // case 2
    menu_additem(menu, "\yP228", "", 0); // case 3
    menu_additem(menu, "\yFiveseven", "", 0); // case 4
    menu_additem(menu, "\yElite", "", 0); // case 5
 
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    menu_setprop(menu, MPROP_BACKNAME, "Vissza");
    menu_setprop(menu, MPROP_NEXTNAME, "Előre");
    menu_setprop(menu, MPROP_EXITNAME, "Kilép");
 
    menu_display(id, menu, 0);
 
    return PLUGIN_HANDLED;
    }
 
    public PistolMenu_mh(id, menu, item)
    {
    if(item == MENU_EXIT)
    {
    menu_cancel(id);
    return PLUGIN_HANDLED;
    }
 
    new command[6], name[64], access, callback;
 
    menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
 
    switch(item)
    {
    case 0:
    {
    give_item(id, "weapon_deagle");
    give_item(id,"ammo_50ae");
    give_item(id,"ammo_50ae");
    give_item(id,"ammo_50ae");
    give_item(id,"ammo_50ae");
    give_item(id,"ammo_50ae");
    give_item(id, "weapon_hegrenade");
    give_item(id, "weapon_flashbang");
    give_item(id, "weapon_flashbang");
    cs_set_user_bpammo(id, CSW_HEGRENADE, 1)
    }
    case 1:
    {
    give_item(id, "weapon_usp");
    give_item(id,"ammo_45acp");
    give_item(id,"ammo_45acp");
    give_item(id,"ammo_45acp");
    give_item(id,"ammo_45acp");
    give_item(id,"ammo_45acp");
    give_item(id,"ammo_45acp");
    give_item(id,"ammo_45acp");
    give_item(id,"ammo_45acp");
    give_item(id,"ammo_45acp");
    give_item(id, "weapon_hegrenade");
    give_item(id, "weapon_flashbang");
    give_item(id, "weapon_flashbang");
    cs_set_user_bpammo(id, CSW_HEGRENADE, 1)
    }
    case 2:
    {
    give_item(id, "weapon_glock18");
    give_item(id,"ammo_9mm");
    give_item(id,"ammo_9mm");
    give_item(id,"ammo_9mm");
    give_item(id,"ammo_9mm");
    give_item(id,"ammo_9mm");
    give_item(id,"ammo_9mm");
    give_item(id, "weapon_hegrenade");
    give_item(id, "weapon_flashbang");
    give_item(id, "weapon_flashbang");
    cs_set_user_bpammo(id, CSW_HEGRENADE, 1)
    }
    case 3:
    {
    give_item(id, "weapon_p228");
    give_item(id,"ammo_357sig");
    give_item(id,"ammo_357sig");
    give_item(id,"ammo_357sig");
    give_item(id,"ammo_357sig");
    give_item(id, "weapon_hegrenade");
    give_item(id, "weapon_flashbang");
    give_item(id, "weapon_flashbang");
    cs_set_user_bpammo(id, CSW_HEGRENADE, 1)
    }
    case 4:
    {
    give_item(id, "weapon_fiveseven");
    give_item(id,"ammo_57mm");
    give_item(id,"ammo_57mm");
    give_item(id,"ammo_57mm");
    give_item(id,"ammo_57mm");
    give_item(id,"ammo_57mm");
    give_item(id, "weapon_hegrenade");
    give_item(id, "weapon_flashbang");
    give_item(id, "weapon_flashbang");
    cs_set_user_bpammo(id, CSW_HEGRENADE, 1)
    }
    case 5:
    {
    give_item(id, "weapon_elite");
    give_item(id,"ammo_9mm");
    give_item(id,"ammo_9mm");
    give_item(id,"ammo_9mm");
    give_item(id,"ammo_9mm");
    give_item(id, "weapon_hegrenade");
    give_item(id, "weapon_flashbang");
    give_item(id, "weapon_flashbang");
    cs_set_user_bpammo(id, CSW_HEGRENADE, 1)
    }
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
    }
    stock ham_give_weapon(id,weapon[])
    {
    if(!equal(weapon,"weapon_",7)) return 0;
 
    new wEnt = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,weapon));
    if(!pev_valid(wEnt)) return 0;
 
    set_pev(wEnt,pev_spawnflags,SF_NORESPAWN);
    dllfunc(DLLFunc_Spawn,wEnt);
 
    if(!ExecuteHamB(Ham_AddPlayerItem,id,wEnt))
    {
    if(pev_valid(wEnt)) set_pev(wEnt,pev_flags,pev(wEnt,pev_flags) | FL_KILLME);
    return 0;
    }
    ExecuteHamB(Ham_Item_AttachToPlayer,wEnt,id)
    return 1;
    }
    stock ham_strip_weapon(id,weapon[])
    {
    if(!equal(weapon,"weapon_",7)) return 0;
 
    new wId = get_weaponid(weapon);
    if(!wId) return 0;
 
    new wEnt;
    while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname",weapon)) && pev(wEnt,pev_owner) != id) {}
    if(!wEnt) return 0;
 
    if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt);
 
    if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0;
    ExecuteHamB(Ham_Item_Kill,wEnt);
 
    set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId));
    return 1;
    }
 
    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")
    replace_all(msg, 190, "�", "á")
    replace_all(msg, 190, "�", "é")
    replace_all(msg, 190, "�", "í")
    replace_all(msg, 190, "�", "ó")
    replace_all(msg, 190, "�", "ö")
    replace_all(msg, 190, "�", "ő")
    replace_all(msg, 190, "�", "ú")
    replace_all(msg, 190, "�", "ü")
    replace_all(msg, 190, "�", "ű")
    replace_all(msg, 190, "�", "Á")
    replace_all(msg, 190, "�", "É")
    replace_all(msg, 190, "�", "Í")
    replace_all(msg, 190, "�", "Ó")
    replace_all(msg, 190, "�", "Ö")
    replace_all(msg, 190, "�", "Ő")
    replace_all(msg, 190, "�", "Ú")
    replace_all(msg, 190, "�", "Ü")
    replace_all(msg, 190, "�", "Ű")
 
    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, get_user_msgid("SayText"), _, players[i])
    write_byte(players[i])
    write_string(msg)
    message_end()
    }
    }
    }
    return PLUGIN_HANDLED
    }
    /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
    *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
    */