本文整理汇总了C++中CCSPlayer::DoMuzzleFlash方法的典型用法代码示例。如果您正苦于以下问题:C++ CCSPlayer::DoMuzzleFlash方法的具体用法?C++ CCSPlayer::DoMuzzleFlash怎么用?C++ CCSPlayer::DoMuzzleFlash使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCSPlayer
的用法示例。
在下文中一共展示了CCSPlayer::DoMuzzleFlash方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DoFireEffects
void CWeaponCSBaseGun::DoFireEffects()
{
CCSPlayer *pPlayer = GetPlayerOwner();
if ( pPlayer )
pPlayer->DoMuzzleFlash();
}
示例2: ELITEFire
void CWeaponElite::ELITEFire( float flSpread )
{
CCSPlayer *pPlayer = GetPlayerOwner();
if ( !pPlayer )
return;
pPlayer->m_iShotsFired++;
if (pPlayer->m_iShotsFired > 1)
return;
// Mark the time of this shot and determine the accuracy modifier based on the last shot fired...
m_flAccuracy -= (0.275)*(0.325 - (gpGlobals->curtime - m_flLastFire));
if (m_flAccuracy > 0.88)
m_flAccuracy = 0.88;
else if (m_flAccuracy < 0.55)
m_flAccuracy = 0.55;
m_flLastFire = gpGlobals->curtime;
if (m_iClip1 <= 0)
{
if (m_bFireOnEmpty)
{
PlayEmptySound();
m_flNextPrimaryAttack = gpGlobals->curtime + 0.2;
}
return;
}
m_iClip1--;
m_bFireRight = !m_bFireRight; // flip side
pPlayer->DoMuzzleFlash();
//SetPlayerShieldAnim();
// player "shoot" animation
pPlayer->SetAnimation( PLAYER_ATTACK1 );
FX_FireBullets(
pPlayer->entindex(),
pPlayer->Weapon_ShootPosition(),
pPlayer->EyeAngles() + 2.0f * pPlayer->GetPunchAngle(),
GetWeaponID(),
m_bFireRight?Primary_Mode:Secondary_Mode,
CBaseEntity::GetPredictionRandomSeed() & 255,
flSpread );
m_flNextPrimaryAttack = m_flNextSecondaryAttack = gpGlobals->curtime + GetCSWpnData().m_flCycleTime;
if (!m_iClip1 && pPlayer->GetAmmoCount( m_iPrimaryAmmoType ) <= 0)
{
// HEV suit - indicate out of ammo condition
pPlayer->SetSuitUpdate("!HEV_AMO0", false, 0);
}
SetWeaponIdleTime( gpGlobals->curtime + 2.5 );
if ( m_bFireRight ) //even number
{
if ( m_iClip1 > 1 )
SendWeaponAnim( ACT_VM_PRIMARYATTACK );
else
SendWeaponAnim( ACT_VM_DRYFIRE_LEFT );
}
else
{
if ( m_iClip1 > 0 )
SendWeaponAnim( ACT_VM_SECONDARYATTACK );
else
SendWeaponAnim( ACT_VM_DRYFIRE );
}
QAngle punchAngle = pPlayer->GetPunchAngle();
punchAngle.x -= 2;
pPlayer->SetPunchAngle( punchAngle );
//ResetPlayerShieldAnim();
}
示例3: USPFire
void CWeaponUSP::USPFire( float flSpread )
{
CCSPlayer *pPlayer = GetPlayerOwner();
if ( !pPlayer )
return;
float flCycleTime = GetCSWpnData().m_flCycleTime;
pPlayer->m_iShotsFired++;
if (pPlayer->m_iShotsFired > 1)
return;
// Mark the time of this shot and determine the accuracy modifier based on the last shot fired...
m_flAccuracy -= (0.275)*(0.3 - (gpGlobals->curtime - m_flLastFire));
if (m_flAccuracy > 0.92)
m_flAccuracy = 0.92;
else if (m_flAccuracy < 0.6)
m_flAccuracy = 0.6;
m_flLastFire = gpGlobals->curtime;
if (m_iClip1 <= 0)
{
if (m_bFireOnEmpty)
{
PlayEmptySound();
m_flNextPrimaryAttack = gpGlobals->curtime + 0.2;
}
return;
}
m_flNextPrimaryAttack = m_flNextSecondaryAttack = gpGlobals->curtime + flCycleTime;
m_iClip1--;
SendWeaponAnim( ACT_VM_PRIMARYATTACK );
// player "shoot" animation
pPlayer->SetAnimation( PLAYER_ATTACK1 );
if ( !m_bSilencerOn )
{
pPlayer->DoMuzzleFlash();
}
FX_FireBullets(
pPlayer->entindex(),
pPlayer->Weapon_ShootPosition(),
pPlayer->EyeAngles() + 2.0f * pPlayer->GetPunchAngle(),
GetWeaponID(),
m_bSilencerOn?Secondary_Mode:Primary_Mode,
CBaseEntity::GetPredictionRandomSeed() & 255,
flSpread );
if (!m_iClip1 && pPlayer->GetAmmoCount( GetPrimaryAmmoType() ) <= 0)
{
// HEV suit - indicate out of ammo condition
pPlayer->SetSuitUpdate("!HEV_AMO0", false, 0);
}
SetWeaponIdleTime( gpGlobals->curtime + 2 );
QAngle angle = pPlayer->GetPunchAngle();
angle.x -= 2;
pPlayer->SetPunchAngle( angle );
}