本文整理汇总了C++中CBasePlayerWeapon::ItemPostFrame方法的典型用法代码示例。如果您正苦于以下问题:C++ CBasePlayerWeapon::ItemPostFrame方法的具体用法?C++ CBasePlayerWeapon::ItemPostFrame怎么用?C++ CBasePlayerWeapon::ItemPostFrame使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CBasePlayerWeapon
的用法示例。
在下文中一共展示了CBasePlayerWeapon::ItemPostFrame方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HUD_WeaponsPostThink
//.........这里部分代码省略.........
player.m_flNextAmmoBurn = from->client.fuser2;
player.m_flAmmoStartCharge = from->client.fuser3;
//Stores all our ammo info, so the client side weapons can use them.
player.ammo_9mm = (int)from->client.vuser1[0];
player.ammo_357 = (int)from->client.vuser1[1];
player.ammo_argrens = (int)from->client.vuser1[2];
player.ammo_bolts = (int)from->client.ammo_nails; //is an int anyways...
player.ammo_buckshot = (int)from->client.ammo_shells;
player.ammo_uranium = (int)from->client.ammo_cells;
player.ammo_hornets = (int)from->client.vuser2[0];
player.ammo_rockets = (int)from->client.ammo_rockets;
// Point to current weapon object
if ( from->client.m_iId )
{
player.m_pActiveItem = g_pWpns[ from->client.m_iId ];
}
if ( player.m_pActiveItem->m_iId == WEAPON_RPG )
{
( ( CRpg * )player.m_pActiveItem)->m_fSpotActive = (int)from->client.vuser2[ 1 ];
( ( CRpg * )player.m_pActiveItem)->m_cActiveRockets = (int)from->client.vuser2[ 2 ];
}
// Don't go firing anything if we have died or are spectating
// Or if we don't have a weapon model deployed
if ( ( player.pev->deadflag != ( DEAD_DISCARDBODY + 1 ) ) &&
!CL_IsDead() && player.pev->viewmodel && !g_iUser1 )
{
if ( player.m_flNextAttack <= 0 )
{
pWeapon->ItemPostFrame();
}
}
// Assume that we are not going to switch weapons
to->client.m_iId = from->client.m_iId;
// Now see if we issued a changeweapon command ( and we're not dead )
if ( cmd->weaponselect && ( player.pev->deadflag != ( DEAD_DISCARDBODY + 1 ) ) )
{
// Switched to a different weapon?
if ( from->weapondata[ cmd->weaponselect ].m_iId == cmd->weaponselect )
{
CBasePlayerWeapon *pNew = g_pWpns[ cmd->weaponselect ];
if ( pNew && ( pNew != pWeapon ) )
{
// Put away old weapon
if (player.m_pActiveItem)
player.m_pActiveItem->Holster( );
player.m_pLastItem = player.m_pActiveItem;
player.m_pActiveItem = pNew;
// Deploy new weapon
if (player.m_pActiveItem)
{
player.m_pActiveItem->Deploy( );
}
// Update weapon id so we can predict things correctly.
to->client.m_iId = cmd->weaponselect;
}
}
示例2: HUD_WeaponsPostThink
//.........这里部分代码省略.........
player.pev->deadflag = from->client.deadflag;
player.pev->waterlevel = from->client.waterlevel;
player.pev->maxspeed = from->client.maxspeed;
player.pev->fov = from->client.fov;
player.pev->weaponanim = from->client.weaponanim;
player.pev->viewmodel = from->client.viewmodel;
player.m_flNextAttack = from->client.m_flNextAttack;
player.m_flBackupTime = from->client.fuser1;
player.m_Activity = (Activity)(int)from->client.fuser2;
player.m_flThrowTime = from->client.fuser3;
player.m_vecOldVelocity = from->client.vuser1;
player.pev->sequence = from->playerstate.sequence;
player.pev->gaitsequence = from->playerstate.gaitsequence;
player.pev->angles = from->playerstate.angles;
// Point to current weapon object
if ( from->client.m_iId )
{
player.m_pActiveItem = g_pWpns[ from->client.m_iId ];
}
// Store pointer to our destination entity_state_t so we can get our origin, etc. from it
// for setting up events on the client
g_finalstate = to;
// Don't go firing anything if we have died.
// Or if we don't have a weapon model deployed
if ( ( player.pev->deadflag != ( DEAD_DISCARDBODY + 1 ) ) && !CL_IsDead() && player.pev->viewmodel )
{
if ( player.m_flNextAttack <= 0 )
{
pWeapon->ItemPostFrame();
}
}
// If we are running events/etc. go ahead and see if we
// managed to die between last frame and this one
// If so, run the appropriate player killed or spawn function
if ( g_runfuncs )
{
if ( to->client.health <= 0 && lasthealth > 0 )
{
player.Killed( NULL, 0 );
}
else if ( to->client.health > 0 && lasthealth <= 0 )
{
player.Spawn();
}
lasthealth = to->client.health;
}
// Fix up animations, etc.
player.PostThink();
// Assume that we are not going to switch weapons
to->client.m_iId = from->client.m_iId;
// Now see if we issued a changeweapon command ( and we're not dead )
if ( cmd->weaponselect && ( player.pev->deadflag != ( DEAD_DISCARDBODY + 1 ) ) )
{
// Switched to a different weapon?
if ( from->weapondata[ cmd->weaponselect ].m_iId == cmd->weaponselect )
{
示例3: HUD_WeaponsPostThink
//.........这里部分代码省略.........
player.ammo_357sig = (int)from->client.vuser3.z;
cl_entity_t *pplayer = gEngfuncs.GetLocalPlayer();
if( pplayer )
{
player.pev->origin = from->client.origin;
player.pev->angles = pplayer->angles;
player.pev->v_angle = v_angles;
}
flags = from->client.iuser3;
g_bHoldingKnife = pWeapon->m_iId == WEAPON_KNIFE;
player.m_bCanShoot = (flags & PLAYER_CAN_SHOOT) != 0;
g_iFreezeTimeOver = !(flags & PLAYER_FREEZE_TIME_OVER);
g_bInBombZone = (flags & PLAYER_IN_BOMB_ZONE) != 0;
g_bHoldingShield = (flags & PLAYER_HOLDING_SHIELD) != 0;
// Point to current weapon object
if ( from->client.m_iId )
{
player.m_pActiveItem = pWeapon;
}
// Don't go firing anything if we have died.
// Or if we don't have a weapon model deployed
if ( ( player.pev->deadflag != ( DEAD_DISCARDBODY + 1 ) ) &&
!CL_IsDead() && player.pev->viewmodel && !g_iUser1 )
{
if( g_bHoldingKnife && pWeapon->m_iClientWeaponState &&
player.pev->button & IN_FORWARD )
player.m_flNextAttack = 0;
else if( player.m_flNextAttack <= 0 )
{
pWeapon->ItemPostFrame();
}
}
// Assume that we are not going to switch weapons
to->client.m_iId = from->client.m_iId;
// Now see if we issued a changeweapon command ( and we're not dead )
if ( cmd->weaponselect && ( player.pev->deadflag != ( DEAD_DISCARDBODY + 1 ) ) )
{
// Switched to a different weapon?
if ( from->weapondata[ cmd->weaponselect ].m_iId == cmd->weaponselect )
{
CBasePlayerWeapon *pNew = g_pWpns[ cmd->weaponselect ];
if ( pNew && ( pNew != pWeapon ) )
{
// Put away old weapon
if (player.m_pActiveItem)
player.m_pActiveItem->Holster( );
player.m_pLastItem = player.m_pActiveItem;
player.m_pActiveItem = pNew;
// Deploy new weapon
if (player.m_pActiveItem)
{
player.m_pActiveItem->Deploy( );
}
// Update weapon id so we can predict things correctly.
to->client.m_iId = cmd->weaponselect;
}
}
示例4: HUD_WeaponsPostThink
//.........这里部分代码省略.........
else
{
items[i] = '0';
}
}
items[32] = 0;
gEngfuncs.Con_NPrintf( 10, "got qi %s", items );
gEngfuncs.Con_NPrintf( 11, "shells %i", player.m_iAmmoShells );
gEngfuncs.Con_NPrintf( 12, "cells %i", player.m_iAmmoCells );
gEngfuncs.Con_NPrintf( 13, "rockets %i", player.m_iAmmoRockets );
gEngfuncs.Con_NPrintf( 14, "nails %i", player.m_iAmmoNails );
gEngfuncs.Con_NPrintf( 15, "viewmodel %i", player.pev->viewmodel );
gEngfuncs.Con_NPrintf( 16, "dm == %i", gpGlobals->deathmatch );
}*/
// Point to current weapon object
if ( from->client.m_iId )
{
player.m_pActiveItem = g_pWpns[ from->client.m_iId ];
}
// Set ammo, but don't change anim
player.W_SetCurrentAmmo( 0 );
// Don't go firing anything if we have died.
// Or if we don't have a weapon model deployed
if ( ( player.pev->deadflag != ( DEAD_DISCARDBODY + 1 ) ) && !CL_IsDead() ) // && player.pev->viewmodel )
{
if ( player.m_flNextAttack <= 0 )
{
pWeapon->ItemPostFrame();
}
}
// Assume that we are not going to switch weapons
to->client.m_iId = from->client.m_iId;
// Now see if we issued a changeweapon command ( and we're not dead )
if ( cmd->weaponselect && ( player.pev->deadflag != ( DEAD_DISCARDBODY + 1 ) ) )
{
// Switched to a different weapon?
if ( Quake_NumForWeaponItem( player.m_iQuakeWeapon ) != cmd->weaponselect )
{
player.W_ChangeWeapon( cmd->weaponselect );
}
}
if ( player.m_iQuakeWeapon != IT_LIGHTNING && pBeam != NULL )
{
pBeam->die = 0.0;
pBeam = NULL;
}
// Copy in results of predcition code
to->client.viewmodel = player.pev->viewmodel;
to->client.fov = player.pev->fov;
to->client.weaponanim = player.pev->weaponanim;
to->client.m_flNextAttack = player.m_flNextAttack;
to->client.maxspeed = player.pev->maxspeed;
to->client.iuser3 = player.m_iQuakeItems;
to->client.fuser1 = (float)player.m_iQuakeWeapon;
to->client.fuser2 = (float)player.m_iNailOffset > 0.0 ? 1.0 : 0.0;
示例5: HUD_WeaponsPostThink
//.........这里部分代码省略.........
//player.m_flAmmoStartCharge = from->client.fuser3;
// Removed this because NS uses vuser1 and vuser2 (and the HL weapons aren't used)
////Stores all our ammo info, so the client side weapons can use them.
//player.ammo_9mm = (int)from->client.vuser1[0];
//player.ammo_357 = (int)from->client.vuser1[1];
//player.ammo_argrens = (int)from->client.vuser1[2];
//player.ammo_bolts = (int)from->client.ammo_nails; //is an int anyways...
//player.ammo_buckshot = (int)from->client.ammo_shells;
//player.ammo_uranium = (int)from->client.ammo_cells;
//player.ammo_hornets = (int)from->client.vuser2[0];
//player.ammo_rockets = (int)from->client.ammo_rockets;
// Point to current weapon object
if ( from->client.m_iId )
{
player.m_pActiveItem = g_pWpns[ from->client.m_iId ];
}
if ( player.m_pActiveItem->m_iId == WEAPON_RPG )
{
( ( CRpg * )player.m_pActiveItem)->m_fSpotActive = (int)from->client.vuser2[ 1 ];
( ( CRpg * )player.m_pActiveItem)->m_cActiveRockets = (int)from->client.vuser2[ 2 ];
}
// Don't go firing anything if we have died.
// Or if we don't have a weapon model deployed
if ( ( player.pev->deadflag != ( DEAD_DISCARDBODY + 1 ) ) && !CL_IsDead() && player.pev->viewmodel && !g_iUser1 )
{
if ( player.m_flNextAttack <= 0 )
{
pWeapon->ItemPostFrame();
}
// if ( g_runfuncs )
// {
// pWeapon->PrintState();
// }
}
// Assume that we are not going to switch weapons
to->client.m_iId = from->client.m_iId;
// Now see if we issued a changeweapon command ( and we're not dead )
if ( cmd->weaponselect && ( player.pev->deadflag != ( DEAD_DISCARDBODY + 1 ) ) )
{
// Switched to a different weapon?
if ( from->weapondata[ cmd->weaponselect ].m_iId == cmd->weaponselect )
{
ASSERT(cmd->weaponselect >= 0);
ASSERT(cmd->weaponselect < 32);
CBasePlayerWeapon *pNew = g_pWpns[ cmd->weaponselect ];
if ( pNew && ( pNew != pWeapon ) && player.m_pActiveItem && player.m_pActiveItem->CanHolster())
{
// Put away old weapon
if (player.m_pActiveItem)
player.m_pActiveItem->Holster( );
player.m_pLastItem = player.m_pActiveItem;
player.m_pActiveItem = pNew;
// Deploy new weapon
if (player.m_pActiveItem)
{