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