Nevermind I didn’t parent it to the character. But it still does a little studder step before moving to the checkpoint
I’m unsure how to fix that, but I forgot to change it to what it was changed to prevent the timeout.
Events.Chains.Event.OnClientEvent(Z)
local Unit = Pads.TrackPad3.CFrame - Pads.TrackPad3.CFrame.Position
Pads.TrackPad3.CFrame = CFrame.new(Pads.TrackPad3.Position.X,Pads.TrackPad3.Position.Y,Z) * Unit
Models.Referee3.Humanoid:LoadAnimation(Replicated:FindFirstChild('Game').Anims:FindFirstChild('Referee').Chains.Grab):Play()
Models.Referee3.Humanoid:LoadAnimation(Replicated:FindFirstChild('Game').Anims:FindFirstChild('Referee').Chains.Hold):Play()
repeat
Models.Referee3.Humanoid:MoveTo(Vector3.new(Pads.TrackPad3.Position.X,Pads.TrackPad3.Position.Y,Pads.TrackPad3.Position.Z))
local reached = Models.Referee3.Humanoid.MoveToFinished:Wait()
until reached
Module.CharFace(Models.Referee3)
end)
It has a FAT delay before the character starts moving.
If I had to guess, it’s probably because of the FireClients and FireServer, being that it takes some time to do a FireServer and it also takes some time to do a FireClient, leading to a delay.
So theres no way to fix it? (2.0chars)
Well, you could probably just completely handle it on the client.
function moveLos(Z)
local Unit = Pads.TrackPad3.CFrame - Pads.TrackPad3.CFrame.Position
Pads.TrackPad3.CFrame = CFrame.new(Pads.TrackPad3.Position.X,Pads.TrackPad3.Position.Y,Z) * Unit
Models.Referee3.Humanoid:LoadAnimation(Replicated:FindFirstChild('Game').Anims:FindFirstChild('Referee').Chains.Grab):Play()
Models.Referee3.Humanoid:LoadAnimation(Replicated:FindFirstChild('Game').Anims:FindFirstChild('Referee').Chains.Hold):Play()
repeat
Models.Referee3.Humanoid:MoveTo(Vector3.new(Pads.TrackPad3.Position.X,Pads.TrackPad3.Position.Y,Pads.TrackPad3.Position.Z))
local reached = Models.Referee3.Humanoid.MoveToFinished:Wait()
until reached
Module.CharFace(Models.Referee3)
end
function MoveIncrement()
if Values.Flipped.Value then
MoveLos(Pads.TrackPad3.Position.Z - Yards)
else
MoveLos(Pads.TrackPad3.Position.Z + Yards)
end
end
function Chains(Button)
--the event code in here
end
--the buttons
Situation.LOS.MouseButton1Down:Connect(function()
Chains("LOS")
end)
Make sure to also add any other functions that the event code uses.