Just noticed that m_iHideHUD pdata is updated right when suit is given.
Touch code is like this :
Spoiler
PHP Code:
enum _:hudHide ( <<= 1 )
{
HUD_HIDE_CAL = 1,
HUD_HIDE_FLASH,
HUD_HIDE_ALL,
HUD_HIDE_RHA,
HUD_HIDE_TIMER,
HUD_HIDE_MONEY,
HUD_HIDE_CROSS,
HUD_DRAW_CROSS
}
const WEAPON_SUIT = 31
CItemSuit_MyTouch(item, id)
{
if( pev(id, pev_weapons) )
{
user_has_weapon(id, WEAPON_SUIT, true) // pev->weapons |= WEAPON_SUIT
emit_sound(id, CHAN_VOICE, "items/tr_kevlar.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
set_pdata_int(id, m_iHideHUD, get_pdata_int(id, m_iHideHUD) & ~(HUD_HIDE_RHA|HUD_HIDE_MONEY))
}
}
So it should be better to directly send give_item(id, "item_suit") but after player has received his weapons (previous post code edited).
If you don't want to bother to figure out if player already has weapons or not, you can use that function :
Spoiler
PHP Code:
const WEAPON_SUIT = 31
GiveSuit(id)
{
user_has_weapon(id, WEAPON_SUIT, true);
new iHideHUD = get_pdata_int(id, m_iHideHUD);
if( iHideHUD & (HUD_HIDE_RHA|HUD_HIDE_MONEY) )
{
set_pdata_int(id, m_iHideHUD, iHideHUD & ~(HUD_HIDE_RHA|HUD_HIDE_MONEY));
}
}
__________________