Stimul, EndReload не срабатывает, и если просто нажать R(перезарядку) но обойма полная и он не перезаряжается , но функция срабатывает, получается переменная true а перезарядки нет, и наверное еще будет баг если во время перезарядки переключиться или сбросить ее и потом вернуться на оружие, то тоже будет true переменная, хотя перезарядка прервалась или сброшена была, можно как то это решить все будет ??
Vaqtincha, сейчас попробую почитать про itempostframe
спасибо огромное за помощь
Добавлено спустя 6 минут 6 секунд:- Код: Выделить всё
new g_Tmp_Clip[33], iClipExtra = 10
new const Float:reload_time[33] = {0.0, 2.7, 0.0, 2.0, 0.0, 0.3, 0.0, 3.15, 3.3, 0.0, 4.5, 2.7, 3.5, 3.35, 2.45, 3.3, 2.7, 2.2, 2.5, 2.63, 4.7, 0.45, 3.05, 2.12, 3.5, 0.0, 2.2, 3.0, 2.45, 0.0, 3.4}
new const reload_animations[33] = {0, 5, 0, 3, 4, }
new const weapons_name[][] = {
"weapon_p228", "weapon_scout", "weapon_xm1014", "weapon_mac10", "weapon_aug", "weapon_elite", "weapon_fiveseven", "weapon_ump45",
"weapon_sg550", "weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249",
"weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_deagle", "weapon_sg552", "weapon_ak47", "weapon_p90"
}
public plugin_init() {
for(new w = 0; w < sizeof(weapons_name); w++) {
RegisterHam(Ham_Weapon_Reload, weapons_name[w], "weapon_reload")
RegisterHam(Ham_Weapon_Reload, weapons_name[w], "weapon_reload_post", 1)
RegisterHam(Ham_Item_PostFrame, weapons_name[w], "item_post_frame")
}
}
public weapon_reload(wpn) {
new id = pev(wpn, pev_owner)
if(!is_user_connected(id)) return HAM_IGNORED
g_Tmp_Clip[id] = -1
new iBpAmmo = fm_get_user_bpammo(id, get_pdata_int(wpn, 43, 4))
new iClip = get_pdata_int(wpn, m_iClip, 4)
if(!iBpAmmo) return HAM_SUPERCEDE
if(iClip >= iClipExtra) return HAM_SUPERCEDE
g_Tmp_Clip[id] = iClip
return HAM_IGNORED
}
public weapon_reload_post(wpn) {
static id; id = get_pdata_cbase(wpn, 41, 4)
if(!is_user_connected(id)) return HAM_IGNORED
static weapon; weapon = get_pdata_int(wpn, 43, 4)
if(g_Tmp_Clip[id] == -1) return HAM_IGNORED
set_pdata_int(wpn, m_iClip, g_Tmp_Clip[id], 4)
set_pdata_float(wpn, m_flTimeWeaponIdle, reload_time[weapon], 4)
set_pdata_float(id, m_flNextAttack, reload_time[weapon], 5)
set_pdata_int(wpn, m_fInReload, 1, 4)
UTIL_PlayWeaponAnimation(id, reload_animations[weapon])
return HAM_IGNORED
}
public item_post_frame(wpn) {
static id; id = get_pdata_cbase(wpn, 41, 4)
if(!is_user_connected(id)) return HAM_IGNORED
static weapon; weapon = get_pdata_int(wpn, 43, 4)
new Float:flNextAttack = get_pdata_float(id, m_flNextAttack, 5)
new iBpAmmo = fm_get_user_bpammo(id, weapon)
new iClip = get_pdata_int(wpn, m_iClip, 4)
new fInReload = get_pdata_int(wpn, m_fInReload, 4)
if(fInReload && flNextAttack <= 0.0) {
new j = min(iClipExtra - iClip, iBpAmmo)
set_pdata_int(wpn, m_iClip, iClip + j, 4)
fm_set_user_bpammo(id, weapon, iBpAmmo-j)
set_pdata_int(wpn, m_fInReload, 0, 4)
fInReload = 0
}
return HAM_IGNORED
}
вот нашел кодок, поможете переделать слегка ? удалить что не нужно тут и сделать чтоб при перезарядке greload[id] = true, а когда перезарядился greload[id] = false
спасибо