В каком месте? Если в RG_ThrowHeGrenade то у меня оно там не срабатывает, суперсидить тоже не получаетсяm_bCanShoot
#include < amxmodx >
#include < hamsandwich >
#include < reapi >
#pragma semicolon 1
new Float: g_fNextThrowGrenade[ MAX_PLAYERS + 1 ];
public plugin_init( )
{
RegisterHookChain( RG_ThrowHeGrenade, "hook_ThrowHeGrenade_Pre", .post = false );
RegisterHam( Ham_Weapon_PrimaryAttack, "weapon_hegrenade", "hook_PrimaryAttack_Pre", .Post = false );
}
public hook_ThrowHeGrenade_Pre( const id )
{
g_fNextThrowGrenade[ id ] = get_gametime( ) + 10.0;
}
public hook_PrimaryAttack_Pre( const iEnt )
{
new id = get_member( iEnt, m_pPlayer );
if( func_IsThrowGrenadeDelay( id ) )
{
set_member( id, m_bCanShoot, false );
set_member( id, m_flNextAttack, g_fNextThrowGrenade[ id ] - get_gametime( ) );
return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}
stock func_IsThrowGrenadeDelay( const id )
{
new Float: fUserTime = get_gametime( );
if( g_fNextThrowGrenade[ id ] > fUserTime )
{
client_print_color( id, print_team_default, "^4* ^1[^4GMF^1] ^4Повторный бросок будет доступен через %0.f сек.", g_fNextThrowGrenade[ id ] - fUserTime );
rg_send_audio( id, "events/friend_died.wav" );
return true;
}
return false;
}
Предлагаю смириться.анимация соответственно дергается в момент попытки бросить гранату
давайСообщение и звук при нажатии пкм нужны?
Да тоже думаю уже, так если для опыта все таки попробовать пост фреймПредлагаю смириться.
#include < amxmodx >
#include < hamsandwich >
#include < reapi >
#pragma semicolon 1
new Float: g_fNextThrowGrenade[ MAX_PLAYERS + 1 ];
public plugin_init( )
{
RegisterHookChain( RG_ThrowHeGrenade, "hook_ThrowHeGrenade_Post", .post = true );
RegisterHam( Ham_Item_Deploy, "weapon_hegrenade", "hook_ItemDeploy_Post", .Post = true );
}
public hook_ThrowHeGrenade_Post( const id )
{
g_fNextThrowGrenade[ id ] = get_gametime( ) + 10.0;
}
public hook_ItemDeploy_Post( const iEnt )
{
new id = get_member( iEnt, m_pPlayer );
if( func_IsThrowGrenadeDelay( id ) )
{
set_member( id, m_flNextAttack, g_fNextThrowGrenade[ id ] - get_gametime( ) );
}
}
stock func_IsThrowGrenadeDelay( const id )
{
new Float: fUserTime = get_gametime( );
if( g_fNextThrowGrenade[ id ] > fUserTime )
{
client_print_color( id, print_team_default, "^4* ^1[^4GMF^1] ^4Повторный бросок будет доступен через %0.f сек.", g_fNextThrowGrenade[ id ] - fUserTime );
rg_send_audio( id, "events/friend_died.wav" );
return true;
}
return false;
}
ты имеешь ввиду глянуть в сурсах где сетается m_flNextAttack ?Javekson, сетается все в itempostframe, weaponidle и т.д. смотри в регейме их.