Binding KeyCode.ButtonR2 or KeyCode.ButtonL2 while player is in vehicle seat causes acceleration or deceleration permanently

Binding KeyCode.ButtonR2 or KeyCode.ButtonL2 while player is in vehicle seat causes acceleration or deceleration permanently.

This causes vehicles to accelerate permanently even after leaving and re-entering the seat.

Steps to reproduce

  1. Have player sit in vehicle seat
  2. Hold down W to get Throttle stuck forwards
  3. Bind ButtonR2 at Enum.ContextActionPriority.High.Value
  4. Check Throttle, it’ll be stuck at 1
  5. Expected behavior: Any acceleration from ButtonR2 is removed

Why I think this happens

See this code, where we blindly bind OnThrottleAccel().

note: Although on closer inspection, I’m not sure this is the code handling vehicle seats, since this appears to not be valid code.

However, OnThrottleAccel does not handle the case where UserInputState.Cancel occurs, which is what happens here.

This occurs on the current version of Roblox.

5 Likes

Can confirm, this bug is still live. I’ve been trying to figure the reason for this behavior in my game for the past three months, I eventually narrowed it down to binding ButtonL2.

This is incredibly annoying, not intuitive in the slightest, and should be addressed ASAP.

3 Likes

A similar bug is while you’re accelerating, pull out a tool for this same exact permanent cycle. I will get out to stop then get back in without pressing the “W” key and it will automatically go back to the previous acceleration point. I’m unsure if there is a way around this one.

1 Like

Any word on solving this bug?

It is still active nearly half a year later with no input from staff. It makes designing cars very difficult.