Humanoid:MoveTo() 不起作用 |罗布洛克斯 LUA

Humanoid:MoveTo() doesn't work | Roblox LUA

所以我正在尝试制作一个可以移动到地图中某个点的小机器人 这是我的代码:

local character = script.Parent
local humanoid = character.Humanoid
local testpoint = character.Parent.Points["End Part 2"].Position

humanoid:MoveTo(testpoint)
humanoid.MoveToFinished:Connect(function()
    print("Reached Dest")
end)

当我启动游戏时,虚拟模型根本没有移动(即使 WalkToPoint 已正确设置) 几秒钟后,消息 Reached Dest 打印在控制台中,但人形机器人没有移动。 我不知道为什么会这样,你能帮帮我吗? 非常感谢。

humanoid:MoveTo(testpoint)

除了我下面所说的,testpoint 没有设置为 Vector,这最终会把事情搞砸。一个可能的解决方案是:

humanoid:MoveTo(Vector3.new(testpoint))

但是,您不需要使用 MoveTo,我认为您可以同样轻松地使用 .Position,如果您这样做:

local character = script.Parent
local Torso = -- Get Torso somehow depending on your game rig
local pointToMove = character.Parent.Points["End Part 2"].Position
Torso.Position = Vector3.new(pointToMove)

我之前遇到过尝试将实例属性存储在变量中的问题。你应该试试:

local character = script.Parent
local humanoid = character.Humanoid
local testpoint = character.Parent.Points["End Part 2"]

humanoid:MoveTo(testpoint.Position)
humanoid.MoveToFinished:Connect(function()
    print("Reached Dest")
end)

另外请确保您正确获取了之前的变量,例如 characterhumanoid