#Server Side Hitbox checking with Client Side Animations
1 messages · Page 1 of 1 (latest)
My attempts:
- Playing tracks on both client and server ❌ (track played 2 times visually)
- Sending track that the client played to the server ❌ (the server doesn't know that the track on the client exists)
- Playing track on the server ❌ (input delay)
If the animation is played on the server, there will be input delay.
So basically calculating when a certain keyframe is reached on the server by calculating time between when the server receives the remote event etc. etc.?
animation:getnamedkeyframetime
or whatever it's called
then remote when animation starts, send timestamp etc
cant animation events be used here then use remote events?
Will try, thanks.
Do you mean firing remote events when animation events are reached?
Might try that out, thanks.
seems to not work for server authority though
predicting animations is difficult..

i mean the rollback feature doesn't work very well for animationtracks
similar and seemingly related issue to sounds also
let me know if you can see this page https://create.roblox.com/docs/projects/server-authority/techniques#animations-sounds-and-visual-effects
RunService:BindToSimulation(function(deltaTime)
if RunService:IsServer() then
-- Forward inputs from server to all clients
for _, player in Players:GetPlayers() do
local humanoidRootPart:BasePart = player.Character.HumanoidRootPart
local inputContext:InputContext = player.PlayerGui.InputContext
module.storePlayerInput(player, humanoidRootPart)
end``` this is so stupid...
-- Play the explosion emitter if the grenade just exploded
if previousGrenadeState ~= grenadeState then
if grenadeState == Simulation.GrenadeStates.Exploded and grenadeTimer < 0.2 then
grenade.ExplosionEmitter:Emit(100)
grenade.ExplosionSound:Play()
end
previousGrenadeState = grenadeState
end ``` compare if a timer is near zero and then play effect, or disable it, check every frame, like wot