所以我有这个传送“Object1.Object1”,“Object1.Object2”的脚本。和“Object3.Object3”到你的角色,但在它的父“Spawns”中有十几个具有完全相同名称的“Object1.Object1”。
我可以对我的脚本做什么,以便将每个“Object1.Object1”,“Object2.Object2”和“Object3.Object3”传送到我的角色,而不仅仅是第一个,这就是它在时刻?
while true do
function teleport ()
game.Workspace.Spawns.Object1.Object1.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
game.Workspace.Spawns.Object2.Object2.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
game.Workspace.Spawns.Object3.Object3.CFrame = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame
end
pcall( teleport )
wait()
end
这是一个简单的场景。如果你想传送所有内容,我首先要做的就是将你想要传送的所有对象分成一个单一的目标,可能是game.ServerStorage等等。然后,我要做的是以下内容:
game:GetService("RunService").RenderStepped:connect(function()
local objects = game.ServerStorage.Objects:GetChildren()
for i = 1,#objects do
if objects[i]:IsA("BasePart") then
objects[i].Parent = workspace
objects[i].CFrame = CFrame.new(player.Character.HumanoidRootPart.Position)
end
end
end)
现在,对于你的确切情况会有点棘手,因为它不是很好的orgasnized,但我要做的,如果你不想改变任何东西,这是(请注意,我无法访问Roblox Studio此刻,它可能无法正常工作,但我会在我做的时候测试它并给你一个更好的回应):
game:GetService("RunService").RenderStepped:connect(function()
local objects = game.Workspace.Spawns:GetChildren()
for i = 1,#objects do
if objects[i]:IsA("BasePart") then
if string.sub(objects[i].Name,1,6) == "Object" then
local child = objects[i]:GetChildren()
for b = 1,#child do
if child[b] then
child[b].CFrame = CFrame.new(game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame.p)
end
end
end
end
end
end)