Forum - Sprinting bug

Welcome! Please login with your in-game name.

 

Author Topic: Sprinting bug  (Read 41 times)

Vanilla

  • Baby Bluebell
  • *
  • Posts: 7
« on: January 12, 2020, 07:48:49 am »
Hii

So when your character sprints (walk+shift), of course the stamina bar lowers and slows you to a walk once empty. However, if youíre sprinting and you jump at the same time, the stamina bar resets- and it keeps resetting every time you do jump. Then you can just sprint like... forever. lol

What Iíve noticed is that the bar doesnít reset if you take falling damage, land on a new floor, or if the bar is already empty (has to be like... 1/3+ left)

I mean, ig it is useful if it isnít a bug. So you can use it when youíre trying to get places/running from people in Cheesehunt- but it isnít really realistic. if anything jumping after running for a while tires me out even more irl xP

Thatís all, ty!

Tobias

  • Global Moderator
  • AR1 Security Unit
  • *****
  • Posts: 1568
« Reply #1 on: January 12, 2020, 05:26:55 pm »
I have difficulties reproducing this ;) My guess is that it's just a display bug, in connection with network/server latency.

Checking through the code, sprint is never reset to full, ever. So what's likely happening is that
- when you press both at the same time, you press jump first, and then start running.
- This would result in two packets to the server, in that order. Jumping is the only thing not predictable by the game client, so it has to wait for the server's reply.
- Running however is predictable, and since you aren't jumping just yet (it's still waiting for the server's reply), the game client assumes that it'll work, and starts showing the sprint bar (and you moving).
- The server receives the jump command, and does the jump.
- The server receives the walk command (with the flag that you want to sprint) and ignores it, because you're jumping.
- The client receives the jump response, but because you're already past the point where you'd have landed, it ignores it (it'd adjust the walking speed so the server and the client will line up again, but that is done very carefully, so you usually don't notice).

At that point the client thinks your sprint is almost up, whereas on the server your sprint is still full, because you haven't sprinted yet. Next time you do anything that'd cause the client to send another walk packet (you landed, you release/press sprint or walk again), the server would actually make you sprint, send the client an update to the sprint rate, at which point it'd correct the display, and show your sprint bar as full.

You should be able to check the combat log to confirm whether or not you were actually sprinting. Sprinting shows up as a "running" status there (note that failures to sprint are not logged in the combat log, so you'd have to work with the timestamps). You could also cross-check with other players to see what they actually see you doing.