Creating simple pickup: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(fixing code, posted wrong...)
Line 23: Line 23:
return;
return;
if ( bLimitMassAndSize == true )
 
{
BaseClass::PickupObject(pObject,bLimitMassAndSize);
if ( CBasePlayer::CanPickupObject( pObject, 35, 128 ) == false )
return;
}


// Can't be picked up if NPCs are on me
// Can't be picked up if NPCs are on me
if ( pObject->HasNPCsOnIt() )
if ( pObject->HasNPCsOnIt() )
return;
return;
PlayerPickupObject( this, pObject );
}
}
</source>
</source>

Revision as of 11:12, 2 May 2010

What: I will explain how you can add a simple pickup like you have in the singleplayer Version: Orange Box SDK.


First open "hl2mp_player.cpp" and search for "CHL2MP_Player::PickupObject".

replace the function:

void CHL2MP_Player::PickupObject( CBaseEntity *pObject, bool bLimitMassAndSize )
{
	
}

with:

void CHL2MP_Player::PickupObject( CBaseEntity *pObject, bool bLimitMassAndSize )
{
	// can't pick up what you're standing on
	if ( GetGroundEntity() == pObject )
		return;
	

	BaseClass::PickupObject(pObject,bLimitMassAndSize);

	// Can't be picked up if NPCs are on me
	if ( pObject->HasNPCsOnIt() )
		return;
}

The code is just taken from the singleplayer.