MoveTo() not working

Ciao, I’m trying to create a cutscene which will make the ‘LandLord’ walk to a certain point, then start a dialogue.
There’s a problem tho, the LandLord ain’t walking at all.
It will wait a few second while the animation ‘Walk’ plays, then teletrasport the player to the place he should have walked to.

Local Script

	wait(1)
	
	--LandLord
	local LandLord = Metro.Landlord
	local HumanoidRootPart = LandLord:WaitForChild("HumanoidRootPart")
	local Humanoid = LandLord:WaitForChild("Humanoid")
	
	--Animazioni
	local Walk = Humanoid:LoadAnimation(LandLord.Animazioni.Walk)
	local Idle = Humanoid:LoadAnimation(LandLord.Animazioni.Idle)
	Idle:Play()
	
	--Cammina
	Humanoid:MoveTo(Metro.TP:FindFirstChild("3").CFrame.Position)
	Walk:Play()
	Humanoid.MoveToFinished:Wait()
	Walk:Stop()
	
	--Convo
	wait(20)

Thanks for reading.
Hope you have a nice day :slight_smile:

1 Like

Is there any particular reason you’re running this on a LocalScript?

2 Likes

Cause only a certain player should see the ‘LandLord’ move

1 Like

Is the Landlord HumanoidRootPart or any other Part within the body anchored?

1 Like

Try this on a Server Script first. Humanoids can be janky on the client.

1 Like

None, only the Humanoid is anchored

Can you maybe send a picture of the object in explorer?
Just to make sure

1 Like

Yeah, on the server it works.
Is there anyway to make it work on the client too? or how can i make only one player see the ‘LandLord’ move?

What exactly are you trying to achieve? Maybe there is a better way than this

1 Like

Trying to make only one player see the humanoid walk. That’s why i’m using a client

You could try cloning the Landlord on the Server, then sending it to all clients excpet the player who needs to see the Landlord and on the client, the Landlord will be destroyed locally

1 Like

This is just a scramble but you might wanna look into it:

local landlord = workspace.landlord
local destroyLocally = game.ReplicatedStorage:WaitForChild("DestroyLocally")
local moveLandlord = game.ReplicatedStorage:WaitForChild("MoveLandlord")

moveLandlord.OnServerEvent:Connect(function(player)
	local clientLL = landlord:Clone()
	
	local players = game:GetService("Players"):GetPlayers()
	table.remove(players,player)
	for i,plr in pairs(players) do
		destroyLocally:FireClient(plr,clientLL)
	end
	
	--move script for clientLL
end)

I think there is still a better way to do this and you should maybe not rely on humanoids at all.

2 Likes

Thank you @Nico_Nic77 and @CE0_OfTrolling for helping.
You both made me understand a way to go around this problem.
Have a nice day.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.