脚本无法将播放器移到某个部分

时间:2019-02-09 19:02:50

标签: lua roblox

我试图让玩家传送到地图上的某些物体,但是那根本不能!

我不知道该怎么做

local items = {"Coal Chunk Tool", "Diamon Tool", "Iron Ingot Tool", 
"RokakakaFruit Tool", "Gold Ingot Tool"}
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

我的播放器不动

3 个答案:

答案 0 :(得分:1)

在不查看其余代码的情况下,MoveTo函数将仅尝试使您的播放器在那走过去。您要做的就是更改玩家角色的CFrame。

game.Players.LocalPlayer.Character.Head.CFrame = CFrame.new(v.Position)

答案 1 :(得分:1)

使用:MoveTo()方法时,应注意以下几点(以防其他人混淆了您):

    呼叫类人动物
  • :MoveTo()将导致玩家的角色朝其给定的目的地行走
  • 模型上调用的
  • :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

答案 2 :(得分:1)

尝试使用CFrame移动播放器,我们将需要使用HumanoidRootPart,以便它移动身体的其余部分!

查看此脚本是否有所不同;

local items = {"Coal Chunk Tool", "Diamon Tool", "Iron Ingot Tool", "RokakakaFruit Tool", "Gold Ingot Tool"} 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

如果您需要任何帮助,请在评论部分中发布问题。

罗斯。