这篇教程C++ GetActiveWeapon函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GetActiveWeapon函数的典型用法代码示例。如果您正苦于以下问题:C++ GetActiveWeapon函数的具体用法?C++ GetActiveWeapon怎么用?C++ GetActiveWeapon使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GetActiveWeapon函数的19个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: GetActiveWeapon//=========================================================// Traduce una animación.//=========================================================Activity CIN_Player::TranslateActivity(Activity baseAct, bool *pRequired){ // Esta será la nueva animación. Activity translated = baseAct; // El jugador tiene una arma, usar la animación con esa arma. if ( GetActiveWeapon() ) translated = GetActiveWeapon()->ActivityOverride(baseAct, pRequired); // Estamos desarmados, verificar si existe una animación. else if ( unarmedActtable ) { acttable_t *pTable = unarmedActtable; int actCount = ARRAYSIZE(unarmedActtable); for ( int i = 0; i < actCount; i++, pTable++ ) { if ( baseAct == pTable->baseAct ) translated = (Activity)pTable->weaponAct; } } else if ( pRequired ) *pRequired = false; // @DEBUG: Guardamos la animación nueva para poder usarla en la información de depuración: anim_showstatelog#ifndef CLIENT_DLL //DevMsg("[ANIM] %s /r/n", ActivityList_NameForIndex(translated));#endif return translated;}
开发者ID:InfoSmart,项目名称:InSource-Singleplayer,代码行数:34,
示例2: OnKilledNPC//-----------------------------------------------------------------------------//-----------------------------------------------------------------------------void CNPC_Monk::OnKilledNPC( CBaseCombatCharacter *pKilled ){ if ( !pKilled ) { return; } if ( pKilled->Classify() == CLASS_ZOMBIE ) { // Don't speak if the gun is empty, cause grigori will want to speak while he's reloading. if ( GetActiveWeapon() ) { if ( GetActiveWeapon()->UsesPrimaryAmmo() && !GetActiveWeapon()->HasPrimaryAmmo() ) { // Gun is empty. I'm about to reload. if( m_iNumZombies >= 2 ) { // Don't talk about killing a single zombie if there are more coming. // the reload behavior will say "come to me, children", etc. return; } } } if( m_iNumZombies == 1 || random->RandomInt( 1, 3 ) == 1 ) { SpeakIfAllowed( TLK_ENEMY_DEAD ); } }}
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:32,
示例3: Weapon_OwnsThisTypevoid CHL2MP_Player::Weapon_Drop( CBaseCombatWeapon *pWeapon, const Vector *pvecTarget, const Vector *pVelocity ){ //Drop a grenade if it's primed. if ( GetActiveWeapon() ) { CBaseCombatWeapon *pGrenade = Weapon_OwnsThisType("weapon_frag"); if ( GetActiveWeapon() == pGrenade ) { if ( ( m_nButtons & IN_ATTACK ) || (m_nButtons & IN_ATTACK2) ) { DropPrimedFragGrenade( this, pGrenade ); return; } //DHL - Skillet else { pGrenade->Drop( *pVelocity ); return; } } } BaseClass::Weapon_Drop( pWeapon, pvecTarget, pVelocity );}
开发者ID:dreckard,项目名称:dhl2,代码行数:25,
示例4: Weapon_CanSwitchTobool CSDKPlayer::Weapon_CanSwitchTo( CBaseCombatWeapon *pWeapon ){ if (IsPlayer()) { CBasePlayer *pPlayer = (CBasePlayer *)this;#if !defined( CLIENT_DLL ) IServerVehicle *pVehicle = pPlayer->GetVehicle();#else IClientVehicle *pVehicle = pPlayer->GetVehicle();#endif if (pVehicle && !pPlayer->UsingStandardWeaponsInVehicle()) return false; } if ( !pWeapon->CanDeploy() ) return false; if ( GetActiveWeapon() ) { if ( !GetActiveWeapon()->CanHolster() ) return false; } return true;}
开发者ID:jlwitthuhn,项目名称:DoubleAction,代码行数:25,
示例5: switchvoid CNPC_Monk::StartTask( const Task_t *pTask ){ switch( pTask->iTask ) { case TASK_RELOAD: { if ( GetActiveWeapon() && GetActiveWeapon()->HasPrimaryAmmo() ) { // Don't reload if you have done so while moving (See BACK_AWAY_AND_RELOAD schedule). TaskComplete(); return; } if( m_iNumZombies >= 2 && random->RandomInt( 1, 3 ) == 1 ) { SpeakIfAllowed( TLK_ATTACKING ); } Activity reloadGesture = TranslateActivity( ACT_GESTURE_RELOAD ); if ( reloadGesture != ACT_INVALID && IsPlayingGesture( reloadGesture ) ) { ResetIdealActivity( ACT_IDLE ); return; } BaseClass::StartTask( pTask ); } break; default: BaseClass::StartTask( pTask ); break; }}
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:34,
示例6: GetActiveWeaponvoid C_HL2MP_Player::DoImpactEffect( trace_t &tr, int nDamageType ){ if ( GetActiveWeapon() ) { GetActiveWeapon()->DoImpactEffect( tr, nDamageType ); return; } BaseClass::DoImpactEffect( tr, nDamageType );}
开发者ID:uunx,项目名称:quakelife2,代码行数:10,
示例7: GetAbsOriginbool CNPC_Monk::IsValidEnemy( CBaseEntity *pEnemy ){ if ( BaseClass::IsValidEnemy( pEnemy ) && GetActiveWeapon() ) { float flDist; flDist = ( GetAbsOrigin() - pEnemy->GetAbsOrigin() ).Length(); if( flDist <= GetActiveWeapon()->m_fMaxRange1 ) return true; } return false;}
开发者ID:RaraFolf,项目名称:FIREFIGHT-RELOADED-src-sdk-2013,代码行数:12,
示例8: SetCondition//-----------------------------------------------------------------------------// Purpose: check ammo//-----------------------------------------------------------------------------void CAI_BaseHumanoid::CheckAmmo( void ){ BaseClass::CheckAmmo(); // FIXME: put into GatherConditions()? // FIXME: why isn't this a baseclass function? if (!GetActiveWeapon()) return; // Don't do this while holstering / unholstering if ( IsWeaponStateChanging() ) return; if (GetActiveWeapon()->UsesPrimaryAmmo()) { if (!GetActiveWeapon()->HasPrimaryAmmo() ) { SetCondition(COND_NO_PRIMARY_AMMO); } else if (GetActiveWeapon()->UsesClipsForAmmo1() && GetActiveWeapon()->Clip1() < (GetActiveWeapon()->GetMaxClip1() / 4 + 1)) { // don't check for low ammo if you're near the max range of the weapon SetCondition(COND_LOW_PRIMARY_AMMO); } } if (!GetActiveWeapon()->HasSecondaryAmmo() ) { if ( GetActiveWeapon()->UsesClipsForAmmo2() ) { SetCondition(COND_NO_SECONDARY_AMMO); } }}
开发者ID:Bubbasacs,项目名称:FinalProj,代码行数:37,
示例9: GetActiveWeaponActivity CDODPlayer::TranslateActivity( Activity baseAct, bool *pRequired /* = NULL */ ){ Activity translated = baseAct; if ( GetActiveWeapon() ) { translated = GetActiveWeapon()->ActivityOverride( baseAct, pRequired ); } else if (pRequired) { *pRequired = false; } return translated;}
开发者ID:Axitonium,项目名称:SourceEngine2007,代码行数:15,
示例10: GetActiveWeaponvoid CHL2MP_Player::FireBullets ( const FireBulletsInfo_t &info ){#ifndef GE_DLL // Move other players back to history positions based on local player's lag lagcompensation->StartLagCompensation( this, this->GetCurrentCommand() ); FireBulletsInfo_t modinfo = info; CWeaponHL2MPBase *pWeapon = dynamic_cast<CWeaponHL2MPBase *>( GetActiveWeapon() ); if ( pWeapon ) { modinfo.m_iPlayerDamage = modinfo.m_iDamage = pWeapon->GetHL2MPWpnData().m_iPlayerDamage; } NoteWeaponFired(); BaseClass::FireBullets( modinfo ); // Move other players back to history positions based on local player's lag lagcompensation->FinishLagCompensation( this );#else BaseClass::FireBullets( info );#endif}
开发者ID:Entropy-Soldier,项目名称:ges-legacy-code,代码行数:25,
示例11: GetNavigatorbool CAI_BaseHumanoid::OnMoveBlocked( AIMoveResult_t *pResult ){ if ( *pResult != AIMR_BLOCKED_NPC && GetNavigator()->GetBlockingEntity() && !GetNavigator()->GetBlockingEntity()->IsNPC() ) { CBaseEntity *pBlocker = GetNavigator()->GetBlockingEntity(); float massBonus = ( IsNavigationUrgent() ) ? 40.0 : 0; if ( pBlocker->GetMoveType() == MOVETYPE_VPHYSICS && pBlocker != GetGroundEntity() && !pBlocker->IsNavIgnored() && !dynamic_cast<CBasePropDoor *>(pBlocker) && pBlocker->VPhysicsGetObject() && pBlocker->VPhysicsGetObject()->IsMoveable() && ( pBlocker->VPhysicsGetObject()->GetMass() <= 35.0 + massBonus + 0.1 || ( pBlocker->VPhysicsGetObject()->GetMass() <= 50.0 + massBonus + 0.1 && IsSmall( pBlocker ) ) ) ) { DbgNavMsg1( this, "Setting ignore on object %s", pBlocker->GetDebugName() ); pBlocker->SetNavIgnore( 2.5 ); }#if 0 else { CPhysicsProp *pProp = dynamic_cast<CPhysicsProp*>( pBlocker ); if ( pProp && pProp->GetHealth() && pProp->GetExplosiveDamage() == 0.0 && GetActiveWeapon() && !GetActiveWeapon()->ClassMatches( "weapon_rpg" ) ) { Msg( "!/n" ); // Destroy! } }#endif } return BaseClass::OnMoveBlocked( pResult );}
开发者ID:Bubbasacs,项目名称:FinalProj,代码行数:35,
示例12: PlayerUse//-----------------------------------------------------------------------------// Purpose: Called every usercmd by the player PreThink//-----------------------------------------------------------------------------void CBasePlayer::ItemPreFrame(){ // Handle use events PlayerUse(); CBaseCombatWeapon *pActive = GetActiveWeapon(); // Allow all the holstered weapons to update for ( int i = 0; i < WeaponCount(); ++i ) { CBaseCombatWeapon *pWeapon = GetWeapon( i ); if ( pWeapon == NULL ) continue; if ( pActive == pWeapon ) continue; pWeapon->ItemHolsterFrame(); } if ( gpGlobals->curtime < m_flNextAttack ) return; if (!pActive) return;#if defined( CLIENT_DLL ) // Not predicting this weapon if ( !pActive->IsPredicted() ) return;#endif pActive->ItemPreFrame();}
开发者ID:EspyEspurr,项目名称:game,代码行数:38,
示例13: EmitSound//-----------------------------------------------------------------------------// Purpose//-----------------------------------------------------------------------------void C_BaseViewModel::FireEvent( const Vector& origin, const QAngle& angles, int event, const char *options ){ // We override sound requests so that we can play them locally on the owning player if ( ( event == AE_CL_PLAYSOUND ) || ( event == CL_EVENT_SOUND ) ) { // Only do this if we're owned by someone if ( GetOwner() != NULL ) { CLocalPlayerFilter filter; EmitSound( filter, GetOwner()->GetSoundSourceIndex(), options, &GetAbsOrigin() ); return; } } // Otherwise pass the event to our associated weapon C_BaseCombatWeapon *pWeapon = GetActiveWeapon(); if ( pWeapon ) { // NVNT notify the haptics system of our viewmodel's event if ( haptics ) haptics->ProcessHapticEvent(4,"Weapons",pWeapon->GetName(),"AnimationEvents",VarArgs("%i",event)); bool bResult = pWeapon->OnFireEvent( this, origin, angles, event, options ); if ( !bResult ) { BaseClass::FireEvent( origin, angles, event, options ); } }}
开发者ID:malortie,项目名称:ulaval,代码行数:32,
示例14: GetLastWeaponCBaseCombatWeapon* CSDKPlayer::GetLastWeapon(){ // This is pretty silly, but I'd rather mess around with stock Valve code as little as possible.#ifdef CLIENT_DLL CBaseCombatWeapon* pLastWeapon = BaseClass::GetLastWeapon();#else CBaseCombatWeapon* pLastWeapon = BaseClass::Weapon_GetLast();#endif if (pLastWeapon && pLastWeapon != GetActiveWeapon()) return pLastWeapon; CWeaponSDKBase* pHeaviest = NULL; CWeaponSDKBase* pBrawl = NULL; for (int i = 0; i < WeaponCount(); i++) { if (!GetWeapon(i)) continue; if (GetWeapon(i) == GetActiveWeapon()) continue; CWeaponSDKBase* pSDKWeapon = dynamic_cast<CWeaponSDKBase*>(GetWeapon(i)); if (!pSDKWeapon) continue; if (pSDKWeapon->GetWeaponID() == SDK_WEAPON_BRAWL) { pBrawl = pSDKWeapon; continue; } if (!pHeaviest) { pHeaviest = pSDKWeapon; continue; } if (pHeaviest->GetWeight() < pSDKWeapon->GetWeight()) pHeaviest = pSDKWeapon; } if (!pHeaviest) pHeaviest = pBrawl; return pHeaviest;}
开发者ID:jlwitthuhn,项目名称:DoubleAction,代码行数:47,
示例15: VPROF//-----------------------------------------------------------------------------// Purpose: Called every usercmd by the player PostThink//-----------------------------------------------------------------------------void CBasePlayer::ItemPostFrame(){ VPROF( "CBasePlayer::ItemPostFrame" ); // Put viewmodels into basically correct place based on new player origin CalcViewModelView( EyePosition(), EyeAngles() ); // check if the player is using something if ( m_hUseEntity != NULL ) {#if !defined( CLIENT_DLL ) ImpulseCommands();// this will call playerUse#endif return; } if ( gpGlobals->curtime < m_flNextAttack ) { if ( GetActiveWeapon() ) { GetActiveWeapon()->ItemBusyFrame(); } } else { if ( GetActiveWeapon() ) {#if defined( CLIENT_DLL ) // Not predicting this weapon if ( GetActiveWeapon()->IsPredicted() )#endif { GetActiveWeapon()->ItemPostFrame( ); } } }#if !defined( CLIENT_DLL ) ImpulseCommands();#else // NOTE: If we ever support full impulse commands on the client, // remove this line and call ImpulseCommands instead. m_nImpulse = 0;#endif}
开发者ID:EspyEspurr,项目名称:game,代码行数:49,
示例16: GetActiveWeapon//-----------------------------------------------------------------------------// Purpose: called every frame to get ammo info from the weapon//-----------------------------------------------------------------------------void CDoDHudAmmo::OnThink(){ C_BaseCombatWeapon *wpn = GetActiveWeapon(); C_BasePlayer *player = C_BasePlayer::GetLocalPlayer(); hudlcd->SetGlobalStat( "(weapon_print_name)", wpn ? wpn->GetPrintName() : " " ); hudlcd->SetGlobalStat( "(weapon_name)", wpn ? wpn->GetName() : " " ); if ( !wpn || !player || !wpn->UsesPrimaryAmmo() ) { hudlcd->SetGlobalStat( "(ammo_primary)", "n/a" ); hudlcd->SetGlobalStat( "(ammo_secondary)", "n/a" ); SetPaintEnabled( false ); SetPaintBackgroundEnabled( false ); return; } else { SetPaintEnabled( true ); SetPaintBackgroundEnabled( true ); } // get the ammo in our clip int ammo1 = wpn->Clip1(); int ammo2; if ( ammo1 < 0 ) { // we don't use clip ammo, just use the total ammo count ammo1 = player->GetAmmoCount( wpn->GetPrimaryAmmoType() ); ammo2 = 0; } else { // we use clip ammo, so the second ammo is the total ammo ammo2 = player->GetAmmoCount( wpn->GetPrimaryAmmoType() ); } hudlcd->SetGlobalStat( "(ammo_primary)", VarArgs( "%d", ammo1 ) ); hudlcd->SetGlobalStat( "(ammo_secondary)", VarArgs( "%d", ammo2 ) ); if ( wpn == m_hCurrentActiveWeapon ) { // same weapon, just update counts SetAmmo( ammo1, true ); SetAmmo2( ammo2, true ); } else { // diferent weapon, change without triggering SetAmmo( ammo1, false ); SetAmmo2( ammo2, false ); // update whether or not we show the total ammo display m_bUsesClips = wpn->UsesClipsForAmmo1(); m_hCurrentActiveWeapon = wpn; }}
开发者ID:steadyfield,项目名称:SourceEngine2007,代码行数:61,
示例17: GetViewModelFOV//-----------------------------------------------------------------------------// Purpose: Use correct view model FOV//-----------------------------------------------------------------------------float ClientModeHL2MPNormal::GetViewModelFOV(){ CWeaponHL2MPBase *pWeapon = dynamic_cast<CWeaponHL2MPBase*>(GetActiveWeapon()); if (pWeapon) { return pWeapon->GetViewModelFOV(); } return BaseClass::GetViewModelFOV();}
开发者ID:Ochii,项目名称:nt-revamp,代码行数:13,
示例18: GetActiveWeapon//-----------------------------------------------------------------------------// Only supports weapons that use clips.//-----------------------------------------------------------------------------bool CRebelZombie::ActiveWeaponIsFullyLoaded(){ CBaseCombatWeapon *pWeapon = GetActiveWeapon(); if( !pWeapon ) return false; //Always loaded. return true;}
开发者ID:KyleGospo,项目名称:City-17-Episode-One-Source,代码行数:13,
示例19: GetActiveWeapon//-----------------------------------------------------------------------------// Purpose: //-----------------------------------------------------------------------------void C_BaseViewModel::GetBoneControllers(float controllers[MAXSTUDIOBONECTRLS]){ BaseClass::GetBoneControllers( controllers ); // Tell the weapon itself that we've rendered, in case it wants to do something C_BaseCombatWeapon *pWeapon = GetActiveWeapon(); if ( pWeapon ) { pWeapon->GetViewmodelBoneControllers( this, controllers ); }}
开发者ID:malortie,项目名称:ulaval,代码行数:14,
注:本文中的GetActiveWeapon函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ GetActiveWindow函数代码示例 C++ GetActiveView函数代码示例 |