#include <amxmodx>
#include <fakemeta_util>
#include <hamsandwich>
new g_hMenuWeapons, g_iNumRound;
public plugin_init()
{
register_plugin("Weapons Menu", "1.0", "asiap");
register_event("HLTV", "EventHLTV", "a", "1=0", "2=0");
register_logevent("EventRestartGame", 2, "1=Game_Commencing", "1&Restart_Round_");
RegisterHamPlayer(Ham_Spawn, "Odrodzenie", 1);
g_hMenuWeapons = menu_create("Menu broni", "HandleWeaponsMenu");
menu_additem(g_hMenuWeapons, "M4A1 + Deagle", "weapon_m4a1");
menu_additem(g_hMenuWeapons, "AK47 + Deagle", "weapon_ak47");
menu_additem(g_hMenuWeapons, "AWP + Deagle", "weapon_awp");
menu_additem(g_hMenuWeapons, "Famas + Deagle", "weapon_famas");
menu_setprop(g_hMenuWeapons, MPROP_EXITNAME, "Wyjdz");
}
public EventHLTV()
{
++g_iNumRound;
}
public EventRestartGame()
{
g_iNumRound = 0;
}
public Odrodzenie(id)
{
if(!is_user_alive(id) || g_iNumRound < 3)
{
return;
}
menu_display(id, g_hMenuWeapons);
}
public HandleWeaponsMenu(id, hMenu, iItem)
{
if(!is_user_alive(id) || g_iNumRound < 3)
{
return;
}
switch(iItem)
{
case MENU_EXIT:
{
return;
}
default:
{
static iBitAccess, iCallback, i, iBitWeapons[32], iNum, szWeapon[24];
get_user_weapons(id, iBitWeapons, iNum);
for(i = 0; i < iNum; i++) {
if(~(CSW_ALL_PISTOLS | CSW_ALL_SHOTGUNS | CSW_ALL_SMGS | CSW_ALL_RIFLES | CSW_ALL_SNIPERRIFLES | CSW_ALL_MACHINEGUNS & 1<<iBitWeapons[i]) || !get_weaponname(iBitWeapons[i], szWeapon, 23))
{
continue;
}
engclient_cmd(id, "drop", szWeapon);
}
menu_item_getinfo(hMenu, iItem, iBitAccess, szWeapon, 23, _, _, iCallback);
fm_give_item(id, szWeapon);
fm_give_item(id, "weapon_deagle");
setUserAmmo(id, get_weaponid(szWeapon), 90);
setUserAmmo(id, CSW_DEAGLE, 35);
}
}
}
stock setUserAmmo(id, iWeapon, iAmmo)
{
static iOffset;
switch(iWeapon)
{
case CSW_M4A1, CSW_FAMAS: iOffset = 380;
case CSW_AK47: iOffset = 378;
case CSW_AWP: iOffset = 377, iAmmo = 30;
case CSW_DEAGLE: iOffset = 384;
default: return;
}
set_pdata_int(id, iOffset, iAmmo);
}