Lowering your weapon on sprint
Jump to navigation
Jump to search
This article will deal with Lowering your weapon while sprinting and disable the ability to shoot at the same time. This was based on a topic on the Steam Forums located here: [1]




The Code

BASECOMBATWEAPON_SHARED.CPP
Hit CTRL+F and search for this code:
void CBaseCombatWeapon::ItemPostFrame( void )
{
CBasePlayer *pOwner = ToBasePlayer( GetOwner() );
if (!pOwner)
return;
Then copy and paste this below it:
if ( !bLowered && (pOwner->m_nButtons & IN_SPEED ) )
{
bLowered = true;
SendWeaponAnim( ACT_VM_IDLE_LOWERED );
m_fLoweredReady = gpGlobals->curtime + GetViewModelSequenceDuration();
}
else if ( bLowered && !(pOwner->m_nButtons & IN_SPEED ) )
{
bLowered = false;
SendWeaponAnim( ACT_VM_IDLE );
m_fLoweredReady = gpGlobals->curtime + GetViewModelSequenceDuration();
}
if ( bLowered )
{
if ( gpGlobals->curtime > m_fLoweredReady )
{
bLowered = true;
SendWeaponAnim( ACT_VM_IDLE_LOWERED );
m_fLoweredReady = gpGlobals->curtime + GetViewModelSequenceDuration();
}
return;
}
else if ( bLowered )
{
if ( gpGlobals->curtime > m_fLoweredReady )
{
bLowered = false;
SendWeaponAnim( ACT_VM_IDLE );
m_fLoweredReady = gpGlobals->curtime + GetViewModelSequenceDuration();
}
return;
}
BASECOMBATWEAPON_SHARED.H
Add these declarations under public at line 181 below bool IsViewModelSequenceFinished( void ); // Returns if the viewmodel's current animation is finished:
bool m_bLowered;
bool bLowered;
float m_fLowered;
float m_fLoweredReady;
Finish
Now your weapon should be lowered when you hit the sprint button and you will not be available to shoot either until you release the button!