Есть такая тема, можно же как-то накинуть на определённый нож задержку перед самим уроном, т.е нажал ПКМ и урон прошёл не сразу, а через заданное кол-во времени через
Пробовал так, но анимация удара есть, задержка есть, но сам удар отсутствует (+ дабл анимация) Вот как это выглядит
Буду сверх благодарен, если поможете с ножами)
get_gametime()
подскажите как оформить
C++:
public fw_WeaponSecondaryAttack(knife)
{
static iPlayer
iPlayer = get_pdata_cbase(knife, m_pPlayer, 4)
if(zp_get_user_zombie(iPlayer) || !g_has_hammer_fire[iPlayer])
return HAM_IGNORED
if(pev(iPlayer,pev_button) & IN_ATTACK2)
{
UTIL_SendWeaponAnim(MSG_ONE, iPlayer, WEAPON_ANIM_STAB)
set_player_nextattack(iPlayer, WEAPON_ANIM_STAB_TIME)
}
else
{
UTIL_SendWeaponAnim(MSG_ONE, iPlayer, WEAPON_ANIM_SLASH)
set_player_nextattack(iPlayer, WEAPON_ANIM_SLASH_TIME)
}
set_pdata_float(iPlayer, m_flNextAttack, 0.5, 5)
set_pdata_int(knife, m_iWeaponState, true, 4)
return HAM_SUPERCEDE
}
public fw_ItemPostFrame(knife)
{
static iPlayer
iPlayer = get_pdata_cbase(knife, m_pPlayer, 4)
if(zp_get_user_zombie(iPlayer) || !g_has_hammer_fire[iPlayer])
return HAM_IGNORED
if(!get_pdata_int(knife, m_iWeaponState, 4))
return HAM_IGNORED
static Float:flTime
flTime = WEAPON_ANIM_STAB_TIME
if(is_user_connected(iPlayer))
{
new FmHook_EmitSound_Pre = register_forward(FM_EmitSound, "CEntity__EmitSound", false);
EnableHamForward(g_HamHook_SendWeaponAnim_Pre)
ExecuteHamB(Ham_Weapon_SecondaryAttack, knife)
DisableHamForward(g_HamHook_SendWeaponAnim_Pre)
unregister_forward(FM_EmitSound, FmHook_EmitSound_Pre, false)
emit_sound(iPlayer, CHAN_ITEM, hammer_fire_sounds[5], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
set_pdata_int(knife, m_iWeaponState, false, 4)
set_pdata_float(knife, m_flNextSecondaryAttack, flTime, 4)
set_pdata_float(knife, m_flTimeWeaponIdle, flTime, 4)
}
return HAM_IGNORED
}
19 Апр 2023
19 Апр 2023