Variables across network latency following client-predictive actions bugs out on reconciliation

Hello everyone!
I’m back. Again. With more problems! So, for the last few days I’ve been working on an arcade melee combat system, but the issue arises that in attempting client prediction to keep it responsive, variables that need to be sent back to the client from the server for reconciliation are often outdated, as though I’m using the network emulator. But since each attack in the combo has a different damage value, I can’t trust the client to give the server the right index. So, I need to run server and client animation indexing separately, but correct it from the client, but often since it’s outdated when it sends the data back, it will force the client to double up on an animation or skip one entirely. The goal is to have them able to run animation indexing together with client predictive swinging without trusting the client with administrative rights.

Here’s the BP code outline:



Currently the variables are not set to replicate for testing purposes, but as I mentioned above, they are for the actual version.

Bump, I still need some help!

I figured out a solution, timestamping, by keeping an up-to-date record of when the player hit swing, I can essentially queue movements to negate most forms of packet loss and high latency. If you want to know how I timestamped it, I just used a simple array of floats, and when the first index falls below or equals the current time, it plays it.