I am making a small little FNF project.
The problem is that on my screen the animations are fine.
But on a different player’s view, the animations are late and the old poses continue playing when going back to idle.
My view is on the left / another player’s view is on the right
Is this a Roblox thing that I cannot fix?
I know Funky Friday’s animations don’t behave this way.
If you want to know:
AnimationWeightedBlendFix is disabled
ClientAnimatorThrottling is Enabled
Here is the animation script:
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local UserInput = game:GetService("UserInputService")
local animHandler = script
local player = Players.LocalPlayer
local humanoid = player.Character:WaitForChild("Humanoid")
local animation = Instance.new("Animation")
animation.Parent = script.Parent.Parent.Parent
local keybinds = script.Parent.Parent.KeyBinds
UserInput.InputBegan:Connect(function(key, istyping)
if istyping then return end
local animationPlay
if key.KeyCode == Enum.KeyCode[keybinds.UpArrow.Value] then
animation.AnimationId = "rbxassetid://".. animHandler:GetAttribute("upAnimation")
elseif key.KeyCode == Enum.KeyCode[keybinds.DownArrow.Value] then
animation.AnimationId = "rbxassetid://".. animHandler:GetAttribute("downAnimation")
elseif key.KeyCode == Enum.KeyCode[keybinds.RightArrow.Value] then
animation.AnimationId = "rbxassetid://".. animHandler:GetAttribute("rightAnimation")
elseif key.KeyCode == Enum.KeyCode[keybinds.LeftArrow.Value] then
animation.AnimationId = "rbxassetid://".. animHandler:GetAttribute("leftAnimation")
else
return
end
animationPlay = humanoid.Animator:LoadAnimation(animation)
animationPlay:Play(0)
end)
And the idle:
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local animHandler = script
local bothReady = ReplicatedStorage:WaitForChild("BothReady")
local player = Players.LocalPlayer
local humanoid = player.Character:WaitForChild("Humanoid")
local animation = Instance.new("Animation")
animation.Parent = script.Parent.Parent.Parent
local idleLoad = Instance.new("Animation")
idleLoad.AnimationId = "rbxassetid://"..animHandler:GetAttribute("idleAnimation")
--Play idle animations at same time
bothReady.Changed:Connect(function()
local idlePlay = humanoid.Animator:LoadAnimation(idleLoad)
idlePlay:Play()
end)