Ok my bad, it is called, but that message doesn't work in that Ham_Spawn. Wrote in first post a bit clearer.
PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
new const g_szPriWeapGive[][] =
{
"weapon_ak47",
"weapon_m4a1",
"weapon_awp",
"weapon_m3"
};
new const g_szPriWeapName[][] =
{
"CV-47",
"M4A1",
"Magnum",
"12 Gauge"
};
new const g_iPriWeapAmmo[] =
{
90,
90,
30,
32
};
new const g_szSecWeapGive[][] =
{
"weapon_usp",
"weapon_glock18",
"weapon_elite",
"weapon_deagle"
};
new const g_szSecWeapName[][] =
{
"K&M .45",
"9X19mm",
".40 Dual",
"Night Hawk"
};
new const g_iSecWeapAmmo[] =
{
100,
120,
120,
35
};
new g_iPlayerWeaps[33], g_pMsgHideWeapon;
public plugin_init()
{
register_plugin("[TH] Weapons menu", "1.0.0", "GuskiS");
RegisterHam(Ham_Spawn, "player", "Ham_Spawn_post", 1, true);
g_pMsgHideWeapon = get_user_msgid("HideWeapon");
}
public Ham_Spawn_post(id)
{
if(is_user_alive(id))
{
message_begin(MSG_ONE, g_pMsgHideWeapon, _, id);
write_byte(8);
message_end();
show_weapon_menu(id);
}
}
public show_weapon_menu(id)
{
if(is_user_alive(id) && !th_get_playerdata(id, PD_HIDDEN))
{
static menu, option[64], data[3];
menu = menu_create("Weapon menu", "show_weapon_menu_handle");
if(!g_iPlayerWeaps[id])
{
for(new i = 0; i < sizeof(g_szPriWeapName); i++)
{
formatex(option, charsmax(option), "%s", g_szPriWeapName[i]);
num_to_str(i, data, charsmax(data));
menu_additem(menu, option, data, 0);
}
}
else
{
for(new i = 0; i < sizeof(g_szSecWeapName); i++)
{
formatex(option, charsmax(option), "%s", g_szSecWeapName[i]);
num_to_str(i, data, charsmax(data));
menu_additem(menu, option, data, 0);
}
}
menu_display(id, menu);
}
}
public show_weapon_menu_handle(id, menu, item)
{
if(item == MENU_EXIT || !is_user_alive(id) || th_get_playerdata(id, PD_HIDDEN))
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new access, callback, num[3];
menu_item_getinfo(menu, item, access, num, charsmax(num), _, _, callback);
menu_destroy(menu);
new pick = str_to_num(num);
if(!g_iPlayerWeaps[id])
{
ham_give_weapon(id, g_szPriWeapGive[pick]);
cs_set_user_bpammo(id, get_weaponid(g_szPriWeapGive[pick]), g_iPriWeapAmmo[pick]);
g_iPlayerWeaps[id] = true;
show_weapon_menu(id);
}
else
{
ham_give_weapon(id, g_szSecWeapGive[pick]);
cs_set_user_bpammo(id, get_weaponid(g_szSecWeapGive[pick]), g_iSecWeapAmmo[pick]);
g_iPlayerWeaps[id] = false;
}
return PLUGIN_HANDLED;
}