- #include < amxmodx > 
-  #include < amxmisc > 
-  #include < fun > 
-  #include < fakemeta > 
-  #include < cstrike > 
-  #include < hamsandwich > 
-  #include < colorchat > 
-   
-  #pragma semicolon 1 
-   
-  #define VERSION "0.0.1" 
-   
-  #define Max_Players 32 
-   
-  #define OFFSET_PRIMARYWEAPON 116 
-  #define OFFSET_C4_SLOT 372 
-   
-  #define Weapon_Menu_Name "Fegyver Csomagok" 
-   
-  #define Next_Button "KövetkezĹ‘" 
-  #define Back_Button "Vissza" 
-  #define Exit_Button "KilĂ©pĂ©s" 
-   
-  #define Money_Hud ( 1 << 5 ) 
-   
-  new g_iWPCT; 
-  new g_iWPTE; 
-   
-  new pCvarMaxCTWps; 
-  new pCvarMaxTEWps; 
-   
-  new pCvarWPBlock; 
-   
-  new pCvarFlash; 
-  new pCvarHe; 
-  new pCvarSmoke; 
-   
-  new pCvarKevlar; 
-  new pCvarDefuser; 
-   
-  new pCvarPrefix; 
-  new pCvarMoney; 
-  new pCvarBlockBuy; 
-  new pCvarUnAmmo; 
-  new pCvarweapnew; 
-   
-  new const g_szMessages [ ] [ ] = 
-  { 
-  "", 
-  "^1CsapatonkĂ©nt csak kĂ©t ember AWP-zhet!", 
-  "^4%s ^1AWP csak ^44v4-tĹ‘l ^1használhatĂł!", 
-  "^1A vásárlás letĂltva!", 
-  "^1Te már választottál fegyvert!" 
-  }; 
-   
-  new const g_szWeaponMenuNames [ ] [ ] = { 
-   
-  "M4A1 Csomag", 
-  "AK47 Csomag", 
-  "AWP Csomag", 
-  "M249 Csomag", 
-  "AUG Csomag", 
-  "Famas Csomag", 
-  "Galil Csomag", 
-  "MP5 Csomag", 
-  "XM1014 Csomag", 
-  "M3 Csomag", 
-  "Scout Csomag" 
-  }; 
-   
-  new const g_szWeaponsName [ ] [ ] = { 
-   
-  "weapon_m4a1", 
-  "weapon_ak47", 
-  "weapon_awp", 
-  "weapon_m249", 
-  "weapon_aug", 
-  "weapon_famas", 
-  "weapon_galil", 
-  "weapon_mp5navy", 
-  "weapon_xm1014", 
-  "weapon_m3", 
-  "weapon_scout" 
-  }; 
-   
-  new const g_szPistolName [ ] = "weapon_deagle"; 
-   
-  const DoNotReload = ( ( 1 << CSW_HEGRENADE ) | ( 1 << CSW_SMOKEGRENADE ) | ( 1 << CSW_FLASHBANG ) | ( 1 << CSW_KNIFE ) | ( 1 << CSW_C4 ) ); 
-  new const maxAmmo[ 31 ] = { 
-   
-  0, 
-  52, 
-  0, 
-  90, 
-  1, 
-  32, 
-  1, 
-  100, 
-  90, 
-  1, 
-  120, 
-  100, 
-  100, 
-  90, 
-  90, 
-  90, 
-  100, 
-  120, 
-  30, 
-  120, 
-  200, 
-  32, 
-  90, 
-  120, 
-  90, 
-  2, 
-  35, 
-  90, 
-  90, 
-  0, 
-  100 
-  }; 
-   
-  new g_szBuyCommands[ ][ ] = 
-  { 
-  "usp", "glock", "deagle", "p228", "elites", "fn57", "m3", "xm1014", "mp5", "tmp", "p90", "mac10", "ump45", "ak47", 
-  "galil", "famas", "sg552", "m4a1", "aug", "scout", "awp", "g3sg1", "sg550", "m249", "vest", "vesthelm", "flash", "hegren", 
-  "sgren", "defuser", "nvgs", "shield", "primammo", "secammo", "km45", "9x19mm", "nighthawk", "228compact", "12gauge", 
-  "autoshotgun", "smg", "mp", "c90", "cv47", "defender", "clarion", "krieg552", "bullpup", "magnum", "d3au1", "krieg550", 
-  "buyammo1", "buyammo2" 
-  }; 
-   
-  new const g_szMenuCommands[ ] [ ] = 
-  { 
-  "say /fegyver", 
-  "say_team /fegyver" 
-   
-  }; 
-   
-  new g_szChatPrefix[ 64 ]; 
-  new g_msgHideWeapon; 
-  new g_bHasWeapon[ Max_Players ]; 
-   
-  public plugin_init ( ) { 
-   
-  register_plugin( "Advanced Weapon Menu", VERSION, "#YouCantStopMe" ); 
-   
-  RegisterHam( Ham_Spawn, "player", "func_OpenWeaponMenu", 1 ); 
-   
-  pCvarMaxCTWps = register_cvar( "awm_max_ct_awp", "2" ); // Ct-nél 2 AWP-s lehet. 
-  pCvarMaxTEWps = register_cvar( "awm_max_te_awp", "2" ); // Terroristáknál 2 AWP-s lehet. 
-   
-  pCvarWPBlock = register_cvar( "awm_allow_wp_player", "4" ); // Ha mindkét csapatban van 4-4 játékos akkor engedi az AWP-t 
-   
-  pCvarFlash = register_cvar( "awm_give_flash", "2" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad ) Alap: 2 Flash gránát 
-  pCvarHe = register_cvar( "awm_give_he", "1" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad ) Alap: 1 Robanó gránát 
-  pCvarSmoke = register_cvar( "awm_give_smoke", "0" ); // Itt tudod beállítani ,hogy adjon-e füst gránátot. ( 0 = Nem ad ) 
-   
-  pCvarKevlar = register_cvar( "awm_give_kevlar", "2" ); // Itt tudod beállítani ,hogy adjon-e kevlárt. ( 0 = Nem Ad ) Alap: 2 ( Kevlár + Sisak ) 
-  pCvarDefuser = register_cvar( "awm_give_defuser", "1" ); // Itt tudod beállítani ,hogy adjon-e defusert. ( 0 = Nem Ad ) 
-   
-  pCvarUnAmmo = register_cvar( "awm_unlimited_ammo", "1" ); // Itt tudod beállítani ,hogy elfoggyon-e a tár vagy ne. Alap: 1 ( Tehát nem fogy el a tár ) 
-   
-  pCvarBlockBuy = register_cvar( "awm_block_buy", "1" ); // Itt tudod beállítani ,hogy tiltsa-e a vásárlást vagy ne. Alap 1 ( Tehát tiltva van ) ( 0 = Nincs tiltva ) 
-  pCvarMoney = register_cvar( "awm_set_money", "0" ); // Itt tudod beállítani ,hogy mennyi pénze legyen a játékosoknak. ( 0 = Nincs , eltűnik a hudról is ) Alap: 0 
-  pCvarPrefix = register_cvar( "awm_prefix", "SzerverPrefix" ); // Itt tudod beállítani, hogy mi legyen a Fegyvermenü prefix-je. 
-   
-  pCvarweapnew = register_cvar( "awm_ujfegyver", "1"); 
-   
-  g_msgHideWeapon = get_user_msgid( "HideWeapon" ); 
-   
-  for( new i = 0; i < sizeof( g_szBuyCommands ); i++ ) 
-  register_clcmd( g_szBuyCommands[ i ], "cmd_BlockBuy" ); 
-   
-  for( new i = 0; i < sizeof( g_szMenuCommands ); i++ ) 
-  register_clcmd( g_szMenuCommands[ i ], "cmd_ShowWeaponMenu" ); 
-   
-  register_event( "ResetHUD", "onResetHUD", "b" ); 
-  register_event( "CurWeapon", "eCurWeapon", "be", "1=1" ); 
-   
-  register_message( g_msgHideWeapon, "msgHideWeapon" ); 
-   
-  register_logevent( "eRoundEnd", 2, "1=Round_End" ); 
-  } 
-   
-  public client_connect( iClient ) { 
-   
-  g_bHasWeapon[ iClient ] = false; 
-  } 
-   
-  public client_disconnect( iClient ) { 
-   
-  g_bHasWeapon[ iClient ] = false; 
-  } 
-   
-  public cmd_ShowWeaponMenu( iClient ) { 
-   
-  if( !get_pcvar_num(pCvarweapnew) ) { 
-  switch( g_bHasWeapon[ iClient ] ) { 
-   
-  case true: 
-  { 
-  get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) ); 
-  client_print_color( iClient, Red, "^3%s %s" , g_szChatPrefix, g_szMessages[ 4 ] ); 
-   
-  return PLUGIN_HANDLED; 
-  } 
-  case false: func_OpenWeaponMenu( iClient ); 
-  } 
-  } 
-  else { 
-  func_OpenWeaponMenu( iClient ); 
-  } 
-  return PLUGIN_HANDLED; 
-  } 
-   
-  public cmd_BlockBuy( iClient ) { 
-   
-  if( !get_pcvar_num( pCvarBlockBuy ) ) 
-  return PLUGIN_CONTINUE; 
-   
-  get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) ); 
-  client_print_color( iClient, Red, "^3%s %s" , g_szChatPrefix, g_szMessages[ 3 ] ); 
-  return PLUGIN_HANDLED; 
-  } 
-   
-  public eCurWeapon( iClient ) { 
-   
-  if( get_pcvar_num( pCvarUnAmmo ) ) { 
-   
-  if( is_user_alive( iClient ) ) { 
-   
-  new weapon = read_data( 2 ); 
-  if( !( DoNotReload & ( 1 << weapon ) ) ) { 
-   
-  cs_set_user_bpammo( iClient, weapon, maxAmmo[ weapon ] ); 
-  } 
-  } 
-  } 
-  } 
-   
-  public onResetHUD( iClient ) { 
-   
-  if( !get_pcvar_num( pCvarMoney ) ) { 
-   
-  message_begin( MSG_ONE, g_msgHideWeapon, _, iClient ); 
-  write_byte( Money_Hud ); 
-  message_end( ); 
-  } 
-  } 
-   
-  public msgHideWeapon( ) { 
-   
-  if( !get_pcvar_num( pCvarMoney ) ) { 
-   
-  set_msg_arg_int( 1, ARG_BYTE, get_msg_arg_int( 1 ) | Money_Hud ); 
-  } 
-  } 
-   
-  public eRoundEnd ( ) { 
-   
-  g_iWPCT = 0; 
-  g_iWPTE = 0; 
-  } 
-   
-  public func_OpenWeaponMenu ( iClient ) { 
-   
-  if( !is_user_alive( iClient ) ) 
-  return; 
-   
-  cs_set_user_money( iClient, get_pcvar_num( pCvarMoney ) ); 
-   
-  get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) ); 
-   
-  g_bHasWeapon[ iClient ] = false; 
-   
-  new szMenuTitle[ 121 ]; 
-  new szMenuItem[ 121 ]; 
-   
-  format( szMenuTitle, charsmax( szMenuTitle ), "\r%s^n\w%s", g_szChatPrefix, Weapon_Menu_Name ); 
-   
-  StripUserWeapons( iClient ); 
-  new menu = menu_create( szMenuTitle, "func_OpenWeaponMenu_handler" ); 
-   
-  for( new i = 0; i < sizeof( g_szWeaponMenuNames ); i++ ) { 
-   
-  if( i != 2 ) { 
-   
-  format( szMenuItem, charsmax( szMenuItem ), "\w%s", g_szWeaponMenuNames[ i ] ); 
-  } 
-  else { 
-  switch( get_user_team( iClient ) ) 
-  { 
-  case 1: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[ElsĹ‘ %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxTEWps ) ); 
-  case 2: format( szMenuItem, charsmax( szMenuItem ), "\w%s \y[ElsĹ‘ %d embernek]", g_szWeaponMenuNames[ i ], get_pcvar_num( pCvarMaxCTWps ) ); 
-  default: continue; 
-  } 
-  } 
-   
-  menu_additem( menu, szMenuItem, _, 0 ); 
-  } 
-   
-  menu_setprop( menu, MPROP_EXIT, MEXIT_ALL ); 
-  menu_setprop( menu, MPROP_BACKNAME, Back_Button ); 
-  menu_setprop( menu, MPROP_NEXTNAME, Next_Button ); 
-  menu_setprop( menu, MPROP_EXITNAME, Exit_Button ); 
-  menu_display( iClient, menu ); 
-  } 
-   
-  public func_OpenWeaponMenu_handler( iClient, iMenu, iItem ) { 
-   
-  if( iItem == MENU_EXIT ) { 
-   
-  menu_destroy( iMenu ); 
-  return PLUGIN_HANDLED; 
-  } 
-   
-  new data[ 6 ], szName[ 64 ]; 
-  new access, callback; 
-  menu_item_getinfo( iMenu, iItem, access, data, charsmax( data ), szName, charsmax( szName ), callback ); 
-   
-  get_pcvar_string( pCvarPrefix, g_szChatPrefix, charsmax( g_szChatPrefix ) ); 
-   
-  if( iItem != 2 ) { 
-   
-  give_item( iClient, g_szWeaponsName[ iItem ] ); 
-  give_item( iClient, g_szPistolName ); 
-   
- client_print_color( iClient, Red, "^4%s ^1Te az ^4%sot ^1választottad!", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] ); 
-  } 
-  else { 
-   
-  new iTeams[ CsTeams ]; 
-  GetPlayerCount( iTeams ); 
-   
-  if( iTeams[ CS_TEAM_T ] < get_pcvar_num( pCvarWPBlock ) 
-  || iTeams[ CS_TEAM_CT ] < get_pcvar_num( pCvarWPBlock ) ) { 
-   
-  client_print_color( iClient, Red, g_szMessages[ 2 ], g_szChatPrefix ); 
-  func_OpenWeaponMenu( iClient ); 
-   
-  return PLUGIN_HANDLED; 
-  } 
-   
-  new CsTeams:userTeam = cs_get_user_team( iClient ); 
-  if( userTeam == CS_TEAM_CT ) { 
-   
-  if( g_iWPCT < get_pcvar_num( pCvarMaxCTWps ) ) { 
-   
-  give_item( iClient, g_szWeaponsName[ iItem ] ); 
-  give_item( iClient, g_szPistolName ); 
-   
- client_print_color( iClient, Red, "^4%s ^1Te az ^4%sot ^1választottad!", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] ); 
-  g_iWPCT++; 
-  } 
-  else { 
-   
-  client_print( iClient, print_center, g_szMessages[ 1 ] ); 
-  func_OpenWeaponMenu ( iClient ); 
-   
-  return PLUGIN_HANDLED; 
-  } 
-  } 
-   
-  if( userTeam == CS_TEAM_T ) { 
-   
-  if( g_iWPTE < get_pcvar_num( pCvarMaxTEWps ) ) { 
-   
-   
-  give_item( iClient, g_szWeaponsName[ iItem ] ); 
-  give_item( iClient, g_szPistolName ); 
-   
- client_print_color( iClient, Red, "^4%s ^1Te az ^4%sot ^1választottad!", g_szChatPrefix, g_szWeaponMenuNames[ iItem ] ); 
-  g_iWPTE++; 
-  } 
-  else { 
-   
-  client_print( iClient, print_center, g_szMessages[ 1 ] ); 
-  func_OpenWeaponMenu( iClient ); 
-   
-  return PLUGIN_HANDLED; 
-  } 
-  } 
-  } 
-   
-  give_item( iClient, "weapon_knife" ); 
-  give_player_stuff( iClient ); 
-   
-  menu_destroy( iMenu ); 
-  return PLUGIN_HANDLED; 
-  } 
-   
-  GetPlayerCount( iTeamPlayers[ CsTeams ] ) { 
-   
-  new iPlayers[ 32 ] , iPlayerCount; 
-   
-  get_players( iPlayers , iPlayerCount ); 
-   
-  for ( new i = 0 ; i < iPlayerCount ; i++ ) 
-  iTeamPlayers[ cs_get_user_team( iPlayers[ i ] ) ]++; 
-  } 
-   
-  stock give_player_stuff( iClient ) { 
-   
-  if( get_pcvar_num( pCvarFlash ) ) { 
-   
-  give_item( iClient, "weapon_flashbang" ); 
-  cs_set_user_bpammo( iClient, CSW_FLASHBANG, get_pcvar_num( pCvarFlash ) ); 
-  } 
-   
-  if( get_pcvar_num( pCvarHe ) ) { 
-   
-  give_item( iClient, "weapon_hegrenade" ); 
-  cs_set_user_bpammo( iClient, CSW_HEGRENADE, get_pcvar_num( pCvarHe ) ); 
-  } 
-   
-  if( get_pcvar_num( pCvarSmoke ) ) { 
-   
-  give_item( iClient, "weapon_smokegrenade" ); 
-  cs_set_user_bpammo( iClient, CSW_SMOKEGRENADE, get_pcvar_num( pCvarSmoke ) ); 
-  } 
-   
-  if( get_pcvar_num( pCvarKevlar ) ) { 
-   
-  switch( get_pcvar_num( pCvarKevlar ) ) { 
-   
-  case 1: give_item( iClient, "item_kevlar" ); 
-  case 2: give_item( iClient, "item_assaultsuit" ); 
-  default: return PLUGIN_CONTINUE; 
-  } 
-  } 
-   
-  if( get_pcvar_num( pCvarDefuser ) ) { 
-   
-  give_item( iClient, "item_thighpack" ); 
-  } 
-   
-  if( !get_pcvar_num( pCvarUnAmmo ) ) { 
-   
-  new weapons[ 32 ]; 
-  new weaponsnum; 
-  get_user_weapons( iClient, weapons, weaponsnum ); 
-  for( new i = 0; i < weaponsnum; i++ ) 
-  if( is_user_alive( iClient ) ) 
-  if( maxAmmo[ weapons[ i ] ] > 0 ) 
-  cs_set_user_bpammo( iClient, weapons[ i ], maxAmmo[ weapons[ i ] ] ); 
-  } 
-   
-  g_bHasWeapon[ iClient ] = true; 
-  return PLUGIN_CONTINUE; 
-  } 
-   
-   
-  //Stolen from CSDM Weapon Menu 
-  stock StripUserWeapons( iClient ) { 
-   
-  new iC4Ent = get_pdata_cbase( iClient, OFFSET_C4_SLOT ); 
-   
-  if( iC4Ent > 0 ) { 
-   
-  set_pdata_cbase( iClient, OFFSET_C4_SLOT, FM_NULLENT ); 
-  } 
-   
-  strip_user_weapons( iClient ); 
-  set_pdata_int( iClient, OFFSET_PRIMARYWEAPON, 0 ); 
-   
-  if( iC4Ent > 0 ) { 
-   
-  set_pev( iClient, pev_weapons, pev( iClient, pev_weapons ) | ( 1 << CSW_C4 ) ); 
-  set_pdata_cbase( iClient, OFFSET_C4_SLOT, iC4Ent ); 
-   
-  cs_set_user_bpammo( iClient, CSW_C4, 1 ); 
-  cs_set_user_plant( iClient, 1 ); 
-  } 
-   
-  return PLUGIN_HANDLED; 
-  }