脚本无法将玩家移动到某个部位

我正在尝试让玩家在地图上传送到某个对象,但是它就是无法实现!

我不知道该尝试什么。

local items = {"煤块工具","钻石工具","铁锭工具",
"RokakakaFruit 工具","黄金锭工具"}
for _, v in pairs(game.Workspace:GetChildren()) do
    for _, d in pairs(items) do
        if v.Name == d then
            wait(1)
            game.Players.LocalPlayer.Character:MoveTo(v.Position)
            print("tped")
        end
    end
end

我的玩家就是不移动

点赞
用户7632578
用户7632578

不看其他代码,MoveTo函数只会尝试让你的玩家走到那里。你想做的是更改玩家角色的CFrame。

game.Players.LocalPlayer.Character.Head.CFrame = CFrame.new(v.Position)
2019-02-11 07:30:01
用户10649630
用户10649630

以下是在使用 :MoveTo() 方法时需要注意的一些事项(以防其他人将您搞混):

  • Humanoid 上调用 :MoveTo() 将导致玩家的角色朝着其给定的目的地走动。
  • Model 上调用 :MoveTo() 将传送玩家的角色。

因此,要传送他们的角色,您需要在他们的角色模型上调用此方法。此外,没有必要将第二个 for 循环嵌套在第一个循环中。只需检查表格中的给定值即可。

local items = {"Coal Chunk Tool", "Diamon Tool", "Iron Ingot Tool", "RokakakaFruit Tool", "Gold Ingot Tool"}

for _, v in pairs(game.Workspace:GetChildren()) do
    if items[v.Name] then
        wait(1)
        game.Players.LocalPlayer.Character:MoveTo(v.Position)
        print("tped")
    end
end
2019-02-21 03:30:15
用户9024298
用户9024298

尝试使用 CFrame 来移动玩家,我们需要使用 HumanoidRootPart,这样它就会移动身体的其他部分!

看看这个脚本是否有所改变;

local items = {"煤块工具", "钻石工具", "铁锭工具", 
"Rokakaka水果工具", "黄金锭工具"}
for _, v in pairs(game.Workspace:GetChildren()) do
    for _, d in pairs(items) do
        if v.Name == d then
            wait(1)
            game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = v.CFrame
            print("tped")
        end
    end
end

如果需要任何帮助,请在评论区发问。

Ross.

2019-02-21 11:06:12