Yeah, you can look at the CGameMovement::Duck ..
but I'm personally a bit weak on bitmasks, so I use it in a bit
different way (still works the same)
bool just_pressed = (mv->m_nButtons & IN_KEY) && !(mv->m_nOldButtons & IN_KEY);
bool just_released = !(mv->m_nButtons & IN_KEY) && (mv->m_nOldButtons & IN_KEY);
bool key_down = mv->m_nButtons & IN_KEY;

On Sun, 9 Jan 2005 09:33:14 -0800, Jay Stelly <[EMAIL PROTECTED]> wrote:
> This won't work because you aren't debouncing the key.  Two commands get
> processed in a row and you prone/unprone because you haven't checked to
> see that the user has released the key before you attempt to change
> states.
>
> We do this (normally called debouncing keys) in the game code using bit
> fields.  Look at the code for buttons pressed/released.
>
> I don't have any of the code in front of me so I can't point you at
> anything specific, but that's most likely to be the problem.
>
> Also:
> > >>        mv->m_nOldButtons != IN_PRONE;
>
> Is not going to do anything.
>
> You probably mean:
> > >>        mv->m_nOldButtons &= ~IN_PRONE;
>
> Which would mask off the IN_PRONE flag.
>
> Jay
>
> > > wrote:
> > >> Not really.
> > >> Because what he said doesn't work.
> > >>
> > >> I currently have
> > >> (disregard all the junk im trying to test stuff )
> > >>
> > >>
> > >> if ( mv->m_nButtons & IN_PRONE )
> > >> {
> > >>    if ( m_bToggleProne && bInProne )
> > >>    {
> > >>        DevMsg(2,"Will Unprone Here\n");
> > >>        m_bToggleProne = false;
> > >>        FinishUnProne();
> > >>        mv->m_nOldButtons != IN_PRONE;
> > >>    }
> > >>    else
> > >>    {
> > >>       player->m_Local.m_bGoneProne = true;
> > >>       player->m_Local.m_flPronetime = GAMEMOVEMENT_PRONE_TIME;
> > >>       FinishProne();
> > >>       m_bToggleProne = true;
> > >>        DevMsg(2, "Will prone here");
> > >>        mv->m_nOldButtons != IN_PRONE;
> > >>    }
> > >> }
> > >>
> > >> You would think that would work ?
> > >> Well it scrolls the console forever
> > >>
> > >> Will Unprone Here
> > >> Will prone here
> > >> Will Unprone Here
> > >> Will prone here
> > >> etc etc etc
> > >>
> > >> As soon as I push the g button (that is what I have bound
> > to prone )
> > >> The above scrolls forever...
> > >>
> > >> I would imagine because my prone does not have a KeyUp(&in_prone);
> > >> this could be causing some issues.
> > >> As the flags need to be reset... KeyUp from what I can
> > tell does this
> > >> for you????
> > >>
> > >> Maybe Yahn or someone at valve can shed some light on this.
> > >> Maybe because this movement type I shouldn't add it this way.
> > >>
> > >>
> > >> r00t 3:16
> > >> CQC Gaming
> > >> www.cqc-gaming.com
> > >> ----- Original Message -----
> > >> From: "Hasan Aljudy" <[EMAIL PROTECTED]>
> > >> To: <[email protected]>
> > >> Sent: Sunday, January 09, 2005 2:02 AM
> > >> Subject: Re: [hlcoders] Keybind / prone
> > >>
> > >> > Wasn't this answered by someone already? put an "else if"
> > >> >
> > >> > On Sun, 9 Jan 2005 01:22:30 -0500, r00t 3:16
> > >> > <[EMAIL PROTECTED]>
> > >> > wrote:
> > >> >> Well that isn't the problem really.
> > >> >> The prone code is being called etc ..
> > >> >>
> > >> >> The problem is the toggle on / off part.
> > >> >>
> > >> >> On key press it prones
> > >> >> On key press again it unprones.
> > >> >>
> > >> >> Funny part though DOD has a prone from the looks of the code :P
> > >> >>
> > >> >>
> > >> >> r00t 3:16
> > >> >> CQC Gaming
> > >> >> www.cqc-gaming.com
> > >> >> ----- Original Message -----
> > >> >> From: "Hasan Aljudy" <[EMAIL PROTECTED]>
> > >> >> To: <[email protected]>
> > >> >> Sent: Sunday, January 09, 2005 1:06 AM
> > >> >> Subject: Re: [hlcoders] Keybind / prone
> > >> >>
> > >> >> >I think you don't need to do all this .. simply put it in a
> > >> >> >ConCommand
> > >> >> >
> > >> >> > static ConCommand prone("prone", CC_Player_Prone);
> > right above
> > >> >> > it declare void CC_Player_Prone( void ) {  [...]  }
> > >> >> >
> > >> >> > I'm not sure if this will work in multiplayer but by
> > looking at
> > >> >> > some code, I *think* it will.
> > >> >> >
> > >> >> > On Sat, 8 Jan 2005 23:40:35 -0500, r00t 3:16
> > >> >> > <[EMAIL PROTECTED]>
> > >> >> > wrote:
> > >> >> >> Could I remove the flag with
> > >> >> >> mv->m_nButtons &= ~IN_PRONE; ?
> > >> >> >>
> > >> >> >>
> > >> >> >> r00t 3:16
> > >> >> >> CQC Gaming
> > >> >> >> www.cqc-gaming.com
> > >> >> >> ----- Original Message -----
> > >> >> >> From: "Tony "omega" Sergi" <[EMAIL PROTECTED]>
> > >> >> >> To: <[email protected]>
> > >> >> >> Sent: Saturday, January 08, 2005 11:17 PM
> > >> >> >> Subject: RE: [hlcoders] Keybind / prone
> > >> >> >>
> > >> >> >> > Heh.
> > >> >> >> >
> > >> >> >> > If (blah && !prone)
> > >> >> >> > {
> > >> >> >> > }
> > >> >> >> > ELSE <-------------- VERY IMPORTANT!!
> > >> >> >> > if (blah && prone)
> > >> >> >> > {
> > >> >> >> > }
> > >> >> >> >
> > >> >> >> > you're calling both functions TWICE if the button is down.
> > >> >> >> > You also need to remove the button from
> > mv->m_nButtons  WHEN
> > >> >> >> > a toggle is set, or else it will just keep getting called.
> > >> >> >> >
> > >> >> >> > -----Original Message-----
> > >> >> >> > From: r00t 3:16 [mailto:[EMAIL PROTECTED]
> > >> >> >> > Sent: January 8, 2005 11:12 PM
> > >> >> >> > To: [email protected]
> > >> >> >> > Subject: Re: [hlcoders] Keybind / prone
> > >> >> >> >
> > >> >> >> > arggg...
> > >> >> >> >
> > >> >> >> > Ok maybe im an idiot and missing the obvious but I can not
> > >> >> >> > for the life of me get a working toggle for prone.
> > >> >> >> >
> > >> >> >> > if ( ( mv->m_nButtons & IN_PRONE ) && !bInProne ) {
> > >> >> >> >         // go prone ...
> > >> >> >> >     GoProne();
> > >> >> >> >     bInProne = true;
> > >> >> >> >      DevMsg(2, "go prone here"); }
> > >> >> >> >
> > >> >> >> > if ( ( mv->m_nButtons & IN_PRONE ) && bInProne ) {
> > >> >> >> >      //  go unprone ...
> > >> >> >> >      GoUnProne();
> > >> >> >> >      bInProne = false;
> > >> >> >> > }
> > >> >> >> >
> > >> >> >> > Now becaue Prone();  ( NOTE Duck() is in
> > >> >> >> > CGameMovement::PlayerMove()
> > >> >> >> > This is where I also put Prone(); PlayerMove is
> > called from
> > >> >> >> > some
> > >> >> >> > Think()
> > >> >> >> > function (haven't traced this)
> > >> >> >> >
> > >> >> >> >
> > >> >> >> > Now because the above code gets often as soon as I set
> > >> >> >> > bInProne = true; The GoUnProne(); is then a true
> > statement so
> > >> >> >> > it also executes.
> > >> >> >> >
> > >> >> >> >
> > >> >> >> >
> > >> >> >> >
> > >> >> >> > r00t 3:16
> > >> >> >> > CQC Gaming
> > >> >> >> > www.cqc-gaming.com
> > >> >> >> >
> > >> >> >> >
> > >> >> >> > ----- Original Message -----
> > >> >> >> > From: "jeff broome" <[EMAIL PROTECTED]>
> > >> >> >> > To: <[email protected]>
> > >> >> >> > Sent: Friday, January 07, 2005 9:14 PM
> > >> >> >> > Subject: Re: [hlcoders] Keybind / prone
> > >> >> >> >
> > >> >> >> >
> > >> >> >> >> On Fri, 7 Jan 2005 21:07:57 -0500, r00t 3:16
> > >> >> >> >> <[EMAIL PROTECTED]>
> > >> >> >> >> wrote:
> > >> >> >> >>> Hmm,
> > >> >> >> >>>
> > >> >> >> >>> I added the following, to add the key.
> > >> >> >> >>>
> > >> >> >> >>> static ConCommand startprone("+prone", IN_ProneDown);
> > >> >> >> >>> static ConCommand endprone("-prone", IN_ProneUp);
> > >> >> >> >>
> > >> >> >> >> Well, take that out and add...
> > >> >> >> >>
> > >> >> >> >> static ConCommand toggleprone("prone", IN_Prone);
> > >> >> >> >>
> > >> >> >> >> Jeffrey "botman" Broome
> > >> >> >> >>
> > >> >> >> >> _______________________________________________
> > >> >> >> >> 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
> > >> >> >> >
> > >> >> >> >
> > >> >> >> >
> > >> >> >> > --
> > >> >> >> > No virus found in this incoming message.
> > >> >> >> > Checked by AVG Anti-Virus.
> > >> >> >> > Version: 7.0.300 / Virus Database: 265.6.9 - Release Date:
> > >> >> >> > 06/01/2005
> > >> >> >> >
> > >> >> >> >
> > >> >> >> > --
> > >> >> >> > No virus found in this outgoing message.
> > >> >> >> > Checked by AVG Anti-Virus.
> > >> >> >> > Version: 7.0.300 / Virus Database: 265.6.9 - Release Date:
> > >> >> >> > 06/01/2005
> > >> >> >> >
> > >> >> >> >
> > >> >> >> >
> > >> >> >> > _______________________________________________
> > >> >> >> > 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
> > >
> > >
> > >
> >
> >
> > _______________________________________________
> > 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

Reply via email to