new g_m4a1_clip[33], g_had_m4a1[33], g_reload[33]
#define M4A1_CLIP 50
public plugin_init()
{
RegisterHam(Ham_Weapon_Reload, "weapon_m4a1", "ham_reload")
RegisterHam(Ham_Weapon_Reload, "weapon_m4a1", "ham_reload_post", 1)
RegisterHam(Ham_Item_PostFrame, "weapon_m4a1", "ham_postframe")
}
public ham_reload(ent)
{
if(!pev_valid(ent))
return HAM_IGNORED
static id
id = pev(ent, pev_owner)
if(is_user_alive(id) && is_user_connected(id) && g_had_m4a1[id])
{
g_m4a1_clip[id] = -1
new bpammo
bpammo = cs_get_user_bpammo(id, CSW_M4A1)
new iClip = get_pdata_int(ent, 51, 4)
if (bpammo <= 0)
return HAM_SUPERCEDE
if(iClip >= M4A1_CLIP)
return HAM_SUPERCEDE
g_m4a1_clip[id] = iClip
g_reload[id] = 1
}
return HAM_IGNORED
}
public ham_reload_post(ent)
{
if(!pev_valid(ent))
return HAM_IGNORED
static id
id = pev(ent, pev_owner)
if(is_user_alive(id) && is_user_connected(id) && g_had_m4a1[id])
{
if (g_m4a1_clip[id] == -1)
return HAM_IGNORED
/*
static Float:reload_time
if(g_skull3_mode[id] == 1)
reload_time = 2.2
else if(g_skull3_mode[id] == 2)
reload_time = 3.4
set_pdata_float(ent, 48, reload_time, 4)
set_pdata_float(id, 83, reload_time, 5)*/ // Cai nay de chinh time reload. Ko can thiet nen tat di
set_pdata_int(ent, 51, g_m4a1_clip[id], 4)
set_pdata_int(ent, 54, 1, 4)
set_weapon_anim(id, 1) // Anim 1 = Reload Anim
}
return HAM_IGNORED
}
public ham_postframe(ent)
{
if(!pev_valid(ent))
return HAM_IGNORED
static id
id = pev(ent, pev_owner)
if(is_user_alive(id) && is_user_connected(id) && g_had_m4a1[id])
{
new Float:flNextAttack = get_pdata_float(id, 83, 5)
new bpammo
bpammo = cs_get_user_bpammo(id, CSW_M4A1)
new iClip = get_pdata_int(ent, 51, 4)
new fInReload = get_pdata_int(ent, 54, 4)
if(fInReload && flNextAttack <= 0.0)
{
new temp1
temp1 = min(M4A1_CLIP - iClip, bpammo)
set_pdata_int(ent, 51, iClip + temp1, 4)
cs_set_user_bpammo(id, CSW_M4A1, bpammo-temp1)
set_pdata_int(ent, 54, 0, 4)
fInReload = 0
g_reload[id] = 0
}
}
return HAM_IGNORED
}
stock set_weapon_anim(id, anim)
{
set_pev(id, pev_weaponanim, anim)
message_begin(MSG_ONE, SVC_WEAPONANIM, _, id)
write_byte(anim)
write_byte(pev(id, pev_body))
message_end()
}