To make this per-player specific settings you only need one array with a dimension of 33 (each player would have their own
g_bitHudFlags)
Something like this:
PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#define VERSION "0.6"
const HUD_HIDE_CAL = 1<<0
const HUD_HIDE_FLASH = 1<<1
const HUD_HIDE_ALL = 1<<2
const HUD_HIDE_RHA = 1<<3
const HUD_HIDE_TIMER = 1<<4
const HUD_HIDE_MONEY = 1<<5
const HUD_HIDE_CROSS = 1<<6
const HUD_DRAW_CROSS = 1<<7
const HIDE_GENERATE_CROSSHAIR = HUD_HIDE_FLASH|HUD_HIDE_RHA|HUD_HIDE_TIMER|HUD_HIDE_MONEY|HUD_DRAW_CROSS
#define m_iHideHUD 361
#define m_iClientHideHUD 362
#define m_pClientActiveItem 374
new g_bitHudFlags[33]
public plugin_init()
{
register_plugin("HUD Customizer", VERSION, "Igoreso/ConnorMcLeod")
register_event("ResetHUD", "Event_ResetHUD", "b")
register_event("HideWeapon", "Event_HideWeapon", "b")
}
public Event_ResetHUD(id)
{
if( g_bitHudFlags[id] )
{
set_pdata_int(id, m_iClientHideHUD, 0)
set_pdata_int(id, m_iHideHUD, g_bitHudFlags[id])
}
}
public Event_HideWeapon( id )
{
new iFlags = read_data(1)
if( g_bitHudFlags[id] && (iFlags & g_bitHudFlags[id] != g_bitHudFlags[id]) )
{
set_pdata_int(id, m_iClientHideHUD, 0)
set_pdata_int(id, m_iHideHUD, iFlags|g_bitHudFlags[id])
}
if( iFlags & HIDE_GENERATE_CROSSHAIR && !(g_bitHudFlags[id] & HUD_DRAW_CROSS) && is_user_alive(id) )
{
set_pdata_cbase(id, m_pClientActiveItem, FM_NULLENT)
}
}
__________________