*Sorry Just cleaned it up a bit :)
*
*#define JUMPPAD_V 1200*
*pPlayer* is the touched player here
* Vector vForward, vRight, vUp;
pPlayer->EyeVectors( &vForward, &vRight, &vUp );
Vector vecGo;
pPlayer->GetVelocity( &vecGo, NULL );
vecGo += * *vUp * JUMPPAD_V;
IPhysicsObject *pObj = pPlayer->VPhysicsGetObject();
if( pObj)
{
pObj->Wake();
pObj->AddVelocity( &velGo, NULL );
}
*
On Thu, May 29, 2008 at 1:28 PM, John <[EMAIL PROTECTED]> wrote:
> Try something like:
>
> #define JUMPPAD_V 1200
>
> Vector vForward, vRight, vUp;
> pPlayer->EyeVectors( &vForward, &vRight, &vUp );
>
> Vector vecGo;
> pPlayer->GetVelocity( &vecGo, NULL );
>
> vecGo += vUp * JUMPPAD_V;
>
> IPhysicsObject *pObj = this->VPhysicsGetObject();
> if( pObj)
> {
> pObj->Wake();
> pPhysicsObject->AddVelocity( &velGo, NULL );
> }
>
>
>
>
> On Tue, May 27, 2008 at 10:46 AM, Tom Leighton <
> [EMAIL PROTECTED]> wrote:
>
>> IPhysicsObject *pPhys = pPlayer->VPhysicsGetObject();
>>
>> There you have your physics object :P
>>
>> mastersmith98 wrote:
>> > I looked at the TriggerPush code and I've picked up two things from it.
>> >
>> > 1. I should convert the player pointer to a vphysics object or
>> > 2, I should I give up hope completely (:P)
>> >
>> > now I did find out something interesting. just for the heck of it, I
>> made a
>> > mock up weapon and placed pPlayer->setAbsVelocity(
>> pPlayer->GetAbsVelocity()
>> > * 40 ); in the primary attack
>> > function, and to my surprise it flung the player forward. maybe it works
>> > because the code is being replicated to the client?
>> >
>> > I also tried adding pPlayer->setGroundEntity( NULL ); into my jump pad
>> code
>> > and that didn't work either.
>> >
>> > --------------------------------------------------
>> > From: "Garry Newman" <[EMAIL PROTECTED]>
>> > Sent: Monday, May 26, 2008 3:01 PM
>> > To: "Discussion of Half-Life Programming" <
>> [email protected]>
>> > Subject: Re: [hlcoders] Changing the players Velocity?
>> >
>> >
>> >> I think all you need to do is remove the ground entity. I can't
>> >> remember the exact function - but have a look at how it makes the
>> >> player jump - should be in there.
>> >>
>> >> garry
>> >>
>> >> On Mon, May 26, 2008 at 6:46 PM, mastersmith98 <[EMAIL PROTECTED]>
>> >> wrote:
>> >>
>> >>> Unfortunately, it still doesn't work : /
>> >>>
>> >>> here's the new code for it.
>> >>>
>> >>> void CJumpPad::PlayerTouch( CBaseEntity *pOther )
>> >>> {
>> >>> if( !pOther->IsPlayer() )
>> >>> return;
>> >>>
>> >>> CBasePlayer *pPlayer = (CBasePlayer* )pOther;
>> >>>
>> >>> if( pPlayer == NULL )
>> >>> return;
>> >>>
>> >>> Msg("just checking");
>> >>>
>> >>> Vector vecJump = GetTouchTrace().plane.normal;
>> >>> vecJump.Negate();
>> >>> pPlayer->SetAbsVelocity( vecJump * 40 );
>> >>>
>> >>> QAngle angFacing;
>> >>> VectorAngles( pPlayer->GetAbsVelocity(), angFacing );
>> >>> pPlayer->SetAbsAngles( angFacing );
>> >>> }
>> >>>
>> >>> --------------------------------------------------
>> >>> From: "Steve Henderson" <[EMAIL PROTECTED]>
>> >>> Sent: Monday, May 26, 2008 12:40 AM
>> >>> To: "Discussion of Half-Life Programming"
>> >>> <[email protected]>
>> >>> Subject: Re: [hlcoders] Changing the players Velocity?
>> >>>
>> >>>
>> >>>> Try changing the player's heading to match the movement vector:
>> >>>>
>> >>>> Add this after your set velocity code:
>> >>>>
>> >>>> Vector velFacing = GetAbsVelocity();
>> >>>> QAngle angFacing;
>> >>>> VectorAngles( velFacing, angFacing );
>> >>>> SetAbsAngles( angFacing );
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> On Mon, May 26, 2008 at 3:19 AM, mastersmith98 <
>> [EMAIL PROTECTED]>
>> >>>> wrote:
>> >>>>
>> >>>>
>> >>>>> I'm working on a model based jump pad which uses the touch function
>> to
>> >>>>> find
>> >>>>> out if the player is touching it and then fling them up into the
>> air.
>> >>>>> Although the jump pad collides with the player, it can't change the
>> >>>>> player's
>> >>>>> velocity.
>> >>>>>
>> >>>>> here's the code for it.
>> >>>>>
>> >>>>> void CJumpPad::PlayerTouch( CBaseEntity *pOther )
>> >>>>>
>> >>>>> {
>> >>>>>
>> >>>>> if( !pOther->IsPlayer() )
>> >>>>>
>> >>>>> return;
>> >>>>>
>> >>>>> CBasePlayer *pPlayer = (CBasePlayer* )pOther;
>> >>>>>
>> >>>>> Vector vecJump = GetTouchTrace().plane.normal;
>> >>>>>
>> >>>>> vecJump.Negate();
>> >>>>>
>> >>>>> pPlayer->SetAbsVelocity( 44 * vecJump );
>> >>>>>
>> >>>>> }
>> >>>>> _______________________________________________
>> >>>>> To unsubscribe, edit your list preferences, or view the list
>> archives,
>> >>>>> please visit:
>> >>>>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>> _______________________________________________
>> >>>> To unsubscribe, edit your list preferences, or view the list
>> archives,
>> >>>> please visit:
>> >>>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >>>>
>> >>>>
>> >>>>
>> >>> _______________________________________________
>> >>> To unsubscribe, edit your list preferences, or view the list archives,
>> >>> please visit:
>> >>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >>>
>> >>>
>> >>>
>> >> _______________________________________________
>> >> To unsubscribe, edit your list preferences, or view the list archives,
>> >> please visit:
>> >> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >>
>> >>
>> >>
>> >
>> > _______________________________________________
>> > To unsubscribe, edit your list preferences, or view the list archives,
>> please visit:
>> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
>> >
>> >
>> >
>>
>> _______________________________________________
>> To unsubscribe, edit your list preferences, or view the list archives,
>> please visit:
>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>
>>
>
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders